Mercurial > emacs
changeset 31230:200fc9dc31f4
(list-abbrevs): Add optional parameter LOCAL.
(abbrev-table-name): New function.
(prepare-abbrev-list-buffer): Add optional parameter LOCAL.
If non-nil list local abbrev, only.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Mon, 28 Aug 2000 16:07:10 +0000 |
parents | 0c280e986946 |
children | abc7c24c58bb |
files | lisp/abbrev.el |
diffstat | 1 files changed, 25 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/abbrev.el Mon Aug 28 15:05:20 2000 +0000 +++ b/lisp/abbrev.el Mon Aug 28 16:07:10 2000 +0000 @@ -86,23 +86,37 @@ (setq tables (cdr tables)))) (point)))) -(defun list-abbrevs () - "Display a list of all defined abbrevs." - (interactive) - (display-buffer (prepare-abbrev-list-buffer))) +(defun list-abbrevs (&optional local) + "Display a list of defined abbrevs. +If LOCAL is non-nil, interactively when invoked with a +prefix arg, display only local, i.e. mode-specific, abbrevs. +Otherwise display all abbrevs." + (interactive "P") + (display-buffer (prepare-abbrev-list-buffer local))) -(defun prepare-abbrev-list-buffer () +(defun abbrev-table-name (table) + "Value is the name of abbrev table TABLE." + (let ((tables abbrev-table-name-list) + found) + (while (and (not found) tables) + (when (eq (symbol-value (car tables)) table) + (setq found (car tables))) + (setq tables (cdr tables))) + found)) + +(defun prepare-abbrev-list-buffer (&optional local) (save-excursion (set-buffer (get-buffer-create "*Abbrevs*")) (erase-buffer) - (let ((tables abbrev-table-name-list)) - (while tables - (insert-abbrev-table-description (car tables) t) - (setq tables (cdr tables)))) + (if local + (insert-abbrev-table-description (abbrev-table-name + local-abbrev-table) t) + (dolist (table abbrev-table-name-list) + (insert-abbrev-table-description table t))) (goto-char (point-min)) (set-buffer-modified-p nil) - (edit-abbrevs-mode)) - (get-buffer-create "*Abbrevs*")) + (edit-abbrevs-mode) + (current-buffer))) (defun edit-abbrevs-mode () "Major mode for editing the list of abbrev definitions.