Upgrading to VM 8.0.14 breaks existing VM 7.19 configuratio
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
VM |
Fix Released
|
Low
|
Uday Reddy |
Bug Description
I am trying to upgrade the VM 7.19 package currently being distributed
via pkgsrc (www.pkgsrc.org) to version 8.0.14.
While testing the upgrade, I noticed that replacing an existing VM
7.19 installation with 8.0.14 causes VM to break in a rather confusing
way for existing 7.19 users who still have their .emacs files set up
according to the 7.19 documentation.
Specifically, the VM 7.19 README file says your .emacs file should
contain the following:
(autoload 'vm "vm" "Start VM on your primary inbox." t)
(autoload 'vm-other-frame "vm" "Like `vm' but starts in another frame." t)
(autoload 'vm-visit-folder "vm" "Start VM on an arbitrary folder." t)
(autoload 'vm-visit-
(autoload 'vm-mode "vm" "Run VM major mode on a buffer" t)
(autoload 'vm-mail "vm" "Send a mail message using VM." t)
(autoload 'vm-submit-
whereas the 8.0.14 INSTALL file says it should contain
(require 'vm-autoloads)
If I have a .emacs file still that still contains the VM 7.19
definitions, install VM 8.0.14, start VM with "M-x vm", and then
immediately try to quit VM by pressing the "q" key, I get the error
message ¨Symbol's function definition is void: vm-virtual-quit"
(regardless of the mailbox contents; it happens even with an empty
mailbox). A number of other operations also fail in a similar way.
This is under GNU Emacs version 21.4.1 or 23.1.1, in case that
makes a difference.
VM 8 ought to provide some backwards compatibility for existing VM 7
users rather than just failing with an unhepful error message. The
following patch works for me:
--- lisp/vm.el.orig 2009-12-06 17:12:06.000000000 +0200
+++ lisp/vm.el
@@ -27,6 +27,11 @@
(require 'vm-version)
+;; For backwards compatibility with .emacs files set up according to
+;; the VM 7.19 documentation
+(if (not (featurep 'xemacs))
+ (require 'vm-autoloads))
+
;;;###autoload
(defun vm-recover-folder ()
"Recover the autosave file for the current folder."
Yours,
--
Andreas Gustafsson, <email address hidden>
Related branches
Changed in vm: | |
status: | Fix Committed → Fix Released |
Changed in vm: | |
status: | Fix Released → In Progress |
milestone: | 8.1.0 → 8.1.1 |
Changed in vm: | |
status: | Fix Committed → Fix Released |
Well, we don't want people to persist with outdated .emacs files. So, I am reluctant to change the distribution to accommodate them.
I have updated the INSTALL for new releases indicating that explicit autoloads should be removed from .emacs.
Thanks for raising the issue!
Cheers,
Uday