Place empty abbrev tables after nonempty ones when editing
This commit is contained in:
parent
1db5b1ad87
commit
947b656632
2 changed files with 26 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2011-03-28 Leo Liu <sdl.web@gmail.com>
|
||||
|
||||
* abbrev.el (abbrev-table-empty-p): New function.
|
||||
(prepare-abbrev-list-buffer): Place empty abbrev tables after
|
||||
nonempty ones. (Bug#5937)
|
||||
|
||||
2011-03-27 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* cus-start.el (all): Add boolean ns-auto-hide-menu-bar.
|
||||
|
|
|
@ -123,8 +123,13 @@ Otherwise display all abbrevs."
|
|||
(if local
|
||||
(insert-abbrev-table-description
|
||||
(abbrev-table-name local-table) t)
|
||||
(dolist (table abbrev-table-name-list)
|
||||
(insert-abbrev-table-description table t)))
|
||||
(let (empty-tables)
|
||||
(dolist (table abbrev-table-name-list)
|
||||
(if (abbrev-table-empty-p (symbol-value table))
|
||||
(push table empty-tables)
|
||||
(insert-abbrev-table-description table t)))
|
||||
(dolist (table (nreverse empty-tables))
|
||||
(insert-abbrev-table-description table t))))
|
||||
(goto-char (point-min))
|
||||
(set-buffer-modified-p nil)
|
||||
(edit-abbrevs-mode)
|
||||
|
@ -420,6 +425,19 @@ PROPS is a list of properties."
|
|||
(and (vectorp object)
|
||||
(numberp (abbrev-table-get object :abbrev-table-modiff))))
|
||||
|
||||
(defun abbrev-table-empty-p (object &optional ignore-system)
|
||||
"Return nil if there are no abbrev symbols in OBJECT.
|
||||
If IGNORE-SYSTEM is non-nil, system definitions are ignored."
|
||||
(unless (abbrev-table-p object)
|
||||
(error "Non abbrev table object"))
|
||||
(not (catch 'some
|
||||
(mapatoms (lambda (abbrev)
|
||||
(unless (or (zerop (length (symbol-name abbrev)))
|
||||
(and ignore-system
|
||||
(abbrev-get abbrev :system)))
|
||||
(throw 'some t)))
|
||||
object))))
|
||||
|
||||
(defvar global-abbrev-table (make-abbrev-table)
|
||||
"The abbrev table whose abbrevs affect all buffers.
|
||||
Each buffer may also have a local abbrev table.
|
||||
|
|
Loading…
Add table
Reference in a new issue