Article View: gnu.emacs.bug
Article #87268standard syntax table and the ISO Latin-1 character set.
From: Edward Welbourne, Genetics
Date: Fri, 07 Oct 1994 18:23
Date: Fri, 07 Oct 1994 18:23
110 lines
5139 bytes
5139 bytes
I note that
(standard-syntax-table)
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 7 1 2 2 3 1 10500 10245 3 3 1 3 1 3
2 2 2 2 2 2 2 2 2 2 1 1 3 3 3 1
1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 23812 9 23301 1 3
1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 32004 3 31493 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
regards the second half of the character-set as whitespace. At least
when using the ISO Latin-1 character set (and, when not doing so, why is
whitespace a better description of these invalid characters than
anything else ?), most of the second half are letters. In fact, we have
(in decimal)
letter: 192--214, 216--246, 248--255
symbol: 162--163, 167, 169, 174, 181--182, 188--190
superscript: 178--179, 185 -> symbol or maybe whitespace
whitespace: 127--160
raw accent: 168, 176, 180, 184 -> punctuator or maybe whitespace
punctuator: 161, 191
binary operator: 177, 183, 215, 247
brackets: 171, 187 forming a matched pair; 171 opens, 187 closes.
I don't know: 164--166, 170, 172--173, 175, 186
I looked at patching the lisp, but discovered (emacs 19.25) that the
crucial function is built-in. If there's anyone out there playing with
the source code, particularly the syntax bits, please (at least) think
about changing the standard-syntax-table code to do this; otherwise, I
guess standard-display-european should impose the required change on
things; only I don't see how to do this to a built-in.
In case anyone's wondering why I care ... I don't really mind the silly
way that every accented letter is treated as a word-ending, at least not
for the purposes of stepping forward through text ... but when ispell is
processing a message (which is in English) it fumbles on any accented
words that do appear; it only sees the initial segment of the word, up
to the accented letter. This makes it horribly difficult to sort out
such spellings -- I have to have the words `Encyclop' and `dia' treated
as valid to avoid `correcting' Encyclopfdia every time it appears.
I also notice that only a subset (basically the letters above) of the
extension is covered by iso-accents-list. Here's a (vaguely) sensible
continuation of the list to include the omissions:
;; extending ISO 8859 Latin 1 support.
;; Also: really need some way to insert
;; Content-Type: text/plain; charset=ISO-8859-LATIN-1
;; Transfer-Type: 8-bit
;; or something similar
;; in message headers if composed in iso-accents-mode.
(require 'iso-acc)
(setq iso-accents-list ; for the rest of this list, see iso-acc.el
(append ; in the main emacs lisp directory.
(list
'((?\/ ?!) ?\241) ; ! inverted !
'((?\/ ?c) ?\242) ; " cents
'((?\/ ?L) ?\243) ; # Pound sterling.
'((?\/ ?0) ?\244) ; $
'((?\/ ?V) ?\245) ; %
'((?\/ ?|) ?\246) ; & split pipe
'((?\/ ?S) ?\247) ; ' section
'((?\/ ?C) ?\251) ; ) copyright
'((?\" ?0) ?\252) ; *
'((?\~ ?-) ?\254) ; , hooked dash
'((?\~ ?_) ?\255) ; - short dash
'((?\/ ?R) ?\256) ; . registered
'((?\/ ?_) ?\257) ; / raised bar
'((?\/ ?-) ?\261) ; 1 +/-
'((?^ ?2) ?\262) ; 2 superscript 2
'((?^ ?3) ?\263) ; 3 superscript 3
'((?\/ ?m) ?\265) ; 5 greek: mu
'((?\/ ?P) ?\266) ; 6 double-stemmed back-to-front P
'((?\/ ?.) ?\267) ; 7 dot at mid-level
'((?^ ?1) ?\271) ; 9 superscript 1
'((?\~ ?0) ?\272) ; : underlined little o
'((?\/ ?4) ?\274) ; < quarter
'((?\/ ?2) ?\275) ; = half
'((?\~ ?4) ?\276) ; > 3/4
'((?\/ ??) ?\277) ; ? inverted ?
'((?\/ ?x) ?\327) ; W times sign
'((?\/ ?t) ?\336) ; ^ thorn
'((?\" ?-) ?\367) ; w division
'((?\/ ?T) ?\376)) ; ~ Thorn
iso-accents-list))
and I'm afraid I _still_ haven't found time to look up the mail RFC's to
find out what the header fields raised in that comment should be.
See also http://eddy.gen.cam.ac.uk/~eddy/html/chars.html for a related
problem arising in HTML.
And don't get depressed about how you only hear from the disatisfied
user: it's just that emacs is so good that any little problem jars
agains the smooth efficiency of normal use.
Many thanks,
Eddy.
Technical Details
Message-ID:
<9410071817.AA21622@hmg1.gen.cam.ac.uk>Path:
arc1-ca.pugleaf.net!bga.com!news.sprintlink.net!howland.reston.ans.net!math.ohio-state.edu!cis.ohio-state.edu!gen.CAm.ac.UK!eddyShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fb2f1,77a7627baca099f5,start X-Google-Attributes: gidfb2f1,public X-Google-ArrivalTime: 1994-10-08 06:57:26 PST Path: arc1-ca.pugleaf.net!bga.com!news.sprintlink.net!howland.reston.ans.net!math.ohio-state.edu!cis.ohio-state.edu!gen.CAm.ac.UK!eddy From: eddy@gen.CAm.ac.UK (Edward Welbourne, Genetics) Newsgroups: gnu.emacs.bug Subject: standard syntax table and the ISO Latin-1 character set. Date: 7 Oct 1994 14:23:05 -0400 Organization: GNUs Not Usenet Lines: 111 Sender: daemon@cis.ohio-state.edu Approved: bug-gnu-emacs@prep.ai.mit.edu Distribution: gnu Message-ID: <9410071817.AA21622@hmg1.gen.cam.ac.uk>