From: Dmitry Gutov <dgutov@yandex.ru>
To: Alan Mackenzie <acm@muc.de>
Cc: emacs-devel@gnu.org, Noam Postavsky <npostavs@users.sourceforge.net>
Subject: Re: font-lock-syntactic-keywords obsolet?
Date: Sun, 19 Jun 2016 18:50:26 +0300 [thread overview]
Message-ID: <11c988f0-94c0-40dd-b9cd-5a5e27028b63@yandex.ru> (raw)
In-Reply-To: <20160619153455.GG5875@acm.fritz.box>
On 06/19/2016 06:34 PM, Alan Mackenzie wrote:
>> What's a "logical line"?
>
> What you get when you resolve the escaped new lines, or the non-escaped
> new lines inside a C++ raw string.
But when the raw string is unclosed, it stretches until the end of the
buffer, doesn't it? Hence, the effects of adding or removing a closer
must affect the buffer until its end.
> There's no reason to do so, and it would cost a lot of time. The
> syntax-propertize-function stuff just isn't a good way of impelementing
> CC Mode.
>
> A critical reason, which I've told you before, is that on any buffer
> change, the syntax-propertize-function mechanism blasts all s-t
> properties out of existence from the point the change is made onwards.
> This is wasteful of run-time, given that these properties are quite
> expensive to apply.
They can't be too expensive, considering other language modes, which do
use syntax-propertize-function, exhibit fewer performance problems than
CC Mode, even at the same file sizes.
And if the automatic removal of syntax-table properties would lose
important information, you could save them to a separate structure.
Anyway, you're welcome to propose an alternative general abstraction for
the same kind of thing than syntax-propertize does.
font-lock-syntactic-keyword is definitely not that.
>> Maybe you'll need to hand-implement the logic corresponding to
>> syntax-propertize-rules, but that's just work.
>
> In this context, both "just" and "work" are curse words. :-)
"just implementation work", then. As opposed to "design and implementation".
next prev parent reply other threads:[~2016-06-19 15:50 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 [this message]
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
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11c988f0-94c0-40dd-b9cd-5a5e27028b63@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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).