GNU bug report logs - #80151
30.2; sgml-delete-tag does not work with Tree-sitter

Previous Next

Package: emacs;

Reported by: Charles Choi <kickingvegas <at> gmail.com>

Date: Wed, 7 Jan 2026 17:41:01 UTC

Severity: normal

Found in version 30.2

To reply to this bug, email your comments to 80151 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#80151; Package emacs. (Wed, 07 Jan 2026 17:41:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Charles Choi <kickingvegas <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 07 Jan 2026 17:41:02 GMT) Full text and rfc822 format available.

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

From: Charles Choi <kickingvegas <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.2; sgml-delete-tag does not work with Tree-sitter
Date: Wed, 7 Jan 2026 09:39:48 -0800
* Description

When html-ts-mode is enabled, the command sgml-delete-tag deletes the tag pair (the start and end tags) and the content it encloses. It should only delete the tag pair.

* Environment

GNU Emacs 30.2 (build 2, aarch64-apple-darwin24.6.0, NS appkit-2575.70 Version 15.7 (Build 24G222)) of 2025-09-24

* Steps to Reproduce

1. Load an HTML file in Emacs configured for Tree-sitter with the following code fragment:
   
  #+BEGIN_SRC html
    <div>
      <p>This is what this does.</p>
      <p>Maybe this will all work out.</p>
    </div>
  #+END_SRC

2. Place the point in front of the first <div> and run M-x sgml-delete-tag.

* Expected Result

Only the <div> and </div> tags are deleted.

* Actual Result

The content between <div> and </div> are also deleted.


---

In GNU Emacs 30.2 (build 2, aarch64-apple-darwin24.6.0, NS
appkit-2575.70 Version 15.7 (Build 24G222)) of 2025-09-24 built on
bingsu.local
Windowing system distributor 'Apple', version 10.3.2575
System Description:  macOS 15.7.3

Configured using:
'configure --prefix=/opt/local --disable-silent-rules --without-dbus
--without-gconf --without-libotf --without-m17n-flt --with-libgmp
--with-gnutls --with-xml2 --with-modules --with-sqlite3 --with-webp
--with-native-compilation=aot --infodir /opt/local/share/info/emacs
--disable-gc-mark-trace --with-ns --with-lcms2 --without-harfbuzz
--without-imagemagick --without-xaw3d --with-rsvg --with-tree-sitter
'CFLAGS=-pipe -Os -Wno-attributes
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk -arch
arm64' 'CPPFLAGS=-I/opt/local/include
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk'
'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-no_pie
-Wl,-rpath /opt/local/lib/gcc15 -Wl,-rpath /opt/local/lib
-Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk
-arch arm64''

Configured features:
ACL GIF GLIB GMP GNUTLS JPEG LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY
KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XIM ZLIB

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

Major mode: Org

Minor modes in effect:
  dired-async-mode: t
  org-indent-mode: t
  csv-field-index-mode: t
  global-git-commit-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  global-diff-hl-mode: t
  diff-hl-mode: t
  repeat-mode: t
  server-mode: t
  buffer-face-mode: t
  org-superstar-mode: t
  flyspell-mode: t
  company-mode: t
  electric-pair-mode: t
  recentf-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  override-global-mode: t
  savehist-mode: t
  save-place-mode: t
  global-auto-revert-mode: t
  display-time-mode: t
  delete-selection-mode: t
  auto-insert-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  prettify-symbols-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  column-number-mode: t
  line-number-mode: t
  visual-line-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/opt/local/share/emacs/site-lisp/password-store hides /Users/cchoi/.config/emacs/elpa/password-store-20250618.951/password-store
