all messages for Emacs-related lists mirrored at yhetil.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

* 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 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.