1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -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

@ -1201,6 +1201,11 @@ width of which is governed by @code{tabulated-list-padding}.
function advances point by one line.
@end defun
@defun tabulated-list-clear-all-tags
This function clears all tags from the padding area in the current
buffer.
@end defun
@defun tabulated-list-set-col col desc &optional change-entry-data
This function changes the tabulated list entry at point, setting
@var{col} to @var{desc}. @var{col} is the column number to change, or

View file

@ -1766,6 +1766,11 @@ near the current column in Tabulated Lists (see variables
list mode: 'w' (which widens the current column) and 'c' which makes
the current column contract.
+++
*** New function 'tabulated-list-clear-all-tags'.
This function clears all tags from the padding area in the current
buffer. Tags are typically added by calling 'tabulated-list-put-tag'.
** Text mode
+++

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