GNU bug report logs -
#1638
got "invalid-function imenu-progress-message" in objc-mode
Previous Next
Reported by: Meteor Liu <meteor1113 <at> gmail.com>
Date: Fri, 19 Dec 2008 09:15:03 UTC
Severity: normal
Merged with 2357
Done: Juanma Barranquero <lekktu <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
This is an automatic notification regarding your bug report
which was filed against the emacs,cc-mode package:
#1638: imenu-add-menubar-index fails in Objective-C mode
It has been closed by Juanma Barranquero <lekktu <at> gmail.com>.
Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Juanma Barranquero <lekktu <at> gmail.com> by
replying to this email.
--
1638: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1638
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
On Wed, Feb 18, 2009 at 03:57, Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
> Removing uses of cc-bytecomp-* is always a reason for rejoycing.
Ok, installed.
Juanma
[Message part 3 (message/rfc822, inline)]
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.