From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vincent Lefevre Newsgroups: gmane.emacs.bugs Subject: bug#75352: 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@qaa.vinc17.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3482"; mail-complaints-to="usenet@ciao.gmane.io" To: 75352@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Jan 04 15:12:17 2025 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 1tU4sy-0000jT-NM for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 04 Jan 2025 15:12:16 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tU4sn-0002wj-U7; Sat, 04 Jan 2025 09:12:06 -0500 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 1tU4sl-0002wa-R7 for bug-gnu-emacs@gnu.org; Sat, 04 Jan 2025 09:12:03 -0500 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 1tU4sl-0000Wt-In for bug-gnu-emacs@gnu.org; Sat, 04 Jan 2025 09:12:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:Subject; bh=6ne/oPM//UZpAHcO1kxJiDCfSmcaDlO9QSC3DtZKekM=; b=inBtJv8FfRGAJwFr0skvoNJCPwM7e3nLHkHZPeXM+D5dlmlgTHlGo5K9q5lKe+C8veQqWxeZtztdCyTjcYi75+aUUF52afX+ksWezspE4GzIJ+E9SEv/3YTewuFXHNRjGiTfUySEljynQx8PS070ePZeBZzGbQFqNxyMOovfWgaRg18MZ04jrdMRzIDs7MeRdB8kw5SvvdLI78InOmmQ0eOkz4325VsVCaw7DST6rrSMbcXdsIcPWywRGj6K6/hP6Ng4SNI9x9PiExTAgCAfTzpUmf4n6p4nHly658cmoQDY4GjqvPSWsFejiLeC8QC4dBLhT+456yvCHIkGkyQ3WA==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tU4sl-0001fC-7V for bug-gnu-emacs@gnu.org; Sat, 04 Jan 2025 09:12:03 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Vincent Lefevre Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 04 Jan 2025 14:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 75352 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.17359999166378 (code B ref -1); Sat, 04 Jan 2025 14:12:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 4 Jan 2025 14:11:56 +0000 Original-Received: from localhost ([127.0.0.1]:54014 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tU4sc-0001en-LT for submit@debbugs.gnu.org; Sat, 04 Jan 2025 09:11:55 -0500 Original-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 ) id 1tU4sa-0001eU-6i for submit@debbugs.gnu.org; Sat, 04 Jan 2025 09:11:53 -0500 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 1tU4sO-0002rg-N4 for bug-gnu-emacs@gnu.org; Sat, 04 Jan 2025 09:11:40 -0500 Original-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 ) id 1tU4sL-0000TQ-5K for bug-gnu-emacs@gnu.org; Sat, 04 Jan 2025 09:11:40 -0500 Original-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) Original-Received: by qaa.vinc17.org (Postfix, from userid 1000) id DD68BCA009B; Sat, 04 Jan 2025 15:11:14 +0100 (CET) Received-SPF: pass client-ip=155.133.131.76; envelope-from=vincent@vinc17.net; 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-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:298409 Archived-At: 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))