From xemacs-m  Wed Jan 29 17:21:08 1997
Received: from venus.Sun.COM (venus.Sun.COM [192.9.25.5])
          by xemacs.org (8.8.4/8.8.4) with SMTP
	  id RAA06157 for <xemacs-beta@xemacs.org>; Wed, 29 Jan 1997 17:21:07 -0600 (CST)
Received: from Eng.Sun.COM ([129.146.1.25]) by venus.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id PAA24881; Wed, 29 Jan 1997 15:20:37 -0800
Received: from kindra.eng.sun.com by Eng.Sun.COM (SMI-8.6/SMI-5.3)
	id PAA06605; Wed, 29 Jan 1997 15:20:34 -0800
Received: from xemacs.eng.sun.com by kindra.eng.sun.com (SMI-8.6/SMI-SVR4)
	id PAA07229; Wed, 29 Jan 1997 15:20:34 -0800
Received: by xemacs.eng.sun.com (SMI-8.6/SMI-SVR4)
	id PAA07301; Wed, 29 Jan 1997 15:20:33 -0800
Date: Wed, 29 Jan 1997 15:20:33 -0800
Message-Id: <199701292320.PAA07301@xemacs.eng.sun.com>
From: Martin Buchholz <mrb@Eng.Sun.COM>
To: Sudish Joseph <sudish@mindspring.com>
Cc: XEmacs beta <xemacs-beta@xemacs.org>,
        gnus-bug@ifi.uio.no (Lars Magne Ingebrigtsen)
Subject: Re: [PATCH!] Re: [rgnus-0.83] mark behavior change?
In-Reply-To: <yviaenf4m9mq.fsf@atreides.mindspring.com>
References: <vkg1zqzx9u.fsf@cdc.noaa.gov>
	<m2n2tyt96a.fsf@proletcult.slip.ifi.uio.no>
	<vkn2tvf07k.fsf@cdc.noaa.gov>
	<m2zpxvklkq.fsf@proletcult.slip.ifi.uio.no>
	<vkafpu52qn.fsf@cdc.noaa.gov>
	<m2k9oylqub.fsf@proletcult.slip.ifi.uio.no>
	<vk20b5ad9x.fsf@cdc.noaa.gov>
	<m2ohe9y6pg.fsf@proletcult.slip.ifi.uio.no>
	<vkwwswkzd7.fsf_-_@cdc.noaa.gov>
	<yviaenf4m9mq.fsf@atreides.mindspring.com>
Reply-To: Martin Buchholz <mrb@Eng.Sun.COM>
Mime-Version: 1.0 (generated by tm-edit 7.100)
Content-Type: text/plain; charset=US-ASCII

>>>>> "Sudish" == Sudish Joseph <sudish@mindspring.com> writes:

Sudish> Mark Borges writes:
>> (fset 'gnus-characterp 'char-int-p)
>> Otherwise, this (near line 5417 of gnus-sum.el and perhaps elsewhere),
>> (and (gnus-characterp mark)
>> in gnus-summary-mark-article() returns nil when it should return t (as
>> it does in XEmacs-19.15).

Sudish> It should return nil for non-character values of mark--all valid
Sudish> article marks are characters.  The test uses integerp in GNU Emacs and
Sudish> in XEmacs 19.x, but that broke the marking of articles in
Sudish> auto-expirable groups under 20.x.

Sudish> Switching to char-int-p would lead to the same problems as with
Sudish> intergerp, namely:
Sudish> (characterp ?E) => t
Sudish> (char-int-p ?E) => nil
Sudish> (integerp ?E)   => nil

It would be utterly confusing for a function with a name
gnus-characterp to return nil when presented with a character.

I haven't looked at the gnus code, but there are a number of
interesting "-p" functions in XEmacs worth investigating:

char-int-p
  Function: t if OBJECT is an integer that can be converted into a character.
char-or-char-int-p
  Function: t if OBJECT is a character or an integer that can be converted into onecharacterp
  Function: t if OBJECT is a character.
integer-char-or-marker-p
  Function: t if OBJECT is an integer, character or a marker (editor pointer).
integer-or-char-p
  Function: t if OBJECT is an integer or a character.
number-char-or-marker-p
  Function: t if OBJECT is a number, character or a marker.

