Commit 8f2eaa8a authored by Thierry Volpiatto's avatar Thierry Volpiatto Committed by Karl Fogel
Browse files

Allow C-w when setting a bookmark in a Gnus Article buffer (Bug#5975).

* lisp/bookmark.el (bookmark-set): Don't set `bookmark-yank-point' and
  `bookmark-current-buffer' if they have been already set in another
  buffer (e.g gnus-art).

* lisp/gnus/gnus-sum.el (gnus-summary-bookmark-make-record): Set
  `bookmark-yank-point' and `bookmark-current-buffer' to allow C-w.
parent 33b48483
2010-07-13 Thierry Volpiatto <thierry.volpiatto@gmail.com>
Allow C-w when setting a bookmark in a Gnus Article buffer (Bug#5975).
Patch applied by Karl Fogel.
* bookmark.el (bookmark-set): Don't set `bookmark-yank-point'
and `bookmark-current-buffer' if they have been already set in
another buffer (e.g gnus-art).
2010-07-13 Karl Fogel <kfogel@red-bean.com>
Thierry Volpiatto <thierry.volpiatto@gmail.com>
 
......
......@@ -783,27 +783,34 @@ Use \\[bookmark-delete] to remove bookmarks (you give it a name and
it removes only the first instance of a bookmark with that name from
the list of bookmarks.)"
(interactive (list nil current-prefix-arg))
(let* ((record (bookmark-make-record))
(default (car record)))
(bookmark-maybe-load-default-file)
(setq bookmark-yank-point (point))
(setq bookmark-current-buffer (current-buffer))
(let ((str
(or name
(read-from-minibuffer
(format "Set bookmark (%s): " default)
nil
bookmark-minibuffer-read-name-map
nil nil default))))
(and (string-equal str "") (setq str default))
(bookmark-store str (cdr record) no-overwrite)
;; Ask for an annotation buffer for this bookmark
(when bookmark-use-annotations
(bookmark-edit-annotation str)))))
(unwind-protect
(let* ((record (bookmark-make-record))
(default (car record)))
(bookmark-maybe-load-default-file)
;; Don't set `bookmark-yank-point' and `bookmark-current-buffer'
;; if they have been already set in another buffer. (e.g gnus-art).
(unless (and bookmark-yank-point
bookmark-current-buffer)
(setq bookmark-yank-point (point))
(setq bookmark-current-buffer (current-buffer)))
(let ((str
(or name
(read-from-minibuffer
(format "Set bookmark (%s): " default)
nil
bookmark-minibuffer-read-name-map
nil nil default))))
(and (string-equal str "") (setq str default))
(bookmark-store str (cdr record) no-overwrite)
;; Ask for an annotation buffer for this bookmark
(when bookmark-use-annotations
(bookmark-edit-annotation str))))
(setq bookmark-yank-point nil)
(setq bookmark-current-buffer nil)))
(defun bookmark-kill-line (&optional newline-too)
"Kill from point to end of line.
......
2010-07-13 Thierry Volpiatto <thierry.volpiatto@gmail.com>
Allow C-w when setting a bookmark in a Gnus Article buffer (Bug#5975).
Patch applied by Karl Fogel.
* gnus-sum.el (gnus-summary-bookmark-make-record): Set
`bookmark-yank-point' and `bookmark-current-buffer' to allow C-w.
2010-07-13 Thierry Volpiatto <thierry.volpiatto@gmail.com>
Allow bookmarks to be set from Gnus Article buffers (Bug #5975).
......
......@@ -12631,10 +12631,12 @@ If ALL is a number, fetch this number of articles."
"Make a bookmark entry for a Gnus summary buffer."
(let (pos buf)
(unless (and (derived-mode-p 'gnus-summary-mode) gnus-article-current)
(save-restriction ; FIXME is it necessary to widen?
(save-restriction ; FIXME is it necessary to widen?
(widen) (setq pos (point))) ; Set position in gnus-article buffer.
(setq buf "art") ; We are recording bookmark from article buffer.
(gnus-article-show-summary)) ; Go back in summary buffer.
(setq bookmark-yank-point (point))
(setq bookmark-current-buffer (current-buffer))
(gnus-article-show-summary)) ; Go back in summary buffer.
;; We are now recording bookmark from summary buffer.
(unless buf (setq buf "sum"))
(let* ((subject (elt (gnus-summary-article-header) 1))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment