emacs-devel
[Top][All Lists]
Advanced

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

Re: intern-soft, find-face/get-face, and facep for determining faces' de


From: Stephen J. Turnbull
Subject: Re: intern-soft, find-face/get-face, and facep for determining faces' definedness
Date: Tue, 09 Nov 2004 23:41:17 +0900
User-agent: Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.5 (chayote, linux)

>>>>> "Stefan" == Stefan  <address@hidden> writes:

    >> And so does (progn (fset 'foobar (make-keymap)) (fboundp
    >> 'foobar)), of course.  But (progn (fset 'foobar (make-keymap))
    >> (foobar)) errors, of course.

    Stefan> Of course.  `fboundp' doesn't test the type, only the
    Stefan> boundness.  You want to try with `functionp'.

You're right.  However, I found what's been worrying me:

(let ((name 'default)
      (object (find-face 'default)))
  (put name 'type 'name)
  (put object 'type 'object)
  (eq (get name 'type) (get object 'type)))

evaluates to nil in XEmacs, while

(let ((object (find-face 'default)))
  (put object 'type 'object)
  (eq (get object 'type) (face-property 'default 'type)))

evaluates to t.  I suppose you might consider that an abomination, and
of course neither of the exprs above makes sense in Emacs.  I guess we
could get rid of this "feature"; it's not portable so it probably
doesn't get used very much.

Currently, there are several types in XEmacs which can have properties
added or queried with put/get:

`get' is a built-in function
(get OBJECT PROPERTY &optional DEFAULT)

Documentation:
Return the value of OBJECT's PROPERTY property.
This is the last VALUE stored with `(put OBJECT PROPERTY VALUE)'.
If there is no such property, return optional third arg DEFAULT
(which defaults to `nil').  OBJECT can be a symbol, string, extent,
face, or glyph.  See also `put', `remprop', and `object-plist'.


-- 
Institute of Policy and Planning Sciences     http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba                    Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
               Ask not how you can "do" free software business;
              ask what your business can "do for" free software.




reply via email to

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