From 497de631d51619e0717e740ba50bf182bb3482f7 Mon Sep 17 00:00:00 2001 From: Kevin Ryde Date: Mon, 16 Nov 2009 22:59:09 +0000 Subject: * 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.) --- lisp/emacs-lisp/lisp-mnt.el | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'lisp/emacs-lisp') diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el index a748835d477..22d79c066c3 100644 --- a/lisp/emacs-lisp/lisp-mnt.el +++ b/lisp/emacs-lisp/lisp-mnt.el @@ -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) -- cgit v1.2.3