* lisp/bookmark.el: Fix deletion of bookmarks.

(bookmark-bmenu-list): Don't toggle filenames if alist is empty.
(bookmark-bmenu-execute-deletions): Only skip first line if it's
the header.
(bookmark-exit-hook-internal): Save even if list is empty.

Fixes: debbugs:13972
This commit is contained in:
Thierry Volpiatto 2013-04-03 21:59:09 -04:00 committed by Stefan Monnier
parent 397703b4ab
commit 2575da5084
2 changed files with 13 additions and 5 deletions

View file

@ -1,3 +1,11 @@
2013-04-04 Thierry Volpiatto <thierry.volpiatto@gmail.com>
* bookmark.el: Fix deletion of bookmarks (bug#13972).
(bookmark-bmenu-list): Don't toggle filenames if alist is empty.
(bookmark-bmenu-execute-deletions): Only skip first line if it's
the header.
(bookmark-exit-hook-internal): Save even if list is empty.
2013-04-04 Yann Hodique <yann.hodique@gmail.com> (tiny change)
* emacs-lisp/package.el (package-pinned-packages): New var.

View file

@ -1582,8 +1582,8 @@ deletion, or > if it is flagged for displaying."
(if bookmark-bmenu-use-header-line
(bookmark-bmenu-set-header)
(forward-line bookmark-bmenu-inline-header-height))
(if bookmark-bmenu-toggle-filenames
(bookmark-bmenu-toggle-filenames t))))
(when (and bookmark-alist bookmark-bmenu-toggle-filenames)
(bookmark-bmenu-toggle-filenames t))))
;;;###autoload
(defalias 'list-bookmarks 'bookmark-bmenu-list)
@ -1998,7 +1998,8 @@ To carry out the deletions that you've marked, use \\<bookmark-bmenu-mode-map>\\
(progn (end-of-line) (point))))))
(o-col (current-column)))
(goto-char (point-min))
(forward-line 1)
(unless bookmark-bmenu-use-header-line
(forward-line 1))
(while (re-search-forward "^D" (point-max) t)
(bookmark-delete (bookmark-bmenu-bookmark) t)) ; pass BATCH arg
(bookmark-bmenu-list)
@ -2186,8 +2187,7 @@ strings returned are not."
"Save bookmark state, if necessary, at Emacs exit time.
This also runs `bookmark-exit-hook'."
(run-hooks 'bookmark-exit-hook)
(and bookmark-alist
(bookmark-time-to-save-p t)
(and (bookmark-time-to-save-p t)
(bookmark-save)))
(unless noninteractive