From mboxrd@z Thu Jan  1 00:00:00 1970
Path: main.gmane.org!not-for-mail
From: Stefan Monnier <monnier@iro.umontreal.ca>
Newsgroups: gmane.emacs.xemacs.beta,gmane.emacs.devel
Subject: Re: intern-soft, find-face/get-face, and facep for determining
 faces' definedness
Date: Wed, 03 Nov 2004 10:48:00 -0500
Message-ID: <jwvfz3rrlga.fsf-monnier+emacs@gnu.org>
References: <0whwtx5meng.fsf@rescomp.Stanford.EDU.i-did-not-set--mail-host-address--so-tickle-me>
	<87k6t4rd5b.fsf@tleepslib.sk.tsukuba.ac.jp>
	<847aaaf204110123282bb4ddd8@mail.gmail.com>
	<buofz3szobh.fsf@mctpc71.ucom.lsi.nec.co.jp>
	<847aaaf20411020048201a2419@mail.gmail.com>
	<buo654ozkhq.fsf@mctpc71.ucom.lsi.nec.co.jp>
	<87mzy0pl0o.fsf@tleepslib.sk.tsukuba.ac.jp>
	<m1is8oh3qq.fsf-monnier+emacs@gnu.org>
	<E1CPKVZ-0000vI-4N@fencepost.gnu.org>
	<jwv7jp3t3wv.fsf-monnier+emacs@gnu.org> <82ekjbrn7k.fsf@us.dmz.local>
NNTP-Posting-Host: deer.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Trace: sea.gmane.org 1099497147 28619 80.91.229.6 (3 Nov 2004 15:52:27 GMT)
X-Complaints-To: usenet@sea.gmane.org
NNTP-Posting-Date: Wed, 3 Nov 2004 15:52:27 +0000 (UTC)
Cc: rms@gnu.org, xemacs-beta@xemacs.org, emacs-devel@gnu.org,
        stephen@xemacs.org, bpalmer@rescomp.stanford.edu, miles@gnu.org
Original-X-From: xemacs-beta-bounces@xemacs.org Wed Nov 03 16:52:15 2004
Return-path: <xemacs-beta-bounces@xemacs.org>
Original-Received: from gwyn.tux.org ([199.184.165.135] ident=ident-user)
	by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian))
	id 1CPNQl-000752-00
	for <gexb-xemacs-beta@gmane.org>; Wed, 03 Nov 2004 16:52:15 +0100
Original-Received: from gwyn.tux.org (ident-user@localhost.localdomain [127.0.0.1])
	by gwyn.tux.org (8.12.11/8.12.11) with ESMTP id iA3FmDs7025618;
	Wed, 3 Nov 2004 10:48:13 -0500
Original-Received: from gwyn.tux.org (ident-user@localhost.localdomain [127.0.0.1])
	by gwyn.tux.org (8.12.11/8.12.11) with ESMTP id iA3FmBC8025599
	for <xemacs-beta-mailman@xemacs.org>; Wed, 3 Nov 2004 10:48:11 -0500
Original-Received: (from xemacweb@localhost)
	by gwyn.tux.org (8.12.11/8.12.11/Submit) id iA3FmB6H025598
	for xemacs-beta-mailman@xemacs.org; Wed, 3 Nov 2004 10:48:11 -0500
Original-Received: from gwyn.tux.org (ident-user@localhost.localdomain [127.0.0.1])
	by gwyn.tux.org (8.12.11/8.12.11) with ESMTP id iA3FmAKv025582
	for <xemacweb@tux.org>; Wed, 3 Nov 2004 10:48:10 -0500
Original-Received: (from mailnull@localhost)
	by gwyn.tux.org (8.12.11/8.12.11/Submit) id iA3FmA49025581
	for xemacweb@tux.org; Wed, 3 Nov 2004 10:48:10 -0500
Original-Received: from mercure.iro.umontreal.ca (mercure.iro.umontreal.ca
	[132.204.24.67])
	by gwyn.tux.org (8.12.11/8.12.11) with ESMTP id iA3Fm8ZR025565;
	Wed, 3 Nov 2004 10:48:08 -0500