/Users/cchoi/.config/emacs/elpa/editorconfig-20251221.650/editorconfig hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/editorconfig
/Users/cchoi/.config/emacs/elpa/which-key-20240620.2145/which-key hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/which-key
/Users/cchoi/.config/emacs/elpa/editorconfig-20251221.650/editorconfig-core hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/editorconfig-core
/Users/cchoi/.config/emacs/elpa/editorconfig-20251221.650/editorconfig-conf-mode hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/editorconfig-conf-mode
/Users/cchoi/.config/emacs/elpa/jsonrpc-1.0.27/jsonrpc hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/jsonrpc
/Users/cchoi/emacs/cclisp/custom hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/custom
/Users/cchoi/.config/emacs/elpa/editorconfig-20251221.650/editorconfig-tools hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/editorconfig-tools
/Users/cchoi/.config/emacs/elpa/transient-20260104.1649/transient hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/transient
/Users/cchoi/.config/emacs/elpa/editorconfig-20251221.650/editorconfig-core-handle hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/editorconfig-core-handle
/Users/cchoi/.config/emacs/elpa/bind-key-20230203.2004/bind-key hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/bind-key
/Users/cchoi/.config/emacs/elpa/window-tool-bar-0.3/window-tool-bar hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/window-tool-bar
/Users/cchoi/.config/emacs/elpa/editorconfig-20251221.650/editorconfig-fnmatch hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/editorconfig-fnmatch
/Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-jump hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-jump
/Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-ensure hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-ensure
/Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-core hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-core
/Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-delight hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-delight
/Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-diminish hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-diminish
/Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package
/Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-bind-key hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-bind-key
/Users/cchoi/.config/emacs/elpa/use-package-20230426.2324/use-package-lint hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/use-package/use-package-lint
/Users/cchoi/.config/emacs/elpa/idlwave-6.5.1/idlwave hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/idlwave
/Users/cchoi/.config/emacs/elpa/idlwave-6.5.1/idlw-complete-structtag hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/idlw-complete-structtag
/Users/cchoi/.config/emacs/elpa/peg-1.0.2/peg hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/peg
/Users/cchoi/.config/emacs/elpa/idlwave-6.5.1/idlw-help hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/idlw-help
/Users/cchoi/.config/emacs/elpa/python-0.30/python hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/python
/Users/cchoi/.config/emacs/elpa/verilog-mode-2025.11.8.248496848/verilog-mode hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/verilog-mode
/Users/cchoi/.config/emacs/elpa/idlwave-6.5.1/idlw-shell hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/idlw-shell
/Users/cchoi/.config/emacs/elpa/project-0.11.2/project hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/project
/Users/cchoi/.config/emacs/elpa/eglot-20221020.1010/eglot hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/eglot
/Users/cchoi/.config/emacs/elpa/flymake-1.4.3/flymake hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/flymake
/Users/cchoi/.config/emacs/elpa/idlwave-6.5.1/idlw-toolbar hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/progmodes/idlw-toolbar
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-exp hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-exp
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-emacs-lisp hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-emacs-lisp
/Users/cchoi/.config/emacs/elpa/org-9.7.39/oc hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/oc
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-css hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-css
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-lob hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lob
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-irc hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-irc
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-forth hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-forth
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-macs hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-macs
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-version hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-version
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-scheme hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-scheme
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-C hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-C
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-capture hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-capture
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-ref hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ref
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-clojure hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-clojure
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-mouse hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-mouse
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-persist hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-persist
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-ctags hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-ctags
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-entities hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-entities
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-archive hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-archive
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-screen hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-screen
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-bibtex hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-bibtex
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-haskell hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-haskell
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-loaddefs hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-loaddefs
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-table hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-table
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-eww hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-eww
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-man hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-man
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox-org hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-org
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-num hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-num
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-plot hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-plot
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-rmail hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-rmail
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-awk hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-awk
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-groovy hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-groovy
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-octave hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-octave
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-faces hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-faces
/Users/cchoi/.config/emacs/elpa/org-9.7.39/oc-biblatex hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/oc-biblatex
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-colview hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-colview
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-R hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-R
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-refile hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-refile
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-timer hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-timer
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-mobile hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-mobile
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-fortran hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-fortran
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-shell hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-shell
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-perl hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-perl
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-sqlite hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sqlite
/Users/cchoi/.config/emacs/elpa/org-9.7.39/oc-basic hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/oc-basic
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-sed hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sed
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-list hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-list
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-ruby hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ruby
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-eval hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-eval
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-habit hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-habit
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-clock hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-clock
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-goto hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-goto
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox-html hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-html
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-src hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-src
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-lisp hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lisp
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-eshell hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-eshell
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-ditaa hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ditaa
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-pcomplete hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-pcomplete
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-lint hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-lint
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox-latex hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-latex
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-sass hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sass
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-tangle hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-tangle
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-calc hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-calc
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-java hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-java
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox-icalendar hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-icalendar
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-mhe hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-mhe
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-attach-git hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-attach-git
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox-md hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-md
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox-beamer hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-beamer
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-element hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-element
/Users/cchoi/.config/emacs/elpa/org-9.7.39/oc-natbib hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/oc-natbib
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-protocol hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-protocol
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-gnuplot hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-gnuplot
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-tempo hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-tempo
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-latex hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-latex
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-w3m hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-w3m
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-id hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-id
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox-man hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-man
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-doi hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-doi
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-feed hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-feed
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-fold-core hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-fold-core
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-julia hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-julia
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-lua hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lua
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-table hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-table
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-ocaml hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-ocaml
/Users/cchoi/.config/emacs/elpa/org-9.7.39/oc-csl hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/oc-csl
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-gnus hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-gnus
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-indent hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-indent
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-lilypond hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-lilypond
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-matlab hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-matlab
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-datetree hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-datetree
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-docview hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-docview
/Users/cchoi/.config/emacs/elpa/org-9.7.39/oc-bibtex hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/oc-bibtex
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-python hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-python
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-makefile hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-makefile
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-duration hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-duration
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-agenda hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-agenda
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-dot hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-dot
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-js hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-js
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox-publish hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-publish
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-inlinetask hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-inlinetask
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-org hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-org
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-keys hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-keys
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-core hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-core
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-compat hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-compat
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox-odt hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-odt
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-info hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-info
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-plantuml hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-plantuml
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-eshell hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-eshell
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox-ascii hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-ascii
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox-koma-letter hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-koma-letter
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-maxima hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-maxima
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ol-bbdb hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ol-bbdb
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-macro hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-macro
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-fold hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-fold
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-sql hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-sql
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-attach hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-attach
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-cycle hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-cycle
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-processing hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-processing
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ox-texinfo hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ox-texinfo
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-crypt hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-crypt
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-footnote hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-footnote
/Users/cchoi/.config/emacs/elpa/org-9.7.39/org-element-ast hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/org-element-ast
/Users/cchoi/.config/emacs/elpa/org-9.7.39/ob-comint hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/org/ob-comint
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-androidsu hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-androidsu
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-archive hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-archive
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-smb hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-smb
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-fuse hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-fuse
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-uu hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-uu
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-adb hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-adb
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-loaddefs hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-loaddefs
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-message hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-message
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-sh hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-sh
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-container hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-container
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/trampver hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/trampver
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-cmds hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-cmds
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-integration hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-integration
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-sudoedit hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-sudoedit
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-cache hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-cache
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-sshfs hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-sshfs
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-crypt hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-crypt
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-compat hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-compat
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-gvfs hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-gvfs
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-ftp hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-ftp
/Users/cchoi/.config/emacs/elpa/tramp-2.8.1/tramp-rclone hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/net/tramp-rclone
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-identd hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-identd
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-log hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-log
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-lang hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-lang
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-compat hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-compat
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-goodies hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-goodies
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-dcc hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-dcc
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-join hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-join
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-loaddefs hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-loaddefs
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-replace hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-replace
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-capab hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-capab
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-truncate hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-truncate
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-notify hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-notify
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-ibuffer hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-ibuffer
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-desktop-notifications hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-desktop-notifications
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-netsplit hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-netsplit
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-status-sidebar hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-status-sidebar
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-match hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-match
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-fill hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-fill
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-common hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-common
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-networks hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-networks
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-ezbounce hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-ezbounce
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-pcomplete hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-pcomplete
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-services hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-services
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-button hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-button
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-list hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-list
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-xdcc hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-xdcc
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-stamp hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-stamp
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-imenu hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-imenu
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-sound hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-sound
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-sasl hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-sasl
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-track hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-track
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-menu hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-menu
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-backend hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-backend
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-ring hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-ring
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-page hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-page
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-nicks hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-nicks
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-spelling hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-spelling
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-speedbar hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-speedbar
/Users/cchoi/.config/emacs/elpa/erc-5.6.1/erc-autoaway hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/erc/erc-autoaway
/Users/cchoi/.config/emacs/elpa/faceup-20170925.1946/faceup hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/emacs-lisp/faceup
/Users/cchoi/.config/emacs/elpa/track-changes-1.5/track-changes hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/emacs-lisp/track-changes
/Users/cchoi/.config/emacs/elpa/eldoc-1.16.0/eldoc hides /Applications/MacPorts/Emacs.app/Contents/Resources/lisp/emacs-lisp/eldoc

