From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.help Subject: RE: "Invalid function: bmkp-menu-bar-make-toggle" in Bookmark+ Date: Mon, 20 Jun 2011 11:01:37 -0700 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1308593274 17963 80.91.229.12 (20 Jun 2011 18:07:54 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 20 Jun 2011 18:07:54 +0000 (UTC) To: "'Dove Young'" , Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Jun 20 20:07:49 2011 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QYit2-0000N0-Cn for geh-help-gnu-emacs@m.gmane.org; Mon, 20 Jun 2011 20:07:48 +0200 Original-Received: from localhost ([::1]:46868 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QYit0-0007aV-Uf for geh-help-gnu-emacs@m.gmane.org; Mon, 20 Jun 2011 14:07:47 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:36905) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QYinG-0006Uw-Tc for help-gnu-emacs@gnu.org; Mon, 20 Jun 2011 14:01:52 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QYinF-0004E2-5Z for help-gnu-emacs@gnu.org; Mon, 20 Jun 2011 14:01:50 -0400 Original-Received: from rcsinet10.oracle.com ([148.87.113.121]:19457) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QYinD-0004Di-UE for help-gnu-emacs@gnu.org; Mon, 20 Jun 2011 14:01:48 -0400 Original-Received: from rtcsinet22.oracle.com (rtcsinet22.oracle.com [66.248.204.30]) by rcsinet10.oracle.com (Switch-3.4.4/Switch-3.4.2) with ESMTP id p5KI1hQ9029129 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 20 Jun 2011 18:01:45 GMT Original-Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156]) by rtcsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id p5KI1gLQ010723 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 20 Jun 2011 18:01:43 GMT Original-Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57]) by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id p5KI1b4p005128; Mon, 20 Jun 2011 13:01:37 -0500 Original-Received: from dradamslap1 (/130.35.178.194) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 20 Jun 2011 11:01:35 -0700 X-Mailer: Microsoft Office Outlook 11 Thread-Index: Acwvb+snv4Jq/501T+KEhNdWrTmdeQAATusw In-Reply-To: X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6109 X-Source-IP: rtcsinet22.oracle.com [66.248.204.30] X-CT-RefId: str=0001.0A090206.4DFF8B0A.0018:SCFSTAT5015188, ss=1, re=-4.000, fgs=0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 1) X-Received-From: 148.87.113.121 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:81372 Archived-At: > 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.