aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2014-03-21 00:14:08 -0700
committerGlenn Morris2014-03-21 00:14:08 -0700
commitf428101fcb2fed2565012d5acf7ffcaf928c64d6 (patch)
tree56993bc2fc517e1b940b4c42200e64a5b73be50a
parent931be30d736bd31f0f932c2afc1d677de51290fe (diff)
downloademacs-f428101fcb2fed2565012d5acf7ffcaf928c64d6.tar.gz
emacs-f428101fcb2fed2565012d5acf7ffcaf928c64d6.zip
Cosmetic tweaks for the output of `info-finder'
* lisp/info.el (info--prettify-description): New function, to give info-finder descriptions consistent case, punctuation. (Info-finder-find-node): Use it. Sort packages. Refer to "description" rather than "commentary".
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/info.el36
2 files changed, 33 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index e51a0efd623..8b221122047 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
12014-03-21 Glenn Morris <rgm@gnu.org>
2
3 * info.el (info--prettify-description): New function,
4 to give info-finder descriptions consistent case, punctuation.
5 (Info-finder-find-node): Use it. Sort packages.
6 Refer to "description" rather than "commentary".
7
12014-03-21 Juanma Barranquero <lekktu@gmail.com> 82014-03-21 Juanma Barranquero <lekktu@gmail.com>
2 9
3 * frameset.el (frameset--print-register): New function. 10 * frameset.el (frameset--print-register): New function.
diff --git a/lisp/info.el b/lisp/info.el
index 2b2490b5bdc..a5ad5be2cbc 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -3633,6 +3633,18 @@ Build a menu of the possible matches."
3633(defvar finder-keywords-hash) 3633(defvar finder-keywords-hash)
3634(defvar package--builtins) ; finder requires package 3634(defvar package--builtins) ; finder requires package
3635 3635
3636(defun info--prettify-description (desc)
3637 (if (stringp desc)
3638 (with-temp-buffer
3639 (insert desc)
3640 (if (equal ?. (char-before))
3641 (delete-char -1))
3642 (goto-char (point-min))
3643 (or (let (case-fold-search) (looking-at-p "\\.\\|[[:upper:]]"))
3644 (capitalize-word 1))
3645 (buffer-string))
3646 desc))
3647
3636(defun Info-finder-find-node (_filename nodename &optional _no-going-back) 3648(defun Info-finder-find-node (_filename nodename &optional _no-going-back)
3637 "Finder-specific implementation of `Info-find-node-2'." 3649 "Finder-specific implementation of `Info-find-node-2'."
3638 (require 'finder) 3650 (require 'finder)
@@ -3651,7 +3663,7 @@ Build a menu of the possible matches."
3651 (insert (format "* %s %s.\n" 3663 (insert (format "* %s %s.\n"
3652 (concat (symbol-name keyword) ": " 3664 (concat (symbol-name keyword) ": "
3653 "Keyword " (symbol-name keyword) ".") 3665 "Keyword " (symbol-name keyword) ".")
3654 (cdr assoc)))))) 3666 (info--prettify-description (cdr assoc)))))))
3655 ((equal nodename "Keyword unknown") 3667 ((equal nodename "Keyword unknown")
3656 ;; Display unknown keywords 3668 ;; Display unknown keywords
3657 (insert (format "\n\^_\nFile: %s, Node: %s, Up: Top\n\n" 3669 (insert (format "\n\^_\nFile: %s, Node: %s, Up: Top\n\n"
@@ -3679,7 +3691,7 @@ Build a menu of the possible matches."
3679 (when (vectorp desc) 3691 (when (vectorp desc)
3680 (insert (format "* %-16s %s.\n" 3692 (insert (format "* %-16s %s.\n"
3681 (concat (symbol-name (car package)) "::") 3693 (concat (symbol-name (car package)) "::")
3682 (aref desc 2))))))) 3694 (info--prettify-description (aref desc 2))))))))
3683 ((string-match "\\`Keyword " nodename) 3695 ((string-match "\\`Keyword " nodename)
3684 (setq nodename (substring nodename (match-end 0))) 3696 (setq nodename (substring nodename (match-end 0)))
3685 ;; Display packages that match the keyword 3697 ;; Display packages that match the keyword
@@ -3700,27 +3712,31 @@ Build a menu of the possible matches."
3700 (push (copy-tree (gethash keyword finder-keywords-hash)) hits)) 3712 (push (copy-tree (gethash keyword finder-keywords-hash)) hits))
3701 (setq hits (delete-dups (apply 'append hits)) 3713 (setq hits (delete-dups (apply 'append hits))
3702 ;; Not a meaningful package. 3714 ;; Not a meaningful package.
3703 hits (delete 'emacs hits)) 3715 hits (delete 'emacs hits)
3716 hits (sort hits (lambda (a b) (string< (symbol-name a)
3717 (symbol-name b)))))
3704 (dolist (package hits) 3718 (dolist (package hits)
3705 (setq desc (cdr-safe (assq package package--builtins))) 3719 (setq desc (cdr-safe (assq package package--builtins)))
3706 (when (vectorp desc) 3720 (when (vectorp desc)
3707 (insert (format "* %-16s %s.\n" 3721 (insert (format "* %-16s %s.\n"
3708 (concat (symbol-name package) "::") 3722 (concat (symbol-name package) "::")
3709 (aref desc 2))))))) 3723 (info--prettify-description (aref desc 2))))))))
3710 (t 3724 (t
3711 ;; Display commentary section 3725 ;; Display commentary section
3712 (insert (format "\n\^_\nFile: %s, Node: %s, Up: Top\n\n" 3726 (insert (format "\n\^_\nFile: %s, Node: %s, Up: Top\n\n"
3713 Info-finder-file nodename)) 3727 Info-finder-file nodename))
3714 (insert "Finder Commentary\n") 3728 (insert "Package Description\n")
3715 (insert "*****************\n\n") 3729 (insert "*******************\n\n")
3716 (insert 3730 (insert
3717 "Commentary section of the package `" nodename "':\n\n") 3731 "Description of the package `" nodename "':\n\n")
3718 ;; FIXME this assumes that a file named package.el exists, 3732 ;; This assumes that a file named package.el exists,
3719 ;; which is not always true. E.g. for the nxml package, 3733 ;; which is not always true. E.g. for the nxml package,
3720 ;; there is no "nxml.el" (it's nxml-mode.el). 3734 ;; there is no "nxml.el" (it's nxml-mode.el).
3721 (let ((str (lm-commentary (find-library-name nodename)))) 3735 ;; But package.el makes the same assumption.
3736 ;; I think nxml is the only exception - maybe it should be just be renamed.
3737 (let ((str (ignore-errors (lm-commentary (find-library-name nodename)))))
3722 (if (null str) 3738 (if (null str)
3723 (insert "Can't find any Commentary section\n\n") 3739 (insert "Can't find package description.\n\n")
3724 (insert 3740 (insert
3725 (with-temp-buffer 3741 (with-temp-buffer
3726 (insert str) 3742 (insert str)