🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.bug
Article #87268

standard syntax table and the ISO Latin-1 character set.

#87268
From: Edward Welbourne, Genetics
Date: Fri, 07 Oct 1994 18:23
110 lines
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!eddy

Show 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>