GNU bug report logs - #79317
31.0.50; Garbled text in corner case

Previous Next

Package: emacs;

Reported by: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>

Date: Tue, 26 Aug 2025 08:05:02 UTC

Severity: normal

Merged with 79311, 79314

Found in version 31.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

To reply to this bug, email your comments to 79317 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#79317; Package emacs. (Tue, 26 Aug 2025 08:05:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 26 Aug 2025 08:05:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>
To: bug-gnu-emacs <at> gnu.org
Subject: 31.0.50; Garbled text in corner case
Date: Tue, 26 Aug 2025 17:03:26 +0900
In current emacs, in corner case, the displayed text is garbled.
Simplified reproducible code is the following,

(with-temp-buffer
  (dotimes (_ 3)
    (insert "😀😀😀\n"))
  (add-to-invisibility-spec '(gnus-sum . t))
  (goto-char (point-min))
  (let ((starteol (line-end-position)))
    (forward-line 2)
  (search-backward "\n")
  (let ((ol (make-overlay starteol (point) nil t nil)))
    (overlay-put ol 'invisible 'gnus-sum)
    ;; here
    )))

At ";; here" position, first line uses proper font and text, but send
line is garbled text.  And if comment out the
`add-to-invisibility-spec', no garbled text.

Thanks.


In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.50, cairo version 1.18.4) of 2025-08-26 built on devron
Repository revision: 21b072c6074466f3ec7d2489b82e21d8b0cae265
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101016
System Description: Debian GNU/Linux forky/sid

Configured using:
 'configure --with-x-toolkit=gtk3 --without-xim --with-imagemagick
 --with-wide-int --with-native-compilation=aot'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ
IMAGEMAGICK JPEG 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
XINERAMA XINPUT2 XPM XRANDR GTK3 ZLIB

Important settings:
  value of $LANG: ja_JP.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  gnus-topic-mode: t
  gnus-undo-mode: t
  bug-reference-mode: t
  server-mode: t
  editorconfig-mode: t
  flycheck-pos-tip-mode: t
  global-flycheck-mode: t
  global-company-mode: t
  company-mode: t
  auto-insert-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  electric-pair-mode: t
  icomplete-mode: t
  which-key-mode: t
  savehist-mode: t
  repeat-mode: t
  tty-tip-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow emacsbug lisp-mnt bbdb-message mailalias jka-compr shr-color
color mule-util sort gnus-cite mm-archive mail-extr textsec uni-scripts
idna-mapping ucs-normalize uni-confusable textsec-check gnus-bcklg
bbdb-gnus-aux qp gnus-ml disp-table go-mode find-file ffap hl-line
elfeed-show elfeed-search bookmark elfeed-csv elfeed elfeed-curl
elfeed-log elfeed-db elfeed-lib avl-tree url-queue xml-query gnus-topic
url-http url-gw url-cache utf-7 epa-file network-stream nsm nnfolder
bbdb-gnus nnnil dired-aux flyspell ispell vc-hg vc-git diff-mode
track-changes files-x vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs
log-view log-edit bbdb-mua spam spam-stat bbdb-com crm bbdb bbdb-site
timezone gnus-uu yenc gnus-demon gnus-async gnus-delay gnus-draft
gnus-agent gnus-srvr gnus-score score-mode nnvirtual nntp gnus-cache
gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig
gnus-sum shr pixel-fill kinsoku url-file svg dom nndraft nnmh
gnus-xoauth2 oauth2-ext plstore gnus-group gnus-undo gnus-start
gnus-dbus dbus company-cscope company-yasnippet grep-context dash
comp-run comp-common xml gnus-cloud nnimap nnmail mail-source utf7 nnoo
parse-time iso8601 gnus-spec gnus-int gnus-range gnus-win gnus nnheader
range message sendmail yank-media puny rfc822 mml mml-sec epa derived
epg rfc6068 epg-config gnus-util time-date mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr
mailabbrev mail-utils gmm-utils mailheader add-log easy-mmode pcvs-util
vc vc-dispatcher bug-reference thingatpt server auth-source-pass
url-auth generic-x editorconfig editorconfig-core
editorconfig-core-handle editorconfig-fnmatch flycheck-relint relint
compile text-property-search comint ansi-osc xr flycheck-pos-tip pos-tip
flycheck find-func rx company-oddmuse company-keywords company-etags
etags fileloop generator xref project ring company-gtags
company-dabbrev-code company-dabbrev company-files company-clang
company-capf company-cmake company-semantic company-template
company-bbdb company pcase autoinsert cl-extra yasnippet help-mode
elec-pair icomplete which-key dircolors-faces ansi-color dired-x
savehist advice browse-kill-ring delsel tab-bar-session desktop frameset
repeat tty-tip mozc-im-plus mozc-cand-posframe s posframe mozc
vcard-autoloads startup-elisp-autoloads rfc-autoloads
mozc-im-plus-autoloads misc-autoloads magit-mini-autoloads
lookup-autoloads langtool-autoloads gt-autoloads grammar-check-autoloads
gnus-xoauth2-autoloads cxrefs-autoloads company-cscope-autoloads
bbdb-loaddefs cus-edit pp cus-start cus-load wid-edit
browse-kill-ring-autoloads cmake-mode-autoloads company-autoloads
coterm-autoloads csv-mode-autoloads dockerfile-mode-autoloads
dpkg-dev-el-autoloads debian-el-autoloads debian-el dired dired-loaddefs
dumb-jump-autoloads elfeed-autoloads expand-region-autoloads
flycheck-relint-autoloads flycheck-rust-autoloads dash-autoloads
flycheck-autoloads git-modes-autoloads git-timemachine-autoloads info
gnuplot-autoloads go-mode-autoloads graphviz-dot-mode-autoloads
grep-context-autoloads markdown-mode-autoloads meson-mode-autoloads
mozc-cand-posframe-autoloads mozc-autoloads php-mode-autoloads
po-mode-autoloads popup-autoloads pos-tip-autoloads posframe-autoloads
relint-autoloads rpm-spec-mode-autoloads rust-mode-autoloads s-autoloads
vundo-autoloads xr-autoloads yaml-mode-autoloads yasnippet-autoloads
package browse-url xdg 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 icons
password-cache json subr-x map byte-opt gv bytecomp byte-compile
url-vars cl-loaddefs cl-lib japan-util 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 touch-screen
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 gtk x-toolkit xinput2 x multi-tty move-toolbar
make-network-process tty-child-frames native-compile emacs)

Memory information:
((conses 16 1680865 1768522) (symbols 48 30083 37)
 (strings 32 1918695 60593) (string-bytes 1 78848833)
 (vectors 16 545198) (vector-slots 8 4653235 365494)
 (floats 8 148617 128624) (intervals 56 17321 2647) (buffers 1064 33))

-- 
OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#79317; Package emacs. (Tue, 26 Aug 2025 13:28:02 GMT) Full text and rfc822 format available.

Message #8 received at 79317 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>
Cc: 79317 <at> debbugs.gnu.org
Subject: Re: bug#79317: 31.0.50; Garbled text in corner case
Date: Tue, 26 Aug 2025 16:27:02 +0300
> From: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>
> Date: Tue, 26 Aug 2025 17:03:26 +0900
> 
> 
> In current emacs, in corner case, the displayed text is garbled.
> Simplified reproducible code is the following,
> 
> (with-temp-buffer
>   (dotimes (_ 3)
>     (insert "😀😀😀\n"))
>   (add-to-invisibility-spec '(gnus-sum . t))
>   (goto-char (point-min))
>   (let ((starteol (line-end-position)))
>     (forward-line 2)
>   (search-backward "\n")
>   (let ((ol (make-overlay starteol (point) nil t nil)))
>     (overlay-put ol 'invisible 'gnus-sum)
>     ;; here
>     )))
> 
> At ";; here" position, first line uses proper font and text, but send
> line is garbled text.  And if comment out the
> `add-to-invisibility-spec', no garbled text.

Thanks for a simple and concise test case.  This should be fixed now
on the master branch.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#79317; Package emacs. (Tue, 26 Aug 2025 14:48:02 GMT) Full text and rfc822 format available.

Message #11 received at 79317 <at> debbugs.gnu.org (full text, mbox):

From: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 79317 <at> debbugs.gnu.org
Subject: Re: bug#79317: 31.0.50; Garbled text in corner case
Date: Tue, 26 Aug 2025 23:46:57 +0900
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>
>> Date: Tue, 26 Aug 2025 17:03:26 +0900
>> 
>> 
>> In current emacs, in corner case, the displayed text is garbled.
>> Simplified reproducible code is the following,
>> 
>> (with-temp-buffer
>>   (dotimes (_ 3)
>>     (insert "😀😀😀\n"))
>>   (add-to-invisibility-spec '(gnus-sum . t))
>>   (goto-char (point-min))
>>   (let ((starteol (line-end-position)))
>>     (forward-line 2)
>>   (search-backward "\n")
>>   (let ((ol (make-overlay starteol (point) nil t nil)))
>>     (overlay-put ol 'invisible 'gnus-sum)
>>     ;; here
>>     )))
>> 
>> At ";; here" position, first line uses proper font and text, but send
>> line is garbled text.  And if comment out the
>> `add-to-invisibility-spec', no garbled text.
>
> Thanks for a simple and concise test case.  This should be fixed now
> on the master branch.

Thanks. Looks like working for me.
-- 
OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#79317; Package emacs. (Tue, 26 Aug 2025 15:51:02 GMT) Full text and rfc822 format available.

Message #14 received at 79317 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>
Cc: 79317 <at> debbugs.gnu.org
Subject: Re: bug#79317: 31.0.50; Garbled text in corner case
Date: Tue, 26 Aug 2025 18:50:41 +0300
> From: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>
> Cc: 79317 <at> debbugs.gnu.org
> Date: Tue, 26 Aug 2025 23:46:57 +0900
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> From: OGAWA Hirofumi <hirofumi <at> mail.parknet.co.jp>
> >> Date: Tue, 26 Aug 2025 17:03:26 +0900
> >> 
> >> 
> >> In current emacs, in corner case, the displayed text is garbled.
> >> Simplified reproducible code is the following,
> >> 
> >> (with-temp-buffer
> >>   (dotimes (_ 3)
> >>     (insert "😀😀😀\n"))
> >>   (add-to-invisibility-spec '(gnus-sum . t))
> >>   (goto-char (point-min))
> >>   (let ((starteol (line-end-position)))
> >>     (forward-line 2)
> >>   (search-backward "\n")
> >>   (let ((ol (make-overlay starteol (point) nil t nil)))
> >>     (overlay-put ol 'invisible 'gnus-sum)
> >>     ;; here
> >>     )))
> >> 
> >> At ";; here" position, first line uses proper font and text, but send
> >> line is garbled text.  And if comment out the
> >> `add-to-invisibility-spec', no garbled text.
> >
> > Thanks for a simple and concise test case.  This should be fixed now
> > on the master branch.
> 
> Thanks. Looks like working for me.

Thanks for testing the fix.




Forcibly Merged 79311 79317. Request was from Eli Zaretskii <eliz <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 27 Aug 2025 12:08:02 GMT) Full text and rfc822 format available.

Forcibly Merged 79311 79314 79317. Request was from Eli Zaretskii <eliz <at> gnu.org> to control <at> debbugs.gnu.org. (Fri, 29 Aug 2025 06:25:03 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 79314 <at> debbugs.gnu.org and Daniel Mendler <mail <at> daniel-mendler.de> Request was from Eli Zaretskii <eliz <at> gnu.org> to control <at> debbugs.gnu.org. (Fri, 29 Aug 2025 06:25:04 GMT) Full text and rfc822 format available.

This bug report was last modified 8 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.