GNU bug report logs -
#2357
imenu-add-menubar-index fails in Objective-C mode
Previous Next
Full log
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
Package: emacs,cc-mode
[This part is a bugfix]
emacs -Q --visit nsfns.m --f imenu-add-menubar-index
=> Error in menu-bar-update-hook: (invalid-function imenu-progress-message)
The reason is that progmodes/cc-menus.el does
(cc-bytecomp-defun imenu-progress-message)
to avoid loading imenu.el, and then uses `imenu-progress-message' in
Objective-C specific code (cc-imenu-objc-function). But it is a macro,
so it fails.
I think the best way to fix it is just removing the cc-bytecomp-defun
and all calls to imenu-progress-message from cc-menus.el. That macro
has been defined as a no-op since 2004-10-27 and I don't think it is
worth jumping around hoops just to make cc-menus.el successfully
define something that goes unused.
[This part is not a bugfix, so not needed now]
Additionally, there are useless calls to `imenu-progress-message' in
imenu.el, erc/erc-imenu.el and net/smtp-mode.el. For the latter two,
removing the macro calls would also remove the need to require imenu.
Juanma
2009-02-17 Juanma Barranquero <lekktu <at> gmail.com>
* progmodes/cc-menus.el (imenu-progress-message):
Remove (bogus and useless) cc-bytecomp-defun.
(cc-imenu-objc-function): Don't call `imenu-progress-message'.
Don't let-bind unused variable `stupid'.
Index: lisp/progmodes/cc-menus.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/progmodes/cc-menus.el,v
retrieving revision 1.42
diff -u -2 -r1.42 cc-menus.el
--- lisp/progmodes/cc-menus.el 17 Feb 2009 10:59:14 -0000 1.42
+++ lisp/progmodes/cc-menus.el 17 Feb 2009 11:51:30 -0000
@@ -48,5 +48,4 @@
(cc-bytecomp-defvar imenu-generic-expression)
(cc-bytecomp-defvar imenu-create-index-function)
-(cc-bytecomp-defun imenu-progress-message)
@@ -317,5 +316,4 @@
(classcount 0)
toplist
- stupid
str
str2
@@ -331,8 +329,6 @@
'buffer-substring)))
(goto-char (point-max))
- (imenu-progress-message stupid 0)
;;
(while (re-search-backward cc-imenu-objc-generic-expression nil t)
- (imenu-progress-message stupid)
(setq langnum (if (match-beginning OBJC)
OBJC
@@ -386,5 +382,4 @@
methodlist nil))))
;;
- (imenu-progress-message stupid 100)
(if (eq (car toplist) nil)
(setq toplist (cdr toplist)))
This bug report was last modified 16 years and 101 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.