Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!UUNET.UU.NET!franz!layer From: franz!layer@UUNET.UU.NET (Kevin Layer) Newsgroups: gnu.emacs.bug Subject: bug in scan_lists() [syntax.c] Message-ID: <8905231809.AA18080@snooze.franz.uucp> Date: 23 May 89 18:09:10 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 41 There are two bugs which have been annoying me for some time. Well, I just spent 3 minutes finding and fixing them (they were due to the same bug). First, in Lisp mode I set the syntax of ?. to '. This is supposed to (from the Gnu Emacs Manual) make ?. part of "the class of expression-adhering characters. These characters are part of a symbol if found within or adjacent to one, and are part of a following expression if immediately preceding one, but are like whitespace if surrounded by whitespace." Well, ?. obviously doesn't behave this way. Put the following in a buffer (in Lisp mode): (thisissupposedtobe.onesymbol thesecondsymbol thethirdsymbol) Note, first, that the indentation of the second line is incorrect (my first annoyance). Second, note that (forward-sexp 1) when the point is just inside the ?( will move the point to the ?., not to the true end of the symbol thisissupposedtobe.onesymbol. I have made the fix and here it is (in the function scan_lists): snooze% diff -c syntax.c-18.53 syntax.c *** syntax.c.~1~ Tue Jan 19 03:49:45 1988 --- syntax.c Tue May 23 08:48:36 1989 *************** *** 508,513 **** --- 508,514 ---- break; case Sword: case Ssymbol: + case Squote: /* DKL 5/23/89 */ break; default: goto done; After making this change forward-sexp and indenting in lisp mode both work fine. Kevin Layer Franz Inc. layer%franz.uucp@Berkeley.EDU