From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#52298: 29.0.50; Frequent redisplay cycles induced by c-type-finder-timer-func timer in CC Mode Date: Sun, 05 Dec 2021 09:46:29 +0200 Message-ID: <83sfv74hpm.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30135"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Alan Mackenzie To: 52298@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 05 08:47:10 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mtmEn-0007dB-NZ for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 05 Dec 2021 08:47:10 +0100 Original-Received: from localhost ([::1]:51522 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mtmEm-00032Z-Gh for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 05 Dec 2021 02:47:08 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:55160) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtmEg-00032L-LL for bug-gnu-emacs@gnu.org; Sun, 05 Dec 2021 02:47:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:44673) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mtmEg-0005dH-DL for bug-gnu-emacs@gnu.org; Sun, 05 Dec 2021 02:47:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mtmEg-0000P8-CL for bug-gnu-emacs@gnu.org; Sun, 05 Dec 2021 02:47:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 05 Dec 2021 07:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 52298 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16386903991523 (code B ref -1); Sun, 05 Dec 2021 07:47:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 5 Dec 2021 07:46:39 +0000 Original-Received: from localhost ([127.0.0.1]:56219 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mtmEI-0000OU-MW for submit@debbugs.gnu.org; Sun, 05 Dec 2021 02:46:39 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:53148) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mtmEG-0000ON-Ld for submit@debbugs.gnu.org; Sun, 05 Dec 2021 02:46:37 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:55032) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtmEG-0002zD-Dg for bug-gnu-emacs@gnu.org; Sun, 05 Dec 2021 02:46:36 -0500 Original-Received: from [2001:470:142:3::e] (port=32982 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtmEF-0005YS-G6; Sun, 05 Dec 2021 02:46:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Subject:To:From:Date:mime-version:in-reply-to: references; bh=HrzTPDe2pkP/QuE7P1IyhGj4jzRMb/RaOPtIQEFXN4E=; b=jZwVfJWTc3h0WS JSXsEHxMEve4hczc4iAXVoAyzssRs+uTdtt69HWgqMgqVMc+TPRsHYDVYnLdD84OiYaE8kmvDzi3J Ozh2EVD1kKVxN+eChokj5EwBIyAKFrJhX9+zJU4Vqj8SFAsl+LJgfm4c2xci90Ehx7aDr4ZBcDAin fCX/iKYnvT3+VLfc9aHQ2QGm8y3vS+JoEq8ZwpM7PkZnRKT11J/rKQ1yK1ffz1JLI7j1wNX9od2n4 riIlDQxXgb0F12pwN2w4E8o1dh/e60SvIDQ3FMTeb/ah1BGvsVgc0l0iL+y8VlqPgoMeiCAyUvWff rJ7jYPxZZd4RrlyuTDoQ==; Original-Received: from [87.69.77.57] (port=4925 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mtmEF-0004Xg-9G; Sun, 05 Dec 2021 02:46:35 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:221589 Archived-At: It used to be the case that starting "emacs -Q" and disabling blink-cursor-mode and global-eldoc-mode was enough to get me Emacs that doesn't perform redisplay unless required. To see this, do the following with any Emacs up to and including Emacs 28: emacs -Q M-x blink-cursor-mode RET M-x global-eldoc-mode RET M-x trace-redisplay RET (The last command is only available if you configured with "--enable-checking=yes,glyphs".) This would produce a few lines of output on stderr, and then stop until you do something in Emacs, like move the cursor with an arrow key. This is no longer the case in Emacs 29. There, if you visit a C file, you will see a flurry of stderr messages about constant redisplay cycles being forced. It seems like the culprit is the function 'c-type-finder-timer-func', which is run from a timer at 10 Hz (!), and which for some reason forces Emacs to perform a redisplay cycle with that frequency. The trace itself, viz.: redisplay_internal 0 071a03c8 (xdisp.c): try_window_id 2 redisplay_preserve_echo_area (8) means that the processing induced by that timer function is far from being trivial, which means something that this function does causes Emacs to think some real change might have happened in the buffer. Not even "emacs -Q -D" is enough to get rid of this 'c-type-finder-timer-func' timer in CC Mode buffers. Is it possible to prevent this frequent timer from firing when no changes have been done to the buffer? And in any case, please try to include some logic in that function to avoid whatever it does now to force such frequent non-trivial redisplay cycles. If nothing else, laptop users will hate us if we release Emacs with this behavior. In GNU Emacs 29.0.50 (build 297, i686-pc-mingw32) of 2021-12-04 built on HOME-C4E4A596F7 Repository revision: f247fa5d5ce7cb34f23c979c17b14c5713eb5490 Repository branch: master Windowing system distributor 'Microsoft Corp.', version 5.1.2600 System Description: Microsoft Windows XP Service Pack 3 (v5.1.0.2600) Configured using: 'configure -C --prefix=/d/usr --with-wide-int --enable-checking=yes,glyphs 'CFLAGS=-O0 -gdwarf-4 -g3'' Configured features: ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS WEBP XPM ZLIB Important settings: value of $LANG: ENU locale-coding-system: cp1255 Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map text-property-search time-date seq gv subr-x byte-opt bytecomp byte-compile cconv mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils cus-start cus-load iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads w32notify w32 lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 65940 11920) (symbols 48 8784 1) (strings 16 23857 3044) (string-bytes 1 667119) (vectors 16 14295) (vector-slots 8 183967 12730) (floats 8 25 52) (intervals 40 273 68) (buffers 888 10))