all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* "Invalid function: bmkp-menu-bar-make-toggle" in Bookmark+
@ 2011-06-20 16:24 Dove Young
  2011-06-20 18:01 ` Drew Adams
  0 siblings, 1 reply; 2+ messages in thread
From: Dove Young @ 2011-06-20 16:24 UTC (permalink / raw
  To: help-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 938 bytes --]

When I try to init Bookmark+ by evaluate (require 'bookmark+), the following
error occurs

"Invalid function: bmkp-menu-bar-make-toggle"

By investigate the bookmark+.el, the problem was located in
bookmark+-key.el. Then I made a little modification and it works well.

original bookmark+.el

(require 'bookmark+-bmu)                ; `*Bookmark List*' stuff.
(require 'bookmark+-1)                  ; Rest of Bookmark+ required stuff,
except keys & menus.
(require 'bookmark+-key)                ; Keys & menus.

modified bookmark+.el

(require 'bookmark+-bmu)                ; `*Bookmark List*' stuff.
(require 'bookmark+-1)                  ; Rest of Bookmark+ required stuff,
except keys & menus.
(load "bookmark+-key.el")
(require 'bookmark+-key)                ; Keys & menus.


My Bookmark+ was downloaded from "
https://github.com/emacsmirror/bookmark-plus.git". My environment is GNU
Emacs 23.2.1 on Ubuntu 11.04

-- 
M-x Thinks

[-- Attachment #2: Type: text/html, Size: 1188 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: "Invalid function: bmkp-menu-bar-make-toggle" in Bookmark+
  2011-06-20 16:24 "Invalid function: bmkp-menu-bar-make-toggle" in Bookmark+ Dove Young
@ 2011-06-20 18:01 ` Drew Adams
  0 siblings, 0 replies; 2+ messages in thread
From: Drew Adams @ 2011-06-20 18:01 UTC (permalink / raw
  To: 'Dove Young', help-gnu-emacs

> When I try to init Bookmark+ by evaluate (require 'bookmark+),
> the following error occurs	
> "Invalid function: bmkp-menu-bar-make-toggle"
> By investigate the bookmark+.el, the problem was located
> in bookmark+-key.el.  Then I made a little modification and
> it works well.
> original bookmark+.el
> (require 'bookmark+-bmu)(require 'bookmark+-1)
> (require 'bookmark+-key)
> modified bookmark+.el
> (require 'bookmark+-bmu)(require 'bookmark+-1)
> (load "bookmark+-key.el")(require 'bookmark+-key)	
> My Bookmark+ was downloaded from
> "https://github.com/emacsmirror/bookmark-plus.git".

Sorry for your trouble, Dove.  You can follow up with me off list if what I
write here doesn't help you or you have questions.

I'm not familiar with that GIT URL.  The latest Bookmark+ files are always on
Emacs Wiki, here:

http://www.emacswiki.org/cgi-bin/wiki?action=index;match=%5C.(el%7Ctar)(%5C.gz)%
3F%24

Perhaps try with the files from the wiki and see if you still have a problem.

However, if your `load' of the *.el file works and the `require' of the library
does not work, probably the problem is in the *.elc (byte-compiled) file picked
up by `require'.

`bmkp-menu-bar-make-toggle' is a macro, not an ordinary function.  Whenever you
get a new version of the Bookmark+ macros (library `bookmark+-mac.el'), you must
always load it (source file *-mac.el, not *-mac.elc) first, and then
byte-compile the files (if you choose to byte-compile).

This is so that the latest macros are defined when you byte-compile.  If you
don't do that then either you use an outdated version of the macros or some
newer macros might not be present yet at all.

That sounds like what happened: You byte-compiled a new version of
`bookmark+-key.el' without first loading `bookmark+-mac.el' (*.el, not *.elc).
Since `bookmark+-key.el' needs that macro, if it is compiled using only an older
version of *-mac.el[c] then the macro will be missing at compile time.

I recommend that whenever the file `bookmark+-mac.el' changes you first delete
all of the Bookmark+ byte-compiled files, then load the source files, then
byte-compile (if you choose to byte-compile, which I recommend).  If you are
unsure whether `bookmark+-mac.el' changed since you last byte-compiled, then
assume it did, just to be safe.

In your Emacs init file, all you should ever need is the single sexp `(require
'bookmark+)'.  That will load all of the Bookmark+ libraries.




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-06-20 18:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-20 16:24 "Invalid function: bmkp-menu-bar-make-toggle" in Bookmark+ Dove Young
2011-06-20 18:01 ` Drew Adams

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.