From a408ce1816b17f59ba3c15d8a38dd1a0a1463243 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 17 Sep 2001 14:44:14 +0000 Subject: [PATCH] Document Font Lock problems with parens in column zero. --- etc/PROBLEMS | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/etc/PROBLEMS b/etc/PROBLEMS index 6610814d021..254e29ec90c 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -345,6 +345,28 @@ src/s/hpux10.h. * Crashes when displaying uncompressed GIFs with version libungif-4.1.0 are resolved by using version libungif-4.1.0b1. +* Font Lock displays portions of the bufefr in incorrect faces. + +By far the most frequent cause of this is a parenthesis `(' or a brace +`{' in column zero. Font Lock assumes that such a paren is outside of +any comment or string. This is of course not true in general, but the +vast majority of well-formatted program source files don't have such +parens, and therefore this assumption is used to allow optimizations +in Font Lock's syntactical analysis. These optimizations avoid some +patological cases where jit-lock, the Just-in-Time fontification +introduced with Emacs 21.1, could significantly slow down scrolling +through the buffer, especially scrolling backwards, and also jumping +to the end of a very large buffer. + +If you don't use large buffers, or have a very fast machine which +makes the delays insignificant, you can avoid the incorrect +fontification by setting the variable +`font-lock-beginning-of-syntax-function' to a nil value. (This must +be done _after_ turning on Font Lock.) + +Another alternative is to avoid a paren in column zero. For example, +in a Lisp string you could precede the paren with a backslash. + * Interrupting Cygwin port of Bash from Emacs doesn't work. Cygwin 1.x builds of the ported Bash cannot be interrupted from the -- 2.39.2