all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Alan Mackenzie <acm@muc.de>
Cc: Noam Postavsky <npostavs@users.sourceforge.net>, emacs-devel@gnu.org
Subject: Re: font-lock-syntactic-keywords obsolet?
Date: Mon, 11 Jul 2016 03:06:30 +0300	[thread overview]
Message-ID: <dfa39819-2c33-2fe1-0177-9c37e1d2323e@yandex.ru> (raw)
In-Reply-To: <20160710221151.GA3551@acm.fritz.box>

On 07/11/2016 01:11 AM, Alan Mackenzie wrote:

> There was some code in the mix designed to stop too much expansion of
> a region when there were humongous macros.  (A few years back somebody
> had complained about the speed in processing a ~5,000 line macro.)
> Unfortunately, this code got caught up in raw string processing.  I hope
> the following patch fixes it.

It works, thanks.

Here's a comparatively minor problem: normally, "foo" in the closer has 
the default face. But if I backspace over the semicolon that follows it, 
and then type it again, "foo" gets the font-lock-string-face.

Similarly if I do backspace over and retype the closing double-quote 
character instead.

> I know that the processing is currently
> slow in such a large raw string.  It is probably possible to optimise
> this.  Whether it is worthwhile is the question.

I don't know. Probably not if that will involve making the code even 
more complex.

>> I'm confused. If, as we discussed before, syntax properties are applied
>> in before/after-functions, why does c-font-lock-declarations need to be
>> concerned with scanning for raw string bounds?
>
> The raw string bounds have nothing to do with c-font-lock-declarators.
> It's just that that function takes a bound which was hardly ever needed,
> since the function stops when it reaches something which signalled the
> end of a sequence of declarators (for example, a semicolon).  Hence the
> fact that the bound given was wrong didn't get noticed.  However, with
> raw strings in the game, when (point-max) was the bound, the function
> actually ended up fruitlessly scanning to (point-max) rather than to the
> `limit' it should have been scanning to.
>
> The limit to c-font-lock-declarators is now `(min limit (point-max))'.
> That way, when the buffer is narrowed to less than `limit', there won't
> be an out of bounds error, and when there are unterminated raw strings,
> there won't be useless scanning past `limit' either.
>
> I'm not sure if the above will help much, but I hope it does.