Features:
(shadow mail-extr emacsbug html-ts-mode align misc fireplace zone
re-builder ielm hippie-exp elfeed-link company-org-block dired-async
em-unix em-term em-script em-pred em-ls em-glob em-cmpl em-dirs em-basic
em-banner cal-bahai cal-islam cal-hebrew cal-julian cal-iso org-indent
image-file image-converter oc-basic ol-eww 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 ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi
casual-isearch casual-isearch-settings casual-isearch-utils numeri rst
scrim-utils cc-html-mode casual-html casual-html-utils
casual-html-settings mhtml-mode hideshow company-oddmuse
company-keywords company-etags company-gtags company-dabbrev-code
company-dabbrev company-files company-clang company-capf company-cmake
company-semantic company-template company-bbdb vc-hg vc-git vc-bzr
vc-src vc-sccs vc-svn vc-cvs vc-rcs js-mode-expansions js c-ts-common
cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-styles cc-align
cc-css-mode casual-css casual-css-utils casual-css-settings
css-mode-expansions css-mode cc-debbugs-mode gnus-sum gnus-group
gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source
utf7 nnoo gnus-spec gnus-int gnus-range gnus-win debbugs-gnu
debbugs-bookmarks debbugs soap-client url-http url-auth url-gw nsm
rng-xsd xsd-regexp debbugs-compat cc-eww-mode eww mm-url gnus nnheader
range cc-bibtex-mode casual-bibtex casual-bibtex-utils
casual-bibtex-settings bibtex cc-erc-mode erc-nicks erc-button erc-fill
erc-stamp erc erc-backend erc-networks erc-common erc-compat
erc-loaddefs cc-main-tmenu gnuplot info-look webpaste request
cc-csv-mode casual-csv casual-csv-utils casual-csv-settings csv-mode
sort cc-make-mode casual-make casual-make-settings casual-make-utils
cc-image-mode casual-image casual-image-settings casual-image-utils
image-crop cc-calendar-mode casual-calendar casual-calendar-settings
casual-calendar-utils casual-calendar-constants cc-symbol-overlay
casual-symbol-overlay casual-symbol-overlay-settings
casual-symbol-overlay-version casual-symbol-overlay-utils symbol-overlay
cc-re-builder cc-calc-mode casual-calc casual-calc-symbolic
casual-calc-variables casual-calc-algebra calcalg3 casual-calc-financial
casual-calc-stack calc-undo calc-yank casual-calc-trail
casual-calc-graphics casual-calc-fileio calc-vec casual-calc-vector
casual-calc-predicates casual-calc-units casual-calc-trigonometric
casual-calc-time calc-forms casual-calc-settings
casual-calc-angle-measure casual-calc-rounding casual-calc-random
calc-comb casual-calc-logarithmic casual-calc-conversion
casual-calc-complex casual-calc-binary casual-calc-radix
casual-calc-labels casual-calc-utils casual-calc--calc calc-math
calc-ext cc-package-menu-mode cc-digital-logic cc-agenda-timeline
diary-lib cal-china lunar solar cal-dst diary-loaddefs holidays
holiday-loaddefs kill-with-intelligence cc-grep-mode cc-compile-mode
casual-compile casual-compile-utils casual-compile-settings
cc-menu-reconfig cc-truth-table cc-magit-mode cc-gh git-link-transient
git-link cc-global-keybindings recent-rgrep casual-avy
casual-avy-version 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 git-commit log-edit
add-log magit-core magit-autorevert magit-margin magit-transient
magit-process magit-mode benchmark magit-git magit-base magit-section
cursor-sensor llama 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 treemacs-faces treemacs-icons
treemacs-scope treemacs-themes treemacs-core-utils pfuture
treemacs-logging treemacs-customization treemacs-macros google-this
osx-dictionary neotree advice cc-view-mode cc-cmds cc-engine cc-vars
cc-defs view cc-swift-mode cc-python-mode cc-diff-hl-mode diff-hl
log-view pcvs-util vc-dir ewoc vc vc-dispatcher diff-mode track-changes
cc-context-menu cc-wgrep-mode cc-edit-text-menu cc-find-menu
cc-insert-org-plot cc-region-operations-menu cc-transform-text-menu
cc-occur-mode cc-ediff-mode casual-ediff casual-ediff-utils
casual-ediff-settings cc-info-mode casual-info casual-info-settings
casual-info-utils casual-info-variables cc-doc-mode-ux casual-help
casual-help-utils casual-help-settings casual-man casual-man-utils
casual-man-settings man shortdoc cc-repeat-mode repeat
cc-google-translate google-translate-smooth-ui google-translate
google-translate-default-ui google-translate-core-ui popup ido
google-translate-core google-translate-backend cc-elfeed-mode
elfeed-show elfeed-search message sendmail yank-media 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 shr pixel-fill kinsoku puny
svg elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib
url-queue url-file xml-query xml go-mode find-file ffap etags
cc-shell-mode term disp-table ehelp cc-eshell-mode with-editor server
casual-eshell em-prompt casual-eshell-utils em-alias
casual-eshell-settings eshell-git-prompt helm-eshell helm-elisp
helm-files helm-buffers helm-x-icons helm-occur helm-tags helm-locate
helm-grep helm-regexp helm-eval helm-info helm-utils helm-types
helm-help helm helm-global-bindings helm-easymenu helm-core helm-source
helm-multi-match helm-lib async em-hist esh-mode esh-var eshell esh-cmd
esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-module-loaddefs
esh-util cc-tetris-mode tetris gamegrid cc-js-mode cc-dired-mode
dired-rsync-transient dired-rsync casual-dired casual-dired-settings
dired-aux casual-dired-sort-by casual-dired-utils casual-dired-variables
checkdoc lisp-mnt image-dired-dired image-dired image-dired-tags
image-dired-external image-dired-util wdired dired-x
cc-bookmarks-bmenu-mode casual-bookmarks casual-bookmarks-settings
casual-bookmarks-utils cc-sgml-mode cc-nxml-mode nxml-mode-expansions
rng-nxml rng-valid nxml-mode nxml-outln nxml-rap html-mode-expansions
sgml-mode facemenu dom cc-objc-mode cc-markdown-mode cc-blog-utils
cc-org-agenda cc-org-mode cc-org-capture ob-swift ob-gnuplot ob-plantuml
ob-sqlite ob-sql ob-shell ob-python python-el-fgallina-expansions python
ob-dot cus-edit ob-swiftui swift-mode swift-mode-imenu swift-mode-repl
swift-mode-font-lock swift-mode-standard-types swift-mode-fill
swift-mode-beginning-of-defun swift-mode-indent swift-mode-lexer
org-protocol cc-style-text-menu markdown-mode edit-indirect
cc-context-menu-macros casual-agenda casual-agenda-settings
casual-agenda-utils org-clock cc-org-smart-quotes ox-texinfo 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-md ox-latex ox-icalendar ox-html
table ox-ascii ox-publish ox org-attach face-remap org-superstar
org-mouse cc-text-mode cc-emacs-lisp-mode casual-elisp
casual-elisp-utils casual-elisp-settings xref calle24-edebug calle24
doc-view jka-compr image-mode exif edebug debug backtrace flycheck
cc-prog-mode casual-editkit casual-editkit-utils casual-timezone
casual-timezone-settings casual-timezone-utils derived vtable
casual-editkit-settings casual-editkit-constants tabify fileloop
goto-addr flyspell ispell gud display-fill-column-indicator
display-line-numbers rainbow-mode color cc-save-hooks company elec-pair
make-mode cc-ibuffer-mode casual-ibuffer casual-ibuffer-filter
casual-ibuffer-settings casual-ibuffer-utils hl-line ibuf-ext ibuffer
ibuffer-loaddefs cclisp comp comp-cstr warnings comp-run comp-common
page-ext dired dired-loaddefs transpose-frame casual-lib which-func
imenu ace-window avy project calc calc-loaddefs rect calc-macs
org-ql-view ov org-super-agenda ht org-ql peg ts s dash org-habit
org-duration crm org-agenda org-capture the-org-mode-expansions
org-element org-persist org-id org-refile org-element-ast inline
avl-tree generator org ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-macro org-src sh-script smie treesit executable 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 ol org-fold
org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar
cal-loaddefs org-compat org-version org-macs bookmark transient pp
edmacro kmacro cond-let compat ediff ediff-merg ediff-mult ediff-wind
ediff-diff ediff-help ediff-init ediff-util recentf tree-widget wid-edit
yasnippet-snippets cl-extra yasnippet wgrep grep compile
text-property-search expand-region text-mode-expansions
er-basic-expansions thingatpt expand-region-core expand-region-custom
use-package use-package-ensure use-package-delight use-package-diminish
use-package-bind-key bind-key easy-mmode use-package-core savehist
saveplace tramp-sh tramp-cache time-stamp tramp trampver
tramp-integration files-x tramp-message help-mode tramp-compat xdg shell
pcomplete comint ansi-osc parse-time iso8601 time-date format-spec
ansi-color tramp-loaddefs pixel-scroll cua-base ring autorevert
filenotify time delsel autoinsert cus-load finder-inf
auto-complete-autoloads calfw-autoloads calle24-autoloads
citeproc-autoloads company-autoloads countdown-autoloads
csv-mode-autoloads debbugs-autoloads diff-hl-autoloads
dired-rsync-transient-autoloads dired-rsync-autoloads ebib-autoloads
edit-indirect-autoloads editorconfig-autoloads elfeed-autoloads
erc-autoloads eshell-git-prompt-autoloads expand-region-autoloads
faceup-autoloads flycheck-package-autoloads flycheck-autoloads
git-link-autoloads gnuplot-autoloads go-mode-autoloads
google-this-autoloads google-translate-autoloads
graphviz-dot-mode-autoloads helm-bibtex-autoloads
bibtex-completion-autoloads biblio-autoloads helm-swoop-autoloads
helm-autoloads helm-core-autoloads async-autoloads idlwave-autoloads
iedit-autoloads js2-mode-autoloads json-mode-autoloads jsonian-autoloads
jsonrpc-autoloads kanban-autoloads ledger-mode-autoloads magit-autoloads
pcase magit-section-autoloads llama-autoloads markdown-mode-autoloads
neotree-autoloads numeri-autoloads ob-swiftui-autoloads org-ql-autoloads
org-re-reveal-autoloads org-super-agenda-autoloads
org-superstar-autoloads osx-dictionary-autoloads ox-jira-autoloads
ox-gfm-autoloads org-autoloads package-lint-autoloads paredit-autoloads
parsebib-autoloads password-store-autoloads peg-autoloads
plantuml-mode-autoloads deflate-autoloads popup-autoloads
python-autoloads flymake-autoloads eldoc-autoloads project-autoloads
queue-autoloads reveal-in-folder-autoloads f-autoloads scpaste-autoloads
htmlize-autoloads show-font-autoloads smart-mode-line-autoloads
rich-minority-autoloads solarized-theme-autoloads
sqlite-mode-extras-autoloads sr-speedbar-autoloads stream-autoloads
string-inflection-autoloads swift-mode-autoloads
symbol-overlay-autoloads toc-org-autoloads track-changes-autoloads
tramp-autoloads rx transient-autoloads cond-let-autoloads
transpose-frame-autoloads treemacs-autoloads cfrs-autoloads
posframe-autoloads hydra-autoloads avy-autoloads ts-autoloads
dash-autoloads verilog-mode-autoloads webpaste-autoloads
request-autoloads wfnames-autoloads which-key-autoloads
window-tool-bar-autoloads info with-editor-autoloads yaml-mode-autoloads
yasnippet-snippets-autoloads yasnippet-autoloads ztree-autoloads package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs icons
password-cache json subr-x map byte-opt gv bytecomp byte-compile
url-vars cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren
electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/ns-win ns-win ucs-normalize mule-util term/common-win 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 kqueue cocoa ns lcms2
multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 2378315 244205) (symbols 48 79529 0) (strings 32 400659 14865)
(string-bytes 1 11874808) (vectors 16 163047) (vector-slots 8 2739743 257143)
(floats 8 1657 20494) (intervals 56 44309 2036) (buffers 992 135))


