GNU bug report logs - #65018
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, #65019, #65020, #65021, #66167; dated Wed, 2 Aug 2023 13:34:02 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:14 +0000
From debbugs-submit-bounces <at> Wed Aug 02 09:33:14 2023
Received: from localhost ([]:49246
	by with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at>>)
	id 1qRByT-0005pV-GI
	for submit <at>; Wed, 02 Aug 2023 09:33:14 -0400
Received: from ([2001:470:142::17]:38914)
 by with esmtp (Exim 4.84_2)
 (envelope-from <>)
 id 1qR9eM-0007SZ-M3
 for submit <at>; Wed, 02 Aug 2023 07:04:19 -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 1qR9eH-0001Qs-G9
 for bug-gnu-emacs@HIDDEN; Wed, 02 Aug 2023 07:04:13 -0400
Received: from ([])
 by with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1)
 (envelope-from <>)
 id 1qR9eF-0005b1-LE
 for bug-gnu-emacs@HIDDEN; Wed, 02 Aug 2023 07:04:13 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;;
 s=s1; bh=Cfq1WtMEs26KOWD6V04u+bU+GNxuiONqdjgmGzq6y8M=;
Received: by filterdrecv-66949dbc98-dbt7m with SMTP id
 2023-08-02 08:01:49.820497318 +0000 UTC m=+7201323.381456187
Received: from localhost (unknown) by geopod-ismtpd-7 (SG) with ESMTP
 id v8tfSrsWS7m10C7vClPAag for <bug-gnu-emacs@HIDDEN>;
 Wed, 02 Aug 2023 08:01:49.523 +0000 (UTC)
From: Axel Forsman <axel@HIDDEN>
Subject: 29.1; :align-to on wrapped line regression
Date: Wed, 02 Aug 2023 08:01:49 +0000 (UTC)
Message-ID: <87sf91eutv.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: -4
X-Spam_score: -0.5
X-Spam_bar: /
X-Spam_report: (-0.5 / 5.0 requ) BAYES_00=-1.9, DATE_IN_PAST_03_06=1.592,
 UNPARSEABLE_RELAY=0.001 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 2.0 (++)
X-Spam-Report: Spam detection software, running on the system "",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  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 is counts [...] 
 Content analysis details:   (2.0 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 1.1 DATE_IN_PAST_03_06     Date: is 3 to 6 hours before Received: date
 0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay
 lines -0.0 T_SCC_BODY_TEXT_LINE   No description available.
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: 1.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 is 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 by the space. In 29 the space has

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:
  global-git-commit-mode: t
  windmove-mode: t
  corfu-mode: t
  shell-dirtrack-mode: t
  server-mode: t
  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 tramp-cmds conf-mode markdown-mode
noutline outline 5x5 facemenu two-column grep compile winner fontset vc
vc-dispatcher bug-reference face-remap magit-submodule magit-blame
magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch
magit-clone magit-remote magit-commit magit-sequence magit-notes
magit-worktree magit-tag magit-merge magit-branch magit-reset
magit-files magit-refs magit-status magit package browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util url-handlers url-parse url-vars
magit-repos magit-apply magit-wip magit-log which-func magit-diff
smerge-mode diff-mode git-commit easy-mmode log-edit message sendmail
mailcap yank-media puny dired dnd dired-loaddefs rfc822 mml mml-sec epa
derived epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr
mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-core
magit-autorevert magit-margin magit-transient magit-process with-editor
magit-mode magit-git magit-base magit-section cursor-sensor crm dash
debug backtrace cus-start cus-load windmove goto-chg dabbrev mule-util
corfu completion pulse color cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs xref project imenu
jka-compr find-func tabify executable image pp cl-print shortdoc
text-property-search tramp tramp-loaddefs trampver tramp-integration
files-x tramp-compat shell pcomplete comint ansi-osc ansi-color
parse-time iso8601 time-date auth-source password-cache json map
hotfuzz-module help-fns radix-tree term/tmux term/xterm xterm server
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 468565 236158)
 (symbols 48 28773 4)
 (strings 32 94980 23719)
 (string-bytes 1 3896638)
 (vectors 16 58239)
 (vector-slots 8 993657 111674)
 (floats 8 352 931)
 (intervals 56 17610 6129)
 (buffers 984 43))

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#65018; 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.