GNU bug report logs - #59841
29.0.50; 'before-string' text property doesn't work

Previous Next

Package: emacs;

Reported by: Akib Azmain Turja <akib <at> disroot.org>

Date: Mon, 5 Dec 2022 18:46:01 UTC

Severity: normal

Tags: notabug

Found in version 29.0.50

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 59841 in the body.
You can then email your comments to 59841 AT debbugs.gnu.org in the normal way.

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#59841; Package emacs. (Mon, 05 Dec 2022 18:46:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Akib Azmain Turja <akib <at> disroot.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 05 Dec 2022 18:46:01 GMT) Full text and rfc822 format available.

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

From: Akib Azmain Turja <akib <at> disroot.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; 'before-string' text property doesn't work
Date: Tue, 06 Dec 2022 00:30:52 +0600
[Message part 1 (text/plain, inline)]
The 'Display Margins' node of Emacs Lisp manual says to put
'before-string' on text to use the marginal area (is this the correct
term?) while not altering buffer text.  But 'before-string' text
property doesn't work.

Steps:  1. Open a clean fundamental mode buffer.
        2. (insert (propertize "foo" 'before-string "bar"))
        3. The buffer shows only "foo", but not "bar" before it.

Is there any way use marginal area without altering text using only text
properties?  I really need some way to do this.


In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.30, cairo version 1.16.0)
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Guix System

Configured using:
 'configure
 CONFIG_SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash
 SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash
 --prefix=/gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528
 --enable-fast-install --with-sqlite3 --with-xinput2 --with-xwidgets
 --with-modules --with-cairo --with-native-compilation
 --disable-build-details'

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 X11 XDBE XIM XINPUT2 XPM XWIDGETS GTK3
ZLIB

Important settings:
  value of $EMACSLOADPATH: /home/akib/.guix-profile/share/emacs/site-lisp:/gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp
  value of $LANG: en_US.utf8
  value of $XMODIFIERS: @im=exwm-xim
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  eat-trace-mode: t
  eat-eshell-visual-command-mode: t
  eat-eshell-mode: t
  shell-dirtrack-mode: t
  lin-mode: t
  gnus-undo-mode: t
  diff-hl-margin-mode: t
  diff-hl-flydiff-mode: t
  hl-line-mode: t
  desktop-save-mode: t
  gcmh-mode: t
  server-mode: t
  gtags-mode: t
  corfu-doc-mode: t
  corfu-history-mode: t
  global-corfu-mode: t
  corfu-mode: t
  global-anzu-mode: t
  anzu-mode: t
  isearch-mb-mode: t
  global-auto-revert-mode: t
  save-place-mode: t
  electric-pair-mode: t
  gc-buffers-mode: t
  which-key-mode: t
  marginalia-mode: t
  vertico-mode: t
  minibar-mode: t
  winner-mode: t
  workroom-winner-mode: t
  workroom-auto-project-workroom-mode: t
  workroom-desktop-save-mode: t
  workroom-mode: t
  savehist-mode: t
  recentf-mode: t
  shackle-mode: t
  blow-mode: t
  leaf-key-override-global-mode: t
  el-patch-use-package-mode: t
  global-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
  buffer-read-only: 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:
/home/akib/.config/emacs/elpa/transient-20220717.1713/transient hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/transient
/home/akib/.config/emacs/elpa/jsonrpc-1.0.15.0.20220714.101331/jsonrpc hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/jsonrpc
/home/akib/.config/emacs/elpa/flymake-1.2.2.0.20221026.210423/flymake hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/progmodes/flymake
/home/akib/.config/emacs/elpa/eglot-1.9.0.20221118.235517/eglot hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/progmodes/eglot
/home/akib/.config/emacs/elpa/xref-1.5.1.0.20221015.114321/xref hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/progmodes/xref
/home/akib/.config/emacs/elpa/project-0.8.3.0.20221114.1910/project hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/progmodes/project
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-desktop-notifications hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-desktop-notifications
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-speedbar hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-speedbar
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-imenu hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-imenu
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-pcomplete hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-pcomplete
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-compat hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-compat
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-replace hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-replace
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-notify hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-notify
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-stamp hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-stamp
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-capab hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-capab
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-lang hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-lang
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-loaddefs hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-loaddefs
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-match hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-match
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-list hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-list
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-truncate hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-truncate
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-services hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-services
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-sound hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-sound
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-button hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-button
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-dcc hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-dcc
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-page hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-page
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-log hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-log
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-goodies hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-goodies
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-ezbounce hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-ezbounce
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-menu hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-menu
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-common hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-common
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-join hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-join
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-xdcc hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-xdcc
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-ibuffer hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-ibuffer
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-status-sidebar hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-status-sidebar
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-netsplit hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-netsplit
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-spelling hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-spelling
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-networks hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-networks
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-autoaway hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-autoaway
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-track hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-track
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-backend hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-backend
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-ring hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-ring
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-identd hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-identd
/home/akib/.config/emacs/elpa/erc-5.4.1.0.20221104.193223/erc-fill hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/erc/erc-fill
/home/akib/.config/emacs/elpa/eldoc-1.13.0.0.20220723.71404/eldoc hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/emacs-lisp/eldoc
/home/akib/.config/emacs/elpa/seq-2.23.0.20210925.195432/seq hides /gnu/store/dzfyzx2b18qh5i38rvkslw04il1nbsms-emacs-edge-29.0.50-3.eb02528/share/emacs/29.0.50/lisp/emacs-lisp/seq

Features:
(shadow emacsbug profiler consult-imenu tabify man gnus-draft binhex
disass url-http url-auth url-gw pulse svg-clock net-utils scheme
smtpmail mailalias bbdb-pgp eudc-capf eudc eudc-vars footnote flow-fill
bbdb-mua bbdb-com bbdb bbdb-site gnus-cite mm-archive mail-extr textsec
uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check
gnus-async gnus-bcklg sort gnus-ml nndraft nnmh gnus-search eieio-opt
speedbar ezimage dframe qp nnmaildir network-stream nsm nnfolder nnnil
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp
gnus-cache embark-consult embark ffap epa-file password-store
eshell-syntax-highlighting em-xtra em-unix em-tramp em-term em-script
em-prompt em-ls em-hist em-pred em-glob em-cmpl em-dirs em-basic
em-banner em-alias esh-var esh-mode eshell esh-cmd esh-ext esh-opt
esh-proc esh-io esh-arg esh-module esh-groups esh-util goto-addr
modus-operandi-theme vterm tramp tramp-loaddefs trampver
tramp-integration tramp-compat ls-lisp term ehelp vterm-module etags
fileloop descr-text consult-vertico consult compat-28 term/eat
bash-completion term/xterm xterm cus-start loaddefs-gen tar-mode quelpa
iwindow magit-extras magit-bookmark magit-submodule magit-obsolete
magit-popup 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
magit-repos magit-apply magit-wip magit-log which-func magit-diff
git-commit log-edit magit-core magit-autorevert magit-margin
magit-transient magit-process with-editor magit-mode transient magit-git
magit-base magit-section crm compat-27 compat-26 elisp-demos
mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors
multiple-cursors-core rect helpful edebug debug info-look f f-shortdoc
shortdoc elisp-refs s kind-icon svg-lib eat emms-volume
emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse
emms-volume-amixer emms-last-played emms-cue emms-info-ogginfo
emms-info-opusinfo emms-info-metaflac emms-info-mp3info
emms-info-exiftool emms-info-native bindat emms-playlist-mode
emms-source-playlist emms-source-file locate emms-player-mpv
emms-playing-time emms-info emms-later-do emms-player-simple emms
emms-compat mode-line-bell cl-print backtrace misearch multi-isearch
shell dmenu orderless cape info-colors mule-util arc-mode archive-mode
enriched facemenu plstore whitespace guix-build-log guix-utils bui-utils
dash guix js autoconf autoconf-mode gnu-indent asm-mode smerge-mode
markdown-mode edit-indirect time-stamp perl-mode view flymake-cc
macrostep-c cmacexp macrostep cc-mode cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs flyspell ispell texinfo
texinfo-loaddefs add-log dired-aux vc-hg vc-bzr vc-src vc-sccs vc-svn
vc-cvs vc-rcs diredfl lin face-remap bug-reference make-mode org-fragtog
org-inline-anim org-element avl-tree generator ol-eww eww xdg url-queue
mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-registry
registry eieio-base gnus-art mm-uu mml2015 mm-view mml-smime smime
gnutls dig gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group
gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail mail-source utf7
nnoo parse-time gnus-spec gnus-win gnus-int gnus-range message sendmail
yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev gmm-utils mailheader gnus nnheader gnus-util
mail-utils range mm-util mail-prsvr ol-docview doc-view jka-compr
image-mode exif ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi org ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src
ob-comint org-pcomplete pcomplete org-list org-faces org-entities
noutline outline org-version ob-emacs-lisp ob-core ob-eval org-table
oc-basic bibtex iso8601 ol org-keys oc org-compat org-macs org-loaddefs
format-spec cal-menu calendar cal-loaddefs hi-lock vc-git diff-hl-margin
diff-hl-dired dired dired-loaddefs diff-hl-flydiff diff diff-hl log-view
pcvs-util vc-dir ewoc vc vc-dispatcher diff-mode why-this color timezone
sh-script smie treesit executable battery dbus xml package-lint-flymake
package-lint let-alist imenu finder find-func highlight-defined paredit
highlight-quoted aggressive-indent display-line-numbers
display-fill-column-indicator ws-butler highlight-numbers parent-mode
highlight-thing rainbow-delimiters hl-todo hl-line flymake-popon
posframe popon checkdoc lisp-mnt flymake-proc flymake compile comint
ansi-osc ansi-color mb-depth desktop frameset pinentry time-date
modus-vivendi-theme modus-themes gcmh init comp comp-cstr warnings
exwm-xim xcb-xim xcb-xlib exwm-randr xcb-randr exwm exwm-input
xcb-keysyms xcb-xkb exwm-manage exwm-floating xcb-cursor xcb-render
exwm-layout exwm-workspace exwm-core xcb-ewmh xcb-icccm xcb xcb-xproto
xcb-types xcb-debug server auth-source-pass gtags-mode files-x xref
corfu-doc corfu-history corfu anzu advice thingatpt isearch-mb
autorevert filenotify saveplace elec-pair gc-buffers which-key
marginalia vertico minibar winner workroom compat compat-macs project
bookmark text-property-search disp-table savehist recentf tree-widget
shackle trace blow pcase edmacro kmacro cl-extra cus-edit pp cus-load
icons wid-edit leaf finder-inf vterm-autoloads guix-emacs
ctrlf-autoloads easy-mmode erc-autoloads vertico-autoloads
modus-themes-autoloads mood-line-autoloads closql-autoloads
workroom-autoloads eat-autoloads insecure-lock-autoloads
orderless-autoloads htmlize-autoloads lin-autoloads undercover-autoloads
shut-up-autoloads doom-modeline-autoloads posframe-autoloads
exwm-autoloads consult-notmuch-autoloads elisp-demos-autoloads
ef-themes-autoloads ligature-autoloads meow-autoloads
eshell-syntax-highlighting-autoloads helpful-autoloads chess-autoloads
cape-autoloads exercism-autoloads a-autoloads devhelp-autoloads
ace-window-autoloads consult-org-roam-autoloads emacsql-sqlite-autoloads
emacsql-autoloads mastodon-autoloads request-autoloads
coverlay-autoloads rx gnuplot-autoloads setup-autoloads el-patch
el-patch-stub coterm-autoloads async-autoloads iwindow-autoloads
anzu-autoloads disk-usage-autoloads geiser-guile-autoloads geiser-impl
help-fns radix-tree help-mode geiser-custom geiser-base ring
coverage-autoloads doom-themes-autoloads moody-autoloads magit-autoloads
ts-autoloads notmuch-autoloads markdown-mode-autoloads
marginalia-autoloads diff-hl-autoloads embark-consult-autoloads
consult-autoloads eglot-ccls-autoloads eglot-autoloads flymake-autoloads
nyan-mode-autoloads hare-mode-autoloads async-await-autoloads
iter2-autoloads promise-autoloads aggressive-indent-autoloads
shrink-path-autoloads ement-autoloads taxy-magit-section-autoloads
magit-section-autoloads plz-autoloads cov-autoloads elquery-autoloads
nubox-autoloads f-autoloads web-server-autoloads el-fetch-autoloads
corfu-doc-terminal-autoloads popon-autoloads corfu-autoloads
testcover-mark-line-autoloads blow-autoloads taxy-autoloads
compat-autoloads s-autoloads mood-one-theme-autoloads quelpa-autoloads
paredit-autoloads minibar-autoloads relint-autoloads ov-autoloads
gc-buffers-autoloads crux-autoloads mlscroll-autoloads
multiple-cursors-autoloads geiser-autoloads project-autoloads
xref-autoloads embark-autoloads info elpher-autoloads camera-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 xwidget-internal 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 2913248 5609031)
 (symbols 48 106341 4285)
 (strings 32 718820 1253741)
 (string-bytes 1 36948229)
 (vectors 16 370279)
 (vector-slots 8 7680276 6417804)
 (floats 8 1528 16546)
 (intervals 56 123267 189678)
 (buffers 984 343))