—
Charles Y. Choi, Ph.D.
kickingvegas <at> gmail.com









Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#80151; Package emacs. (Wed, 07 Jan 2026 19:22:03 GMT) Full text and rfc822 format available.

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

From: Juri Linkov <juri <at> linkov.net>
To: Charles Choi <kickingvegas <at> gmail.com>
Cc: 80151 <at> debbugs.gnu.org
Subject: Re: bug#80151: 30.2; sgml-delete-tag does not work with Tree-sitter
Date: Wed, 07 Jan 2026 21:20:36 +0200
> When html-ts-mode is enabled, the command sgml-delete-tag deletes the
> tag pair (the start and end tags) and the content it encloses. It
> should only delete the tag pair.

sgml-mode and html-ts-mode have different definitions of a sexp,
but sgml-delete-tag relies on non-ts definition.

In html-ts-mode another way to do the same is to select all text
inside the tag, then just use 'raise-sexp'.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#80151; Package emacs. (Wed, 07 Jan 2026 19:34:01 GMT) Full text and rfc822 format available.

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

From: Charles Choi <kickingvegas <at> gmail.com>
To: juri <at> linkov.net
Cc: 80151 <at> debbugs.gnu.org
Subject: Re: bug#80151: 30.2; sgml-delete-tag does not work with Tree-sitter
Date: Wed, 7 Jan 2026 11:32:57 -0800
Juri -

