From e94807f07a14f548cc390d86fcab0ade07739cf2 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Fri, 14 Mar 2014 15:24:04 -0400 Subject: [PATCH] * lisp/finder.el (finder--builtins-descriptions): New constant. (finder-compile-keywords): Use finder--builtins-descriptions. This avoids us getting silly descriptions in finder-inf.el like (emacs . [nil nil "abbrev mode commands for Emacs"]) --- lisp/ChangeLog | 5 +++++ lisp/finder.el | 27 ++++++++++++++++++++++++--- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 769b77809bc..9b8ec690c71 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-03-14 Glenn Morris + + * finder.el (finder--builtins-descriptions): New constant. + (finder-compile-keywords): Use finder--builtins-descriptions. + 2014-03-14 Dmitry Gutov * simple.el (blink-matching-paren): Describe the new value, diff --git a/lisp/finder.el b/lisp/finder.el index 85db692f87e..a7ddaa333b7 100644 --- a/lisp/finder.el +++ b/lisp/finder.el @@ -140,6 +140,17 @@ cus-load\\|finder-inf\\|esh-groups\\|subdirs\\|leim-list\\)\\.el$\\)" (autoload 'autoload-rubric "autoload") +(defconst finder--builtins-descriptions + ;; I have no idea whether these are supposed to be capitalized + ;; and/or end in a full-stop. Existing file headers are inconsistent, + ;; but mainly seem to not do so. + '((emacs . "the extensible text editor") + (nxml . "a new XML mode")) + "Alist of built-in package descriptions. +Entries have the form (PACKAGE-SYMBOL . DESCRIPTION). +When generating `package--builtins', this overrides what the description +would otherwise be.") + (defvar finder--builtins-alist '(("calc" . calc) ("ede" . ede) @@ -155,6 +166,10 @@ cus-load\\|finder-inf\\|esh-groups\\|subdirs\\|leim-list\\)\\.el$\\)" ("decorate" . semantic) ("symref" . semantic) ("wisent" . semantic) + ;; This should really be ("nxml" . nxml-mode), because nxml-mode.el + ;; is the main file for the package. Then we would not need an + ;; entry in finder--builtins-descriptions. But I do not know if + ;; it is safe to change this, in case it is already in use. ("nxml" . nxml) ("org" . org) ("srecode" . srecode) @@ -202,16 +217,19 @@ from; the default is `load-path'." ;; but it does not, because the duplicates are (at time of writing) ;; all due to files in cedet, which end up with package-override set. ;; FIXME this is obviously fragile. -;; Make the (eq base-name package) case below issue a warning? +;; Make the (eq base-name package) case below issue a warning if +;; package-override is nil? ;; (push base-name processed) (with-temp-buffer (insert-file-contents (expand-file-name f d)) - (setq summary (lm-synopsis) - keywords (mapcar 'intern (lm-keywords-list)) + (setq keywords (mapcar 'intern (lm-keywords-list)) package (or package-override (let ((str (lm-header "package"))) (if str (intern str))) base-name) + summary (or (cdr + (assq package finder--builtins-descriptions)) + (lm-synopsis)) version (lm-header "version"))) (when summary (setq version (ignore-errors (version-to-list version))) @@ -220,6 +238,9 @@ from; the default is `load-path'." (push (cons package (package-make-builtin version summary)) package--builtins)) + ;; The idea here is that eg calc.el gets to define + ;; the description of the calc package. + ;; This does not work for eg nxml-mode.el. ((eq base-name package) (setq desc (cdr entry)) (aset desc 0 version) -- 2.39.2