Red Hat Bugzilla – Bug 262361
emacs-vm update causes emacs startup error
Last modified: 2007-11-30 17:12:14 EST
Description of problem:
With today's emacs rpm updates, the following error appears in the Messages buffer:
Loading /usr/share/emacs/site-lisp/site-start.d/ruby-mode-init.el (source)...done
Loading /usr/share/emacs/site-lisp/site-start.d/vm-mode-init.el (source)...
eval-buffer: Wrong number of arguments: #[(symbol load) "^HÃƒN^Y
! B#)\207" [symbol loads load custom-loads put purecopy] 5 718336], 1
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Start emacs
Proper loading of .emacs and related startup files
Upon attempting to do some debugging, I have noted that if one opens
'vm-mode-init.el' in /usr/share/emacs/site-lisp/site-start.d and comments line
4, which is:
so that it reads:
the above errors do not appear and emacs appears to start up properly. Thus,
there appears to be some error in one of the .el/.elc files in
/usr/share/emacs/site-lisp/vm, though I have not tracked it down to which one.
Thanks for the report - this is a known issue upstream:
alas, not yet resolved. For now, until I or someone works out the issue, I
suggest reverting to the previous package.
Thanks for the update Jonathon.
Just as an FYI, the prior versions of the RPMS are available here:
I went back to emacs-vm.i386 18.104.22.1682-4.fc7 and emacs-vm-el.i386 22.214.171.1242-4.fc7
I have installed them and am back to running. Installing these RPMS will
overwrite vm-mode-init.el, removing the commenting of line 4.
I think that I may have identified the problem and a fix.
I downloaded both sets of RPMS and used:
rpm2cpio EACH.RPM.FILE | cpio -idv
to extract the files from all four RPMS into version specific directory trees.
I then ran a recursive 'diff' on both versions to try to identify file based
differences between the two versions.
I will attach that diff here for you.
In reviewing the diff output, I noted that one of the changes in vm-autoloads.el
was the replacement of:
(custom-add-load 'vm 'vm-vars)
towards the end of the file on line 3445.
Given the comments in the thread you noted regarding 'custom-add-load' requiring
two arguments and the two arguments used in the prior version of the file, I
re-installed the version 495 rpms and edited vm-autoloads.el so that the above
line now reads:
(custom-add-load 'vm 'vm-cus-load)
and then byte-compiled the file to update and replace the .elc file.
Emacs now loads without issuing any error messages.
It is not clear to me that this is the correct fix, but it is consistent with
the prior version and does seem to work.
I hope that this helps.
Created attachment 181181 [details]
Recursive diff of versions 482 and 495
This is a recursive diff of the files extracted from:
The potentially relevant output for:
diff -r 482/usr/share/emacs/site-lisp/vm/vm-autoloads.el
begins on line 176:
< (custom-add-load 'vm 'vm-vars)
> (custom-add-load 'vm-cus-load)
OK, thanks for taking the time to analyse this. I'll push builds with this fix
I posted a link to this bug report in the usenet thread above.
Created attachment 182061 [details]
Patch to fix error in Makefile.in
Actually vm-autoloads.el is a file generated at build time, and so the way to
fix this when starting from the tarball is to patch Makefile.in. The attached
patch does that.
Have built new packages with the fix applied - you can pull them from Koji here:
I will push them to updates testing too (will take a couple of days to appear on
The new RPMS are working.
Thanks for the rapid turnaround on this.
*** Bug 274581 has been marked as a duplicate of this bug. ***
emacs-vm-126.96.36.1995-3.fc7 has been pushed to the Fedora 7 stable repository. If problems still persist, please make note of it in this bug report.