emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Font Lock on-the-fly misfontification in C++


From: Marshall, Simon
Subject: Font Lock on-the-fly misfontification in C++
Date: Wed, 19 Jul 2006 16:46:04 +0100

Put the following in a fubar.cpp:

class Fubar :
  public Foo,   // Foo fontified as a type, at first
  public Bar    // Bar fontified as a type, at first
{
  Foo bar(Snafu snafu,  // Types, function, variable fontified, at first
          Foo foo,
          Bar bar);
  Foo bar(Snafu *snafu, // Types, function, variable fontified, at first
          Foo foo,
          Bar bar);
};

Then emacs -Q fubar.cpp.  I see Foo, Bar and Snafu fontified as types even
where declaring functions and variables.  The corresponding functions and
variables are fontified correctly.  This is great!

Then do the following.

1.  Append a space to the first (or second) commented line.  Bug:
fontification of Foo (or Bar) is removed from that line.

2.  Append a space to the third commented line.  Bug: fontification of Foo
and bar is removed from that line.

3.  Append a space to the fourth commented line.  Bug: fontification of Foo,
bar, Snafu and snafu is removed from that line.

Somewhat spookily, if you then repeat (2), then the fourth commented line
(3) gets fontified correctly after the deferral delay.

I think this is some sort of problem with Jit Lock mode multiline
fontification, at least for (2) and (3), since Lazy Lock mode works ok.

In GNU Emacs 22.0.50.2 (sparc-sun-solaris2.8, Motif Version 2.1.0)
 of 2006-07-19 on perth
X server distributor `Hummingbird Ltd.', version 11.0.100015
configured using `configure
'--prefix=/rvcarma/marshals/software/slash/usr/local'
'--with-x-toolkit=motif' 'CFLAGS=-g''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: en_GB.ISO8859-1
  value of $LC_CTYPE: en_GB.ISO8859-1
  value of $LC_MESSAGES: C
  value of $LC_MONETARY: en_GB.ISO8859-1
  value of $LC_NUMERIC: en_GB.ISO8859-1
  value of $LC_TIME: en_GB.ISO8859-1
  value of $LANG: en_GB.ISO8859-1
  locale-coding-system: iso-8859-1
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  line-number-mode: t




reply via email to

[Prev in Thread] Current Thread [Next in Thread]