A couple of problems with new packages

Aidan Kehoe kehoea at parhasard.net
Sun Dec 2 15:29:44 EST 2007


 Ar an dara lá de mí na Nollaig, scríobh Michael Sperber: 

 > 
 > "Vin Shelton" <acs at alumni.princeton.edu> writes:
 > 
 > > Mike -
 > >
 > > I can now build the xemacs-packages with a 21.5 XEmacs.  Thanks.
 > >
 > > In using those packages, I notice the following problems:
 > >
 > >
 > > (1) When I start up a 21.4 XEmacs -vanilla evaluating
 > >
 > >   (require 'jka-compr)
 > >
 > > yields the following backtrace:
 > >
 > > Debugger entered--Lisp error: (error "Unknown keyword" :default)
 > >   signal(error ("Unknown keyword" :default))
 > [...]
 > 
 > I don't see where that's coming from: Could you look up your definition
 > of `jka-compr-temp-name-template' (in jka-compr.el) and evaluate 
 > 
 > (macroexpand '(defcustom jka-compr-temp-name-template ...))

That’s coming from my change of
http://mid.gmane.org/18252.39139.149087.844153@parhasard.net ; the 21.5 byte
compiler adds a :default keyword to custom-declare-variable calls when it
byte compiles the init value. This allows the custom UI code to present
non-byte-compiled Lisp for editing. I don’t know of a way to avoid the error
entirely. 

The error should be limited to the specific case of 21.4 loading code
compiled by 21.5 where the code has complex VALUE clauses in defcustom
calls.

Vin, would you consider adding the very last hunk of that patch to 21.4?
Here it is: 

Index: lisp/custom.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/custom.el,v
retrieving revision 1.14
diff -u -u -r1.14 custom.el
--- lisp/custom.el	2007/06/21 13:39:10	1.14
+++ lisp/custom.el	2007/11/27 22:00:47
@@ -184,6 +192,10 @@
 			   value)
 		   ;; Fast code for the common case.
 		   (put symbol 'custom-options (copy-sequence value))))
+                ;; In the event that the byte compile has compiled the init
+                ;; value, we want the value the UI sees to be uncompiled.
+                ((eq keyword :default)
+                 (put symbol 'standard-value (list value)))
 		(t
 		 (custom-handle-keyword symbol keyword value
 					'custom-variable))))))

-- 
¿Dónde estará ahora mi sobrino Yoghurtu Nghé, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?



More information about the XEmacs-Beta mailing list