emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bookmark.el and lisp/gnus/gnus-bookmark.el


From: Bastien
Subject: Re: bookmark.el and lisp/gnus/gnus-bookmark.el
Date: 2008年3月06日 19:51:59 +0000
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/23.0.60 (gnu/linux)

Stefan Monnier <address@hidden> writes:
>> Does anyone know why we have both 'bookmark.el' and 'gnus-bookmark.el'?
>> The latter says:
>
>> ;; This file implements real bookmarks for Gnus, closely following the way
>> ;; `bookmark.el' handles bookmarks. Most of the code comes from
>> ;; `bookmark.el'.
>
>> I'm not sure why GNUS bookmarks should live in a separate space from
>> other bookmarks, and my feeling is that they ought to be unified --
>> that is, the gnus-bookmark.el functionality absorbed into bookmark.el,
>> with compatibility shims to transfer people's ~/.gnus.bmk file
>> contents to ~/.emacs.bmk. (Of course, I really mean whatever the
>> values of `gnus-bookmark-default-file' and `bookmark-default-file'
>> are, respectively.)
>
>> Thoughts?
>
> Indeed, it seems worthwhile to merge them, tho I've never used
> gnus-bookmarks. Bastien?
Two answers: yes gnus-bookmarks.el should stored Gnus bookmarks in
~/.emacs.bmk (as every mode should do), but no we can't get rid of
gnus-bookmarks.el because it adds some keybindings to Gnus.
I think we should continue and generalize the work done by Tassilo.
He added the buffer-local variable `bookmark-make-cell-function', which
lets you define a handler for a mode: when setting a bookmark, a handler
is added to the record and jumping to the bookmark will use this handler
instead of `bookmark-jump' (see `bookmark-jump-internal'.)
This is all good, but it only works for buffer visiting files and
Info-mode. 
What would be great would be to change `bookmark-set' like this:
- run every function in `bookmark-set-functions' until one returns
 something useful (those functions returning something similar to
 ` bookmark-buffer-file-name');
- if nil, then fall back on `bookmark-buffer-file-name' and return 
 an error if this is nil.
If we go for this, then gnus-bookmarks.el would do this:
- add a function to `bookmark-set-functions', so that it return a
 sensible value (instead of the buffer-file-name)
- locally set `bookmark-make-cell-function' to define the right handler
 (which should select a group/article in Gnus)
I think this way let's people easily define man-bmk.el, or mew-bmk.el or
whatever. 
What you think?
-- 
Bastien

reply via email to

[Prev in Thread] Current Thread [Next in Thread]

AltStyle によって変換されたページ (->オリジナル) /