unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
@ 2024-01-21 20:35 Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 13+ messages in thread
From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-21 20:35 UTC (permalink / raw)
  To: 68648

I noticed when opening a file which isn't readable that
read-only-mode-hooks are not executed.

1. (add-hook 'read-only-mode-hook (lambda () (print "foobar")))
2. open file that is read-only
3. foobar should be print but isn't.



In GNU Emacs 30.0.50 (build 1, x86_64-suse-linux-gnu, GTK+ Version
3.24.39, cairo version 1.18.0)
System Description: openSUSE Tumbleweed

Configured using:
 'configure --disable-build-details --without-pop --with-mailutils
 --without-hesiod --with-gameuser=:games --with-kerberos
 --with-kerberos5 --with-file-notification=inotify --with-modules
 --enable-autodepend --prefix=/usr --mandir=/usr/share/man
 --infodir=/usr/share/info --datadir=/usr/share --localstatedir=/var
 --sharedstatedir=/var/lib --libexecdir=/usr/libexec
 --with-file-notification=yes --libdir=/usr/lib64
 --with-native-compilation=aot
 --enable-locallisppath=/usr/share/emacs/30.0.50/site-lisp:/usr/share/emacs/site-lisp
 --with-x --with-xim --with-sound --with-xpm --with-jpeg --with-tiff
 --with-gif --with-png --with-rsvg --with-dbus --with-xft --without-gpm
 --with-tree-sitter --with-pgtk --with-toolkit-scroll-bars
 --x-includes=/usr/include --x-libraries=/usr/lib64 --with-libotf
 --with-m17n-flt --with-cairo --with-xwidgets --build=x86_64-suse-linux
 --with-dumping=pdumper 'CFLAGS=-O2 -Wall -U_FORTIFY_SOURCE
 -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables
 -fasynchronous-unwind-tables -fstack-clash-protection
 -Werror=return-type -flto=auto -g -D_GNU_SOURCE
 -DGDK_DISABLE_DEPRECATION_WARNINGS -DGLIB_DISABLE_DEPRECATION_WARNINGS
 -pipe -Wno-pointer-sign -Wno-unused-variable -Wno-unused-label
 -fno-optimize-sibling-calls -DPDMP_BASE='\''"emacs-gtk"'\'''
 LDFLAGS=-Wl,-O2'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY
INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LC_MONETARY: fi_FI.UTF-8
  value of $LC_NUMERIC: POSIX
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix

Major mode: ELisp/d

Minor modes in effect:
  dap-tooltip-mode: t
  dap-ui-many-windows-mode: t
  dap-ui-controls-mode: t
  dap-ui-mode: t
  dap-auto-configure-mode: t
  dap-mode: t
  lsp-treemacs-sync-mode: t
  treemacs-icons-dired-mode: t
  magit-wip-initial-backup-mode: t
  magit-wip-before-change-mode: t
  magit-wip-after-apply-mode: t
  magit-wip-after-save-mode: t
  magit-wip-after-save-local-mode: t
  magit-wip-mode: t
  magit-auto-revert-mode: t
  treemacs-filewatch-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  global-atomic-chrome-edit-mode: t
  minions-mode: t
  back-button-mode: t
  recentf-mode: t
  global-auto-revert-mode: t
  savehist-mode: t
  rainbow-delimiters-mode: t
  ligature-mode: t
  symbol-overlay-mode: t
  bug-reference-prog-mode: t
  emms-playing-time-display-mode: t
  emms-playing-time-mode: t
  gnus-desktop-notify-mode: t
  org-super-agenda-mode: t
  ws-butler-mode: t
  selected-minor-mode: t
  jinx-mode: t
  goto-address-mode: t
  outline-minor-mode: t
  flycheck-color-mode-line-mode: t
  flycheck-mode: t
  global-git-commit-mode: t
  projectile-mode: t
  global-company-mode: t
  company-mode: t
  electric-pair-mode: t
  editorconfig-mode: t
  frames-only-mode: t
  windmove-mode: t
  marginalia-mode: t
  which-key-mode: t
  dired-async-mode: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  global-so-long-mode: t
  change-cursor-mode: t
  doom-modeline-mode: t
  mode-icons-mode: t
  global-emojify-mode: t
  emojify-mode: t
  server-mode: t
  helm-autoresize-mode: t
  desktop-save-mode: t
  save-place-mode: t
  delete-selection-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  undelete-frame-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  hs-minor-mode: t

Load-path shadows:
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-koma-letter hides /home/bidar/.local/private/etc/emacs/lib/lisp/ox-koma-letter
/home/bidar/.local/private/etc/emacs/lib/org-contrib/lisp/ox-groff hides /home/bidar/.local/private/etc/emacs/lib/lisp/ox-groff
/home/bidar/.local/private/etc/emacs/lib/vim-modeline/vim-modeline hides /home/bidar/.local/private/etc/emacs/lib/lisp/vim-modeline
/home/bidar/.local/private/etc/emacs/lib/lisp/htmlize hides /home/bidar/.local/private/etc/emacs/lib/htmlize/htmlize
/home/bidar/.local/private/etc/emacs/lib/lisp/cursor-chg hides /home/bidar/.local/private/etc/emacs/lib/cursor-chg/cursor-chg
/home/bidar/.local/private/etc/emacs/lib/compat/compat hides /usr/share/emacs/site-lisp/compat
/home/bidar/.local/private/etc/emacs/lib/compat/compat-29 hides /usr/share/emacs/site-lisp/compat-29
/home/bidar/.local/private/etc/emacs/lib/compat/compat-28 hides /usr/share/emacs/site-lisp/compat-28
/home/bidar/.local/private/etc/emacs/lib/compat/compat-27 hides /usr/share/emacs/site-lisp/compat-27
/home/bidar/.local/private/etc/emacs/lib/compat/compat-26 hides /usr/share/emacs/site-lisp/compat-26
/home/bidar/.local/private/etc/emacs/lib/compat/compat-25 hides /usr/share/emacs/site-lisp/compat-25
/home/bidar/.local/private/etc/emacs/lib/cmake-mode/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/home/bidar/.local/private/etc/emacs/lib/transient/lisp/transient hides /usr/share/emacs/30.0.50/lisp/transient
/home/bidar/.local/private/etc/emacs/lib/use-package/bind-key hides /usr/share/emacs/30.0.50/lisp/bind-key
/home/bidar/.local/private/etc/emacs/lib/use-package/use-package hides /usr/share/emacs/30.0.50/lisp/use-package/use-package
/home/bidar/.local/private/etc/emacs/lib/use-package/use-package-core hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-core
/home/bidar/.local/private/etc/emacs/lib/use-package/use-package-bind-key hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-bind-key
/home/bidar/.local/private/etc/emacs/lib/use-package/use-package-lint hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-lint
/home/bidar/.local/private/etc/emacs/lib/use-package/use-package-jump hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-jump
/home/bidar/.local/private/etc/emacs/lib/use-package/use-package-ensure hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-ensure
/home/bidar/.local/private/etc/emacs/lib/use-package/use-package-ensure-system-package hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-ensure-system-package
/home/bidar/.local/private/etc/emacs/lib/use-package/use-package-diminish hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-diminish
/home/bidar/.local/private/etc/emacs/lib/use-package/use-package-delight hides /usr/share/emacs/30.0.50/lisp/use-package/use-package-delight
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-python hides /usr/share/emacs/30.0.50/lisp/org/ob-python
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-lua hides /usr/share/emacs/30.0.50/lisp/org/ob-lua
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org hides /usr/share/emacs/30.0.50/lisp/org/org
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-colview hides /usr/share/emacs/30.0.50/lisp/org/org-colview
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-agenda hides /usr/share/emacs/30.0.50/lisp/org/org-agenda
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox hides /usr/share/emacs/30.0.50/lisp/org/ox
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-texinfo hides /usr/share/emacs/30.0.50/lisp/org/ox-texinfo
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-publish hides /usr/share/emacs/30.0.50/lisp/org/ox-publish
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-org hides /usr/share/emacs/30.0.50/lisp/org/ox-org
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-odt hides /usr/share/emacs/30.0.50/lisp/org/ox-odt
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-md hides /usr/share/emacs/30.0.50/lisp/org/ox-md
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-man hides /usr/share/emacs/30.0.50/lisp/org/ox-man
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-latex hides /usr/share/emacs/30.0.50/lisp/org/ox-latex
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-koma-letter hides /usr/share/emacs/30.0.50/lisp/org/ox-koma-letter
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-icalendar hides /usr/share/emacs/30.0.50/lisp/org/ox-icalendar
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-html hides /usr/share/emacs/30.0.50/lisp/org/ox-html
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-beamer hides /usr/share/emacs/30.0.50/lisp/org/ox-beamer
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ox-ascii hides /usr/share/emacs/30.0.50/lisp/org/ox-ascii
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-version hides /usr/share/emacs/30.0.50/lisp/org/org-version
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-timer hides /usr/share/emacs/30.0.50/lisp/org/org-timer
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-tempo hides /usr/share/emacs/30.0.50/lisp/org/org-tempo
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-table hides /usr/share/emacs/30.0.50/lisp/org/org-table
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-src hides /usr/share/emacs/30.0.50/lisp/org/org-src
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-refile hides /usr/share/emacs/30.0.50/lisp/org/org-refile
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-protocol hides /usr/share/emacs/30.0.50/lisp/org/org-protocol
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-plot hides /usr/share/emacs/30.0.50/lisp/org/org-plot
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-persist hides /usr/share/emacs/30.0.50/lisp/org/org-persist
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-pcomplete hides /usr/share/emacs/30.0.50/lisp/org/org-pcomplete
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-num hides /usr/share/emacs/30.0.50/lisp/org/org-num
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-mouse hides /usr/share/emacs/30.0.50/lisp/org/org-mouse
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-mobile hides /usr/share/emacs/30.0.50/lisp/org/org-mobile
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-macro hides /usr/share/emacs/30.0.50/lisp/org/org-macro
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-list hides /usr/share/emacs/30.0.50/lisp/org/org-list
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-lint hides /usr/share/emacs/30.0.50/lisp/org/org-lint
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-keys hides /usr/share/emacs/30.0.50/lisp/org/org-keys
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-inlinetask hides /usr/share/emacs/30.0.50/lisp/org/org-inlinetask
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-indent hides /usr/share/emacs/30.0.50/lisp/org/org-indent
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-id hides /usr/share/emacs/30.0.50/lisp/org/org-id
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-habit hides /usr/share/emacs/30.0.50/lisp/org/org-habit
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-goto hides /usr/share/emacs/30.0.50/lisp/org/org-goto
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-footnote hides /usr/share/emacs/30.0.50/lisp/org/org-footnote
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-fold hides /usr/share/emacs/30.0.50/lisp/org/org-fold
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-fold-core hides /usr/share/emacs/30.0.50/lisp/org/org-fold-core
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-feed hides /usr/share/emacs/30.0.50/lisp/org/org-feed
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-faces hides /usr/share/emacs/30.0.50/lisp/org/org-faces
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-entities hides /usr/share/emacs/30.0.50/lisp/org/org-entities
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-element hides /usr/share/emacs/30.0.50/lisp/org/org-element
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-duration hides /usr/share/emacs/30.0.50/lisp/org/org-duration
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-datetree hides /usr/share/emacs/30.0.50/lisp/org/org-datetree
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-cycle hides /usr/share/emacs/30.0.50/lisp/org/org-cycle
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-ctags hides /usr/share/emacs/30.0.50/lisp/org/org-ctags
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-crypt hides /usr/share/emacs/30.0.50/lisp/org/org-crypt
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-clock hides /usr/share/emacs/30.0.50/lisp/org/org-clock
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-capture hides /usr/share/emacs/30.0.50/lisp/org/org-capture
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-attach hides /usr/share/emacs/30.0.50/lisp/org/org-attach
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-attach-git hides /usr/share/emacs/30.0.50/lisp/org/org-attach-git
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-archive hides /usr/share/emacs/30.0.50/lisp/org/org-archive
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol hides /usr/share/emacs/30.0.50/lisp/org/ol
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-w3m hides /usr/share/emacs/30.0.50/lisp/org/ol-w3m
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-rmail hides /usr/share/emacs/30.0.50/lisp/org/ol-rmail
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-mhe hides /usr/share/emacs/30.0.50/lisp/org/ol-mhe
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-man hides /usr/share/emacs/30.0.50/lisp/org/ol-man
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-irc hides /usr/share/emacs/30.0.50/lisp/org/ol-irc
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-info hides /usr/share/emacs/30.0.50/lisp/org/ol-info
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-gnus hides /usr/share/emacs/30.0.50/lisp/org/ol-gnus
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-eww hides /usr/share/emacs/30.0.50/lisp/org/ol-eww
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-eshell hides /usr/share/emacs/30.0.50/lisp/org/ol-eshell
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-doi hides /usr/share/emacs/30.0.50/lisp/org/ol-doi
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-docview hides /usr/share/emacs/30.0.50/lisp/org/ol-docview
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-bibtex hides /usr/share/emacs/30.0.50/lisp/org/ol-bibtex
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ol-bbdb hides /usr/share/emacs/30.0.50/lisp/org/ol-bbdb
/home/bidar/.local/private/etc/emacs/lib/org/lisp/oc hides /usr/share/emacs/30.0.50/lisp/org/oc
/home/bidar/.local/private/etc/emacs/lib/org/lisp/oc-natbib hides /usr/share/emacs/30.0.50/lisp/org/oc-natbib
/home/bidar/.local/private/etc/emacs/lib/org/lisp/oc-csl hides /usr/share/emacs/30.0.50/lisp/org/oc-csl
/home/bidar/.local/private/etc/emacs/lib/org/lisp/oc-bibtex hides /usr/share/emacs/30.0.50/lisp/org/oc-bibtex
/home/bidar/.local/private/etc/emacs/lib/org/lisp/oc-biblatex hides /usr/share/emacs/30.0.50/lisp/org/oc-biblatex
/home/bidar/.local/private/etc/emacs/lib/org/lisp/oc-basic hides /usr/share/emacs/30.0.50/lisp/org/oc-basic
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob hides /usr/share/emacs/30.0.50/lisp/org/ob
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-tangle hides /usr/share/emacs/30.0.50/lisp/org/ob-tangle
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-table hides /usr/share/emacs/30.0.50/lisp/org/ob-table
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-sqlite hides /usr/share/emacs/30.0.50/lisp/org/ob-sqlite
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-sql hides /usr/share/emacs/30.0.50/lisp/org/ob-sql
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-shell hides /usr/share/emacs/30.0.50/lisp/org/ob-shell
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-sed hides /usr/share/emacs/30.0.50/lisp/org/ob-sed
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-screen hides /usr/share/emacs/30.0.50/lisp/org/ob-screen
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-scheme hides /usr/share/emacs/30.0.50/lisp/org/ob-scheme
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-sass hides /usr/share/emacs/30.0.50/lisp/org/ob-sass
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-ruby hides /usr/share/emacs/30.0.50/lisp/org/ob-ruby
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-ref hides /usr/share/emacs/30.0.50/lisp/org/ob-ref
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-processing hides /usr/share/emacs/30.0.50/lisp/org/ob-processing
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-plantuml hides /usr/share/emacs/30.0.50/lisp/org/ob-plantuml
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-perl hides /usr/share/emacs/30.0.50/lisp/org/ob-perl
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-org hides /usr/share/emacs/30.0.50/lisp/org/ob-org
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-octave hides /usr/share/emacs/30.0.50/lisp/org/ob-octave
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-ocaml hides /usr/share/emacs/30.0.50/lisp/org/ob-ocaml
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-maxima hides /usr/share/emacs/30.0.50/lisp/org/ob-maxima
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-matlab hides /usr/share/emacs/30.0.50/lisp/org/ob-matlab
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-makefile hides /usr/share/emacs/30.0.50/lisp/org/ob-makefile
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-lob hides /usr/share/emacs/30.0.50/lisp/org/ob-lob
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-lisp hides /usr/share/emacs/30.0.50/lisp/org/ob-lisp
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-lilypond hides /usr/share/emacs/30.0.50/lisp/org/ob-lilypond
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-latex hides /usr/share/emacs/30.0.50/lisp/org/ob-latex
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-julia hides /usr/share/emacs/30.0.50/lisp/org/ob-julia
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-js hides /usr/share/emacs/30.0.50/lisp/org/ob-js
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-java hides /usr/share/emacs/30.0.50/lisp/org/ob-java
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-haskell hides /usr/share/emacs/30.0.50/lisp/org/ob-haskell
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-groovy hides /usr/share/emacs/30.0.50/lisp/org/ob-groovy
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-gnuplot hides /usr/share/emacs/30.0.50/lisp/org/ob-gnuplot
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-fortran hides /usr/share/emacs/30.0.50/lisp/org/ob-fortran
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-forth hides /usr/share/emacs/30.0.50/lisp/org/ob-forth
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-exp hides /usr/share/emacs/30.0.50/lisp/org/ob-exp
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-eval hides /usr/share/emacs/30.0.50/lisp/org/ob-eval
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-eshell hides /usr/share/emacs/30.0.50/lisp/org/ob-eshell
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-emacs-lisp hides /usr/share/emacs/30.0.50/lisp/org/ob-emacs-lisp
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-dot hides /usr/share/emacs/30.0.50/lisp/org/ob-dot
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-ditaa hides /usr/share/emacs/30.0.50/lisp/org/ob-ditaa
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-css hides /usr/share/emacs/30.0.50/lisp/org/ob-css
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-core hides /usr/share/emacs/30.0.50/lisp/org/ob-core
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-comint hides /usr/share/emacs/30.0.50/lisp/org/ob-comint
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-clojure hides /usr/share/emacs/30.0.50/lisp/org/ob-clojure
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-calc hides /usr/share/emacs/30.0.50/lisp/org/ob-calc
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-awk hides /usr/share/emacs/30.0.50/lisp/org/ob-awk
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-R hides /usr/share/emacs/30.0.50/lisp/org/ob-R
/home/bidar/.local/private/etc/emacs/lib/org/lisp/ob-C hides /usr/share/emacs/30.0.50/lisp/org/ob-C
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-loaddefs hides /usr/share/emacs/30.0.50/lisp/org/org-loaddefs
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-compat hides /usr/share/emacs/30.0.50/lisp/org/org-compat
/home/bidar/.local/private/etc/emacs/lib/org/lisp/org-macs hides /usr/share/emacs/30.0.50/lisp/org/org-macs

Features:
(shadow bbdb-message gnus-alias autocrypt-message emacsbug flow-fill
ietf-drums-date gnus-gravatar gravatar dns smiley gnus-cite
message-view-patch mail-extr textsec uni-scripts idna-mapping
ucs-normalize uni-confusable textsec-check qp gnus-async gnus-bcklg
debbugs-gnu debbugs-compat debbugs soap-client gnus-ml autocrypt-gnus
nndoc mm-archive url-cache lsp-completion lsp-diagnostics lsp-modeline
dap-mouse lsp-ui lsp-ui-flycheck lsp-ui-doc xwidget lsp-ui-imenu
lsp-ui-peek lsp-ui-sideline lsp-ui-util em-unix em-term em-script
em-prompt em-pred em-ls em-hist em-glob em-extpipe em-cmpl em-dirs
em-basic em-banner em-alias esh-mode esh-var eshell esh-cmd esh-ext
esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util
helm-command smart-region multiple-cursors mc-separate-operations
rectangular-region-mode mc-mark-pop mc-edit-lines
mc-hide-unmatched-lines-mode mc-mark-more mc-cycle-cursors
multiple-cursors-core rect expand-region yaml-mode-expansions
subword-mode-expansions cperl-mode-expansions text-mode-expansions
cc-mode-expansions the-org-mode-expansions python-el-fgallina-expansions
nxml-mode-expansions web-mode-expansions html-mode-expansions
er-basic-expansions expand-region-core expand-region-custom char-fold
misearch multi-isearch emacsql-sqlite-builtin sqlite shortdoc
helm-x-files helm-for-files helm-external cl-print help-fns winner
tramp-archive tramp-gvfs tramp-cache time-stamp zeroconf two-column
helm-descbinds ace-window avy generic-x generic view dap-lldb dap-ui
gdb-mi gud bui bui-list bui-info bui-entry bui-core bui-history
bui-button bui-utils lsp-lens dap-mode dap-tasks dap-launch lsp-docker
posframe dap-overlays ccls ccls-member-hierarchy
ccls-inheritance-hierarchy ccls-call-hierarchy ccls-tree ccls-code-lens
ccls-semantic-highlight ccls-common lsp-treemacs lsp-treemacs-generic
lsp-treemacs-themes treemacs-treelib cus-start lsp-mode lsp-protocol
yasnippet spinner network-stream mule-util gitconfig-mode logview
datetime extmap rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid
nxml-mode nxml-outln nxml-rap sgml-mode web-mode devhelp dired-collapse
treemacs-icons-dired treemacs-nerd-icons treemacs-magit forge-list
forge-commands forge-semi forge-bitbucket buck forge-gogs gogs
forge-gitea gtea forge-gitlab glab forge-github ghub-graphql treepy
gsexp ghub forge-notify forge-revnote forge-pullreq forge-issue
forge-topic yaml forge-post markdown-mode forge-repo forge forge-core
forge-db magit-popup magit-bookmark 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 magit-repos magit-apply
magit-wip magit-log magit-diff smerge-mode diff magit-core
magit-autorevert magit-margin magit-transient magit-process magit-mode
treemacs treemacs-header-line treemacs-compatibility treemacs-mode
treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence
treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering
treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom
treemacs-visuals treemacs-fringe-indicator pulse qt-pro rpm-spec-mode
whitespace company-shell cap-words superword subword gitignore-mode
image-file image-converter atomic-chrome websocket minions back-button
smartrep helm-projectile recentf tree-widget autorevert savehist
org-edit-indirect edit-indirect org-bug bug-search bug-comment-mode
bug-backend-bz-rpc bug-list-mode bug-mode bug-format bug-rpc bug-debug
bug-search-common bug-common-functions bug-persistent-data bug-custom
elfeed-autotag elfeed-score elfeed-score-maint elfeed-score-scoring
elfeed-score-serde elfeed-score-rule-stats elfeed-score-rules
elfeed-score-log elfeed-tube elfeed-tube-utils aio
elfeed-protocol-owncloud elfeed-protocol elfeed-protocol-common
elfeed-show elfeed-search rainbow-delimiters ligature symbol-overlay
hideshow vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view
bug-reference elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db
elfeed-lib xml-query emms-i18n emms-history emms-score emms-stream-info
emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon
emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl
emms-volume-pulse emms-volume-amixer emms-playlist-sort emms-last-played
emms-player-mpd emms-playing-time emms-lyrics emms-url
emms-player-simple emms-streams emms-show-all emms-tag-editor
emms-tag-tracktag emms-info-mp3info emms-mark emms-mode-line emms-cache
emms-playlist-mode emms-info-native emms-info-spc emms-info-libtag
emms-info emms-later-do emms-source-playlist emms-source-file locate
emms emms-compat autocrypt gnus-icalendar org-capture smtpmail-async
smtpmail gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg
nntp gnus-cache gnus-desktop-notify khardel yaml-mode mastodon-async
mastodon-tl mpv tq mastodon-iso lui-track company-emoji
company-emoji-list helm-circe circe-notifications circe-display-images
circe-color-nicks circe lui-irc-colors irc lcs lui-logging lui-format
lui tracking shorten flyspell circe-compat bbdb-vcard bbdb-com
bbdb-vcard-vcard21 bbdb bbdb-site timezone ical2org org-modern
org-caldav icalendar url-dav url-http url-auth url-gw nsm ox-koma-letter
ox-extra org-pomodoro alert notifications org-timer org-expiry ol-man
org-clock org-protocol ob-sqlite ob-sql ob-shell ob-python python
ob-plantuml ob-org ob-octave ob-lua ob-js ob-gnuplot ox-odt rng-loc
rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns
nxml-enc xmltok nxml-util ox-latex ox-icalendar org-super-agenda ts
org-habit cdlatex reftex reftex-loaddefs reftex-vars texmathp org-appear
ws-butler selected jinx oc-basic ol-eww eww url-queue mm-url ol-rmail
ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view
mml-smime smime gnutls dig ol-docview doc-view ol-bibtex bibtex ol-bbdb
ol-w3m ol-doi org-link-doi cal-china lunar solar cal-dst cal-bahai
cal-islam cal-hebrew holidays holiday-loaddefs vim-modeline appt
org-agenda ox-html table ox-ascii ox-publish ox org-element org-persist
org-id org-refile avl-tree ob-dot ob-ditaa ob-clojure ob-C outshine
outshine-org-cmds outorg smartparens-org smartparens-text smartparens
loadhist org-archive-subtree-hierarchy org-archive org ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint org-pcomplete
org-list org-footnote org-faces org-entities ob-emacs-lisp ob-core
ob-eval org-cycle org-table ol org-fold org-fold-core org-keys oc
org-element-ast org-loaddefs gnus-sum shr pixel-fill kinsoku url-file
svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus goto-addr
gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int
gnus-range gnus-win gnus nnheader range org-version org-compat org-macs
noutline outline perl-completion woman man dabbrev cperl-mode facemenu
helm-elisp helm-eval edebug debug backtrace cl cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ggtags
ewoc flycheck-color-mode-line flycheck jka-compr meson-mode
bitbake-modes bitbake autoinsert conf-bitbake-mode conf-mode bitbake-ff
find-file bitbake-mmm sh-script smie treesit executable mmm-mode
mmm-univ mmm-class mmm-region mmm-auto mmm-vars mmm-utils mmm-compat
bitbake-functions bitbake-compat xterm-color vc-osc vc magit-libgit
libgit libegit2 git-commit magit-git magit-base which-func imenu vc-git
diff-mode vc-dispatcher ido magit-section benchmark cursor-sensor crm
transient log-edit message sendmail yank-media puny rfc822 mml mml-sec
epa 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 diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs midnight vlf-setup
multi-vterm company-yasnippet vterm face-remap term disp-table ehelp
vterm-module term/xterm xterm projectile skeleton ibuf-macs ibuf-ext
ibuffer ibuffer-loaddefs company-oddmuse company-keywords make-mode
company-etags etags fileloop generator xref project company-gtags
company-dabbrev-code company-dabbrev company-files company-clang
company-capf company-cmake company-semantic company-template
company-bbdb company elec-pair editorconfig editorconfig-core
editorconfig-core-handle editorconfig-fnmatch package url-handlers
simple-ext hydra lv frames-only-mode windmove i3-integration i3 bindat
marginalia which-key dired-ranger dired-avfs dired-rainbow
dired-hacks-utils dired-async dired-du find-dired wdired helm-icons
treemacs-icons treemacs-scope treemacs-themes treemacs-core-utils
treemacs-macros treemacs-logging treemacs-customization pfuture inline
hl-line treemacs-faces helm-bookmark helm-net browse-url xml url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap helm-adaptive helm-info bookmark helm-mode
helm-misc helm-files image-dired image-dired-tags image-dired-external
image-dired-util image-mode exif filenotify dired-x dired-aux dired
dired-loaddefs ffap tramp trampver tramp-integration files-x
tramp-message tramp-compat xdg parse-time iso8601 time-date
tramp-loaddefs helm-buffers all-the-icons all-the-icons-faces
data-material data-weathericons data-octicons data-fileicons
data-faicons data-alltheicons helm-occur helm-tags helm-locate helm-grep
wgrep-helm wgrep grep compile text-property-search helm-regexp
format-spec helm-utils helm-help helm-types so-long cursor-chg
doom-modeline doom-modeline-segments let-alist doom-modeline-env
doom-modeline-core shrink-path f f-shortdoc s nerd-icons
nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon
nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon
nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon
nerd-icons-data-powerline nerd-icons-data-octicon
nerd-icons-data-pomicon nerd-icons-data-ipsicon mode-icons emojify
advice apropos tar-mode arc-mode archive-mode ht dash color
modus-vivendi-theme modus-themes helm-pass thingatpt password-store
with-editor shell pcomplete comint ansi-osc ansi-color ring server helm
helm-global-bindings helm-easymenu helm-core async-bytecomp helm-source
helm-multi-match helm-lib async auth-source-pass url-parse url-vars
auth-source password-cache cus-edit pp cus-load printing ps-print
ps-print-loaddefs lpr desktop frameset edmacro kmacro saveplace delsel
no-littering epkg-elpa json map epkg-utils epkg-list epkg-desc wid-edit
find-func epkg closql emacsql-sqlite-common emacsql emacsql-compiler
eieio-base llama compat use-package use-package-ensure
use-package-delight use-package-diminish use-package-bind-key bind-key
easy-mmode use-package-core zop-to-char-autoloads yasnippet-autoloads
yaml-mode-autoloads yaml-autoloads xterm-color-autoloads
ws-butler-autoloads with-editor-autoloads whole-line-or-region-autoloads
which-key-autoloads wgrep-autoloads websocket-autoloads
web-mode-autoloads w3m-autoloads vlf-autoloads vim-modeline-autoloads
vc-osc-autoloads uuidgen-autoloads use-package-autoloads ts-autoloads
treepy-autoloads treemacs-nerd-icons-autoloads treemacs-autoloads
transient-autoloads toml-mode-autoloads systemd-autoloads
symbol-overlay-autoloads swiper-helm-autoloads ssh-config-mode-autoloads
spinner-autoloads smartrep-autoloads smartparens-autoloads
smart-region-autoloads skewer-mode-autoloads simple-httpd-autoloads
shrink-path-autoloads selected-autoloads s-autoloads
rpm-spec-mode-autoloads rich-minority-autoloads request-autoloads
rainbow-delimiters-autoloads qml-mode-autoloads pythonic-autoloads
projectile-autoloads posframe-autoloads pos-tip-autoloads
popup-autoloads pkgbuild-mode-autoloads piper-autoloads
pfuture-autoloads perspective-autoloads persp-mode-autoloads
persist-autoloads password-store-autoloads pass-autoloads
outshine-autoloads outorg-autoloads orgit-forge-autoloads
orgit-autoloads org-vcard-autoloads org-tree-slide-autoloads
org-super-agenda-autoloads org-pomodoro-autoloads org-modern-autoloads
org-edit-indirect-autoloads org-contrib-autoloads org-contacts-autoloads
org-caldav-autoloads org-appear-autoloads org-autoloads
no-littering-autoloads nginx-mode-autoloads nerd-icons-ibuffer-autoloads
nerd-icons-autoloads navi-mode-autoloads multiple-cursors-autoloads
multi-vterm-autoloads mpv-autoloads move-text-autoloads
modus-themes-autoloads mode-icons-autoloads mmm-mode-autoloads
minions-autoloads message-x-autoloads message-view-patch-autoloads
message-attachment-reminder-autoloads meson-mode-autoloads
mastodon-autoloads markdown-mode-autoloads marginalia-autoloads
magit-popup-autoloads magit-autoloads lua-mode-autoloads
lsp-ui-autoloads lsp-treemacs-autoloads lsp-mode-autoloads
lsp-docker-autoloads logview-autoloads llama-autoloads lisp-autoloads
link-hint-autoloads ligature-autoloads levenshtein-autoloads
khardel-autoloads js2-mode-autoloads jira-markup-mode-autoloads
ivy-autoloads irony-autoloads ir-black-theme-autoloads iedit-autoloads
ical2org-autoloads ibuffer-projectile-autoloads
i3wm-config-mode-autoloads i3-autoloads hydra-autoloads
htmlize-autoloads ht-autoloads highlight-indent-guides-autoloads
helm-projectile-autoloads helm-pass-autoloads helm-org-rifle-autoloads
helm-make-autoloads helm-ls-git-autoloads helm-icons-autoloads
helm-ext-autoloads helm-emms-autoloads helm-descbinds-autoloads
helm-circe-autoloads helm-autoloads guess-language-autoloads
grep-context-autoloads goto-chg-autoloads gnus-recent-autoloads
gnus-notes-autoloads gnus-desktop-notify-autoloads gnus-alias-autoloads
gitconfig-autoloads git-modes-autoloads ghub-autoloads ggtags-autoloads
frames-only-mode-autoloads forge-autoloads
flycheck-color-mode-line-autoloads flycheck-autoloads fedi-autoloads
f-autoloads extmap-autoloads expand-region-autoloads
evil-multiedit-autoloads evil-autoloads epkg-autoloads emojify-autoloads
emacsql-autoloads elixir-mode-autoloads elfeed-tube-autoloads
elfeed-summary-autoloads elfeed-score-autoloads
elfeed-protocol-autoloads elfeed-autotag-autoloads elfeed-autoloads
el-mock-autoloads eimp-autoloads editorconfig-autoloads
edit-indirect-autoloads dumb-jump-autoloads doom-modeline-autoloads
dired-rsync-autoloads dired-hacks-autoloads dired-du-autoloads
devhelp-autoloads deferred-autoloads default-text-scale-autoloads
debbugs-autoloads datetime-autoloads dash-autoloads dap-mode-autoloads
cursor-chg-autoloads crux-autoloads copy-as-format-autoloads
compat-autoloads company-shell-autoloads company-quickhelp-autoloads
company-nginx-autoloads company-lua-autoloads company-irony-autoloads
company-emoji-autoloads company-anaconda-autoloads company-autoloads
code-review-autoloads cmake-mode-autoloads cmake-font-lock-autoloads
closql-autoloads circe-notifications-autoloads circe-autoloads
cdlatex-autoloads ccls-autoloads buttercup-autoloads bui-autoloads
bug-mode-autoloads borg-autoloads bitbake-modes-autoloads
bbdb-vcard-autoloads bbdb-loaddefs back-button-autoloads avy-autoloads
autocrypt-autoloads auto-compile-autoloads atomic-chrome-autoloads
async-autoloads anaconda-mode-autoloads all-the-icons-autoloads
alert-autoloads aio-autoloads ag-autoloads ace-window-autoloads
ace-link-autoloads a-autoloads borg derived eieio byte-opt eieio-core
loaddefs-gen generate-lisp-file lisp-mnt radix-tree pcase info comp
comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra help-mode
cl-loaddefs cl-lib bytecomp byte-compile preview-latex tex-site ispell
rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win
term/common-win pgtk-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 xwidget-internal dbusbind
inotify dynamic-setting system-font-setting font-render-setting cairo
gtk pgtk lcms2 multi-tty move-toolbar make-network-process
native-compile emacs)

Memory information:
((conses 16 5958014 6260220) (symbols 48 134632 82)
 (strings 32 1849967 114379) (string-bytes 1 102104165)
 (vectors 16 357511) (vector-slots 8 9995614 732139)
 (floats 8 5056 15528) (intervals 56 200336 22700) (buffers 992 144))





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

* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
       [not found] <875xzma0hd.fsf@>
@ 2024-01-22  9:00 ` Eli Zaretskii
  2024-01-23 13:47   ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
                     ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Eli Zaretskii @ 2024-01-22  9:00 UTC (permalink / raw)
  To: bjorn.bidar, =?UTF-8?Q?Bj=C3=B6rn

On January 21, 2024 10:35:26 PM GMT+02:00, "Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org> wrote:
> I noticed when opening a file which isn't readable that
> read-only-mode-hooks are not executed.
> 
> 1. (add-hook 'read-only-mode-hook (lambda () (print "foobar")))
> 2. open file that is read-only
> 3. foobar should be print but isn't.


That's because read-only-mode is not entered when you visit a write-protected file.  Maybe we should call the hook anyway, I'm not sure.  We don't honor view-read-only either in these cases, for the same reason.






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

* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
  2024-01-22  9:00 ` bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t Eli Zaretskii
  2024-01-23 13:47   ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-01-23 13:47   ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
       [not found]   ` <874jf4nove.fsf@>
  2 siblings, 0 replies; 13+ messages in thread
From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-23 13:47 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: =?UTF-8?Q?Bj=C3=B6rn

Eli Zaretskii <eliz@gnu.org> writes:

> On January 21, 2024 10:35:26 PM GMT+02:00, "Björn Bidar via Bug
> reports for GNU Emacs, the Swiss army knife of text editors"
> <bug-gnu-emacs@gnu.org> wrote:
>> I noticed when opening a file which isn't readable that
>> read-only-mode-hooks are not executed.
>> 
>> 1. (add-hook 'read-only-mode-hook (lambda () (print "foobar")))
>> 2. open file that is read-only
>> 3. foobar should be print but isn't.
>
> That's because read-only-mode is not entered when you visit a
> write-protected file.

It does look like the mode is entered because when calling
read-only-mode it is disabled.






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

* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
  2024-01-22  9:00 ` bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t Eli Zaretskii
@ 2024-01-23 13:47   ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-01-23 13:47   ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
       [not found]   ` <874jf4nove.fsf@>
  2 siblings, 0 replies; 13+ messages in thread
From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-23 13:47 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: =?UTF-8?Q?Bj=C3=B6rn

Eli Zaretskii <eliz@gnu.org> writes:

> On January 21, 2024 10:35:26 PM GMT+02:00, "Björn Bidar via Bug
> reports for GNU Emacs, the Swiss army knife of text editors"
> <bug-gnu-emacs@gnu.org> wrote:
>> I noticed when opening a file which isn't readable that
>> read-only-mode-hooks are not executed.
>> 
>> 1. (add-hook 'read-only-mode-hook (lambda () (print "foobar")))
>> 2. open file that is read-only
>> 3. foobar should be print but isn't.
>
> That's because read-only-mode is not entered when you visit a
> write-protected file.

It does look like the mode is entered because when calling
read-only-mode it is disabled.






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

* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
       [not found]   ` <874jf4nove.fsf@>
@ 2024-01-23 18:23     ` Eli Zaretskii
  2024-02-01  9:48       ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2024-01-23 18:23 UTC (permalink / raw)
  To: Björn Bidar; +Cc: 68648

> From: Björn Bidar <bjorn.bidar@thaodan.de>
> Cc: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors <bug-gnu-emacs@gnu.org>,
>   68648@debbugs.gnu.org
> Date: Tue, 23 Jan 2024 15:47:01 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> 1. (add-hook 'read-only-mode-hook (lambda () (print "foobar")))
> >> 2. open file that is read-only
> >> 3. foobar should be print but isn't.
> >
> > That's because read-only-mode is not entered when you visit a
> > write-protected file.
> 
> It does look like the mode is entered because when calling
> read-only-mode it is disabled.

That's only a circumstantial evidence.  read-only-mode is a thin
wrapper around buffer-read-only variable, but setting buffer-read-only
directly (which is what we do when you visit a write-protected file)
doesn't invoke the mode function, and thus the mode hook is not run.
For the same reason, the setting of view-read-only is not honored in
the scenario you described.





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

* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
  2024-01-23 18:23     ` Eli Zaretskii
@ 2024-02-01  9:48       ` Eli Zaretskii
  2024-02-01 14:17         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2024-02-01  9:48 UTC (permalink / raw)
  To: Stefan Kangas, Stefan Monnier; +Cc: bjorn.bidar, 68648

> Cc: 68648@debbugs.gnu.org
> Date: Tue, 23 Jan 2024 20:23:16 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> 
> > From: Björn Bidar <bjorn.bidar@thaodan.de>
> > Cc: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors <bug-gnu-emacs@gnu.org>,
> >   68648@debbugs.gnu.org
> > Date: Tue, 23 Jan 2024 15:47:01 +0200
> > 
> > Eli Zaretskii <eliz@gnu.org> writes:
> > 
> > >> 1. (add-hook 'read-only-mode-hook (lambda () (print "foobar")))
> > >> 2. open file that is read-only
> > >> 3. foobar should be print but isn't.
> > >
> > > That's because read-only-mode is not entered when you visit a
> > > write-protected file.
> > 
> > It does look like the mode is entered because when calling
> > read-only-mode it is disabled.
> 
> That's only a circumstantial evidence.  read-only-mode is a thin
> wrapper around buffer-read-only variable, but setting buffer-read-only
> directly (which is what we do when you visit a write-protected file)
> doesn't invoke the mode function, and thus the mode hook is not run.
> For the same reason, the setting of view-read-only is not honored in
> the scenario you described.

Stefan & Stefan, any comments or opinions on this issue?  I' debating
whether to do anything (and if so, what) about this, or close this bug
as wontfix.

TIA





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

* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
  2024-02-01  9:48       ` Eli Zaretskii
@ 2024-02-01 14:17         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-02-01 14:58           ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-02-01 14:17 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: bjorn.bidar, 68648, Stefan Kangas

>> > >> 1. (add-hook 'read-only-mode-hook (lambda () (print "foobar")))
>> > >> 2. open file that is read-only
>> > >> 3. foobar should be print but isn't.
>> > > That's because read-only-mode is not entered when you visit a
>> > > write-protected file.
>> > It does look like the mode is entered because when calling
>> > read-only-mode it is disabled.

I agree that it's far from clear that "read-only-mode is not entered".

>> That's only a circumstantial evidence.  read-only-mode is a thin
>> wrapper around buffer-read-only variable, but setting buffer-read-only
>> directly (which is what we do when you visit a write-protected file)
>> doesn't invoke the mode function, and thus the mode hook is not run.

That's the technical explanation of what happens, but it's not very
satisfactory as a justification for why it should happen.

>> For the same reason, the setting of view-read-only is not honored in
>> the scenario you described.

I don't understand what you're trying to say here:

    emacs --eval '(setq view-read-only t)' -Q /etc/password

does put me in `view-mode`, so the setting of `view-read-only` seems to
be honored.

> Stefan & Stefan, any comments or opinions on this issue?  I' debating
> whether to do anything (and if so, what) about this, or close this bug
> as wontfix.

[ This a bug of my own making, when I decided to replace
  `toggle-read-only` with`read-only-mode`.  ]

I'd be in favor of replacing the `(setq buffer-read-only t)` with
`(read-only-mode 1)`, but it will require other changes: since calling
`read-only-mode` will handle `view-read-only`, it might make for a nice
simplification, but since the code is fairly complex over there, it
might also make things worse.


        Stefan







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

* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
  2024-02-01 14:17         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-02-01 14:58           ` Eli Zaretskii
  2024-02-01 17:58             ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-02-03  9:32             ` Eli Zaretskii
  0 siblings, 2 replies; 13+ messages in thread
From: Eli Zaretskii @ 2024-02-01 14:58 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: bjorn.bidar, 68648, stefankangas

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Stefan Kangas <stefankangas@gmail.com>,  bjorn.bidar@thaodan.de,
>   68648@debbugs.gnu.org
> Date: Thu, 01 Feb 2024 09:17:13 -0500
> 
> > Stefan & Stefan, any comments or opinions on this issue?  I' debating
> > whether to do anything (and if so, what) about this, or close this bug
> > as wontfix.
> 
> [ This a bug of my own making, when I decided to replace
>   `toggle-read-only` with`read-only-mode`.  ]
> 
> I'd be in favor of replacing the `(setq buffer-read-only t)` with
> `(read-only-mode 1)`, but it will require other changes: since calling
> `read-only-mode` will handle `view-read-only`, it might make for a nice
> simplification, but since the code is fairly complex over there, it
> might also make things worse.

I agree that it would be nice to clean this up, but since it isn't
easy (which I, of course, noticed as well), I'm not sure it is worth
our while, given that the problem is really minor.  Thus my doubts and
my question.





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

* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
  2024-02-01 14:58           ` Eli Zaretskii
@ 2024-02-01 17:58             ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-02-03  9:32             ` Eli Zaretskii
  1 sibling, 0 replies; 13+ messages in thread
From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-02-01 17:58 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 68648, Stefan Monnier, stefankangas

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Stefan Monnier <monnier@iro.umontreal.ca>
>> Cc: Stefan Kangas <stefankangas@gmail.com>,  bjorn.bidar@thaodan.de,
>>   68648@debbugs.gnu.org
>> Date: Thu, 01 Feb 2024 09:17:13 -0500
>> 
>> > Stefan & Stefan, any comments or opinions on this issue?  I' debating
>> > whether to do anything (and if so, what) about this, or close this bug
>> > as wontfix.
>> 
>> [ This a bug of my own making, when I decided to replace
>>   `toggle-read-only` with`read-only-mode`.  ]
>> 
>> I'd be in favor of replacing the `(setq buffer-read-only t)` with
>> `(read-only-mode 1)`, but it will require other changes: since calling
>> `read-only-mode` will handle `view-read-only`, it might make for a nice
>> simplification, but since the code is fairly complex over there, it
>> might also make things worse.
>
> I agree that it would be nice to clean this up, but since it isn't
> easy (which I, of course, noticed as well), I'm not sure it is worth
> our while, given that the problem is really minor.  Thus my doubts and
> my question.

I think trying to fix the problem if it so minor can take time.
However closing it as won't is not a good idea because of the ambiguity
of semantics here. It's easy to misunderstanding if you don't know.





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

* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
  2024-02-01 14:58           ` Eli Zaretskii
  2024-02-01 17:58             ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-02-03  9:32             ` Eli Zaretskii
  2024-02-03 16:28               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2024-02-03  9:32 UTC (permalink / raw)
  To: monnier; +Cc: bjorn.bidar, 68648, stefankangas

> Cc: bjorn.bidar@thaodan.de, 68648@debbugs.gnu.org, stefankangas@gmail.com
> Date: Thu, 01 Feb 2024 16:58:36 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> 
> > From: Stefan Monnier <monnier@iro.umontreal.ca>
> > Cc: Stefan Kangas <stefankangas@gmail.com>,  bjorn.bidar@thaodan.de,
> >   68648@debbugs.gnu.org
> > Date: Thu, 01 Feb 2024 09:17:13 -0500
> > 
> > > Stefan & Stefan, any comments or opinions on this issue?  I' debating
> > > whether to do anything (and if so, what) about this, or close this bug
> > > as wontfix.
> > 
> > [ This a bug of my own making, when I decided to replace
> >   `toggle-read-only` with`read-only-mode`.  ]
> > 
> > I'd be in favor of replacing the `(setq buffer-read-only t)` with
> > `(read-only-mode 1)`, but it will require other changes: since calling
> > `read-only-mode` will handle `view-read-only`, it might make for a nice
> > simplification, but since the code is fairly complex over there, it
> > might also make things worse.
> 
> I agree that it would be nice to clean this up, but since it isn't
> easy (which I, of course, noticed as well), I'm not sure it is worth
> our while, given that the problem is really minor.  Thus my doubts and
> my question.

On second thought, would it be okay to just call the mode hook where
we set buffer-read-only in after-find-file?





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

* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
  2024-02-03  9:32             ` Eli Zaretskii
@ 2024-02-03 16:28               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-02-03 22:09                 ` Stefan Kangas
  0 siblings, 1 reply; 13+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-02-03 16:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: bjorn.bidar, 68648, stefankangas

> On second thought, would it be okay to just call the mode hook where
> we set buffer-read-only in after-find-file?

It's probably an acceptable middle ground until someone goes through the
trouble of sorting out how to make the code call `read-only-mode`.
Even better if the `run-hooks` is accompanied with a FIXME explaining
that :-)


        Stefan






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

* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
  2024-02-03 16:28               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-02-03 22:09                 ` Stefan Kangas
  2024-02-10  8:37                   ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Stefan Kangas @ 2024-02-03 22:09 UTC (permalink / raw)
  To: Stefan Monnier, Eli Zaretskii; +Cc: bjorn.bidar, 68648

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> On second thought, would it be okay to just call the mode hook where
>> we set buffer-read-only in after-find-file?
>
> It's probably an acceptable middle ground until someone goes through the
> trouble of sorting out how to make the code call `read-only-mode`.
> Even better if the `run-hooks` is accompanied with a FIXME explaining
> that :-)

Makes sense to me.





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

* bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t
  2024-02-03 22:09                 ` Stefan Kangas
@ 2024-02-10  8:37                   ` Eli Zaretskii
  0 siblings, 0 replies; 13+ messages in thread
From: Eli Zaretskii @ 2024-02-10  8:37 UTC (permalink / raw)
  To: Stefan Kangas; +Cc: bjorn.bidar, monnier, 68648-done

> From: Stefan Kangas <stefankangas@gmail.com>
> Date: Sat, 3 Feb 2024 17:09:53 -0500
> Cc: bjorn.bidar@thaodan.de, 68648@debbugs.gnu.org
> 
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
> 
> >> On second thought, would it be okay to just call the mode hook where
> >> we set buffer-read-only in after-find-file?
> >
> > It's probably an acceptable middle ground until someone goes through the
> > trouble of sorting out how to make the code call `read-only-mode`.
> > Even better if the `run-hooks` is accompanied with a FIXME explaining
> > that :-)
> 
> Makes sense to me.

Now done on master, let's see what this breaks.

Closing.





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

end of thread, other threads:[~2024-02-10  8:37 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <875xzma0hd.fsf@>
2024-01-22  9:00 ` bug#68648: 30.0.50; read-only-mode-hook's are not executed when buffer-read-only is t Eli Zaretskii
2024-01-23 13:47   ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-23 13:47   ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found]   ` <874jf4nove.fsf@>
2024-01-23 18:23     ` Eli Zaretskii
2024-02-01  9:48       ` Eli Zaretskii
2024-02-01 14:17         ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-01 14:58           ` Eli Zaretskii
2024-02-01 17:58             ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-03  9:32             ` Eli Zaretskii
2024-02-03 16:28               ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-02-03 22:09                 ` Stefan Kangas
2024-02-10  8:37                   ` Eli Zaretskii
2024-01-21 20:35 Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors

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