help-gnu-emacs
[Top][All Lists]
Advanced

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

RE: bookmark+ help required


From: Drew Adams
Subject: RE: bookmark+ help required
Date: Wed, 15 Apr 2015 13:23:24 -0700 (PDT)

> I switched to bookmark+ and some of my bookmarks now have a different
> format:
> 
> Old format:
> #1=(#("past.org" 0 8
>       (bmkp-full-record #1#))
>     (filename . "~/org/past.org")
>     (front-context-string . "* DONE <2013-04-")
>     (rear-context-string)
>     (position . 1))
> 
> New format:
> #1=(#("agenda.org" 0 10
>       (bmkp-full-record #1#))
>     (end-position . 12206)
>     (time 21790 27563 50717 0)
>     (visits . 0)
>     (filename . "~/org/agenda.org")
>     (front-context-string . "* TODO <2013-05-")
>     (rear-context-string . "g niet gestart!\n")
>     (position . 12206))
>
> I have an eshell function that allows me to type `j bookmark` (got it
> from http://www.emacswiki.org/emacs/EshellBmk (thanks!)) and it fails
> with the new format: it expects the 'filename' cell up front in the
> record. That works with the old records, but not the new ones. In the
> above 'agenda.org' bookmark it thinks that the filename is '12206'.
> 
> Here's the relevant code:
>   (if (setq filename (cdr (car (bookmark-get-bookmark-record bookmark))))

That code is mistaken.  This is the proper code to access the `filename'
field of bookmark BOOKMARK:

(bookmark-get-filename BOOKMARK)

And for any field that does not have its own dedicated access function
(such as field `filename' has with `bookmark-get-filename'), code should
use `bookmark-prop-get' to access that field value.

This is not Bookmark+-specific.  This is what is used for vanilla
bookmark.el also.  The order of the field recorded in a bookmark is
(must be) irrelevant.  The only positional requirement is that the
bookmark name be the car of the full bookmark record.

> My lisp is not up to turning this into an expression that would
> correctly load the filename from old formats as well as from the newer
> format.  Any help and suggestion would be most welcome and appreciated.



reply via email to

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