emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Symbol's function definition is void: <


From: Davis Herring
Subject: Re: Symbol's function definition is void: <
Date: Tue, 30 Jun 2009 07:44:04 -0700 (PDT)
User-agent: SquirrelMail/1.4.8-5.7.lanl3.newsieve

>> I have got a strange bug report for nXhtml. The report says that < is
>> not defined. Please see
>
>>     http://www.emacswiki.org/emacs/NxhtmlMode#toc13
>
>> What functions could make < void? fset?
>
> It might also just be an uninterned symbol, so it has the same name as
> the "strictly greater" but doesn't have any function associated with it.

Then it would have to be called with `funcall' or `eval', which seems
unlikely.

I suppose it could also be the case that the "real" '< got uninterned, and
then any Lisp read after that would generate a new '< that had no
function.  (Any Lisp already read would still use the old symbol, of
course, even through `eval' and such.)

Lennart, you can use functions like these to test for these cases:

;; Non-nil if sym is in the obarray OB (or `obarray').
(defun internp (sym &optional ob) (if sym (intern-soft sym ob) t))
;; Non-nil if sym is the '< that was current when this function was read.
(defun <p (sym) (eq sym '<))
;; Non-nil if sym is the current '<.
(defun is< (sym) (eq sym (intern "<")))
;; Non-nil if '< when called is not the same as when read.
(defun <-changed () (not (is< '<)))

Davis

-- 
This product is sold by volume, not by mass.  If it appears too dense or
too sparse, it is because mass-energy conversion has occurred during
shipping.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]