Original-Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca
	[132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP
	id 0CC598282F2; Wed,  3 Nov 2004 10:48:06 -0500 (EST)
Original-Received: from asado.iro.umontreal.ca (asado.iro.umontreal.ca [132.204.24.84])
	by hidalgo.iro.umontreal.ca (Postfix) with ESMTP
	id AF3464AC896; Wed,  3 Nov 2004 10:48:03 -0500 (EST)
Original-Received: by asado.iro.umontreal.ca (Postfix, from userid 20848)
	id 4C6C68CA69; Wed,  3 Nov 2004 10:48:01 -0500 (EST)
Original-To: Zajcev Evgeny <zevlg@yandex.ru>
In-Reply-To: <82ekjbrn7k.fsf@us.dmz.local> (Zajcev Evgeny's message of "Wed,
	03 Nov 2004 18:01:19 +0300")
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/21.3.50 (gnu/linux)
X-DIRO-MailScanner-Information: Please contact the ISP for more information
X-DIRO-MailScanner: Found to be clean
X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=0,
	requis 5)
X-MailScanner-From: monnier@iro.umontreal.ca
Received-SPF: pass (gwyn.tux.org: localhost is always allowed.)
Received-SPF: pass (gwyn.tux.org: localhost is always allowed.)
Received-SPF: pass (gwyn.tux.org: localhost is always allowed.)
Received-SPF: none (gwyn.tux.org: domain of monnier@iro.umontreal.ca does not
	designate permitted sender hosts)
X-Virus-Scanned: clamd / ClamAV version devel-20040527, clamav-milter version 0.71c
	on gwyn.tux.org
X-Virus-Scanned: clamd / ClamAV version devel-20040527,
	clamav-milter version 0.71c on gwyn.tux.org
X-Virus-Scanned: clamd / ClamAV version devel-20040527,
	clamav-milter version 0.71c on gwyn.tux.org
X-Virus-Scanned: clamd / ClamAV version devel-20040527,
	clamav-milter version 0.71c on gwyn.tux.org
X-Virus-Status: Clean
X-Virus-Status: Clean
X-Virus-Status: Clean
X-Virus-Status: Clean
X-XEmacs-List: beta
X-BeenThere: xemacs-beta@xemacs.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: XEmacs Beta Testers <xemacs-beta.xemacs.org>
List-Unsubscribe: <http://lists.xemacs.org/lists/listinfo/xemacs-beta>,
	<mailto:xemacs-beta-request@xemacs.org?subject=unsubscribe>
List-Post: <mailto:xemacs-beta@xemacs.org>
List-Help: <mailto:xemacs-beta-request@xemacs.org?subject=help>
List-Subscribe: <http://lists.xemacs.org/lists/listinfo/xemacs-beta>,
	<mailto:xemacs-beta-request@xemacs.org?subject=subscribe>
Original-Sender: xemacs-beta-bounces@xemacs.org
Errors-To: xemacs-beta-bounces@xemacs.org
Xref: main.gmane.org gmane.emacs.xemacs.beta:16683 gmane.emacs.devel:29397
X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:29397

> The thing is that XEmacsen `facep' returns non-nil only on face
> objects, not on their names or anything else, however `get-face' does
> all tricks - it returns face object getting face object or face name
> or anything else as input.  Here is:

My question was not "how do I do it with XEmacs".
It was "why does XEmacs do it this way".

The `foo-bar-p' runtime-type-check predicates like `commandp',
`functionp', `keymapp', `facep', `markerp', `stringp', `hash-table-p',
`char-table-p' are traditionally linked to the functions that operate on
them such that:
- (functionp foo) is non-nil iff you can pass `foo' to `funcall'.
- (commandp foo) is non-nil iff you can pass `foo' to `command-execute'.
- (keymapp foo) is non-nil iff you can pass it to `lookp-key'.
...

I'd thus expect that (facep foo) should return non-nil iff foo can be passed
to set-face-<bar> and similar functions.


        Stefan