unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Wasim Abbas <abbas.wasim@gmail.com>
To: 47267@debbugs.gnu.org
Subject: bug#47267: 28.0.50; Emacs hangs in font-lock-default-fontify-region
Date: Fri, 19 Mar 2021 22:03:26 +0000	[thread overview]
Message-ID: <4A8A4E81-9613-4391-8341-996712113934@gmail.com> (raw)
In-Reply-To: <E36C25CE-5EFB-4F6E-9F2B-A30013437959@gmail.com>

Forgot to mention to reproduce it, you need to scroll up and down for this to kick in. I have seen this happening with shortcuts too but usually scrolling up and down quickly with mouse will trigger it.

Also did some more digging and git bisect found the first bad commit:

92c56300c317c9e5573dca787a2cf20f777b3179 is the first bad commit
commit 92c56300c317c9e5573dca787a2cf20f777b3179
Author: Alan Mackenzie <acm@muc.de>
Date:   Tue Dec 15 12:09:47 2020 +0000

    CC Mode: Optimize for scrolling large buffers containing few braces

    This fixes bug #25706.  It particularly pertains to .h files which contain
    only macro definitions.  Many of these files are to be found, for example, in
    the driver sections of the Linux kernel.

    * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1, c-on-identifier)
    (c-syntactic-skip-backward, c-find-decl-prefix-search, c-find-decl-spots)
    (c-forward-name, c-back-over-list-of-member-inits)
    (c-back-over-member-initializers, c-looking-at-inexpr-block)
    (c-guess-basic-syntax): Give search limits to, or amend existing ones to
    c-backward-syntactic-ws, c-forward-syntactic-ws, c-backward-token-2,
    c-beginning-of-statement-1.
    (c-determine-limit-no-macro): New function.
    (c-determine-limit-get-base): Remove unlimted invocation of
    c-backward-syntactic-ws.
    (c-determine-limit): Exclude movement between two different macros.  Use new
    function c-determine-limit-no-macro.
    (c-back-over-list-of-member-inits): New parameter `limit'.

    * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
    (c-font-lock-declarations, c-font-lock-c++-using): Give search limits to, or
    amend existing ones to c-backward-syntactic-ws, c-beginning-of-decl-1.

    * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens, c-before-changer)
    (c-fl-decl-end): Give search limits to, or amend existing ones to
    c-backward-syntactic-ws, c-forward-syntactic-ws, skip-chars-backward,
    skip-chars-forward.

 lisp/progmodes/cc-engine.el | 282 ++++++++++++++++++++++++++++----------------
 lisp/progmodes/cc-fonts.el  |  16 ++-
 lisp/progmodes/cc-mode.el   |  33 ++++--
 3 files changed, 212 insertions(+), 119 deletions(-)




  reply	other threads:[~2021-03-19 22:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-19 17:42 bug#47267: 28.0.50; Emacs hangs in font-lock-default-fontify-region Wasim Abbas
2021-03-19 22:03 ` Wasim Abbas [this message]
2022-06-25 12:02 ` Lars Ingebrigtsen
2022-06-26 14:26   ` Wasim Abbas
2022-06-26 14:33     ` Lars Ingebrigtsen

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=4A8A4E81-9613-4391-8341-996712113934@gmail.com \
    --to=abbas.wasim@gmail.com \
    --cc=47267@debbugs.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 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).