all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ilya Zakharevich <nospam-abuse@ilyaz.org>
To: help-gnu-emacs@gnu.org
Subject: Re: cperl-mode and fontlock
Date: Fri, 25 Sep 2009 10:08:50 +0000 (UTC)	[thread overview]
Message-ID: <slrnhbp5li.ole.nospam-abuse@chorin.math.berkeley.edu> (raw)
In-Reply-To: mailman.6904.1253227091.2239.help-gnu-emacs@gnu.org

On 2009-09-17, Harry Putnam <reader@newsguy.com> wrote:
> As I enter code... syn-hilite appears to be working just as expected
> but as time wears on and some of the code scrolls off the screen,
> Eventually when viewed later syn-hilite has disappeared in all but a
> few items.
>
> Just scrolling code off visible area and back doesn't appear to do it
> ... I'm not sure exactly what does.
>
> If I return to edit some already entered code that has lost its
> syn-hilite, the hilite returns the instant I make any
> modification. But then later I see its left again.
>
> Calling M-x `font-lock-fontify-buffer' does not seem to re-instate the
> syntax highlight where it has already gone away either.
                   ^^^^^

What is this "where"?  Region of buffers, or buffers as a whole?

Just 2 pieces of how I view similar problems:

  a) cperl-mode distributed with RMS Emacs is completely borken.  See
     "my" versions;

  b) I think I have seen things similar to what you describe - about
     5-7 years ago.

     IIRC, font-locking code is designed (?) to make things as hard to
     debug as possible.  Everything is run inside try/catch blocks,
     and all error messages are thrown away.  However, some problems
     accumulate; when too many are accumulated, font-locking stops
     working in the buffer - until you do something like M-x
     normal-mode, which would reset font-locking state.

     So the net result was that bugs in cperl-mode would be invisible
     until they damage font-lock internal state enough to stop it from
     working.  (But this was long time ago, and THESE bugs are long gone...)

Hope this helps,
Ilya


       reply	other threads:[~2009-09-25 10:08 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.6904.1253227091.2239.help-gnu-emacs@gnu.org>
2009-09-25 10:08 ` Ilya Zakharevich [this message]
2009-09-25 22:29   ` cperl-mode and fontlock Harry Putnam
2009-09-26  1:46   ` Harry Putnam
2009-09-26  2:30   ` Harry Putnam
     [not found]   ` <mailman.7555.1253929616.2239.help-gnu-emacs@gnu.org>
2009-09-29  9:48     ` Ilya Zakharevich
2009-09-29 16:03       ` Harry Putnam
2009-09-30  6:25         ` Kevin Rodgers
2009-09-30  6:28           ` Harry Putnam
     [not found]   ` <mailman.7552.1253917816.2239.help-gnu-emacs@gnu.org>
2009-09-28 14:57     ` Ted Zlatanov
2009-10-09  9:04       ` Ilya Zakharevich
2009-10-09 14:50         ` Ted Zlatanov
2009-10-09 21:48           ` Ilya Zakharevich
2009-10-14 15:55             ` Ted Zlatanov
2009-10-09  8:29     ` Ilya Zakharevich
2009-10-09 13:41       ` Harry Putnam
2009-09-17 22:37 Harry Putnam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=slrnhbp5li.ole.nospam-abuse@chorin.math.berkeley.edu \
    --to=nospam-abuse@ilyaz.org \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.