Ar an ceathrú lá de mí Méan Fómhair, scríobh Stephen J. Turnbull:
> QUERY
>
> Aidan Kehoe writes:
>
> > This change would be more useful in the C library, but I don’t have
> > commit access there.
>
> > +＠item %\xe6 (the ISO-8859-1 lowercase ae character)
> > +This stands for the month as a lowercase Roman number (i-xii)
> > +＠item %\xc6 (the ISO-8859-1 uppercase AE character)
> > +This stands for the month as an uppercase Roman number (I-XII)
>
> This is not necessarily true in non-Mule because of the unibyte font
> hack. What do you think about adding a note? Something like:
>
> In non-Mule (unibyte) XEmacs, \xe6 and \xc6 will be converted
> into literal byte values, and how they appear will depend on the
> registry of the font being used.
I won’t bother. There are lots of other places where we assume ISO-8859-1,
cf. the following on a Mule build:
(let ((string "\xa9\xe3\xf7"))
(mapcar* #'=
(mapcar #'char-syntax string)
(mapcar #'char-syntax (decode-coding-string string 'koi8-r))
(mapcar #'char-syntax (decode-coding-string string 'iso-8859-2))))
=> (nil t nil)
Or:
(let ((string "\xa9\xe3\xf7"))
(mapcar* #'=
(mapcar #'canoncase string)
(encode-coding-string
(map 'string #'canoncase (decode-coding-string string 'koi8-r))
'koi8-r)
(encode-coding-string
(map 'string #'canoncase
(decode-coding-string string 'iso-8859-2))
'iso-8859-2)))
=> (nil nil nil)
These both reflect differences that make non-Mule XEmacs unpleasant to use
with non-ISO-8859-1 fonts. If you’re doing this, you’re asking for
irritation, and this #'format-time-string tick is the least of them.
> > diff -r b6a398dbb403 -r 1537701f08a1 src/editfns.c
> > --- a/src/editfns.c Wed Sep 01 12:51:32 2010 +0100
> > +++ b/src/editfns.c Thu Sep 02 12:00:06 2010 +0100
> > ＠＠ -1044,11 +1044,10 ＠＠
> > %Y is replaced by the year with century. %z is replaced by the
> > time zone as a numeric offset (e.g +0530, -0800 etc.) %Z is
> > replaced by the time zone abbreviation.
> > +%\xe6 is replaced by the month as a lowercase Roman number (i-xii)
> > +%\xc6 is replaced by the month as an uppercase Roman number (I-XII)
>
> Does this actually work correctly? I worry a little about this
> inaccuracy (what the user sees in non-Mule with a font other than ISO
> 8859-1 is not going to work on Mule or default non-Mule).
It doesn’t work, there need to be two backslashes for every one that is to
appear in the output, and the documentation infrastructure doesn’t interpret
single backslashes in the same way the Lisp reader does. I’ve committed a
change to reflect that; thanks for your comments!
--
“Apart from the nine-banded armadillo, man is the only natural host of
Mycobacterium leprae, although it can be grown in the footpads of mice.”
-- Kumar & Clark, Clinical Medicine, summarising improbable leprosy research
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/mailman/listinfo/xemacs-patches

Ar an cúigiú lá de mí Méan Fómhair, scríobh Mats Lidell:
> >>>>> Stephen J Turnbull <stephen(a)xemacs.org> writes:
>
> Stephen> You need to understand the LISP reader.
>
> Yes I understand that. And all of this can be found in the info pages
> for lispref? So I ought to do some RTFM then!
If you find something unclear in the Lispref, check the Common Lisp
documentation, especially Common Lisp The Language, but also the Hyperspec.
They’re both online, and carefully written, and a surprising amount of
what’s in there equally applies to XEmacs.
--
“Apart from the nine-banded armadillo, man is the only natural host of
Mycobacterium leprae, although it can be grown in the footpads of mice.”
-- Kumar & Clark, Clinical Medicine, summarising improbable leprosy research
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/mailman/listinfo/xemacs-patches