The package ivy-mode has the function ivy-switch-buffer, which use the build in variable bookmark-alist to incorporate bookmarks to its options.

I use the package bm to store my bookmarks, which use the file in the varaible bm-repository-file to save the bookmarks permanently. I really like this package because it's simple to configure and use, but the variable bookmark-alist has always nil value and ivy-switch-bufferdoesn't show my bookmarks.

The code (bookmark-load bm-repository-file) load the bookmarks from the field bm-repository-file to the variable bookmark-alist, but it says that the bm-repository-file is not in the "standard form" (The function bookmark-loadis in the package bookmark+).

Could bookmark-alist be synchronized with bm-repository-file? or, if they can not be synchronized, is there a function that transform the file bm-repository-file into such "standard form"?


1 Answer 1


Bookmark+ uses the vanilla Emacs standard form of bookmarks. It can also use additional kinds of bookmarks that it defines (or that you define), but they are still based on the same overall bookmark-list structure of vanilla Emacs.

Library bm.el does not - its "bookmarks" are overlays, and they are not at all compatible with Bookmark+ bookmarks (including the ordinary bookmarks of vanilla Emacs).

FWIW, Bookmark+ can do everything that bm.el does, and more. And it is not difficult to "configure" it to have behavior similar to that of bm.el.

In sum:

  • If you want to stick with bm.el then you cannot use its bookmarks in a bookmarks file expected by Bookmark+ or vanilla Emacs. If ivy-mode requires using such bookmarks then you will need to find a way to make it accept bm.el bookmarks instead.

  • If you instead want to use Bookmark+ bookmarks then:

    • If ivy-mode works with vanilla Emacs bookmarks then it will likely work with any bookmarks that Bookmark+ creates and uses.

    • You can configure Bookmark+ to have your bookmarks to behave similarly to bm.el.

  • Thank you! I've tried that ivy-mode accept bm.el bookmarks, but I don't know enough elisp. I'm gonna "learn" bm+. Thanks again.
    – MonLau
    Nov 9, 2016 at 20:43
  • 1
    (You probably mean Bookmark+, not "bm+". Really, the two are unrelated.)
    – Drew
    Nov 10, 2016 at 3:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.