>>>> "Reto" == Reto Zimmermann
<reto(a)synopsys.com> writes:
Reto> But this function worked well before (e.g. in 21.1) so it
Unfortunately (forward-comment -1) uses a less-than-transparent
"intelligent best effort" algorithm. We've already tried reverting
syntax.c to 21.1 (for other reasons), and borked stuff appeared all
over the place. That's what the traffic about broken 21.4.9 Windows
[1,2] was about (I never released a mainline XEmacs with that code in
it, but Andy did release a couple of Windows versions).
Reto> must be a recent change that broke it.
21.2 (the development branch preceding 21.4) forked from 21.1 in late
1997, and there have been two major overhauls of the syntax code in
21.2 before the release of 21.4, plus a large number of changes since.
Even by Emacs standards, that's not "recent". :-)
bash-2.05b$ diff -u {../21.1/,}src/syntax.c | wc
2122 9512 69165
bash-2.05b$ wc src/syntax.c
2332 8696 68132 src/syntax.c
Unless somebody is willing to volunteer to do some intensive work on
that code, it's going to take time.
One straightforward experiment would be to rip out the current
"beautiful mind" code for negative arguments to forward-comment, and
replace it with a single parse from the beginning of the file. The
correlation between languages whose programmers tend to produce large
source files (> 100kB) and languages which favor single-top-level-defun
source files is high enough that it's probably on average cheaper to
do it that way. :-( However, it could cause a noticable performance
hit for large Lisp and C files when doing (forward-comment -1) near
the end of the file.
This will probably not be forthcoming from me for at least two weeks,
and possibly more like beginning of December, though.
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
My nostalgia for Icon makes me forget about any of the bad things. I don't
have much nostalgia for Perl, so its faults I remember. Scott Gilbert c.l.py