From xemacs-m  Wed Jan 29 14:20:15 1997
Received: from cdc.noaa.gov (manager.Colorado.EDU [128.138.218.210])
          by xemacs.org (8.8.4/8.8.4) with SMTP
	  id OAA04695 for <xemacs-beta@xemacs.org>; Wed, 29 Jan 1997 14:20:15 -0600 (CST)
Received: from suomi by cdc.noaa.gov (SMI-8.6/SMI-SVR4)
	id NAA21195; Wed, 29 Jan 1997 13:20:08 -0700
Received: by suomi (SMI-8.6) id NAA29604; Wed, 29 Jan 1997 13:20:06 -0700
Sender: mdb@cdc.noaa.gov
To: gnus-bug@ifi.uio.no (Lars Magne Ingebrigtsen)
Cc: XEmacs beta-list <xemacs-beta@xemacs.org>
Subject: [PATCH!] Re: [rgnus-0.83] mark behavior change?
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>
Organization: CIRES, University of Colorado
X-Attribution: mb
From: Mark Borges <mdb@cdc.noaa.gov>
Date: 29 Jan 1997 13:20:04 -0700
In-Reply-To: gnus-bug@ifi.uio.no's message of 28 Jan 1997 19:50:51 +0100
Message-ID: <vkwwswkzd7.fsf_-_@cdc.noaa.gov>
Lines: 55
X-Mailer: Gnus v5.4.6/XEmacs 20.0

Well, not really a patch. I didn't want to make a patch until Lars or
someone on the XEmacs development team blessed this. ;-).

I believe this line in gnus-xmas.el:

  gnus-xmas.el:384:  (fset 'gnus-characterp 'characterp)

should, in XEmacs-20.0 and beyond, be:

  (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).

This change works for me, but again I'm not comfortable enough with
the internals of XEmacs-20.0 to know if this is the correct solution
in general. This applies to Gnus-5.4.6, BTW.

Here are the doc strings of the functions in question (mainly for Lars
info):

------------------------------------------------------------------------------
characterp: (OBJECT)
  -- a built-in function.
t if OBJECT is a character.
Unlike in FSF Emacs, a character is its own primitive type.
Any character can be converted into an equivalent integer using
`char-int'.  To convert the other way, use `int-char'; however,
only some integers can be converted into characters.  Such an integer
is called a `char-int'; see `char-int-p'.

Some functions that work on integers (e.g. the comparison functions
<, <=, =, /=, etc. and the arithmetic functions +, -, *, etc.)
accept characters and implicitly convert them into integers.  In
general, functions that work on characters also accept char-ints and
implicitly convert them into characters.  WARNING: Neither of these
behaviors is very desirable, and they are maintained for backward
compatibility with old E-Lisp programs that confounded characters and
integers willy-nilly.  These behaviors may change in the future; therefore,
do not rely on them.  Instead, use the character-specific functions such
as `char='.

------------------------------------------------------------------------------
char-int-p: (OBJECT)
  -- a built-in function.
t if OBJECT is an integer that can be converted into a character.
See `char-int'.
------------------------------------------------------------------------------

-- 
  -mb-