Thanks for replying. raise-sexp seems to me a too-clever workaround. If
the argument is that html-ts-mode is separate from sgml-mode, then
perhaps it should have a html-ts-delete-tag command?


—
Charles Y. Choi, Ph.D.
kickingvegas <at> gmail.com









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

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

From: Juri Linkov <juri <at> linkov.net>
To: Charles Choi <kickingvegas <at> gmail.com>
Cc: 80151 <at> debbugs.gnu.org
Subject: Re: bug#80151: 30.2; sgml-delete-tag does not work with Tree-sitter
Date: Thu, 08 Jan 2026 09:49:51 +0200
> Thanks for replying. raise-sexp seems to me a too-clever workaround. If
> the argument is that html-ts-mode is separate from sgml-mode, then
> perhaps it should have a html-ts-delete-tag command?

I believe we could first try to adapt 'delete-pair' to ts-modes.
Currently it deletes just '<' and '>', but like 'show-paren-mode'
was adapted to ts-modes to highlight the start and end HTML tags,
the same way 'delete-pair' could delete the start and end tags.
Do you agree this would be a proper replacement of 'sgml-delete-tag'?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#80151; Package emacs. (Thu, 08 Jan 2026 18:38:02 GMT) Full text and rfc822 format available.

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

From: Charles Choi <kickingvegas <at> gmail.com>
To: juri <at> linkov.net
Cc: 80151 <at> debbugs.gnu.org
Subject: Re: bug#80151: 30.2; sgml-delete-tag does not work with Tree-sitter
Date: Thu, 8 Jan 2026 10:36:54 -0800
Juri -

