unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#73548: 31.0.50; track-changes--error-log
@ 2024-09-29  7:32 Gerd Möllmann
  2024-09-29  8:14 ` Eli Zaretskii
  2024-10-03 15:15 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 6+ messages in thread
From: Gerd Möllmann @ 2024-09-29  7:32 UTC (permalink / raw)
  To: 73548

This is a warning I got today while editing a C file. No idea how to
reproduce, I'm afraid. This is master on a terminal frame.

   ■  Warning (emacs): Missing/incorrect calls to ‘before/after-change-functions’!!
  Details logged to ‘track-changes--error-log’

track-changes--error-log is a variable defined in ‘track-changes.el’.

Its value is shown below.

List of errors encountered.
Each element is a triplet (BUFFER-NAME BACKTRACE RECENT-KEYS).

Value:
(("frame.h" #1=(unexpected-after 47748 47748 1)
  ((t track-changes--recover-from-error (#1#) nil)
   (t track-changes--after (47748 47748 1) nil)
   (t delete-char (-1 nil) nil) (t delete-backward-char (1 nil) nil)
   (t backward-delete-char-untabify (1) nil)
   (t c-electric-backspace (nil) nil)
   (t funcall-interactively (c-electric-backspace nil) nil)
   (t call-interactively (c-electric-backspace nil nil) nil)
   (t command-execute (c-electric-backspace) nil))
  [86 (nil . self-insert-command) 73 (nil . self-insert-command) 83
      (nil . self-insert-command) 73 (nil . self-insert-command) 66
      (nil . self-insert-command) 76 (nil . self-insert-command) 69
      (nil . self-insert-command) 32 (nil . self-insert-command) 40
      (nil . c-electric-paren) 127 (nil . c-electric-backspace)]))

In GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin24.0.0) of 2024-09-26
 built on MacBookPro.fritz.box
Repository revision: 2f485e68ff96cc66a17df2c0a58e272bbfc24765
Repository branch: master
System Description:  macOS 15.0

Configured using:
 'configure --without-ns --cache-file
 /var/folders/1d/k_6t25f94sl83szqbf8gpkrh0000gn/T//config.cache.master
 --with-native-compilation=no CC=clang 'CFLAGS=-Wgnu-imaginary-constant
 -Wunused-result -g -fno-omit-frame-pointer''

Configured features:
ACL DBUS GNUTLS LCMS2 LIBXML2 MODULES NOTIFY KQUEUE PDUMPER SQLITE3
THREADS TREE_SITTER ZLIB

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

Major mode: Help

Minor modes in effect:
  yas-global-mode: t
  yas-minor-mode: t
  consult-org-roam-mode: t
  org-roam-db-autosync-mode: t
  piem-gnus-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  server-mode: t
  psession-mode: t
  psession-autosave-mode: t
  psession-savehist-mode: t
  global-kkp-mode: t
  transient-posframe-mode: t
  global-auto-revert-mode: t
  recentf-mode: t
  xterm-mouse-mode: t
  repeat-mode: t
  windmove-mode: t
  which-key-posframe-mode: t
  which-key-mode: t
  persistent-scratch-autosave-mode: t
  delete-selection-mode: t
  global-hl-line-mode: t
  global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  mouse-wheel-mode: t
  corfu-terminal-mode: t
  global-corfu-mode: t
  corfu-mode: t
  vertico-posframe-mode: t
  vertico-multiform-mode: t
  vertico-mouse-mode: t
  vertico-mode: t
  override-global-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  isearch-fold-quotes-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
~/emacs/notes/code/which-key hides /Users/gerd/.config/emacs.d.default/straight/build/which-key/which-key
~/emacs/notes/code/which-key hides /Users/gerd/emacs/savannah/master/lisp/which-key
/Users/gerd/.config/emacs.d.default/straight/build/svg/svg hides /Users/gerd/emacs/savannah/master/lisp/svg
/Users/gerd/.config/emacs.d.default/straight/build/transient/transient hides /Users/gerd/emacs/savannah/master/lisp/transient
/Users/gerd/.config/emacs.d.default/straight/build/jsonrpc/jsonrpc hides /Users/gerd/emacs/savannah/master/lisp/jsonrpc
/Users/gerd/.config/emacs.d.default/straight/build/external-completion/external-completion hides /Users/gerd/emacs/savannah/master/lisp/external-completion
/Users/gerd/.config/emacs.d.default/straight/build/flymake/flymake hides /Users/gerd/emacs/savannah/master/lisp/progmodes/flymake
/Users/gerd/.config/emacs.d.default/straight/build/xref/xref hides /Users/gerd/emacs/savannah/master/lisp/progmodes/xref
/Users/gerd/.config/emacs.d.default/straight/build/project/project hides /Users/gerd/emacs/savannah/master/lisp/progmodes/project
/Users/gerd/.config/emacs.d.default/straight/build/eglot/eglot hides /Users/gerd/emacs/savannah/master/lisp/progmodes/eglot
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-comint hides /Users/gerd/emacs/savannah/master/lisp/org/ob-comint
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-exp hides /Users/gerd/emacs/savannah/master/lisp/org/ob-exp
/Users/gerd/.config/emacs.d.default/straight/build/org/org-ctags hides /Users/gerd/emacs/savannah/master/lisp/org/org-ctags
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-emacs-lisp hides /Users/gerd/emacs/savannah/master/lisp/org/ob-emacs-lisp
/Users/gerd/.config/emacs.d.default/straight/build/org/oc hides /Users/gerd/emacs/savannah/master/lisp/org/oc
/Users/gerd/.config/emacs.d.default/straight/build/org/ox-texinfo hides /Users/gerd/emacs/savannah/master/lisp/org/ox-texinfo
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-irc hides /Users/gerd/emacs/savannah/master/lisp/org/ol-irc
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-doi hides /Users/gerd/emacs/savannah/master/lisp/org/ol-doi
/Users/gerd/.config/emacs.d.default/straight/build/org/ob hides /Users/gerd/emacs/savannah/master/lisp/org/ob
/Users/gerd/.config/emacs.d.default/straight/build/org/org-refile hides /Users/gerd/emacs/savannah/master/lisp/org/org-refile
/Users/gerd/.config/emacs.d.default/straight/build/org/org-version hides /Users/gerd/emacs/savannah/master/lisp/org/org-version
/Users/gerd/.config/emacs.d.default/straight/build/org/org-num hides /Users/gerd/emacs/savannah/master/lisp/org/org-num
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-mhe hides /Users/gerd/emacs/savannah/master/lisp/org/ol-mhe
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-shell hides /Users/gerd/emacs/savannah/master/lisp/org/ob-shell
/Users/gerd/.config/emacs.d.default/straight/build/org/org-attach hides /Users/gerd/emacs/savannah/master/lisp/org/org-attach
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-C hides /Users/gerd/emacs/savannah/master/lisp/org/ob-C
/Users/gerd/.config/emacs.d.default/straight/build/org/org-macs hides /Users/gerd/emacs/savannah/master/lisp/org/org-macs
/Users/gerd/.config/emacs.d.default/straight/build/org/org-entities hides /Users/gerd/emacs/savannah/master/lisp/org/org-entities
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-dot hides /Users/gerd/emacs/savannah/master/lisp/org/ob-dot
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-sql hides /Users/gerd/emacs/savannah/master/lisp/org/ob-sql
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-eww hides /Users/gerd/emacs/savannah/master/lisp/org/ol-eww
/Users/gerd/.config/emacs.d.default/straight/build/org/org-datetree hides /Users/gerd/emacs/savannah/master/lisp/org/org-datetree
/Users/gerd/.config/emacs.d.default/straight/build/org/org-macro hides /Users/gerd/emacs/savannah/master/lisp/org/org-macro
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-eval hides /Users/gerd/emacs/savannah/master/lisp/org/ob-eval
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-haskell hides /Users/gerd/emacs/savannah/master/lisp/org/ob-haskell
/Users/gerd/.config/emacs.d.default/straight/build/org/ox-org hides /Users/gerd/emacs/savannah/master/lisp/org/ox-org
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-rmail hides /Users/gerd/emacs/savannah/master/lisp/org/ol-rmail
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-awk hides /Users/gerd/emacs/savannah/master/lisp/org/ob-awk
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-groovy hides /Users/gerd/emacs/savannah/master/lisp/org/ob-groovy
/Users/gerd/.config/emacs.d.default/straight/build/org/ox-icalendar hides /Users/gerd/emacs/savannah/master/lisp/org/ox-icalendar
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-octave hides /Users/gerd/emacs/savannah/master/lisp/org/ob-octave
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-scheme hides /Users/gerd/emacs/savannah/master/lisp/org/ob-scheme
/Users/gerd/.config/emacs.d.default/straight/build/org/org-mobile hides /Users/gerd/emacs/savannah/master/lisp/org/org-mobile
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-processing hides /Users/gerd/emacs/savannah/master/lisp/org/ob-processing
/Users/gerd/.config/emacs.d.default/straight/build/org/oc-biblatex hides /Users/gerd/emacs/savannah/master/lisp/org/oc-biblatex
/Users/gerd/.config/emacs.d.default/straight/build/org/oc-csl hides /Users/gerd/emacs/savannah/master/lisp/org/oc-csl
/Users/gerd/.config/emacs.d.default/straight/build/org/org-colview hides /Users/gerd/emacs/savannah/master/lisp/org/org-colview
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-R hides /Users/gerd/emacs/savannah/master/lisp/org/ob-R
/Users/gerd/.config/emacs.d.default/straight/build/org/org-table hides /Users/gerd/emacs/savannah/master/lisp/org/org-table
/Users/gerd/.config/emacs.d.default/straight/build/org/ox-html hides /Users/gerd/emacs/savannah/master/lisp/org/ox-html
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-fortran hides /Users/gerd/emacs/savannah/master/lisp/org/ob-fortran
/Users/gerd/.config/emacs.d.default/straight/build/org/ol hides /Users/gerd/emacs/savannah/master/lisp/org/ol
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-plantuml hides /Users/gerd/emacs/savannah/master/lisp/org/ob-plantuml
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-docview hides /Users/gerd/emacs/savannah/master/lisp/org/ol-docview
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-perl hides /Users/gerd/emacs/savannah/master/lisp/org/ob-perl
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-sqlite hides /Users/gerd/emacs/savannah/master/lisp/org/ob-sqlite
/Users/gerd/.config/emacs.d.default/straight/build/org/oc-basic hides /Users/gerd/emacs/savannah/master/lisp/org/oc-basic
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-sed hides /Users/gerd/emacs/savannah/master/lisp/org/ob-sed
/Users/gerd/.config/emacs.d.default/straight/build/org/org-fold-core hides /Users/gerd/emacs/savannah/master/lisp/org/org-fold-core
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-ditaa hides /Users/gerd/emacs/savannah/master/lisp/org/ob-ditaa
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-ruby hides /Users/gerd/emacs/savannah/master/lisp/org/ob-ruby
/Users/gerd/.config/emacs.d.default/straight/build/org/oc-bibtex hides /Users/gerd/emacs/savannah/master/lisp/org/oc-bibtex
/Users/gerd/.config/emacs.d.default/straight/build/org/org-habit hides /Users/gerd/emacs/savannah/master/lisp/org/org-habit
/Users/gerd/.config/emacs.d.default/straight/build/org/org-loaddefs hides /Users/gerd/emacs/savannah/master/lisp/org/org-loaddefs
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-gnus hides /Users/gerd/emacs/savannah/master/lisp/org/ol-gnus
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-screen hides /Users/gerd/emacs/savannah/master/lisp/org/ob-screen
/Users/gerd/.config/emacs.d.default/straight/build/org/org-mouse hides /Users/gerd/emacs/savannah/master/lisp/org/org-mouse
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-css hides /Users/gerd/emacs/savannah/master/lisp/org/ob-css
/Users/gerd/.config/emacs.d.default/straight/build/org/org-inlinetask hides /Users/gerd/emacs/savannah/master/lisp/org/org-inlinetask
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-lisp hides /Users/gerd/emacs/savannah/master/lisp/org/ob-lisp
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-eshell hides /Users/gerd/emacs/savannah/master/lisp/org/ol-eshell
/Users/gerd/.config/emacs.d.default/straight/build/org/org-pcomplete hides /Users/gerd/emacs/savannah/master/lisp/org/org-pcomplete
/Users/gerd/.config/emacs.d.default/straight/build/org/org-lint hides /Users/gerd/emacs/savannah/master/lisp/org/org-lint
/Users/gerd/.config/emacs.d.default/straight/build/org/org-id hides /Users/gerd/emacs/savannah/master/lisp/org/org-id
/Users/gerd/.config/emacs.d.default/straight/build/org/org-capture hides /Users/gerd/emacs/savannah/master/lisp/org/org-capture
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-sass hides /Users/gerd/emacs/savannah/master/lisp/org/ob-sass
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-tangle hides /Users/gerd/emacs/savannah/master/lisp/org/ob-tangle
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-calc hides /Users/gerd/emacs/savannah/master/lisp/org/ob-calc
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-java hides /Users/gerd/emacs/savannah/master/lisp/org/ob-java
/Users/gerd/.config/emacs.d.default/straight/build/org/org-compat hides /Users/gerd/emacs/savannah/master/lisp/org/org-compat
/Users/gerd/.config/emacs.d.default/straight/build/org/org-attach-git hides /Users/gerd/emacs/savannah/master/lisp/org/org-attach-git
/Users/gerd/.config/emacs.d.default/straight/build/org/ox-beamer hides /Users/gerd/emacs/savannah/master/lisp/org/ox-beamer
/Users/gerd/.config/emacs.d.default/straight/build/org/org-protocol hides /Users/gerd/emacs/savannah/master/lisp/org/org-protocol
/Users/gerd/.config/emacs.d.default/straight/build/org/org-element hides /Users/gerd/emacs/savannah/master/lisp/org/org-element
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-lob hides /Users/gerd/emacs/savannah/master/lisp/org/ob-lob
/Users/gerd/.config/emacs.d.default/straight/build/org/org-tempo hides /Users/gerd/emacs/savannah/master/lisp/org/org-tempo
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-python hides /Users/gerd/emacs/savannah/master/lisp/org/ob-python
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-latex hides /Users/gerd/emacs/savannah/master/lisp/org/ob-latex
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-w3m hides /Users/gerd/emacs/savannah/master/lisp/org/ol-w3m
/Users/gerd/.config/emacs.d.default/straight/build/org/org-agenda hides /Users/gerd/emacs/savannah/master/lisp/org/org-agenda
/Users/gerd/.config/emacs.d.default/straight/build/org/org-persist hides /Users/gerd/emacs/savannah/master/lisp/org/org-persist
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-ocaml hides /Users/gerd/emacs/savannah/master/lisp/org/ob-ocaml
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-ref hides /Users/gerd/emacs/savannah/master/lisp/org/ob-ref
/Users/gerd/.config/emacs.d.default/straight/build/org/org-fold hides /Users/gerd/emacs/savannah/master/lisp/org/org-fold
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-julia hides /Users/gerd/emacs/savannah/master/lisp/org/ob-julia
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-lilypond hides /Users/gerd/emacs/savannah/master/lisp/org/ob-lilypond
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-table hides /Users/gerd/emacs/savannah/master/lisp/org/ob-table
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-clojure hides /Users/gerd/emacs/savannah/master/lisp/org/ob-clojure
/Users/gerd/.config/emacs.d.default/straight/build/org/org-indent hides /Users/gerd/emacs/savannah/master/lisp/org/org-indent
/Users/gerd/.config/emacs.d.default/straight/build/org/org-plot hides /Users/gerd/emacs/savannah/master/lisp/org/org-plot
/Users/gerd/.config/emacs.d.default/straight/build/org/ox-latex hides /Users/gerd/emacs/savannah/master/lisp/org/ox-latex
/Users/gerd/.config/emacs.d.default/straight/build/org/org-src hides /Users/gerd/emacs/savannah/master/lisp/org/org-src
/Users/gerd/.config/emacs.d.default/straight/build/org/org-duration hides /Users/gerd/emacs/savannah/master/lisp/org/org-duration
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-makefile hides /Users/gerd/emacs/savannah/master/lisp/org/ob-makefile
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-info hides /Users/gerd/emacs/savannah/master/lisp/org/ol-info
/Users/gerd/.config/emacs.d.default/straight/build/org/org-clock hides /Users/gerd/emacs/savannah/master/lisp/org/org-clock
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-forth hides /Users/gerd/emacs/savannah/master/lisp/org/ob-forth
/Users/gerd/.config/emacs.d.default/straight/build/org/ox-odt hides /Users/gerd/emacs/savannah/master/lisp/org/ox-odt
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-man hides /Users/gerd/emacs/savannah/master/lisp/org/ol-man
/Users/gerd/.config/emacs.d.default/straight/build/org/ox-publish hides /Users/gerd/emacs/savannah/master/lisp/org/ox-publish
/Users/gerd/.config/emacs.d.default/straight/build/org/org-archive hides /Users/gerd/emacs/savannah/master/lisp/org/org-archive
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-org hides /Users/gerd/emacs/savannah/master/lisp/org/ob-org
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-lua hides /Users/gerd/emacs/savannah/master/lisp/org/ob-lua
/Users/gerd/.config/emacs.d.default/straight/build/org/org-keys hides /Users/gerd/emacs/savannah/master/lisp/org/org-keys
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-eshell hides /Users/gerd/emacs/savannah/master/lisp/org/ob-eshell
/Users/gerd/.config/emacs.d.default/straight/build/org/org-faces hides /Users/gerd/emacs/savannah/master/lisp/org/org-faces
/Users/gerd/.config/emacs.d.default/straight/build/org/ox-man hides /Users/gerd/emacs/savannah/master/lisp/org/ox-man
/Users/gerd/.config/emacs.d.default/straight/build/org/org-list hides /Users/gerd/emacs/savannah/master/lisp/org/org-list
/Users/gerd/.config/emacs.d.default/straight/build/org/ox-md hides /Users/gerd/emacs/savannah/master/lisp/org/ox-md
/Users/gerd/.config/emacs.d.default/straight/build/org/org-goto hides /Users/gerd/emacs/savannah/master/lisp/org/org-goto
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-bbdb hides /Users/gerd/emacs/savannah/master/lisp/org/ol-bbdb
/Users/gerd/.config/emacs.d.default/straight/build/org/org hides /Users/gerd/emacs/savannah/master/lisp/org/org
/Users/gerd/.config/emacs.d.default/straight/build/org/ol-bibtex hides /Users/gerd/emacs/savannah/master/lisp/org/ol-bibtex
/Users/gerd/.config/emacs.d.default/straight/build/org/ox-koma-letter hides /Users/gerd/emacs/savannah/master/lisp/org/ox-koma-letter
/Users/gerd/.config/emacs.d.default/straight/build/org/ox-ascii hides /Users/gerd/emacs/savannah/master/lisp/org/ox-ascii
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-matlab hides /Users/gerd/emacs/savannah/master/lisp/org/ob-matlab
/Users/gerd/.config/emacs.d.default/straight/build/org/ox hides /Users/gerd/emacs/savannah/master/lisp/org/ox
/Users/gerd/.config/emacs.d.default/straight/build/org/org-timer hides /Users/gerd/emacs/savannah/master/lisp/org/org-timer
/Users/gerd/.config/emacs.d.default/straight/build/org/oc-natbib hides /Users/gerd/emacs/savannah/master/lisp/org/oc-natbib
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-core hides /Users/gerd/emacs/savannah/master/lisp/org/ob-core
/Users/gerd/.config/emacs.d.default/straight/build/org/org-feed hides /Users/gerd/emacs/savannah/master/lisp/org/org-feed
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-gnuplot hides /Users/gerd/emacs/savannah/master/lisp/org/ob-gnuplot
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-js hides /Users/gerd/emacs/savannah/master/lisp/org/ob-js
/Users/gerd/.config/emacs.d.default/straight/build/org/org-element-ast hides /Users/gerd/emacs/savannah/master/lisp/org/org-element-ast
/Users/gerd/.config/emacs.d.default/straight/build/org/org-footnote hides /Users/gerd/emacs/savannah/master/lisp/org/org-footnote
/Users/gerd/.config/emacs.d.default/straight/build/org/ob-maxima hides /Users/gerd/emacs/savannah/master/lisp/org/ob-maxima
/Users/gerd/.config/emacs.d.default/straight/build/org/org-cycle hides /Users/gerd/emacs/savannah/master/lisp/org/org-cycle
/Users/gerd/.config/emacs.d.default/straight/build/org/org-crypt hides /Users/gerd/emacs/savannah/master/lisp/org/org-crypt
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-androidsu hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-androidsu
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-smb hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-smb
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-crypt hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-crypt
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-sudoedit hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-sudoedit
/Users/gerd/.config/emacs.d.default/straight/build/soap-client/soap-client hides /Users/gerd/emacs/savannah/master/lisp/net/soap-client
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-fuse hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-fuse
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-adb hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-adb
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-loaddefs hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-loaddefs
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-message hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-message
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-sshfs hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-sshfs
/Users/gerd/.config/emacs.d.default/straight/build/soap-client/soap-inspect hides /Users/gerd/emacs/savannah/master/lisp/net/soap-inspect
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-gvfs hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-gvfs
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-compat hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-compat
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-cmds hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-cmds
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-integration hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-integration
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-uu hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-uu
/Users/gerd/.config/emacs.d.default/straight/build/tramp/trampver hides /Users/gerd/emacs/savannah/master/lisp/net/trampver
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-cache hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-cache
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-archive hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-archive
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp hides /Users/gerd/emacs/savannah/master/lisp/net/tramp
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-sh hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-sh
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-rclone hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-rclone
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-ftp hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-ftp
/Users/gerd/.config/emacs.d.default/straight/build/tramp/tramp-container hides /Users/gerd/emacs/savannah/master/lisp/net/tramp-container
/Users/gerd/.config/emacs.d.default/straight/build/compat/compat hides /Users/gerd/emacs/savannah/master/lisp/emacs-lisp/compat
/Users/gerd/.config/emacs.d.default/straight/build/track-changes/track-changes hides /Users/gerd/emacs/savannah/master/lisp/emacs-lisp/track-changes
/Users/gerd/.config/emacs.d.default/straight/build/seq/seq hides /Users/gerd/emacs/savannah/master/lisp/emacs-lisp/seq
/Users/gerd/.config/emacs.d.default/straight/build/eldoc/eldoc hides /Users/gerd/emacs/savannah/master/lisp/emacs-lisp/eldoc

Features:
(shadow emacsbug cl-print texinfo texinfo-loaddefs goto-addr embark-org
embark-consult embark ffap etags fileloop mouse-copy mouse-drag tabify
shr-color yasnippet misc flow-fill dired-aux mailalias smtpmail
mm-archive sort gnus-cite textsec uni-scripts idna-mapping ucs-normalize
uni-confusable textsec-check gnus-bcklg gnus-async qp gnus-ml nndraft
nnmh utf-7 nnfolder epa-file gnus-agent gnus-srvr gnus-score score-mode
nnvirtual gnus-msg nntp gnus-cache shortdoc comp-common help-fns
radix-tree org-indent oc-basic ol-eww eww url-queue mm-url ol-rmail
ol-mhe ol-irc ol-info ol-gnus nnselect ol-docview doc-view jka-compr
image-mode exif ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi
vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs log-view network-stream
url-cache google-translate-default-ui google-translate-core-ui facemenu
popup ido google-translate-core google-translate-backend ispell
consult-org-roam consult-org-roam-buffer cus-start org-roam-dailies
org-roam-migrate org-roam-log org-roam-mode org-roam-capture org-roam-id
org-roam-node org-roam-db emacsql-sqlite-builtin sqlite org-roam-utils
org-roam-compat org-roam org-attach emacsql-sqlite emacsql-sqlite-common
emacsql emacsql-compiler vertico-buffer vterm tramp trampver
tramp-integration tramp-message tramp-compat tramp-loaddefs face-remap
term ehelp vterm-module find-file goto-chg piem-gnus 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 iso8601
gnus-spec gnus-int gnus-range gnus-win piem url-http url-auth url-gw nsm
piem-maildir mail-extr gnus nnheader range org-agenda org-element
org-persist xdg org-id org-element-ast inline avl-tree generator
org-menu org-timer org-clock dbus xml org-capture org-refile 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 noutline
outline ob-emacs-lisp ob-core ob-eval org-cycle org-table org-keys oc
org-loaddefs cal-menu calendar cal-loaddefs ol org-fold org-fold-core
org-compat org-version org-macs sh-script treesit pulse color files-x
magit-extras 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 package url-handlers magit-repos magit-apply
magit-wip magit-log which-func magit-diff smerge-mode git-commit
log-edit message sendmail yank-media puny rfc822 mml mml-sec epa derived
epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr
mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log magit-core
magit-autorevert magit-margin magit-transient magit-process with-editor
server magit-mode browse-url url url-proxy url-privacy url-expand
url-methods url-history url-cookie generate-lisp-file url-domsuf mailcap
benchmark magit-git magit-base magit-section cursor-sensor crm dash
misearch multi-isearch mule-util time image time-date octave smie vc-git
bug-reference cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs psession frameset async
psession-autoloads nix-mode-autoloads kkp term/xterm xterm kkp-autoloads
evil-autoloads goto-chg-autoloads lldbx transient-posframe transient
format-spec eudcb-macos-contacts executable eudc cus-edit eudc-vars
google-translate-autoloads popup-autoloads svg-clock-autoloads
svg-autoloads inf-lisp shell autorevert recentf tree-widget wid-edit
dired dnd dired-loaddefs tramp-autoloads pcomplete disp-table xt-mouse
modus-vivendi-theme modus-themes repeat rx windmove
transient-posframe-autoloads ielm goto-last-change-autoloads
consult-org-roam-autoloads piem-autoloads org-roam-ui-autoloads
websocket-autoloads simple-httpd-autoloads org-roam-autoloads
emacsql-autoloads org-menu-autoloads vterm-autoloads
proced-narrow-autoloads use-package-ensure proced pixel-scroll cua-base
debbugs-autoloads soap-client-autoloads yasnippet-autoloads finder-inf
which-key-posframe which-key which-key-posframe-autoloads
which-key-autoloads persistent-scratch persistent-scratch-autoloads
delsel hl-line display-line-numbers gud ws-butler ws-butler-autoloads
consult-eglot consult-eglot-autoloads eglot-autoloads
track-changes-autoloads jsonrpc-autoloads flymake-autoloads
external-completion-autoloads eldoc-autoloads eglot external-completion
jsonrpc xref flymake mwheel thingatpt seq-25 diff diff-mode
track-changes ert ewoc debug backtrace find-func filenotify warnings
compile comint regexp-opt ansi-osc ansi-color ring pcase url-util
url-parse auth-source eieio eieio-core icons password-cache url-vars
imenu corfu-terminal popon corfu-terminal-autoloads popon-autoloads
corfu-quick corfu corfu-autoloads embark-consult-autoloads
embark-autoloads consult-ls-git vc vc-dispatcher
consult-ls-git-autoloads consult bookmark fringe text-property-search pp
consult-autoloads orderless orderless-autoloads vertico-posframe
posframe cus-load vertico-posframe-autoloads posframe-autoloads
vertico-multiform vertico-mouse vertico-grid vertico vertico-autoloads
marginalia compat marginalia-autoloads magit-todos-autoloads
pcre2el-autoloads hl-todo-autoloads f-autoloads s-autoloads
async-autoloads git-timemachine-autoloads edmacro kmacro magit-autoloads
magit-section-autoloads git-commit-autoloads with-editor-autoloads
transient-autoloads dash-autoloads compat-autoloads info seq-autoloads
use-package-bind-key bind-key easy-mmode project project-autoloads
xref-autoloads exec-path-from-shell json map byte-opt
exec-path-from-shell-autoloads use-package-core straight-autoloads
cl-seq cl-extra help-mode tool-bar straight subr-x cl-macs cl-loaddefs
cl-lib bytecomp byte-compile chemacs gv rmc iso-transl tooltip cconv
eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind kqueue lcms2 multi-tty make-network-process emacs)

Memory information:
((conses 16 1122403 560029) (symbols 48 52050 47)
 (strings 32 182880 18620) (string-bytes 1 5491558)
 (vectors 16 119077) (vector-slots 8 1974472 180993)
 (floats 8 883 8575) (intervals 56 99922 4397) (buffers 992 65))





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

* bug#73548: 31.0.50; track-changes--error-log
  2024-09-29  7:32 bug#73548: 31.0.50; track-changes--error-log Gerd Möllmann
@ 2024-09-29  8:14 ` Eli Zaretskii
  2024-10-03 15:15 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2024-09-29  8:14 UTC (permalink / raw)
  To: Gerd Möllmann, Stefan Monnier; +Cc: 73548

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Date: Sun, 29 Sep 2024 09:32:04 +0200
> 
> This is a warning I got today while editing a C file. No idea how to
> reproduce, I'm afraid. This is master on a terminal frame.
> 
>    ■  Warning (emacs): Missing/incorrect calls to ‘before/after-change-functions’!!
>   Details logged to ‘track-changes--error-log’
> 
> track-changes--error-log is a variable defined in ‘track-changes.el’.
> 
> Its value is shown below.
> 
> List of errors encountered.
> Each element is a triplet (BUFFER-NAME BACKTRACE RECENT-KEYS).
> 
> Value:
> (("frame.h" #1=(unexpected-after 47748 47748 1)
>   ((t track-changes--recover-from-error (#1#) nil)
>    (t track-changes--after (47748 47748 1) nil)
>    (t delete-char (-1 nil) nil) (t delete-backward-char (1 nil) nil)
>    (t backward-delete-char-untabify (1) nil)
>    (t c-electric-backspace (nil) nil)
>    (t funcall-interactively (c-electric-backspace nil) nil)
>    (t call-interactively (c-electric-backspace nil nil) nil)
>    (t command-execute (c-electric-backspace) nil))
>   [86 (nil . self-insert-command) 73 (nil . self-insert-command) 83
>       (nil . self-insert-command) 73 (nil . self-insert-command) 66
>       (nil . self-insert-command) 76 (nil . self-insert-command) 69
>       (nil . self-insert-command) 32 (nil . self-insert-command) 40
>       (nil . c-electric-paren) 127 (nil . c-electric-backspace)]))
> 
> In GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin24.0.0) of 2024-09-26
>  built on MacBookPro.fritz.box
> Repository revision: 2f485e68ff96cc66a17df2c0a58e272bbfc24765
> Repository branch: master
> System Description:  macOS 15.0

Adding Stefan.





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

* bug#73548: 31.0.50; track-changes--error-log
  2024-09-29  7:32 bug#73548: 31.0.50; track-changes--error-log Gerd Möllmann
  2024-09-29  8:14 ` Eli Zaretskii
@ 2024-10-03 15:15 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-03 15:33   ` Gerd Möllmann
  1 sibling, 1 reply; 6+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-10-03 15:15 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: 73548

Hi Gerd,

> This is a warning I got today while editing a C file. No idea how to
> reproduce, I'm afraid. This is master on a terminal frame.
>
>    ■  Warning (emacs): Missing/incorrect calls to ‘before/after-change-functions’!!
>   Details logged to ‘track-changes--error-log’
>
> track-changes--error-log is a variable defined in ‘track-changes.el’.
>
> Its value is shown below.
>
> List of errors encountered.
> Each element is a triplet (BUFFER-NAME BACKTRACE RECENT-KEYS).
>
> Value:
> (("frame.h" #1=(unexpected-after 47748 47748 1)
>   ((t track-changes--recover-from-error (#1#) nil)
>    (t track-changes--after (47748 47748 1) nil)
>    (t delete-char (-1 nil) nil) (t delete-backward-char (1 nil) nil)
>    (t backward-delete-char-untabify (1) nil)
>    (t c-electric-backspace (nil) nil)
>    (t funcall-interactively (c-electric-backspace nil) nil)
>    (t call-interactively (c-electric-backspace nil nil) nil)
>    (t command-execute (c-electric-backspace) nil))
>   [86 (nil . self-insert-command) 73 (nil . self-insert-command) 83
>       (nil . self-insert-command) 73 (nil . self-insert-command) 66
>       (nil . self-insert-command) 76 (nil . self-insert-command) 69
>       (nil . self-insert-command) 32 (nil . self-insert-command) 40
>       (nil . c-electric-paren) 127 (nil . c-electric-backspace)]))

Hmm... the recent-keys only include "harmless" commands which definitely
should not trigger those "unexpected-after" problems.

The problem that track-changes reports here is that the call to
`after-change-functions` specified a region that's (apparently) outside
the area specified by the previous `before-change-functions`.
Since this is within `delete-char` (according to the backtrace), it's
very weird: `delete-char` is a very basic case where such an error
should have been noticed many years ago.

Do you remember if there might have been other buffer changes during
this `delete-char` e.g. because of some other package hooked (directly
or not) into one of the `*-change-functions`?


        Stefan






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

* bug#73548: 31.0.50; track-changes--error-log
  2024-10-03 15:15 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-10-03 15:33   ` Gerd Möllmann
  2024-10-03 18:36     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 6+ messages in thread
From: Gerd Möllmann @ 2024-10-03 15:33 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 73548

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

> Hi Gerd,
>
>> This is a warning I got today while editing a C file. No idea how to
>> reproduce, I'm afraid. This is master on a terminal frame.
>>
>>    ■  Warning (emacs): Missing/incorrect calls to ‘before/after-change-functions’!!
>>   Details logged to ‘track-changes--error-log’
>>
>> track-changes--error-log is a variable defined in ‘track-changes.el’.
>>
>> Its value is shown below.
>>
>> List of errors encountered.
>> Each element is a triplet (BUFFER-NAME BACKTRACE RECENT-KEYS).
>>
>> Value:
>> (("frame.h" #1=(unexpected-after 47748 47748 1)
>>   ((t track-changes--recover-from-error (#1#) nil)
>>    (t track-changes--after (47748 47748 1) nil)
>>    (t delete-char (-1 nil) nil) (t delete-backward-char (1 nil) nil)
>>    (t backward-delete-char-untabify (1) nil)
>>    (t c-electric-backspace (nil) nil)
>>    (t funcall-interactively (c-electric-backspace nil) nil)
>>    (t call-interactively (c-electric-backspace nil nil) nil)
>>    (t command-execute (c-electric-backspace) nil))
>>   [86 (nil . self-insert-command) 73 (nil . self-insert-command) 83
>>       (nil . self-insert-command) 73 (nil . self-insert-command) 66
>>       (nil . self-insert-command) 76 (nil . self-insert-command) 69
>>       (nil . self-insert-command) 32 (nil . self-insert-command) 40
>>       (nil . c-electric-paren) 127 (nil . c-electric-backspace)]))
>
> Hmm... the recent-keys only include "harmless" commands which definitely
> should not trigger those "unexpected-after" problems.
>
> The problem that track-changes reports here is that the call to
> `after-change-functions` specified a region that's (apparently) outside
> the area specified by the previous `before-change-functions`.
> Since this is within `delete-char` (according to the backtrace), it's
> very weird: `delete-char` is a very basic case where such an error
> should have been noticed many years ago.
>
> Do you remember if there might have been other buffer changes during
> this `delete-char` e.g. because of some other package hooked (directly
> or not) into one of the `*-change-functions`?


Hi Stefan,

the only "extra" I have running in C buffers is eglot, with
eglot-ensure in c-mode-common-hook. Don't know if Eglot changes the
buffer, maybe when it wants to add diagnostics?





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

* bug#73548: 31.0.50; track-changes--error-log
  2024-10-03 15:33   ` Gerd Möllmann
@ 2024-10-03 18:36     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-03 18:46       ` Gerd Möllmann
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-10-03 18:36 UTC (permalink / raw)
  To: Gerd Möllmann; +Cc: 73548

> the only "extra" I have running in C buffers is eglot, with
> eglot-ensure in c-mode-common-hook. Don't know if Eglot changes the
> buffer, maybe when it wants to add diagnostics?

Hmm... I don't think Eglot would make changes to the buffer behind
your back.

Not sure what more we can do with this report if you can't reproduce it.
But in case you do see it "every once in a while", then I pushed to
`master` some extra debugging support in `track-changes.el`.

So, try and `(setq track-changes-record-errors 'trace)` in your init
file to activate this extra debugging info, so that next time you hit
the problem we have a better chance of catching the sucker.


        Stefan






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

* bug#73548: 31.0.50; track-changes--error-log
  2024-10-03 18:36     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-10-03 18:46       ` Gerd Möllmann
  0 siblings, 0 replies; 6+ messages in thread
From: Gerd Möllmann @ 2024-10-03 18:46 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 73548

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

>> the only "extra" I have running in C buffers is eglot, with
>> eglot-ensure in c-mode-common-hook. Don't know if Eglot changes the
>> buffer, maybe when it wants to add diagnostics?
>
> Hmm... I don't think Eglot would make changes to the buffer behind
> your back.
>
> Not sure what more we can do with this report if you can't reproduce it.
> But in case you do see it "every once in a while", then I pushed to
> `master` some extra debugging support in `track-changes.el`.
>
> So, try and `(setq track-changes-record-errors 'trace)` in your init
> file to activate this extra debugging info, so that next time you hit
> the problem we have a better chance of catching the sucker.

Thanks, I've added that to my init file. Let's see if it resurfaces.





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

end of thread, other threads:[~2024-10-03 18:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-29  7:32 bug#73548: 31.0.50; track-changes--error-log Gerd Möllmann
2024-09-29  8:14 ` Eli Zaretskii
2024-10-03 15:15 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-03 15:33   ` Gerd Möllmann
2024-10-03 18:36     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-03 18:46       ` Gerd Möllmann

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