diff options
| author | Glenn Morris | 2014-03-21 00:14:08 -0700 |
|---|---|---|
| committer | Glenn Morris | 2014-03-21 00:14:08 -0700 |
| commit | f428101fcb2fed2565012d5acf7ffcaf928c64d6 (patch) | |
| tree | 56993bc2fc517e1b940b4c42200e64a5b73be50a | |
| parent | 931be30d736bd31f0f932c2afc1d677de51290fe (diff) | |
| download | emacs-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/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/info.el | 36 |
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 @@ | |||
| 1 | 2014-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 | |||
| 1 | 2014-03-21 Juanma Barranquero <lekktu@gmail.com> | 8 | 2014-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) |