Received: (at 75352) by debbugs.gnu.org; 6 Jan 2025 13:51:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 06 08:51:30 2025 Received: from localhost ([127.0.0.1]:37347 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tUnVy-0005Jo-4o for submit <at> debbugs.gnu.org; Mon, 06 Jan 2025 08:51:30 -0500 Received: from joooj.vinc17.net ([155.133.131.76]:34060) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <vincent@HIDDEN>) id 1tUnVv-0005JY-VB for 75352 <at> debbugs.gnu.org; Mon, 06 Jan 2025 08:51:29 -0500 Received: from smtp-qaa.vinc17.net (2a02-8428-1b1d-4d01-96a9-491d-7b48-ba31.rev.sfr.net [IPv6:2a02:8428:1b1d:4d01:96a9:491d:7b48:ba31]) by joooj.vinc17.net (Postfix) with ESMTPSA id 645F3479; Mon, 6 Jan 2025 14:51:20 +0100 (CET) Received: by qaa.vinc17.org (Postfix, from userid 1000) id 34A4FCA00AC; Mon, 06 Jan 2025 14:51:19 +0100 (CET) Date: Mon, 6 Jan 2025 14:51:19 +0100 From: Vincent Lefevre <vincent@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#75352: 29.4; end-of-buffer is buggy after set-mark-command with some fonts Message-ID: <20250106135119.GH2167271@HIDDEN> References: <87y0zqvfct.fsf@HIDDEN> <8634hyd4t7.fsf@HIDDEN> <20250104192504.GB2167271@HIDDEN> <86ed1ibb8b.fsf@HIDDEN> <20250105225526.GA2577744@HIDDEN> <86wmf85bi4.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <86wmf85bi4.fsf@HIDDEN> X-Mailer-Info: https://www.vinc17.net/mutt/ User-Agent: Mutt/2.2.13+79 (f87ab401) vl-169878 (2024-11-04) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75352 Cc: 75352 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 2025-01-06 15:15:47 +0200, Eli Zaretskii wrote: > > Date: Sun, 5 Jan 2025 23:55:26 +0100 > > From: Vincent Lefevre <vincent@HIDDEN> > > Cc: 75352 <at> debbugs.gnu.org > > > > > > The main problem is not a display problem, but the fact that the > > > > cursor (point) is not at the end of the buffer. > > > > > > My point is that M-> doesn't guarantee that. > > > > For the end user, this is very surprising (even with strange font > > settings, something that is not documented, AFAIK, and for which > > one gets no errors or warnings). > > Supporting variable-height lines of text comes with rare situations > where this is necessary. Note that variable-height lines occur even without my set-fontset-font settings. For instance, consider the following character: ⎷ (U+23B7 RADICAL SYMBOL BOTTOM). So this is not due to "strange font settings". > > > And yes, if the font changes, what was inside the viewport can become > > > outside, and that could cause Emacs move point. > > > > IMHO, in such a case (when used with end-of-buffer), Emacs should scroll, > > keeping the point position. > > It tries, but that is not always possible. Well, this is handled correctly by (goto-char (point-max)), so I don't see why this is not always possible. > Anyway, to look into this further, I need a recipe that will reproduce > the problem with fonts I can install. Until now, I was unable to see > anything like you describe, and I'm not on Debian to begin with. Perhaps consider the character I've mentioned above. I could also try to have a look when I have some time. -- Vincent Lefèvre <vincent@HIDDEN> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
bug-gnu-emacs@HIDDEN
:bug#75352
; Package emacs
.
Full text available.Received: (at 75352) by debbugs.gnu.org; 6 Jan 2025 13:16:22 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 06 08:16:22 2025 Received: from localhost ([127.0.0.1]:37252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tUmxy-0003V8-3g for submit <at> debbugs.gnu.org; Mon, 06 Jan 2025 08:16:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48386) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tUmxw-0003Uo-MV for 75352 <at> debbugs.gnu.org; Mon, 06 Jan 2025 08:16:21 -0500 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 <eliz@HIDDEN>) id 1tUmxq-0005pP-FH; Mon, 06 Jan 2025 08:16:14 -0500 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=yHYjD2hkSvTma1XQc1mmjbY5x2zx6GHiO6Z3gm7e8v0=; b=nHilpOTF5B1d 9rbLmu9myyM2vxfxiC6JK0t1gJcnabcdXQ0AbHbLotCHPhojrRALZd/lSm1UBjR9FghI5fRq9EZ00 wTnK+hX2xcGKlDYbDvGRcEUDrB6cwWYuUIHzqc631at1ku63+roRUaTIZ7AL8J4IdEHKf0MAPAr3l iw2zni6O3BHuZaGCqN2UXPU741+/exyPeovhwU6srXcp/OfF+8Hgi+cD0E2ICT60kkToVtXthZANv Q9N/XvHuU+xM7NDBekakNR3tAigQUeDaqGrhd99m1UNTAhwAxdPehwH5tG7pmxqN5VFHWmsiof1gM vh+tBGWxn4QCXpIbG/6GTQ==; Date: Mon, 06 Jan 2025 15:15:47 +0200 Message-Id: <86wmf85bi4.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Vincent Lefevre <vincent@HIDDEN> In-Reply-To: <20250105225526.GA2577744@HIDDEN> (message from Vincent Lefevre on Sun, 5 Jan 2025 23:55:26 +0100) Subject: Re: bug#75352: 29.4; end-of-buffer is buggy after set-mark-command with some fonts References: <87y0zqvfct.fsf@HIDDEN> <8634hyd4t7.fsf@HIDDEN> <20250104192504.GB2167271@HIDDEN> <86ed1ibb8b.fsf@HIDDEN> <20250105225526.GA2577744@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 75352 Cc: 75352 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Sun, 5 Jan 2025 23:55:26 +0100 > From: Vincent Lefevre <vincent@HIDDEN> > Cc: 75352 <at> debbugs.gnu.org > > > > The main problem is not a display problem, but the fact that the > > > cursor (point) is not at the end of the buffer. > > > > My point is that M-> doesn't guarantee that. > > For the end user, this is very surprising (even with strange font > settings, something that is not documented, AFAIK, and for which > one gets no errors or warnings). Supporting variable-height lines of text comes with rare situations where this is necessary. > > And yes, if the font changes, what was inside the viewport can become > > outside, and that could cause Emacs move point. > > IMHO, in such a case (when used with end-of-buffer), Emacs should scroll, > keeping the point position. It tries, but that is not always possible. Anyway, to look into this further, I need a recipe that will reproduce the problem with fonts I can install. Until now, I was unable to see anything like you describe, and I'm not on Debian to begin with.
bug-gnu-emacs@HIDDEN
:bug#75352
; Package emacs
.
Full text available.Received: (at 75352) by debbugs.gnu.org; 5 Jan 2025 22:55:42 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jan 05 17:55:42 2025 Received: from localhost ([127.0.0.1]:35768 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tUZX4-0001Uq-4G for submit <at> debbugs.gnu.org; Sun, 05 Jan 2025 17:55:42 -0500 Received: from joooj.vinc17.net ([155.133.131.76]:38860) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <vincent@HIDDEN>) id 1tUZWu-0001UU-Uv for 75352 <at> debbugs.gnu.org; Sun, 05 Jan 2025 17:55:39 -0500 Received: from smtp-qaa.vinc17.net (135.197.67.86.rev.sfr.net [86.67.197.135]) by joooj.vinc17.net (Postfix) with ESMTPSA id 7F10C6B4; Sun, 5 Jan 2025 23:55:27 +0100 (CET) Received: by qaa.vinc17.org (Postfix, from userid 1000) id CF12FCA00AD; Sun, 05 Jan 2025 23:55:26 +0100 (CET) Date: Sun, 5 Jan 2025 23:55:26 +0100 From: Vincent Lefevre <vincent@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#75352: 29.4; end-of-buffer is buggy after set-mark-command with some fonts Message-ID: <20250105225526.GA2577744@HIDDEN> References: <87y0zqvfct.fsf@HIDDEN> <8634hyd4t7.fsf@HIDDEN> <20250104192504.GB2167271@HIDDEN> <86ed1ibb8b.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <86ed1ibb8b.fsf@HIDDEN> X-Mailer-Info: https://www.vinc17.net/mutt/ User-Agent: Mutt/2.2.13+79 (f87ab401) vl-169878 (2024-11-04) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75352 Cc: 75352 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 2025-01-04 22:00:36 +0200, Eli Zaretskii wrote: > > Date: Sat, 4 Jan 2025 20:25:04 +0100 > > From: Vincent Lefevre <vincent@HIDDEN> > > Cc: 75352 <at> debbugs.gnu.org > > > > On 2025-01-04 16:36:20 +0200, Eli Zaretskii wrote: > > > > With the Noto Mono font and a file with some Japanese characters > > > > (I suspect that the reason of the need of such characters is that > > > > they slightly modify the cell height, and the font can change by > > > > just moving the cursor; see below), after set-mark-command (C-SPC), > > > > end-of-buffer (M->) does not go to the end of the buffer. > > > > > > end-of-buffer scrolls the window to show EOB not-quite-at-the-bottom > > > of the window. So what you describe can happen with unusual fonts. > > > > > > Why is that a problem? > > > > The main problem is not a display problem, but the fact that the > > cursor (point) is not at the end of the buffer. > > My point is that M-> doesn't guarantee that. For the end user, this is very surprising (even with strange font settings, something that is not documented, AFAIK, and for which one gets no errors or warnings). > > I've attached a screenshot to show what I get. The cursor (not visible > > on the screenshot) is just below the yellow area, on the first column. > > Note that the last line is only partly visible: one just has the top > > of the "x". > > Didn't you say that point then moves back into the viewport, and is > set to line 35? Or what am I missing. I just said that the cursor was on line 35, which is the line that is just below the yellow area (unless Emacs gives incorrect information on the line number). > > > > $ emacs -Q --eval="(set-fontset-font t 'unicode (font-spec :name \"Noto Mono\"))" file > > > > > > This set-fontset-font setting is not a good idea: it tells Emacs that > > > the named font can display _any_ Unicode character, which is usually > > > not true: almost all fonts support only a subset of Unicode. > > > > This was taken from https://emacs.stackexchange.com/q/17205/29118 > > (the goal was to prevent a fallback to a font with different metrics, > > breaking column alignments; well, at least this was working for > > math characters, IIRC). > > That is not how you do that. You should instead use set-fontset-font > to specify a particular suitable font for the 'mathematical' script. I want something that would be applied for every available glyphs, so that the display looks somewhat typographically consistent. Note that the line I gave was just for a simple example. In my actual settings, I provide other fonts: DejaVu Sans Mono and DejaVu Sans. Since DejaVu Sans provides a lot of glyphs for various scripts, I had initially thought that this would be complete for my needs (though DejaVu Sans has the drawback to change the width of the cells). [...] > And yes, if the font changes, what was inside the viewport can become > outside, and that could cause Emacs move point. IMHO, in such a case (when used with end-of-buffer), Emacs should scroll, keeping the point position. -- Vincent Lefèvre <vincent@HIDDEN> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
bug-gnu-emacs@HIDDEN
:bug#75352
; Package emacs
.
Full text available.Received: (at 75352) by debbugs.gnu.org; 4 Jan 2025 20:00:56 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 04 15:00:56 2025 Received: from localhost ([127.0.0.1]:57514 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tUAKM-00022m-Uq for submit <at> debbugs.gnu.org; Sat, 04 Jan 2025 15:00:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:35504) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tUAKK-00022M-UK for 75352 <at> debbugs.gnu.org; Sat, 04 Jan 2025 15:00:53 -0500 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 <eliz@HIDDEN>) id 1tUAKE-0000Ik-MB; Sat, 04 Jan 2025 15:00:46 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=oInpXr7ScDDA52+7sqvgD2Z7IXxtIb577FQwGDHkOV0=; b=gBhV8Fzb8Xl9+H6PekQ/ I0lQtSeqAkUx8L2sl9fyimNhN+FrpOWzCfQAfQqmEBdknr3g9GIzihdEDRfjpkWhH6vReCfYEYCRZ UdEZ6ZZTBtRkfkDS+wQjMDhyY2e7NaFgBD4beUq0QQ4VPHETqftIjwtBeN6AMbhXovwpFY2taJ8/5 cJJ1It9GIrW/V25ksl3RkFPoVWIMSylwxzkIyevFT46BCNbCFnnebUAouTDHSfhInKshuj6a5TXbz jLgLX1oHvHBCayWgGwM1HfhbavLmm0UXlBbAe/SCaXbxmPWeET4lFOcWcuUhiDZ5+crvRejmN2QRS s40Kk5NUUwG5mg==; Date: Sat, 04 Jan 2025 22:00:36 +0200 Message-Id: <86ed1ibb8b.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Vincent Lefevre <vincent@HIDDEN> In-Reply-To: <20250104192504.GB2167271@HIDDEN> (message from Vincent Lefevre on Sat, 4 Jan 2025 20:25:04 +0100) Subject: Re: bug#75352: 29.4; end-of-buffer is buggy after set-mark-command with some fonts References: <87y0zqvfct.fsf@HIDDEN> <8634hyd4t7.fsf@HIDDEN> <20250104192504.GB2167271@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 75352 Cc: 75352 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Sat, 4 Jan 2025 20:25:04 +0100 > From: Vincent Lefevre <vincent@HIDDEN> > Cc: 75352 <at> debbugs.gnu.org > > On 2025-01-04 16:36:20 +0200, Eli Zaretskii wrote: > > > With the Noto Mono font and a file with some Japanese characters > > > (I suspect that the reason of the need of such characters is that > > > they slightly modify the cell height, and the font can change by > > > just moving the cursor; see below), after set-mark-command (C-SPC), > > > end-of-buffer (M->) does not go to the end of the buffer. > > > > end-of-buffer scrolls the window to show EOB not-quite-at-the-bottom > > of the window. So what you describe can happen with unusual fonts. > > > > Why is that a problem? > > The main problem is not a display problem, but the fact that the > cursor (point) is not at the end of the buffer. My point is that M-> doesn't guarantee that. > I've attached a screenshot to show what I get. The cursor (not visible > on the screenshot) is just below the yellow area, on the first column. > Note that the last line is only partly visible: one just has the top > of the "x". Didn't you say that point then moves back into the viewport, and is set to line 35? Or what am I missing. > Concerning your other question, > > M-: (goto-char (point-max)) RET > > after C-SPC puts the cursor at the end of the buffer, as I expect. > But, just for confirmation that the cause of the difference is not > due to the minibuffer, > > M-: (end-of-buffer) RET > > also after C-SPC is still affected by the problem. > > BTW, I thought that end-of-buffer were equivalent to > (goto-char (point-max)), except for the "they set the mark and > display messages in the echo area" part. My intent in asking that was to make the point that they are NOT equivalent. If you look at the code of end-of-buffer, you will see that after going to EOB it does something else. My guess is that that something, together with the strange font setup you have, is the reason for the behavior you see. > > > $ emacs -Q --eval="(set-fontset-font t 'unicode (font-spec :name \"Noto Mono\"))" file > > > > This set-fontset-font setting is not a good idea: it tells Emacs that > > the named font can display _any_ Unicode character, which is usually > > not true: almost all fonts support only a subset of Unicode. > > This was taken from https://emacs.stackexchange.com/q/17205/29118 > (the goal was to prevent a fallback to a font with different metrics, > breaking column alignments; well, at least this was working for > math characters, IIRC). That is not how you do that. You should instead use set-fontset-font to specify a particular suitable font for the 'mathematical' script. > Note: Just after opening the file, if I use the <down>, after the > scrolling, C-u C-x = over 岨 says > > ftcrhb:-GOOG-Noto Sans CJK KR-regular-normal-normal-*-20-*-*-*-*-0-iso10646-1 (#x3E7C) > > even though the font has not changed and the character 黒 is displayed. > But C-SPC makes the font change, while I would expect no changes. This > is strange. C-SPC makes characters display in a different face, so strange things can happen if your fontset setup is incorrect (which it is because of the above setting in the --eval command-line argument). Just don't do that. And yes, if the font changes, what was inside the viewport can become outside, and that could cause Emacs move point.
bug-gnu-emacs@HIDDEN
:bug#75352
; Package emacs
.
Full text available.Received: (at 75352) by debbugs.gnu.org; 4 Jan 2025 19:25:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 04 14:25:18 2025 Received: from localhost ([127.0.0.1]:57438 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tU9lt-0000MK-Cp for submit <at> debbugs.gnu.org; Sat, 04 Jan 2025 14:25:17 -0500 Received: from joooj.vinc17.net ([2001:4b99:1:3:216:3eff:fe20:ac98]:60690) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <vincent@HIDDEN>) id 1tU9lq-0000M1-QU for 75352 <at> debbugs.gnu.org; Sat, 04 Jan 2025 14:25:15 -0500 Received: from smtp-qaa.vinc17.net (unknown [89.207.171.96]) by joooj.vinc17.net (Postfix) with ESMTPSA id 3C04C2B1; Sat, 4 Jan 2025 20:25:10 +0100 (CET) Received: by qaa.vinc17.org (Postfix, from userid 1000) id A4DD9CA009B; Sat, 04 Jan 2025 20:25:04 +0100 (CET) Date: Sat, 4 Jan 2025 20:25:04 +0100 From: Vincent Lefevre <vincent@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#75352: 29.4; end-of-buffer is buggy after set-mark-command with some fonts Message-ID: <20250104192504.GB2167271@HIDDEN> References: <87y0zqvfct.fsf@HIDDEN> <8634hyd4t7.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="tDphVyi5lPlD7AI9" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <8634hyd4t7.fsf@HIDDEN> X-Mailer-Info: https://www.vinc17.net/mutt/ User-Agent: Mutt/2.2.13+79 (f87ab401) vl-169878 (2024-11-04) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75352 Cc: 75352 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --tDphVyi5lPlD7AI9 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit On 2025-01-04 16:36:20 +0200, Eli Zaretskii wrote: > > With the Noto Mono font and a file with some Japanese characters > > (I suspect that the reason of the need of such characters is that > > they slightly modify the cell height, and the font can change by > > just moving the cursor; see below), after set-mark-command (C-SPC), > > end-of-buffer (M->) does not go to the end of the buffer. > > end-of-buffer scrolls the window to show EOB not-quite-at-the-bottom > of the window. So what you describe can happen with unusual fonts. > > Why is that a problem? The main problem is not a display problem, but the fact that the cursor (point) is not at the end of the buffer. I've attached a screenshot to show what I get. The cursor (not visible on the screenshot) is just below the yellow area, on the first column. Note that the last line is only partly visible: one just has the top of the "x". Concerning your other question, M-: (goto-char (point-max)) RET after C-SPC puts the cursor at the end of the buffer, as I expect. But, just for confirmation that the cause of the difference is not due to the minibuffer, M-: (end-of-buffer) RET also after C-SPC is still affected by the problem. BTW, I thought that end-of-buffer were equivalent to (goto-char (point-max)), except for the "they set the mark and display messages in the echo area" part. > > $ emacs -Q --eval="(set-fontset-font t 'unicode (font-spec :name \"Noto Mono\"))" file > > This set-fontset-font setting is not a good idea: it tells Emacs that > the named font can display _any_ Unicode character, which is usually > not true: almost all fonts support only a subset of Unicode. This was taken from https://emacs.stackexchange.com/q/17205/29118 (the goal was to prevent a fallback to a font with different metrics, breaking column alignments; well, at least this was working for math characters, IIRC). > > By using C-u C-x =, I get > > * over x: > > ftcrhb:-PfEd-DejaVu Sans Mono-regular-normal-normal-*-18-*-*-*-m-0-iso10646-1 (#x5B) > > * over 岨 before 黒 gets displayed: > > ftcrhb:-PfEd-AR PL UMing TW MBE-light-normal-normal-*-18-*-*-*-*-0-iso10646-1 (#x159C) > > * over 黒 (and same font over 岨 after 黒 gets displayed): > > ftcrhb:-GOOG-Noto Sans CJK KR-regular-normal-normal-*-18-*-*-*-*-0-iso10646-1 (#xB7AC) > > So there are at least 3 different specific fonts involved, and in > addition the region's highlight seems to have some effect, and the > frame needs to have a particular geometry. Can you tell why it is > important to understand why what you see happens in that particular > case? We will likely find that Emacs behaves as expected due to the > metrics of the fonts. I'm not sure I understand your question. But, for instance, if I replace 黒 by one of the other two characters (x or 岨), the problem doesn't occur. Note: Just after opening the file, if I use the <down>, after the scrolling, C-u C-x = over 岨 says ftcrhb:-GOOG-Noto Sans CJK KR-regular-normal-normal-*-20-*-*-*-*-0-iso10646-1 (#x3E7C) even though the font has not changed and the character 黒 is displayed. But C-SPC makes the font change, while I would expect no changes. This is strange. -- Vincent Lefèvre <vincent@HIDDEN> - Web: <https://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon) --tDphVyi5lPlD7AI9 Content-Type: image/png Content-Disposition: attachment; filename="20250104-193122.png" Content-Transfer-Encoding: base64 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 /cwqJz35QJPIA/deobgDAEDyTpWJ7NjQp0V61Q/X9lbcAQAgiYr7K9NumjKqbeLWzJ/acfbE Gx7q0ygU9+GDW4TTsbRK5erV/m04sX19H8MGAIDifvSKe2ZlShdNySlLZnYybAAAKO4FWdw3 req14bU7srfn/QGGDQAAxb0gizsAAKC4AwCA4q64AwCA4g4AAIp7ART3/yciIiIiIrmO4i4i IiIiorgr7iIiIiIiiruIiIiIiOKuuIuIiIiIKO4iIiIiIqK4i4iIiIgo7nlc3AcOHLh8+fJ4 8d///vffs8o///lPAyYiIiIiinuBFffKlSsPHTo0Xnz99ddTskr79u0NmIiIiIgo7slV3EeM GDEnIWlpaYq7iIiIiCjuSVHc//Wvf8XF/aOPPkpcp3r16oq7iIiIiCjuBVDc77zzzvT09Li4 79+/P/T1Tz/9VHEXEREREVHcRUREREQU97wr7hUrVqyckNTUVMVdRERERBT3pCvuPXv2fDAh J598suIuIiIiIoq7qTIiIiIiIoq74i4iIiIioriLiIiIiCjuBVPcmzZt2j4hZcuWVdxFRERE RHFPuuJev3799ISUKVNGcRcRERERxb1gintqamqFChUKFSpUqlSpE0880VQZEREREZFkLO5V q1Yd+UOGDBmiuIuIiIiIJGNxj6bKxJty3XXX7du3T3EXEREREUmi4r5y5cq5c+cmbs2KFSuW Ll361FNPheI+YcKEpQk5/fTTGzZsGE58++23hk1EREREFPejV9wz57jjjkvJKWvWrDFsIiIi IqK4F2Rx37Fjx6c55f/+7/8Mm4iIiIgo7gVZ3EVERERERHEXEREREVHcFXcREREREcVdRERE RERxV9xFRERERBR3xV1ERERERHEXEREREVHcFXcREREREcVdREREREQUdxERERERxV1xFxER ERH5ORX3gQMHLl++PF7897///fes8s9//tOAiYiIiIjiXmDFvXLlykOHDo0XX3/99ZSs0r59 ewMmIiIiIop7chX3ESNGzElIWlqa4i4iIiIiintSFPd//etfcXH/6KOPEtepXr264i4iIiIi insBFPc777wzPT09Lu779+8Pff3TTz9V3EVEREREFHcREREREcU974p7xYoVKyckNTVVcRcR ERERxT3pinvPnj0fTMjJJ5+suIuIiIiI4m6qjIiIiIiI4q64i4iIiIgo7iIiIiIiinvBFPem TZu2T0jZsmUVdxERERFR3JOuuNevXz89IWXKlFHcRURERERxL5jinpqaWqFChUKFCpUqVerE E080VUZEREREJBmLe9WqVUf+kCFDhijuIiIiIiLJWNyjqTLxplx33XX79u1T3EVEREREkqi4 r1y5cu7cuYlbs2LFiqVLlz711FOhuE+YMGFpQk4//fSGDRuGE99++61hExERERHF/egV98w5 7rjjUnLKmjVrDJuIiIiIKO4FWdx37NjxaU75v//7P8MmIiIiIop7QRZ3ERERERFR3EVERERE FHfFXUREREREcRcRERERUdwVdxERERERxV1xFxERERFR3EVEREREFHfFXUREREREcRcRERER EcVdRERERERxV9xFRERERH5OxX3gwIHLly+PF//973//Pav885//NGAiIiIiorgXWHGvXLny 0KFD48XXX389Jau0b9/egImIiIiI4p5cxX3EiBFzEpKWlqa4i4iIiIjinhTF/V//+ldc3D/6 6KPEdapXr664i4iIiIjiXgDF/c4770xPT4+L+/79+0Nf//TTTxV3ERERERHFXUREREREcc+7 4l6xYsXKCUlNTVXcRURERERxT7ri3rNnzwcTcvLJJyvuIiIiIqK4myojIiIiIqK4K+4iIiIi Ioq7iIiIiIjiXjDFvWnTpu0TUrZsWcVdRERERBT3pCvu9evXT09ImTJlFHcRERERUdwLprin pqZWqFChUKFCpUqVOvHEE02VERGR/9/e3QdVVheOHyexuWpeIUokRtkMljYT06Qsy4rI1eom pmmY9GCWZfawFGn2yOq6lqJgmqy7mWLmw1fTpfIpr0JExR/1m/7pn4aZiKnfNMFU/FoNCub7 +3z3fPfMkQsLrLj3rPt6zZnZey8HONzP2cv7XD73XADSGO4NDQ1bdunq6hLuAACQxnCPpsrE m9La2joxMSHcAQAgReE+NDTU39+f3JrBwcF8Pt/d3R3Cva+vL59QX1/f3NwcLkxNTRk2AACE +94L90Ll5eUlSxkZGTFsAAAI92KG+/j4+NhSZmZmDBsAAMK9mOEOAAAIdwAAEO7CHQAAhDsA AAh34Q4AAMJduAMAgHAHAADhLtwBAEC4AwAAwh0AAIS7cAcAgP0p3Ds7OwcGBuKrc3NzOxYy PT1twAAAEO5FC/e6urqenp746vDwcMlC2traDBgAAMI9XeHe29u7PaG2tla4AwAg3FMR7rOz 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 Sko++MEPXnjhheHC3XffbVQAAGBvh/vs7OzExMT/BQAAiipk+dNPP71ouP/1r38dAAAAUuC6 665bNNxD2ruDVteTTz7ZtdN3vvMd9wYAAMv3hS98QbivpkcfffT222+/5ZZbtmzZcu+99877 6GOPPVay08tf/vLk7Y8//viWZ7rrrrvcmZB+4f/7/fffn6pNuvvuu8NjSHi0eX7f8+FBcnPC j370o8XW/OEPf3jbbbfZVwHh/r82btx45pln3nDDDckbb7755nDj17/+9f3krszn8+vXry8t LS3ZJfz4ywz38Iu25Jne8Y532Dv3ddF/gch73/ve97///Rs2bCg8nFvRYeHDDz+chh/t/PPP Dz/UI488stgKDz300GWXXZbL5Y4//vhXvOIVxx13XPiUwsA966yzzizw7W9/e18Z4quuuir8 b7366qvn3R4G+syFfOQjH9kLW3XaaaeFrfre976X/qc5ns3+fMkllyQfM3ez21x//fVhha99 7WselADh/j/OPvvs8LD42c9+Nnlj+LUdbnzPe96zn9yVl19++bz4Fu77uei/wDzh0O6Tn/zk nn3B+vr68BXS8KO9+MUvDluyffv2xVb4zne+E/282Wy2pqbmkEMOCZcPPfTQeZPEDjjggMK7 qL29fV85Vj/qqKPWrVtX+KHXve51JQuprq4W7qu1P4fo/6+d3vWud+0+3INwAHnEEUc87/8K AQh34b5cLS0tcXY8+eSTi622facf//jHu88d4f68CfdQUQ/vdN9993V2doaQDTfedNNNz+9w v+eeey699NIHH3wwbtwLLrggfMqRRx45L9yPPvro7c+0r9RVdKy+4B8Vo3C/4oor5v1ou5nO Idz3WPQLaPfhHv1tZF85JgQQ7s+5U089NWruZ/PC02WG++OPP/7973//tttue+ihh+zEKQ/3 d73rXckbP/ShD4Ubzz///MIx7dvppz/96fMg3BdUVVUVPuvOO+9Mhnttbe0+Or7HHHPMIYcc 8uijjy4W7l1dXav1vcKRT/gvn7zrCp8RCKX+k5/8ZDfhHg4bbr/99vBFws624Bd54okn4keV cDmsvNiRxr333nvrrbcu9gTEMrd5Ofvzktu8zHAPn15WVlZXV+dxCRDuKwv3Bx988LKd4mfj 9mnXXHPNi3Y68MADo+Y++OCDo1taW1vj1datW/eihFe/+tV7Fu6hEs4666xo4kEQuuekk04K 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 /dm3+/8HqaPaHOjZmdQAAAAASUVORK5CYII= --tDphVyi5lPlD7AI9--
bug-gnu-emacs@HIDDEN
:bug#75352
; Package emacs
.
Full text available.Received: (at 75352) by debbugs.gnu.org; 4 Jan 2025 14:44:04 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 04 09:44:04 2025 Received: from localhost ([127.0.0.1]:54086 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tU5Nj-0003AP-SZ for submit <at> debbugs.gnu.org; Sat, 04 Jan 2025 09:44:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48536) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tU5Nh-00039f-9I for 75352 <at> debbugs.gnu.org; Sat, 04 Jan 2025 09:44:02 -0500 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 <eliz@HIDDEN>) id 1tU5Nb-0006NA-N2; Sat, 04 Jan 2025 09:43:55 -0500 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=4y5ImGnH0Uwl1nk1SMxeUZ9lDySrdYU5f5BQKNv4ma8=; b=jiHu14uwaLpE 503D6cwKejL4Lu+aRbygxHnBOxSWzoF14i9blrB5vdIaY4nEnz7Bj2obAjFLo+LrrWFoZHvgc07Gn /fBz8sAB4iA5doV6o2eQMADjPTeEQFhcdiHZTSxFEI1AeWyz9yZWR81DWf4BBuH2PfWTCrUFUPzFp ZnEXfK1L8T4FiGnyVMKMyDe9O6eUIEXJq9bl2R7UAx0kC1BgTU3caILRryyW08uUv/9yhYqcSz7mM YpNc1RMBfR228/yx9VUqWjzwcJKwg5kUmBWUPezLiWOKw1cHhwVb5mWcem08V/gpvs8kInedIXqd1 Td+/oPENuBblM+V1oV0a4g==; Date: Sat, 04 Jan 2025 16:43:52 +0200 Message-Id: <861pxid4gn.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: vincent@HIDDEN In-Reply-To: <8634hyd4t7.fsf@HIDDEN> (message from Eli Zaretskii on Sat, 04 Jan 2025 16:36:20 +0200) Subject: Re: bug#75352: 29.4; end-of-buffer is buggy after set-mark-command with some fonts References: <87y0zqvfct.fsf@HIDDEN> <8634hyd4t7.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 75352 Cc: 75352 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Cc: 75352 <at> debbugs.gnu.org > Date: Sat, 04 Jan 2025 16:36:20 +0200 > From: Eli Zaretskii <eliz@HIDDEN> > > So there are at least 3 different specific fonts involved, and in > addition the region's highlight seems to have some effect, and the > frame needs to have a particular geometry. Can you tell why it is > important to understand why what you see happens in that particular > case? We will likely find that Emacs behaves as expected due to the > metrics of the fonts. And one more question: If, instead of M->, you use M-: (goto-char (point-max)) RET do you see the same behavior, or do you see something different?
bug-gnu-emacs@HIDDEN
:bug#75352
; Package emacs
.
Full text available.Received: (at 75352) by debbugs.gnu.org; 4 Jan 2025 14:36:33 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 04 09:36:33 2025 Received: from localhost ([127.0.0.1]:54076 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tU5GS-0002t4-P8 for submit <at> debbugs.gnu.org; Sat, 04 Jan 2025 09:36:33 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47630) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1tU5GQ-0002sq-45 for 75352 <at> debbugs.gnu.org; Sat, 04 Jan 2025 09:36:31 -0500 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 <eliz@HIDDEN>) id 1tU5GK-0002SH-1O; Sat, 04 Jan 2025 09:36:24 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=V1w0+wBCAznEkUx71pKPQGN7elf1c6KZtXTy4pl7cQg=; b=esNyBkVNiwXfHmHaMUMo oGSZiqEst8qLnQWjf1wXxizje3sYoPJEi8nPQRjVx0Ipk26P/BCtW/XzvHXRdShrSYoNXfFI7v1hu 0zHEOvQZYR55/5YygA5z3Hgco3COH/3NznxMx3/ZohiUXGcUOfVphGqhLwfm8LFR4fdq07mkaUsIL 4wRTkq7E9GLgx3LHSC4QrbZ7Mf2C939GOSCltRcgPvHeLH6sDtO4f4g4NDFLAZHatITeeuy2GjweP QgEj/pnTrwfsWEXskCF7AQ3pTyvfRH//GAkIhFMq4aIDJ/cKjZqOfbQbdkTCdLRsVa5Q1fWQevqT0 fv2SuZnL+X+drg==; Date: Sat, 04 Jan 2025 16:36:20 +0200 Message-Id: <8634hyd4t7.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Vincent Lefevre <vincent@HIDDEN> In-Reply-To: <87y0zqvfct.fsf@HIDDEN> (message from Vincent Lefevre on Sat, 04 Jan 2025 15:11:14 +0100) Subject: Re: bug#75352: 29.4; end-of-buffer is buggy after set-mark-command with some fonts References: <87y0zqvfct.fsf@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 75352 Cc: 75352 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Vincent Lefevre <vincent@HIDDEN> > Date: Sat, 04 Jan 2025 15:11:14 +0100 > > > With the Noto Mono font and a file with some Japanese characters > (I suspect that the reason of the need of such characters is that > they slightly modify the cell height, and the font can change by > just moving the cursor; see below), after set-mark-command (C-SPC), > end-of-buffer (M->) does not go to the end of the buffer. end-of-buffer scrolls the window to show EOB not-quite-at-the-bottom of the window. So what you describe can happen with unusual fonts. Why is that a problem? > (Due to the following setting, which is important, I don't know whether > the above Emacs.font matters.) > > $ emacs -Q --eval="(set-fontset-font t 'unicode (font-spec :name \"Noto Mono\"))" file This set-fontset-font setting is not a good idea: it tells Emacs that the named font can display _any_ Unicode character, which is usually not true: almost all fonts support only a subset of Unicode. > Then type: C-SPC M-> > > Here, the cursor is placed on line 35 instead of line 50. If the last characters in the file are shown taller than the others, it could happen that the last line is not fully visible, and then Emacs will scroll the display > Note: Even without set-mark-command, once the 黒 character (line 48) > gets displayed, the font used for 岨 changes and the character cells > get taller. I've wondering whether this can confuse Emacs. At least, > this character 黒 is important to reproduce the problem. > > By using C-u C-x =, I get > * over x: > ftcrhb:-PfEd-DejaVu Sans Mono-regular-normal-normal-*-18-*-*-*-m-0-iso10646-1 (#x5B) > * over 岨 before 黒 gets displayed: > ftcrhb:-PfEd-AR PL UMing TW MBE-light-normal-normal-*-18-*-*-*-*-0-iso10646-1 (#x159C) > * over 黒 (and same font over 岨 after 黒 gets displayed): > ftcrhb:-GOOG-Noto Sans CJK KR-regular-normal-normal-*-18-*-*-*-*-0-iso10646-1 (#xB7AC) So there are at least 3 different specific fonts involved, and in addition the region's highlight seems to have some effect, and the frame needs to have a particular geometry. Can you tell why it is important to understand why what you see happens in that particular case? We will likely find that Emacs behaves as expected due to the metrics of the fonts.
bug-gnu-emacs@HIDDEN
:bug#75352
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 4 Jan 2025 14:11:56 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 04 09:11:55 2025 Received: from localhost ([127.0.0.1]:54014 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tU4sc-0001en-LT for submit <at> debbugs.gnu.org; Sat, 04 Jan 2025 09:11:55 -0500 Received: from lists.gnu.org ([2001:470:142::17]:33680) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <vincent@HIDDEN>) id 1tU4sa-0001eU-6i for submit <at> debbugs.gnu.org; Sat, 04 Jan 2025 09:11:53 -0500 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 <vincent@HIDDEN>) id 1tU4sO-0002rg-N4 for bug-gnu-emacs@HIDDEN; Sat, 04 Jan 2025 09:11:40 -0500 Received: from joooj.vinc17.net ([155.133.131.76]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <vincent@HIDDEN>) id 1tU4sL-0000TQ-5K for bug-gnu-emacs@HIDDEN; Sat, 04 Jan 2025 09:11:40 -0500 Received: from smtp-qaa.vinc17.net (unknown [IPv6:2a01:cb19:952d:d700:2843:628d:3ffe:26bb]) by joooj.vinc17.net (Postfix) with ESMTPSA id 4B92B2A3; Sat, 4 Jan 2025 15:11:16 +0100 (CET) Received: by qaa.vinc17.org (Postfix, from userid 1000) id DD68BCA009B; Sat, 04 Jan 2025 15:11:14 +0100 (CET) From: Vincent Lefevre <vincent@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: 29.4; end-of-buffer is buggy after set-mark-command with some fonts Date: Sat, 04 Jan 2025 15:11:14 +0100 Message-ID: <87y0zqvfct.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=155.133.131.76; envelope-from=vincent@HIDDEN; helo=joooj.vinc17.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) With the Noto Mono font and a file with some Japanese characters (I suspect that the reason of the need of such characters is that they slightly modify the cell height, and the font can change by just moving the cursor; see below), after set-mark-command (C-SPC), end-of-buffer (M->) does not go to the end of the buffer. To reproduce: First, I have in my X resources: Xft.dpi: 132 Emacs.font: DejaVu Sans Mono-10 Emacs*geometry: 80x48 (Due to the following setting, which is important, I don't know whether the above Emacs.font matters.) $ emacs -Q --eval=3D"(set-fontset-font t 'unicode (font-spec :name \"Noto M= ono\"))" file with the following file (49 lines): x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E5=B2=A8 =E9=BB=92 x Then type: C-SPC M-> Here, the cursor is placed on line 35 instead of line 50. Note: Even without set-mark-command, once the =E9=BB=92 character (line 48) gets displayed, the font used for =E5=B2=A8 changes and the character cells get taller. I've wondering whether this can confuse Emacs. At least, this character =E9=BB=92 is important to reproduce the problem. By using C-u C-x =3D, I get * over x: ftcrhb:-PfEd-DejaVu Sans Mono-regular-normal-normal-*-18-*-*-*-m-0-iso1= 0646-1 (#x5B) * over =E5=B2=A8 before =E9=BB=92 gets displayed: ftcrhb:-PfEd-AR PL UMing TW MBE-light-normal-normal-*-18-*-*-*-*-0-iso1= 0646-1 (#x159C) * over =E9=BB=92 (and same font over =E5=B2=A8 after =E9=BB=92 gets displ= ayed): ftcrhb:-GOOG-Noto Sans CJK KR-regular-normal-normal-*-18-*-*-*-*-0-iso1= 0646-1 (#xB7AC) Note also that if I first go to the end of the buffer and go back to the beginning, the problem is not reproducible. In GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.43, cairo version 1.18.2) of 2024-12-08, modified by Debian built on sbuild Windowing system distributor 'The X.Org Foundation', version 11.0.12101015 System Description: Debian GNU/Linux trixie/sid Configured using: 'configure --build x86_64-linux-gnu --prefix=3D/usr --sharedstatedir=3D/var/lib --libexecdir=3D/usr/libexec --localstatedir=3D/var/lib --infodir=3D/usr/share/info --mandir=3D/usr/share/man --with-libsystemd --with-pop=3Dyes --enable-locallisppath=3D/etc/emacs:/usr/local/share/emacs/29.4/site-lisp:= /usr/local/share/emacs/site-lisp:/usr/share/emacs/29.4/site-lisp:/usr/share= /emacs/site-lisp --with-sound=3Dalsa --without-gconf --with-mailutils --with-native-compilation --build x86_64-linux-gnu --prefix=3D/usr --sharedstatedir=3D/var/lib --libexecdir=3D/usr/libexec --localstatedir=3D/var/lib --infodir=3D/usr/share/info --mandir=3D/usr/share/man --with-libsystemd --with-pop=3Dyes --enable-locallisppath=3D/etc/emacs:/usr/local/share/emacs/29.4/site-lisp:= /usr/local/share/emacs/site-lisp:/usr/share/emacs/29.4/site-lisp:/usr/share= /emacs/site-lisp --with-sound=3Dalsa --without-gconf --with-mailutils --with-native-compilation --with-cairo --with-x=3Dyes --with-x-toolkit=3Dgtk3 --with-toolkit-scroll-bars 'CFLAGS=3D-g -O2 -Werror=3Dimplicit-function-declaration -ffile-prefix-map=3D/build/reproducible-path/emacs-29.4+1=3D. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=3Dformat-security -fcf-protection -Wall' 'CPPFLAGS=3D-Wdate-time -D_FORTIFY_SOURCE=3D2' LDFLAGS=3D-Wl,-z,relro' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LC_COLLATE: POSIX value of $LC_CTYPE: C.UTF-8 value of $LC_TIME: en_DK.utf8 value of $LANG: C.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: display-time-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: /usr/share/emacs/site-lisp/llvm-13/llvm-mode hides /usr/share/emacs/site-li= sp/llvm-14/llvm-mode /usr/share/emacs/site-lisp/llvm-13/tablegen-mode hides /usr/share/emacs/sit= e-lisp/llvm-14/tablegen-mode /usr/share/emacs/site-lisp/llvm-13/emacs hides /usr/share/emacs/site-lisp/l= lvm-14/emacs /usr/share/emacs/site-lisp/llvm-13/llvm-mode hides /usr/share/emacs/site-li= sp/llvm-15/llvm-mode /usr/share/emacs/site-lisp/llvm-13/tablegen-mode hides /usr/share/emacs/sit= e-lisp/llvm-15/tablegen-mode /usr/share/emacs/site-lisp/llvm-13/emacs hides /usr/share/emacs/site-lisp/l= lvm-15/emacs /usr/share/emacs/site-lisp/llvm-13/llvm-mode hides /usr/share/emacs/site-li= sp/llvm-16/llvm-mode /usr/share/emacs/site-lisp/llvm-13/tablegen-mode hides /usr/share/emacs/sit= e-lisp/llvm-16/tablegen-mode /usr/share/emacs/site-lisp/llvm-13/emacs hides /usr/share/emacs/site-lisp/l= lvm-16/emacs /usr/share/emacs/site-lisp/llvm-13/llvm-mode hides /usr/share/emacs/site-li= sp/llvm-17/llvm-mode /usr/share/emacs/site-lisp/llvm-13/tablegen-mode hides /usr/share/emacs/sit= e-lisp/llvm-17/tablegen-mode /usr/share/emacs/site-lisp/llvm-13/emacs hides /usr/share/emacs/site-lisp/l= lvm-17/emacs /usr/share/emacs/site-lisp/llvm-13/llvm-mode hides /usr/share/emacs/site-li= sp/llvm-18/llvm-mode /usr/share/emacs/site-lisp/llvm-13/tablegen-mode hides /usr/share/emacs/sit= e-lisp/llvm-18/tablegen-mode /usr/share/emacs/site-lisp/llvm-13/emacs hides /usr/share/emacs/site-lisp/l= lvm-18/emacs /usr/share/emacs/site-lisp/llvm-13/llvm-mode hides /usr/share/emacs/site-li= sp/llvm-19/llvm-mode /usr/share/emacs/site-lisp/llvm-13/tablegen-mode hides /usr/share/emacs/sit= e-lisp/llvm-19/tablegen-mode /usr/share/emacs/site-lisp/llvm-13/emacs hides /usr/share/emacs/site-lisp/l= lvm-19/emacs /usr/share/emacs/site-lisp/elpa/po-mode-0.22.5/po-mode-autoloads hides /usr= /share/emacs/site-lisp/elpa-src/po-mode-0.22.5/po-mode-autoloads /usr/share/emacs/site-lisp/elpa/po-mode-0.22.5/po-mode hides /usr/share/ema= cs/site-lisp/elpa-src/po-mode-0.22.5/po-mode /usr/share/emacs/site-lisp/elpa/po-mode-0.22.5/po-mode-pkg hides /usr/share= /emacs/site-lisp/elpa-src/po-mode-0.22.5/po-mode-pkg /usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/29.4/lisp/net/s= asl /usr/share/emacs/site-lisp/latex-cjk-thai/thai-word hides /usr/share/emacs/= 29.4/lisp/language/thai-word Features: (shadow sort mail-extr emacsbug message yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils comp comp-cstr warnings rx cl-extra help-mode cus-start time cc-styles cc-align cc-engine cc-vars cc-defs w3m-load mmm-auto mmm-vars mmm-utils mmm-compat cus-edit pp cus-load icons wid-edit po-mode-autoloads package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv bytecomp byte-compile url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd 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 nadvice seq simple cl-generic indonesian philippine 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 abbrev obarray oclosure cl-preloaded button loaddefs theme-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 dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 155726 7823) (symbols 48 11927 1) (strings 32 39042 3056) (string-bytes 1 1261112) (vectors 16 24541) (vector-slots 8 695353 82229) (floats 8 53 24) (intervals 56 317 0) (buffers 984 12))
Vincent Lefevre <vincent@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#75352
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.