[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#5937: 23.1.95; why saving empty abbrev tables
From: |
Leo |
Subject: |
bug#5937: 23.1.95; why saving empty abbrev tables |
Date: |
Mon, 12 Apr 2010 16:23:44 +0100 |
Why empty abbrev tables are saved to file? It seems to make it more
difficult for editing (edit-abbrevs) because the buffer is full of empty
abbrev. I wonder if saving only non-empty tables is better and user
friendlier. For example, any harm of doing something like this:
(defun abbrev-table-empty-p (table)
"Return nil if there are no abbrev symbols in abbrev table object TABLE."
(unless (abbrev-table-p table)
(error "Non abbrev table object"))
(not (catch 'some
(mapatoms (lambda (sym)
(when (abbrev-symbol (symbol-name sym) table)
(throw 'some t)))
table))))
(defadvice write-abbrev-file (around nonempty-abbrev-tables activate)
"Ignore empty abbrev tables when writing to FILE."
(let ((file (ad-get-arg 0))
(coding-system-for-write 'emacs-mule)
(tables (loop for table in abbrev-table-name-list
unless (abbrev-table-empty-p (symbol-value table))
collect table)))
(or (and file (> (length file) 0)) (setq file abbrev-file-name))
(with-temp-file file
(insert ";;-*-coding: emacs-mule;-*-\n")
(dolist (table (sort tables
(lambda (s1 s2)
(string< (symbol-name s1)
(symbol-name s2)))))
(insert-abbrev-table-description table nil)))))
- bug#5937: 23.1.95; why saving empty abbrev tables,
Leo <=