1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-05 22:20:24 -08:00

Add new function to clear tags in tabulated list

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-clear-all-tags):
New function to clear all tags from padding area in current buffer.
* doc/lispref/modes.texi (Tabulated List Mode): Document it.
* etc/NEWS: Announce it.
This commit is contained in:
Stefan Kangas 2019-09-16 03:48:47 +02:00
parent 45524b9702
commit 814cab3b4d
3 changed files with 23 additions and 0 deletions

View file

@ -192,6 +192,19 @@ If ADVANCE is non-nil, move forward by one line afterwards."
(if advance
(forward-line)))
(defun tabulated-list-clear-all-tags ()
"Clear all tags from the padding area in the current buffer."
(unless (> tabulated-list-padding 0)
(error "There can be no tags in current buffer"))
(save-excursion
(goto-char (point-min))
(let ((inhibit-read-only t)
;; Match non-space in the first n characters.
(re (format "^ \\{0,%d\\}[^ ]" (1- tabulated-list-padding)))
(empty (make-string tabulated-list-padding ? )))
(while (re-search-forward re nil 'noerror)
(tabulated-list-put-tag empty)))))
(defvar tabulated-list-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map (make-composed-keymap