From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kevin Ryde Newsgroups: gmane.emacs.bugs Subject: bug#4928: 23.1; lm-keywords more flexibility Date: Sun, 15 Nov 2009 11:30:13 +1100 Message-ID: <87skcgy6i2.fsf@blah.blah> Reply-To: Kevin Ryde , 4928@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1258246061 460 80.91.229.12 (15 Nov 2009 00:47:41 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 15 Nov 2009 00:47:41 +0000 (UTC) To: bug-gnu-emacs@gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Nov 15 01:47:34 2009 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1N9THA-0004T4-JE for geb-bug-gnu-emacs@m.gmane.org; Sun, 15 Nov 2009 01:47:33 +0100 Original-Received: from localhost ([127.0.0.1]:37080 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N9TH9-00024w-UY for geb-bug-gnu-emacs@m.gmane.org; Sat, 14 Nov 2009 19:47:31 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N9TH6-00023m-5m for bug-gnu-emacs@gnu.org; Sat, 14 Nov 2009 19:47:28 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N9TH1-000207-7s for bug-gnu-emacs@gnu.org; Sat, 14 Nov 2009 19:47:27 -0500 Original-Received: from [199.232.76.173] (port=41069 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N9TH1-0001zk-20 for bug-gnu-emacs@gnu.org; Sat, 14 Nov 2009 19:47:23 -0500 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:39361) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1N9TH0-0008WT-FV for bug-gnu-emacs@gnu.org; Sat, 14 Nov 2009 19:47:22 -0500 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id nAF0lKfA025732; Sat, 14 Nov 2009 16:47:20 -0800 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.14.3/8.14.3/Submit) id nAF0Z4Lv024585; Sat, 14 Nov 2009 16:35:04 -0800 Resent-Date: Sat, 14 Nov 2009 16:35:04 -0800 X-Loop: owner@emacsbugs.donarmstrong.com Resent-From: Kevin Ryde Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs 2Resent-Date: Sun, 15 Nov 2009 00:35:04 +0000 Resent-Message-ID: Resent-Sender: owner@emacsbugs.donarmstrong.com X-Emacs-PR-Message: report 4928 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by submit@emacsbugs.donarmstrong.com id=B.125824503124424 (code B ref -1); Sun, 15 Nov 2009 00:35:04 +0000 Original-Received: (at submit) by emacsbugs.donarmstrong.com; 15 Nov 2009 00:30:31 +0000 X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. Original-Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id nAF0UTYn024420 for ; Sat, 14 Nov 2009 16:30:31 -0800 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N9T0e-0006cv-JI for bug-gnu-emacs@gnu.org; Sat, 14 Nov 2009 19:30:28 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N9T0a-0006cT-JB for bug-gnu-emacs@gnu.org; Sat, 14 Nov 2009 19:30:28 -0500 Original-Received: from [199.232.76.173] (port=52233 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N9T0a-0006cQ-EU for bug-gnu-emacs@gnu.org; Sat, 14 Nov 2009 19:30:24 -0500 Original-Received: from mailout1-1.pacific.net.au ([61.8.2.208]:34440 helo=mailout1.pacific.net.au) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N9T0Z-0006Or-KD for bug-gnu-emacs@gnu.org; Sat, 14 Nov 2009 19:30:24 -0500 Original-Received: from mailproxy2.pacific.net.au (mailproxy2.pacific.net.au [61.8.2.163]) by mailout1.pacific.net.au (Postfix) with ESMTP id 6E0A3503B7A for ; Sun, 15 Nov 2009 11:30:19 +1100 (EST) Original-Received: from blah.blah (ppp20E0.dyn.pacific.net.au [61.8.32.224]) by mailproxy2.pacific.net.au (Postfix) with ESMTP id CEBB92740F for ; Sun, 15 Nov 2009 11:30:17 +1100 (EST) Original-Received: from gg by blah.blah with local (Exim 4.69) (envelope-from ) id 1N9T0Q-0003Bd-EI for bug-gnu-emacs@gnu.org; Sun, 15 Nov 2009 11:30:14 +1100 User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.1 (gnu/linux) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) Resent-Date: Sat, 14 Nov 2009 19:47:27 -0500 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:32623 Archived-At: --=-=-= This is a idea to relax/extend lm-keywords to cope with multi-line keywords, like say Drew's icicles.el, ;; Keywords: internal, extensions, help, abbrev, local, minibuffer, ;; keys, apropos, completion, matching, regexp, command And comma-only separators like say zenirc-color.el, ;; Keywords: zenirc,extensions And trailing-space as in say vm-summary-faces.el, which had been ok in Emacs 21. ;; Keywords: VM 2009-11-13 Kevin Ryde * 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.) --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=lisp-mnt.el.keywords.diff --- lisp-mnt.el.~1.63.~ 2009-10-08 11:00:31.000000000 +1100 +++ lisp-mnt.el 2009-11-15 11:27:05.000000000 +1100 @@ -445,16 +445,20 @@ (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 value 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) --=-=-= In GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.16.5) of 2009-09-14 on raven, modified by Debian configured using `configure '--build=i486-linux-gnu' '--host=i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS='' --=-=-=--