GNU bug report logs - #65020
29.1; :align-to on wrapped line regression

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Axel Forsman <axel@HIDDEN>; Keywords: notabug wontfix; merged with #65015, #65018, #65019, #65021, #66167; dated Wed, 2 Aug 2023 13:34:04 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Merged 65015 65018 65019 65020 65021 66167. Request was from Eli Zaretskii <eliz@HIDDEN> to control <at> Full text available.
Merged 65015 65018 65019 65020 65021. Request was from Eli Zaretskii <eliz@HIDDEN> to control <at> Full text available.

Message received at submit <at>

Received: (at submit) by; 2 Aug 2023 13:33:16 +0000
From debbugs-submit-bounces <at> Wed Aug 02 09:33:16 2023
Received: from localhost ([]:49250
	by with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at>>)
	id 1qRByV-0005pk-8D
	for submit <at>; Wed, 02 Aug 2023 09:33:16 -0400
Received: from ([2001:470:142::17]:37714)
 by with esmtp (Exim 4.84_2)
 (envelope-from <>)
 id 1qRBGF-0004Oi-Nu
 for submit <at>; Wed, 02 Aug 2023 08:47:32 -0400
Received: from ([2001:470:142:3::10])
 by with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1)
 (envelope-from <>)
 id 1qRBG9-0005lL-Tv
 for bug-gnu-emacs@HIDDEN; Wed, 02 Aug 2023 08:47:25 -0400
Received: from ([])
 by with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1)
 (envelope-from <>)
 id 1qRBG7-00013v-Um
 for bug-gnu-emacs@HIDDEN; Wed, 02 Aug 2023 08:47:25 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;;
 s=s1; bh=09sSMWeWHXTxJ4kkRf+pxuvbgpe2nEJEchYstJ+sBqU=;
Received: by filterdrecv-canary-5685797b66-whj87 with SMTP id
 2023-08-02 12:47:22.244661686 +0000 UTC m=+7218684.018595408
Received: from localhost (unknown) by geopod-ismtpd-4 (SG) with ESMTP
 id PvG5ruSqRRaxASkO5GAnIg Wed, 02 Aug 2023 12:47:21.867 +0000 (UTC)
From: Axel Forsman <axel@HIDDEN>
Subject: 29.1; :align-to on wrapped line regression
Date: Wed, 02 Aug 2023 12:47:22 +0000 (UTC)
Message-ID: <87r0olobl3.fsf@HIDDEN>
MIME-Version: 1.0
X-SG-EID: =?us-ascii?Q?a9jmprsm98cnqgHsU2O6rQhtHh4uQUltDI0sfxLQLLW0ScObgxI6amEU2a6U78?=
To: bug-gnu-emacs@HIDDEN
X-Entity-ID: kO1dOy+IUnMwDrvHlPpg/w==
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Received-SPF: pass client-ip=;;
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 UNPARSEABLE_RELAY=0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Wed, 02 Aug 2023 09:33:11 -0400
X-BeenThere: debbugs-submit <at>
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <>
List-Unsubscribe: <>, 
 <mailto:debbugs-submit-request <at>>
List-Archive: <>
List-Post: <mailto:debbugs-submit <at>>
List-Help: <mailto:debbugs-submit-request <at>>
List-Subscribe: <>, 
 <mailto:debbugs-submit-request <at>>
Errors-To: debbugs-submit-bounces <at>
Sender: "Debbugs-submit" <debbugs-submit-bounces <at>>
X-Spam-Score: -0.0 (/)

I noticed that the interpretation of the hpos given to the :align-to
space specification property changed in Emacs 29.1 compared to 28.2,
without it being documented anywhere. In version 28 it counts relative
to the visual start of the line, whereas in version 29 it starts at the
logical start of the line.

