unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#59841: 29.0.50; 'before-string' text property doesn't work
@ 2022-12-05 18:30 Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-12-05 19:41 ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-05 18:30 UTC (permalink / raw)
  To: 59841

[-- Attachment #1: Type: text/plain, Size: 21315 bytes --]


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@hostux.social
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59841: 29.0.50; 'before-string' text property doesn't work
  2022-12-05 18:30 bug#59841: 29.0.50; 'before-string' text property doesn't work Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-05 19:41 ` Eli Zaretskii
  2022-12-06  4:34   ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2022-12-05 19:41 UTC (permalink / raw)
  To: Akib Azmain Turja; +Cc: 59841

> 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@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.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59841: 29.0.50; 'before-string' text property doesn't work
  2022-12-05 19:41 ` Eli Zaretskii
@ 2022-12-06  4:34   ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-12-06 12:19     ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-06  4:34 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 59841

[-- Attachment #1: Type: text/plain, Size: 1434 bytes --]

Eli Zaretskii <eliz@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@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@hostux.social
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59841: 29.0.50; 'before-string' text property doesn't work
  2022-12-06  4:34   ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-06 12:19     ` Eli Zaretskii
  2022-12-07 15:38       ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2022-12-06 12:19 UTC (permalink / raw)
  To: Akib Azmain Turja; +Cc: 59841

> From: Akib Azmain Turja <akib@disroot.org>
> Cc: 59841@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.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59841: 29.0.50; 'before-string' text property doesn't work
  2022-12-06 12:19     ` Eli Zaretskii
@ 2022-12-07 15:38       ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-12-07 18:08         ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-07 15:38 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 59841

[-- Attachment #1: Type: text/plain, Size: 1533 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Akib Azmain Turja <akib@disroot.org>
>> Cc: 59841@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@hostux.social
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59841: 29.0.50; 'before-string' text property doesn't work
  2022-12-07 15:38       ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-07 18:08         ` Eli Zaretskii
  2022-12-08  4:34           ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2022-12-07 18:08 UTC (permalink / raw)
  To: Akib Azmain Turja; +Cc: 59841

> From: Akib Azmain Turja <akib@disroot.org>
> Cc: 59841@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.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59841: 29.0.50; 'before-string' text property doesn't work
  2022-12-07 18:08         ` Eli Zaretskii
@ 2022-12-08  4:34           ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-12-13  1:04             ` Stefan Kangas
  0 siblings, 1 reply; 8+ messages in thread
From: Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-12-08  4:34 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 59841

[-- Attachment #1: Type: text/plain, Size: 1164 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Akib Azmain Turja <akib@disroot.org>
>> Cc: 59841@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@hostux.social
Codeberg: akib
emailselfdefense.fsf.org | "Nothing can be secure without encryption."

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#59841: 29.0.50; 'before-string' text property doesn't work
  2022-12-08  4:34           ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-12-13  1:04             ` Stefan Kangas
  0 siblings, 0 replies; 8+ messages in thread
From: Stefan Kangas @ 2022-12-13  1:04 UTC (permalink / raw)
  To: Akib Azmain Turja; +Cc: 59841-done, Eli Zaretskii

Akib Azmain Turja <akib@disroot.org> writes:

> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> From: Akib Azmain Turja <akib@disroot.org>
>>> Cc: 59841@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.





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-12-13  1:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-05 18:30 bug#59841: 29.0.50; 'before-string' text property doesn't work Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-05 19:41 ` Eli Zaretskii
2022-12-06  4:34   ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-06 12:19     ` Eli Zaretskii
2022-12-07 15:38       ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-07 18:08         ` Eli Zaretskii
2022-12-08  4:34           ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-12-13  1:04             ` Stefan Kangas

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).