The suggestion to use `delete-pair' is very attractive, as it can be
treated as a generalized command for operating on balanced expressions.
If the HTML is written so that all tags are balanced then `delete-pair'
seems natural to use.

The problem is that not all HTML tags are necessarily balanced (e.g.
<p>, <li>). `sgml-delete-tag' apparently accounts for such tags. It is
not clear to me that coercing `delete-pair' to also handle an unbalanced
tag is desirable.


—
Charles Y. Choi, Ph.D.
kickingvegas <at> gmail.com









Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#80151; Package emacs. (Thu, 08 Jan 2026 19:25:02 GMT) Full text and rfc822 format available.

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

From: Juri Linkov <juri <at> linkov.net>
To: Charles Choi <kickingvegas <at> gmail.com>
Cc: 80151 <at> debbugs.gnu.org
Subject: Re: bug#80151: 30.2; sgml-delete-tag does not work with Tree-sitter
Date: Thu, 08 Jan 2026 21:22:46 +0200
> The suggestion to use `delete-pair' is very attractive, as it can be
> treated as a generalized command for operating on balanced expressions.
> If the HTML is written so that all tags are balanced then `delete-pair'
> seems natural to use.
>
> The problem is that not all HTML tags are necessarily balanced (e.g.
> <p>, <li>). `sgml-delete-tag' apparently accounts for such tags. It is
> not clear to me that coercing `delete-pair' to also handle an unbalanced
> tag is desirable.