Not sure. That description sounds like it's about performance, and not 
about correctness. Since you're only mentioning scanning forward, that 
doesn't seem to account for problems with when I'm fiddling with the 
closing delimiter.



  reply	other threads:[~2016-07-11  0:06 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-16 10:18 font-lock-syntactic-keywords obsolet? Andreas Röhler
2016-06-17 22:13 ` Stefan Monnier
2016-06-18  7:03   ` Andreas Röhler
2016-06-18 15:07     ` Noam Postavsky
2016-06-18 17:12       ` Alan Mackenzie
2016-06-18 18:13         ` Stefan Monnier
2016-06-18 19:41           ` Noam Postavsky
2016-06-19  7:12             ` Andreas Röhler
2016-06-19 13:21               ` Noam Postavsky
2016-06-19 14:03                 ` Andreas Röhler
2016-06-19 14:36               ` Stefan Monnier
2016-06-19 15:12                 ` Alan Mackenzie
2016-06-19 15:18                   ` Dmitry Gutov
2016-06-19 15:26                     ` Alan Mackenzie
2016-06-19 15:52                       ` Stefan Monnier
2016-06-19 15:53                       ` Dmitry Gutov
2016-06-20  2:58                   ` Stefan Monnier
2016-06-20 11:57                     ` Alan Mackenzie
2016-06-20 13:37                       ` Stefan Monnier
2016-06-20 13:50                         ` Dmitry Gutov
2016-06-20 16:00                           ` Andreas Röhler
2016-06-20 18:15                             ` Dmitry Gutov
2016-06-20 23:33                               ` John Wiegley
2016-06-20 18:55                             ` Alan Mackenzie
2016-06-20 20:22                               ` Andreas Röhler
2016-06-19 15:27                 ` Andreas Röhler
2016-06-19 15:51                   ` Stefan Monnier
2016-06-19 12:31         ` Dmitry Gutov
2016-06-19 13:31           ` Alan Mackenzie
2016-06-19 13:48             ` Dmitry Gutov
2016-06-19 14:59               ` Alan Mackenzie
2016-06-19 15:07                 ` Dmitry Gutov
2016-06-19 15:18                   ` Alan Mackenzie
2016-06-19 15:22                     ` Dmitry Gutov
2016-06-19 15:34                       ` Alan Mackenzie
2016-06-19 15:50                         ` Dmitry Gutov
2016-06-19 17:15                           ` Alan Mackenzie
2016-06-19 17:55                             ` Dmitry Gutov
2016-06-19 22:20                               ` Dmitry Gutov
2016-06-20 10:22                               ` Alan Mackenzie
2016-06-20 11:50                                 ` Dmitry Gutov
2016-06-20 14:50                                   ` Alan Mackenzie
2016-06-20 15:02                                     ` Dmitry Gutov
2016-06-20 13:39                                 ` Stefan Monnier
2016-06-20 10:58                               ` Alan Mackenzie
2016-06-20 11:12                                 ` Andreas Röhler
2016-06-20 12:15                                 ` Dmitry Gutov
2016-06-20 14:52                                   ` Noam Postavsky
2016-06-20 15:57                                     ` Dmitry Gutov
2016-06-20 17:23                                       ` Noam Postavsky
2016-06-20 18:58                                         ` Dmitry Gutov
2016-06-20 15:25                                   ` Alan Mackenzie
2016-06-20 16:45                                     ` Dmitry Gutov
2016-06-20 18:12                                       ` Alan Mackenzie
2016-06-20 19:15                                         ` Dmitry Gutov
2016-06-20 20:08                                           ` Alan Mackenzie
2016-06-20 20:32                                             ` Dmitry Gutov
2016-06-21 14:40                                               ` Alan Mackenzie
2016-06-21 21:06                                                 ` Dmitry Gutov
2016-06-21 23:50                                                 ` Dmitry Gutov
2016-06-23 16:30                                                   ` Alan Mackenzie
2016-06-27 11:48                                                     ` Alan Mackenzie
2016-06-29  0:30                                                     ` Dmitry Gutov
2016-06-30  9:52                                                       ` Alan Mackenzie
2016-07-10  2:01                                                         ` Dmitry Gutov
2016-07-10 22:11                                                           ` Alan Mackenzie
2016-07-11  0:06                                                             ` Dmitry Gutov [this message]
2016-07-11 17:20                                                               ` Alan Mackenzie
2016-07-11 22:44                                                                 ` Dmitry Gutov
2016-06-20 22:45                                       ` John Wiegley
2016-06-20 23:30                                         ` Dmitry Gutov
2016-06-20 23:56                                           ` John Wiegley
2016-06-21  0:26                                           ` John Wiegley
2016-06-21 15:26                                           ` Alan Mackenzie
2016-06-21 16:09                                             ` Dmitry Gutov
2016-06-21 18:34                                               ` Andreas Röhler
2016-06-21 18:42                                                 ` John Wiegley
2016-06-21 18:52                                                   ` Eli Zaretskii
2016-06-27 11:50                                                     ` Andreas Röhler
2016-06-21 19:23                                                   ` Andreas Röhler
2016-06-21 18:49                                                 ` Eli Zaretskii
2016-06-21 21:05                                               ` Alan Mackenzie
2016-06-21 21:17                                                 ` Dmitry Gutov
2016-06-21 16:28                                             ` Dmitry Gutov
2016-06-20  0:06                             ` Stefan Monnier
2016-06-20 11:03                               ` Alan Mackenzie
2016-06-20 13:53                                 ` Stefan Monnier
2016-06-20  4:33                             ` Stefan Monnier
2016-06-20  5:05                               ` John Wiegley
2016-06-19 23:59                         ` Stefan Monnier
2016-06-20  3:14                       ` Stefan Monnier
2016-06-20  3:20                         ` Dmitry Gutov
2016-06-20  3:47                           ` Stefan Monnier
2016-06-20  6:40                 ` Andreas Röhler
2016-06-20  3:08             ` Stefan Monnier

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=dfa39819-2c33-2fe1-0177-9c37e1d2323e@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=acm@muc.de \
    --cc=emacs-devel@gnu.org \
    --cc=npostavs@users.sourceforge.net \
    /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.