* emacs-lisp/lisp-mnt.el (lm-keywords): Allow multi-line keywords.

(lm-keywords-list): Allow comma-only separator like "foo,bar".
Ignore trailing spaces by omit-nulls to split-string (fixing
regression from Emacs 21 due to the incompatible split-string
change).  (Bug #4928.)
This commit is contained in:
Kevin Ryde 2009-11-16 22:59:09 +00:00
parent af42a9cc38
commit 497de631d5
2 changed files with 14 additions and 4 deletions

View file

@ -445,16 +445,20 @@ This can be found in an RCS or SCCS header."
(match-string-no-properties 1)))))))
(defun lm-keywords (&optional file)
"Return the keywords given in file FILE, or current buffer if FILE is nil."
"Return the keywords given in file FILE, or current buffer if FILE is nil.
The return is a `downcase'-ed string, or nil if no keywords
header. Multi-line keywords are joined up with a space between
each line."
(lm-with-file file
(let ((keywords (lm-header "keywords")))
(and keywords (downcase keywords)))))
(let ((keywords (lm-header-multiline "keywords")))
(and keywords
(mapconcat 'downcase keywords " ")))))
(defun lm-keywords-list (&optional file)
"Return list of keywords given in file FILE."
(let ((keywords (lm-keywords file)))
(if keywords
(split-string keywords ",?[ \t]"))))
(split-string keywords "[, \t\n]+" t))))
(defvar finder-known-keywords)
(defun lm-keywords-finder-p (&optional file)