emacs-devel
[Top][All Lists]
Advanced

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

Re: font-lock-syntactic-keywords obsolet?


From: Dmitry Gutov
Subject: Re: font-lock-syntactic-keywords obsolet?
Date: Wed, 22 Jun 2016 02:50:58 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:47.0) Gecko/20100101 Thunderbird/47.0

On 06/21/2016 05:40 PM, Alan Mackenzie wrote:

Yes, no, and N/A, respectively.  Try out this raw string support,
sometime.

Here's some results: a performance degradation example, and a way to break CC Mode, apparently.

First, paste this near the top of xdisp.c (I did it after the big comment and before the header includes, but this is probably not too important):

const char* s1 = R"foo(
Hello
World
)foo";

and switch to c++-mode.

1) Delete the last double-quote, then type it again. Deletion is noticeably slow (even though bearably so: feels like 0.5 sec), restoring it is faster.

2) Delete the first double-quote, then type it again. Get this backtrace:

Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p nil)
  c-after-change-re-mark-raw-strings(15101 15102 0)
#[(fn) " \n #\207" [fn beg end old-len] 4](c-after-change-re-mark-raw-strings) mapc(#[(fn) " \n #\207" [fn beg end old-len] 4] (c-extend-font-lock-region-for-macros c-after-change-re-mark-raw-strings c-neutralize-syntax-in-and-mark-CPP c-restore-<>-properties c-change-expand-fl-region))
  c-after-change(15101 15102 0)
  self-insert-command(1)
  funcall-interactively(self-insert-command 1)
  call-interactively(self-insert-command nil nil)
  command-execute(self-insert-command)

This scenario is really the first thing I've tried.



reply via email to

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