emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r116821: Cosmetic tweaks for the output of `info-fin


From: Glenn Morris
Subject: [Emacs-diffs] trunk r116821: Cosmetic tweaks for the output of `info-finder'
Date: Fri, 21 Mar 2014 07:14:16 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 116821
revision-id: address@hidden
parent: address@hidden
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Fri 2014-03-21 00:14:08 -0700
message:
  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".
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/info.el                   info.el-20091113204419-o5vbwnq5f7feedwu-261
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-03-21 00:03:08 +0000
+++ b/lisp/ChangeLog    2014-03-21 07:14:08 +0000
@@ -1,3 +1,10 @@
+2014-03-21  Glenn Morris  <address@hidden>
+
+       * 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".
+
 2014-03-21  Juanma Barranquero  <address@hidden>
 
        * frameset.el (frameset--print-register): New function.

=== modified file 'lisp/info.el'
--- a/lisp/info.el      2014-03-14 20:51:22 +0000
+++ b/lisp/info.el      2014-03-21 07:14:08 +0000
@@ -3633,6 +3633,18 @@
 (defvar finder-keywords-hash)
 (defvar package--builtins)             ; finder requires package
 
+(defun info--prettify-description (desc)
+  (if (stringp desc)
+      (with-temp-buffer
+       (insert desc)
+       (if (equal ?. (char-before))
+           (delete-char -1))
+       (goto-char (point-min))
+       (or (let (case-fold-search) (looking-at-p "\\.\\|[[:upper:]]"))
+           (capitalize-word 1))
+       (buffer-string))
+    desc))
+
 (defun Info-finder-find-node (_filename nodename &optional _no-going-back)
   "Finder-specific implementation of `Info-find-node-2'."
   (require 'finder)
@@ -3651,7 +3663,7 @@
        (insert (format "* %s %s.\n"
                        (concat (symbol-name keyword) ": "
                                "Keyword " (symbol-name keyword) ".")
-                       (cdr assoc))))))
+                       (info--prettify-description (cdr assoc)))))))
    ((equal nodename "Keyword unknown")
     ;; Display unknown keywords
     (insert (format "\n\^_\nFile: %s,  Node: %s,  Up: Top\n\n"
@@ -3679,7 +3691,7 @@
        (when (vectorp desc)
          (insert (format "* %-16s %s.\n"
                          (concat (symbol-name (car package)) "::")
-                         (aref desc 2)))))))
+                         (info--prettify-description (aref desc 2))))))))
    ((string-match "\\`Keyword " nodename)
     (setq nodename (substring nodename (match-end 0)))
     ;; Display packages that match the keyword
@@ -3700,27 +3712,31 @@
        (push (copy-tree (gethash keyword finder-keywords-hash)) hits))
       (setq hits (delete-dups (apply 'append hits))
            ;; Not a meaningful package.
-           hits (delete 'emacs hits))
+           hits (delete 'emacs hits)
+           hits (sort hits (lambda (a b) (string< (symbol-name a)
+                                                  (symbol-name b)))))
       (dolist (package hits)
        (setq desc (cdr-safe (assq package package--builtins)))
        (when (vectorp desc)
          (insert (format "* %-16s %s.\n"
                          (concat (symbol-name package) "::")
-                         (aref desc 2)))))))
+                         (info--prettify-description (aref desc 2))))))))
    (t
     ;; Display commentary section
     (insert (format "\n\^_\nFile: %s,  Node: %s,  Up: Top\n\n"
                    Info-finder-file nodename))
-    (insert "Finder Commentary\n")
-    (insert "*****************\n\n")
+    (insert "Package Description\n")
+    (insert "*******************\n\n")
     (insert
-     "Commentary section of the package `" nodename "':\n\n")
-    ;; FIXME this assumes that a file named package.el exists,
+     "Description of the package `" nodename "':\n\n")
+    ;; This assumes that a file named package.el exists,
     ;; which is not always true.  E.g. for the nxml package,
     ;; there is no "nxml.el" (it's nxml-mode.el).
-    (let ((str (lm-commentary (find-library-name nodename))))
+    ;; But package.el makes the same assumption.
+    ;; I think nxml is the only exception - maybe it should be just be renamed.
+    (let ((str (ignore-errors (lm-commentary (find-library-name nodename)))))
       (if (null str)
-         (insert "Can't find any Commentary section\n\n")
+         (insert "Can't find package description.\n\n")
        (insert
         (with-temp-buffer
           (insert str)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]