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#64596: 30.0.50; On FIXME: in src/buffer.c:1481 (force-mode-line-update) Date: Sun, 16 Jul 2023 11:56:22 +0300 Message-ID: <83edl89qvd.fsf@gnu.org> References: <877cr4nez9.fsf@localhost> <83lefj4okb.fsf@gnu.org> <83fs5r3tqv.fsf@gnu.org> <834jm6fppc.fsf@gnu.org> <87a5vyidy6.fsf@localhost> <83sf9qe2ip.fsf@gnu.org> <83a5vxejz6.fsf@gnu.org> <83r0p9b3om.fsf@gnu.org> <83jzv1b152.fsf@gnu.org> <83a5vxas9k.fsf@gnu.org> <877cr1nep6.fsf@localhost> <835y6kbgik.fsf@gnu.org> <682666d3-51f3-9097-1eff-c2c6c6bc5ac4@gmx.at> <87wmz0i709.fsf@localhost> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10742"; mail-complaints-to="usenet@ciao.gmane.io" Cc: rudalics@gmx.at, monnier@iro.umontreal.ca, 64596@debbugs.gnu.org To: Ihor Radchenko Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jul 16 10:57:19 2023 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 1qKxZ8-0002bK-En for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 16 Jul 2023 10:57:18 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qKxYu-0002Wb-Ko; Sun, 16 Jul 2023 04:57:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qKxYs-0002WD-Sp for bug-gnu-emacs@gnu.org; Sun, 16 Jul 2023 04:57:02 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qKxYs-000519-Kt for bug-gnu-emacs@gnu.org; Sun, 16 Jul 2023 04:57:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qKxYs-00014o-Gm for bug-gnu-emacs@gnu.org; Sun, 16 Jul 2023 04:57:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 16 Jul 2023 08:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64596 X-GNU-PR-Package: emacs Original-Received: via spool by 64596-submit@debbugs.gnu.org id=B64596.16894977684030 (code B ref 64596); Sun, 16 Jul 2023 08:57:02 +0000 Original-Received: (at 64596) by debbugs.gnu.org; 16 Jul 2023 08:56:08 +0000 Original-Received: from localhost ([127.0.0.1]:46782 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qKxXz-00012v-Pm for submit@debbugs.gnu.org; Sun, 16 Jul 2023 04:56:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43580) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qKxXw-00012F-Uo for 64596@debbugs.gnu.org; Sun, 16 Jul 2023 04:56:05 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qKxXr-0004lA-0B; Sun, 16 Jul 2023 04:55:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=KP20kCGSPsyvyYusPbNoKJ6elG2vEd4Hdhd4wAHSdY0=; b=nSe7uxcxzH0J 4EVU2URa1uqxOCK7mwsxIDdmUFnWSki659KXUvEgEkDUSAqg7PJ3TiS8c4wRZ2FtDjlghqomBcWcq ILTg3Nz1orIY3333gUOIcw5IyJOmpUUWpnHH2hdjJrOdo7Xr/+W8l3QRemt8tjif1HtHW3eou2x8M EVSjte4Irwc1cmm/OrreJ4VlyE1H1yClxqWK0s/BEZHq0XxR7ia/bzpbFzr1VV2LJn07owGfgLM/e QVvBwa9w05WhI7R/S+RJoWYg7ITiAqXJmsflfSCe+EzNJX4eoq1of4M6aQDhyAgc6r6trS07AjPxP yucz3n7594s1g8gXdTW5EQ==; Original-Received: from [87.69.77.57] (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 1qKxXq-0003LN-G9; Sun, 16 Jul 2023 04:55:58 -0400 In-Reply-To: <87wmz0i709.fsf@localhost> (message from Ihor Radchenko on Sun, 16 Jul 2023 08:40:38 +0000) 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:265298 Archived-At: > From: Ihor Radchenko > Cc: Eli Zaretskii , monnier@iro.umontreal.ca, > 64596@debbugs.gnu.org > Date: Sun, 16 Jul 2023 08:40:38 +0000 > > martin rudalics writes: > > > Here 'set-window-configuration' should be able to tell redisplay that it > > should redisplay the window but it should be able to tell that iff the > > fringe really changed which is fairly easy to find out. Once it found > > out, which kind of flag would it set? > > May someone list all the possible displayed elements Emacs considers? What do you mean by "display element" here? The Emacs display engine already has a term "display element", but I think it means something very different: character glyphs, images, compositions, etc. See the function get_next_display_element in xdisp.c. So we had better agreed on clear terminology here to avoid terrible confusion. > I think that it might be a good new API to have a single function that > marks things for redisplay. That function will accept arguments > indicating what exactly may need to be redisplayed: CURRENT_TEXT_LINE, > FRINGE, LINE_NUMBERS, CURRENT_BUFFER_TEXT, CURRENT_BUFFER_MODELINES, > ALL_MODELINES, CURRENT_FRAME, etc. The first step is to identify the changes in which the display engine is interested, and design the flag(s) to communicate this information to it. The actual API, whether a single function or a set of macros or something else, comes later, and is not a complicated decision to make. Please note that whether current text line needs to be redisplayed, or if line numbers need to be redisplayed, or if mode line needs to be redisplayed, is in many cases a decision that only the display engine can make. So you seem to be thinking in terms that are not entirely correct.