As an exception, in an unbalanced tag
`delete-pair' could delete only the opening tag.
This has its own logic: tree-sitter knows where
the node starts and ends, just the closing tag
has zero length.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#80151; Package emacs. (Fri, 09 Jan 2026 07:47:02 GMT) Full text and rfc822 format available.

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

From: Juri Linkov <juri <at> linkov.net>
To: Charles Choi <kickingvegas <at> gmail.com>
Cc: 80151 <at> debbugs.gnu.org
Subject: Re: bug#80151: 30.2; sgml-delete-tag does not work with Tree-sitter
Date: Fri, 09 Jan 2026 09:30:49 +0200
[Message part 1 (text/plain, inline)]
>> The problem is that not all HTML tags are necessarily balanced (e.g.
>> <p>, <li>). `sgml-delete-tag' apparently accounts for such tags. It is
>> not clear to me that coercing `delete-pair' to also handle an unbalanced
>> tag is desirable.
>
> As an exception, in an unbalanced tag
> `delete-pair' could delete only the opening tag.
> This has its own logic: tree-sitter knows where
> the node starts and ends, just the closing tag
> has zero length.

I meant that we need to fix show-paren-mode for html-ts-mode anyway,
because currently it highlights a wrong node when the closing tag is missing.
Here is the fix after that we can also rely on show-paren-data-function
in delete-pair as well:

[html-ts-mode--show-paren-data.patch (text/x-diff, inline)]
diff --git a/lisp/textmodes/html-ts-mode.el b/lisp/textmodes/html-ts-mode.el
index 25fa74943c8..1bb6b22a028 100644
--- a/lisp/textmodes/html-ts-mode.el
+++ b/lisp/textmodes/html-ts-mode.el
@@ -145,6 +145,28 @@ html-ts-mode--outline-predicate
          (skip-chars-backward " \t\n")
          (pos-bol)))))
 
+(defun html-ts-mode--show-paren-data ()
+  (let ((default (treesit-show-paren-data)))
+    ;; Exclude unbalanced tags when the closing tag is missing
+    (when (= (length default) 4)
+      (cond
+       ((and (equal (treesit-node-type
+                     (treesit-node-at (nth 0 default)))
+                    "<")
+             (not (equal (treesit-node-type
+                          (treesit-node-at (nth 2 default)))
+                         "</")))
+        (setq default (list (nth 0 default) (nth 1 default) nil nil)))
+       ;; When point is at the end
+       ((and (equal (treesit-node-type
+                     (treesit-node-at (nth 2 default)))
+                    "<")
+             (not (equal (treesit-node-type
+                          (treesit-node-at (nth 0 default)))
+                         "</")))
+        (setq default nil))))
+    default))
+
 ;;;###autoload
 (define-derived-mode html-ts-mode html-mode "HTML"
   "Major mode for editing Html, powered by tree-sitter."
@@ -182,7 +204,9 @@ html-ts-mode
   (kill-local-variable 'outline-heading-end-regexp)
   (kill-local-variable 'outline-level)
 
-  (treesit-major-mode-setup))
+  (treesit-major-mode-setup)
+
+  (setq-local show-paren-data-function #'html-ts-mode--show-paren-data))
 
 (derived-mode-add-parents 'html-ts-mode '(html-mode))
 

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#80151; Package emacs. (Fri, 09 Jan 2026 22:34:02 GMT) Full text and rfc822 format available.

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

From: Charles Choi <kickingvegas <at> gmail.com>
To: juri <at> linkov.net
Cc: 80151 <at> debbugs.gnu.org
Subject: Re: bug#80151: 30.2; sgml-delete-tag does not work with Tree-sitter
Date: Fri, 9 Jan 2026 14:33:05 -0800
Juri Linkov <juri <at> linkov.net> writes:

>
> As an exception, in an unbalanced tag
> `delete-pair' could delete only the opening tag.
> This has its own logic: tree-sitter knows where
> the node starts and ends, just the closing tag
> has zero length.

What about a tag that closes itself like <img src="foo.jpg" />

Would that case be handled by a Tree-sitter aware delete-pair?



—
Charles Y. Choi, Ph.D.
kickingvegas <at> gmail.com









This bug report was last modified 2 days ago.

Previous Next


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