[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/lisp ChangeLog bookmark.el
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] emacs/lisp ChangeLog bookmark.el |
Date: |
Fri, 21 Nov 2008 19:29:20 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 08/11/21 19:29:19
Modified files:
lisp : ChangeLog bookmark.el
Log message:
(bookmark-get-bookmark): Add `noerror' arg.
Signal error for invalid bookmark.
(bookmark-get-bookmark-record): Undo last change.
(bookmark-store, bookmark-delete): Use new arg `noerror'.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.14823&r2=1.14824
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/bookmark.el?cvsroot=emacs&r1=1.121&r2=1.122
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.14823
retrieving revision 1.14824
diff -u -b -r1.14823 -r1.14824
--- ChangeLog 21 Nov 2008 19:07:21 -0000 1.14823
+++ ChangeLog 21 Nov 2008 19:29:16 -0000 1.14824
@@ -1,5 +1,10 @@
2008-11-21 Stefan Monnier <address@hidden>
+ * bookmark.el (bookmark-get-bookmark): Add `noerror' arg.
+ Signal error for invalid bookmark.
+ (bookmark-get-bookmark-record): Undo last change.
+ (bookmark-store, bookmark-delete): Use new arg `noerror'.
+
* bookmark.el (bookmark-buffer-file-name): Also abbreviate dired-dir.
Suggested by Toru TSUNEYOSHI.
Index: bookmark.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/bookmark.el,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -b -r1.121 -r1.122
--- bookmark.el 21 Nov 2008 19:07:24 -0000 1.121
+++ bookmark.el 21 Nov 2008 19:29:19 -0000 1.122
@@ -79,6 +79,7 @@
;;; Code:
(require 'pp)
+(eval-when-compile (require 'cl))
;;; Misc comments:
;;
@@ -317,21 +318,21 @@
(mapcar 'bookmark-name-from-full-record bookmark-alist))
-(defun bookmark-get-bookmark (bookmark)
+(defun bookmark-get-bookmark (bookmark &optional noerror)
"Return the bookmark record corresponding to BOOKMARK.
If BOOKMARK is already a bookmark record, just return it,
Otherwise look for the corresponding bookmark in `bookmark-alist'."
(cond
((consp bookmark) bookmark)
((stringp bookmark)
- (assoc-string bookmark bookmark-alist bookmark-completion-ignore-case))))
+ (or (assoc-string bookmark bookmark-alist bookmark-completion-ignore-case)
+ (unless noerror (error "Invalid bookmark %s" bookmark))))))
(defun bookmark-get-bookmark-record (bookmark)
"Return the guts of the entry for BOOKMARK in `bookmark-alist'.
That is, all information but the name."
- (let ((alist (cdr (or (bookmark-get-bookmark bookmark)
- (error "Invalid bookmark %s" bookmark)))))
+ (let ((alist (cdr (bookmark-get-bookmark bookmark))))
;; The bookmark objects can either look like (NAME ALIST) or
;; (NAME . ALIST), so we have to distinguish the two here.
(if (and (null (cdr alist)) (consp (caar alist)))
@@ -487,7 +488,8 @@
;; XEmacs's `set-text-properties' doesn't work on
;; free-standing strings, apparently.
(set-text-properties 0 (length stripped-name) nil stripped-name))
- (if (and (bookmark-get-bookmark stripped-name) (not no-overwrite))
+ (if (and (not no-overwrite)
+ (bookmark-get-bookmark stripped-name 'noerror))
;; already existing bookmark under that name and
;; no prefix arg means just overwrite old bookmark
;; Use the new (NAME . ALIST) format.
@@ -1211,11 +1213,11 @@
bookmark-current-bookmark)))
(bookmark-maybe-historicize-string bookmark)
(bookmark-maybe-load-default-file)
- (let ((will-go (bookmark-get-bookmark bookmark)))
+ (let ((will-go (bookmark-get-bookmark bookmark 'noerror)))
(setq bookmark-alist (delq will-go bookmark-alist))
;; Added by db, nil bookmark-current-bookmark if the last
;; occurrence has been deleted
- (or (bookmark-get-bookmark bookmark-current-bookmark)
+ (or (bookmark-get-bookmark bookmark-current-bookmark 'noerror)
(setq bookmark-current-bookmark nil)))
;; Don't rebuild the list
(if batch