That is, the following MWE exhibits different visual behavior in Emacs
28 contra 29:

	  (make-string (round (* 1.25 (window-text-width))) ?x)
	  (propertize " " 'display `(space :align-to ,(round (window-text-width) 2)))

(In 28 the text "foo" is centered correctly by the space. In 29 the
space has zero-width and no effect.)

The previous behavior makes more sense in the context of section 41.16.3
Pixel Specification for Spaces in the Emacs manual, and it would be
quite the breaking change so I am hoping it was unintentional.

Kind regards
Axel Forsman

In GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu)
Repository revision: emacs-29.1
Repository branch: master
System Description: NixOS 23.05 (Stoat)

Configured using:
 --disable-build-details --with-modules --with-gif=no --with-jpeg=no
 --with-png=no --with-tiff=no --with-x=no --with-xpm=no
 --with-native-compilation --with-tree-sitter'

Configured features:

Important settings:
  value of $LC_MESSAGES: en_US.UTF-8
  value of $LANG: sv_SE.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  undo-tree-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  hotfuzz-vertico-mode: t
  vertico-mode: t
  xclip-mode: t
  evil-mode: t
  evil-local-mode: t
  electric-pair-mode: t
  delete-selection-mode: t
  global-auto-revert-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-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:
/run/current-system/sw/share/emacs/site-lisp/site-start hides /nix/store/whazydpl0yj8i03aapsd2cyry70mng55-emacs-unstable-29.1-nox/share/emacs/site-lisp/site-start

(shadow sort mail-extr emacsbug mule-util hotfuzz-module notmuch
notmuch-tree notmuch-jump notmuch-hello image wid-edit notmuch-show
notmuch-print notmuch-crypto notmuch-mua notmuch-message notmuch-draft
notmuch-maildir-fcc notmuch-address notmuch-company notmuch-parser
notmuch-wash diff-mode easy-mmode coolj goto-addr icalendar diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs notmuch-tag crm
notmuch-lib notmuch-version notmuch-compat hl-line message sendmail
yank-media dired dnd dired-loaddefs rfc822 mml mailabbrev mail-utils
gmm-utils mailheader mm-view mml-smime mml-sec epa derived epg rfc6068
epg-config gnus-util text-property-search time-date smime password-cache
gnutls puny dig mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231
rfc2047 rfc2045 mm-util ietf-drums mail-prsvr term/tmux term/xterm xterm
lua-mode-autoloads nix-mode-autoloads julia-mode-autoloads
cmake-mode-autoloads yaml-mode-autoloads haskell-mode-autoloads
typescript-mode-autoloads markdown-mode-autoloads rust-mode-autoloads
mytheme-theme ws-butler-autoloads rmsbolt-autoloads corfu-autoloads
yasnippet undo-tree diff queue yasnippet-autoloads transient format-spec
eieio eieio-core magit-autoloads magit-section-autoloads
git-commit-autoloads with-editor-autoloads dash-autoloads
xterm-color-autoloads devdocs-autoloads hotfuzz vertico compat
hotfuzz-autoloads vertico-autoloads compat-autoloads xclip
xclip-autoloads evil evil-keybindings evil-integration evil-maps
evil-commands reveal evil-jumps evil-command-window evil-search evil-ex
evil-types evil-macros evil-repeat evil-states evil-core byte-opt comp
regexp-opt comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra
help-mode tool-bar advice evil-common thingatpt rect evil-vars ring
edmacro kmacro undo-tree-autoloads queue-autoloads evil-autoloads
goto-chg-autoloads pcase elec-pair delsel autorevert filenotify
cl-loaddefs cl-lib ekipage bytecomp byte-compile rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select 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 multi-tty make-network-process native-compile

Memory information:
((conses 16 623896 226463)
 (symbols 48 15703 10)
 (strings 32 85936 57749)
 (string-bytes 1 4096111)
 (vectors 16 33101)
 (vector-slots 8 543541 137525)
 (floats 8 64 333)
 (intervals 56 62415 18186)
 (buffers 984 13))

Acknowledgement sent to Axel Forsman <axel@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#65020; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sat, 23 Sep 2023 10:15:01 UTC

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