-- 
Akib Azmain Turja, GPG key: 70018CE5819F17A3BBA666AFE74F0EFA922AE7F5
Fediverse: akib <at> hostux.social
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59841; Package emacs. (Mon, 05 Dec 2022 19:43:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Akib Azmain Turja <akib <at> disroot.org>
Cc: 59841 <at> debbugs.gnu.org
Subject: Re: bug#59841: 29.0.50; 'before-string' text property doesn't work
Date: Mon, 05 Dec 2022 21:41:42 +0200
> Date: Tue, 06 Dec 2022 00:30:52 +0600
> From:  Akib Azmain Turja via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> The 'Display Margins' node of Emacs Lisp manual says to put
> 'before-string' on text to use the marginal area (is this the correct
> term?) while not altering buffer text.  But 'before-string' text
> property doesn't work.
> 
> Steps:  1. Open a clean fundamental mode buffer.
>         2. (insert (propertize "foo" 'before-string "bar"))
>         3. The buffer shows only "foo", but not "bar" before it.

The code is incorrect: 'before-string' is an overlay property, not a text
property.  So you need to define an overlay with a 'before-string' property
whose value is a string, and put a 'display' property on that string.

And if you want the 'display' property to show text in the margin, you need
also to use set-window-margins to setup the margin.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59841; Package emacs. (Tue, 06 Dec 2022 04:36:04 GMT) Full text and rfc822 format available.

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

From: Akib Azmain Turja <akib <at> disroot.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 59841 <at> debbugs.gnu.org
Subject: Re: bug#59841: 29.0.50; 'before-string' text property doesn't work
Date: Tue, 06 Dec 2022 10:34:24 +0600
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

>> Date: Tue, 06 Dec 2022 00:30:52 +0600
>> From:  Akib Azmain Turja via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>> 
>> The 'Display Margins' node of Emacs Lisp manual says to put
>> 'before-string' on text to use the marginal area (is this the correct
>> term?) while not altering buffer text.  But 'before-string' text
>> property doesn't work.
>> 
>> Steps:  1. Open a clean fundamental mode buffer.
>>         2. (insert (propertize "foo" 'before-string "bar"))
>>         3. The buffer shows only "foo", but not "bar" before it.
>
> The code is incorrect: 'before-string' is an overlay property, not a text
> property.  So you need to define an overlay with a 'before-string' property
> whose value is a string, and put a 'display' property on that string.
>

If that code is incorrect, the 'Display Margins' node of Emacs Lisp
manual is also wrong.  On the fourth paragraph, it says, "put a
‘before-string’ property on the text".

The manual should be clear.

> And if you want the 'display' property to show text in the margin, you need
> also to use set-window-margins to setup the margin.

I know that.

-- 
Akib Azmain Turja, GPG key: 70018CE5819F17A3BBA666AFE74F0EFA922AE7F5
Fediverse: akib <at> hostux.social
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59841; Package emacs. (Tue, 06 Dec 2022 12:20:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Akib Azmain Turja <akib <at> disroot.org>
Cc: 59841 <at> debbugs.gnu.org
Subject: Re: bug#59841: 29.0.50; 'before-string' text property doesn't work
Date: Tue, 06 Dec 2022 14:19:15 +0200
> From: Akib Azmain Turja <akib <at> disroot.org>
> Cc: 59841 <at> debbugs.gnu.org
> Date: Tue, 06 Dec 2022 10:34:24 +0600
> 
> >> Steps:  1. Open a clean fundamental mode buffer.
> >>         2. (insert (propertize "foo" 'before-string "bar"))
> >>         3. The buffer shows only "foo", but not "bar" before it.
> >
> > The code is incorrect: 'before-string' is an overlay property, not a text
> > property.  So you need to define an overlay with a 'before-string' property
> > whose value is a string, and put a 'display' property on that string.
> >
> 
> If that code is incorrect, the 'Display Margins' node of Emacs Lisp
> manual is also wrong.  On the fourth paragraph, it says, "put a
> ‘before-string’ property on the text".

When did you last read the text of that node? ;-)

> The manual should be clear.

Yes, of course.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59841; Package emacs. (Wed, 07 Dec 2022 17:24:02 GMT) Full text and rfc822 format available.

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

From: Akib Azmain Turja <akib <at> disroot.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 59841 <at> debbugs.gnu.org
Subject: Re: bug#59841: 29.0.50; 'before-string' text property doesn't work
Date: Wed, 07 Dec 2022 21:38:53 +0600
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Akib Azmain Turja <akib <at> disroot.org>
>> Cc: 59841 <at> debbugs.gnu.org
>> Date: Tue, 06 Dec 2022 10:34:24 +0600
>> 
>> >> Steps:  1. Open a clean fundamental mode buffer.
>> >>         2. (insert (propertize "foo" 'before-string "bar"))
>> >>         3. The buffer shows only "foo", but not "bar" before it.
>> >
>> > The code is incorrect: 'before-string' is an overlay property, not a text
>> > property.  So you need to define an overlay with a 'before-string' property
>> > whose value is a string, and put a 'display' property on that string.
>> >
>> 
>> If that code is incorrect, the 'Display Margins' node of Emacs Lisp
>> manual is also wrong.  On the fourth paragraph, it says, "put a
>> ‘before-string’ property on the text".
>
> When did you last read the text of that node? ;-)

Now.

--8<---------------cut here---------------start------------->8---
   To display something in the margin _in association with_ certain
buffer text, without altering or preventing the display of that text,
put a ‘before-string’ property on the text and put the margin display
specification on the contents of the before-string.
--8<---------------cut here---------------end--------------->8---

>
>> The manual should be clear.
>
> Yes, of course.
>
>
>

-- 
Akib Azmain Turja, GPG key: 70018CE5819F17A3BBA666AFE74F0EFA922AE7F5
Fediverse: akib <at> hostux.social
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59841; Package emacs. (Wed, 07 Dec 2022 18:10:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Akib Azmain Turja <akib <at> disroot.org>
Cc: 59841 <at> debbugs.gnu.org
Subject: Re: bug#59841: 29.0.50; 'before-string' text property doesn't work
Date: Wed, 07 Dec 2022 20:08:56 +0200
> From: Akib Azmain Turja <akib <at> disroot.org>
> Cc: 59841 <at> debbugs.gnu.org
> Date: Wed, 07 Dec 2022 21:38:53 +0600
> 
> >> If that code is incorrect, the 'Display Margins' node of Emacs Lisp
> >> manual is also wrong.  On the fourth paragraph, it says, "put a
> >> ‘before-string’ property on the text".
> >
> > When did you last read the text of that node? ;-)
> 
> Now.
> 
> --8<---------------cut here---------------start------------->8---
>    To display something in the margin _in association with_ certain
> buffer text, without altering or preventing the display of that text,
> put a ‘before-string’ property on the text and put the margin display
> specification on the contents of the before-string.
> --8<---------------cut here---------------end--------------->8---

Your files are outdated.  This was changed on both development
branches.




Added tag(s) notabug. Request was from Stefan Kangas <stefankangas <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 08 Dec 2022 00:36:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#59841; Package emacs. (Thu, 08 Dec 2022 06:30:02 GMT) Full text and rfc822 format available.

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

From: Akib Azmain Turja <akib <at> disroot.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 59841 <at> debbugs.gnu.org
Subject: Re: bug#59841: 29.0.50; 'before-string' text property doesn't work
Date: Thu, 08 Dec 2022 10:34:17 +0600
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Akib Azmain Turja <akib <at> disroot.org>
>> Cc: 59841 <at> debbugs.gnu.org
>> Date: Wed, 07 Dec 2022 21:38:53 +0600
>> 
>> >> If that code is incorrect, the 'Display Margins' node of Emacs Lisp
>> >> manual is also wrong.  On the fourth paragraph, it says, "put a
>> >> ‘before-string’ property on the text".
>> >
>> > When did you last read the text of that node? ;-)
>> 
>> Now.
>> 
>> --8<---------------cut here---------------start------------->8---
>>    To display something in the margin _in association with_ certain
>> buffer text, without altering or preventing the display of that text,
>> put a ‘before-string’ property on the text and put the margin display
>> specification on the contents of the before-string.
>> --8<---------------cut here---------------end--------------->8---
>
> Your files are outdated.  This was changed on both development
> branches.

Thanks.  I'll update.

-- 
Akib Azmain Turja, GPG key: 70018CE5819F17A3BBA666AFE74F0EFA922AE7F5
Fediverse: akib <at> hostux.social
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."
[signature.asc (application/pgp-signature, inline)]

Reply sent to Stefan Kangas <stefankangas <at> gmail.com>:
You have taken responsibility. (Tue, 13 Dec 2022 01:05:07 GMT) Full text and rfc822 format available.

Notification sent to Akib Azmain Turja <akib <at> disroot.org>:
bug acknowledged by developer. (Tue, 13 Dec 2022 01:05:07 GMT) Full text and rfc822 format available.

Message #30 received at 59841-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Akib Azmain Turja <akib <at> disroot.org>
Cc: 59841-done <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#59841: 29.0.50; 'before-string' text property doesn't work
Date: Mon, 12 Dec 2022 17:04:33 -0800
Akib Azmain Turja <akib <at> disroot.org> writes:

> Eli Zaretskii <eliz <at> gnu.org> writes:
>
>>> From: Akib Azmain Turja <akib <at> disroot.org>
>>> Cc: 59841 <at> debbugs.gnu.org
>>> Date: Wed, 07 Dec 2022 21:38:53 +0600
>>>
>>> >> If that code is incorrect, the 'Display Margins' node of Emacs Lisp
>>> >> manual is also wrong.  On the fourth paragraph, it says, "put a
>>> >> ‘before-string’ property on the text".
>>> >
>>> > When did you last read the text of that node? ;-)
>>>
>>> Now.
>>>
>>> --8<---------------cut here---------------start------------->8---
>>>    To display something in the margin _in association with_ certain
>>> buffer text, without altering or preventing the display of that text,
>>> put a ‘before-string’ property on the text and put the margin display
>>> specification on the contents of the before-string.
>>> --8<---------------cut here---------------end--------------->8---
>>
>> Your files are outdated.  This was changed on both development
>> branches.
>
> Thanks.  I'll update.

So it seems like there is no bug here.  I'm therefore closing this bug
report.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 10 Jan 2023 12:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 78 days ago.

Previous Next


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