[Top][All Lists]
[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: |
Thu, 04 Nov 2004 12:41:59 +0900 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.5 (chayote, linux) |
>>>>> "Stefan" == Stefan <address@hidden> writes:
>> A C structure wrapped in Lisp housekeeping information that
>> implements a face. I'm not sure why they were exposed to Lisp
>> in the first place; I suspect to avoid repeated lookups in code
>> that compares faces to determine if they contrast and the like.
>> Probably a premature optimization.
Stefan> I doubt the motivation was optimization. I think it had
Stefan> more to do with philosophical convictions.
Could be. Might also be the issue of anonymous faces; at the time we
didn't have weak structures, so there was no easy way to guarantee it
would get GC'd in a timely fashion.
>> A face name is a symbol. A face object is a data structure.
Stefan> I still don't understand why (facep 'foo) returns nil,
[...]
Stefan> Just like (progn (fset 'foobar (make-keymap)) (keymapp
Stefan> 'foobar)) return t rather than nil.
And so does (progn (fset 'foobar (make-keymap)) (fboundp 'foobar)), of
course. But (progn (fset 'foobar (make-keymap)) (foobar)) errors, of
course. Hardly convincing!
Anway, "that's different". The symbol foobar is not a key in a table
somewhere, it _is_ the keymap in a physical sense.
I don't remember if Emacs has special object types for charsets and
coding systems, which are also named by symbols. However, in XEmacs
the APIs all work the same way; type predicates return t for the object
but nil for the name, and have find-<type> and get-<type> interfaces.
Whether any of this really makes sense, I don't know, but it's consistent.
--
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.
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, (continued)
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, Stephen J. Turnbull, 2004/11/02
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, Stefan, 2004/11/02
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, Miles Bader, 2004/11/02
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, Richard Stallman, 2004/11/03
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, Stefan Monnier, 2004/11/03
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, Zajcev Evgeny, 2004/11/03
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, Andreas Schwab, 2004/11/03
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, Zajcev Evgeny, 2004/11/03
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, Stephen J. Turnbull, 2004/11/04
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, Stefan Monnier, 2004/11/03
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness,
Stephen J. Turnbull <=
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, Stefan, 2004/11/08
- Re: intern-soft, find-face/get-face, and facep for determining faces' definedness, Stephen J. Turnbull, 2004/11/09