From: Vincent Lefevre <vincent@vinc17.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 75352@debbugs.gnu.org
Subject: bug#75352: 29.4; end-of-buffer is buggy after set-mark-command with some fonts
Date: Sat, 4 Jan 2025 20:25:04 +0100 [thread overview]
Message-ID: <20250104192504.GB2167271@qaa.vinc17.org> (raw)
In-Reply-To: <8634hyd4t7.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 3426 bytes --]
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@vinc17.net> - 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)
[-- Attachment #2: 20250104-193122.png --]
[-- Type: image/png, Size: 28052 bytes --]
next prev parent reply other threads:[~2025-01-04 19:25 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-04 14:11 bug#75352: 29.4; end-of-buffer is buggy after set-mark-command with some fonts Vincent Lefevre
2025-01-04 14:36 ` Eli Zaretskii
2025-01-04 14:43 ` Eli Zaretskii
2025-01-04 19:25 ` Vincent Lefevre [this message]
2025-01-04 20:00 ` Eli Zaretskii
2025-01-05 22:55 ` Vincent Lefevre
2025-01-06 13:15 ` Eli Zaretskii
2025-01-06 13:51 ` Vincent Lefevre
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=20250104192504.GB2167271@qaa.vinc17.org \
--to=vincent@vinc17.net \
--cc=75352@debbugs.gnu.org \
--cc=eliz@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).