From: Eric M. Ludlam <eric@si...> - 2010-01-15 03:10:25
The form example below, where :initform is a lambda expression that gets
run at instantiation time is a problem. That feature is being
deprecated out of EIEIO because it is not standard CLOS.
It is also the cause of the problem, because classes have to be created
at compile time for methods and such to also be compiled successfully.
As such, you get the error below. If you set it to just
'jde-hel-wget-tries instead, you should be ok. An even better solution
is to implement the initialize-instance method, and do the assignments
there if you need the old behavior.
Paul Landes wrote:
> When compiling the following:
> (defcustom jde-help-wget-tries nil ""
> :group 'jde-help
> :type '(choice (const :tag "Try once" :value nil)
> (const :tag "Never stop trying" :value 0)
> (integer :tag "Number of retries" :value 1)))
> (defclass jde-jdurl-wget-resolver (jde-jdurl-resolver)
> (tries :initarg :tries
> :initform (lambda () jde-help-wget-tries)
> :type (or null number)
> I get the following error:
> jde-help.el:306:1:Error: Symbol's value as variable is void:
> Done (Total of 1 file compiled, 1 failed)