emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master ca66737 2/2: * lisp/emacs-lisp/package.el: Many sma


From: Artur Malabarba
Subject: [Emacs-diffs] master ca66737 2/2: * lisp/emacs-lisp/package.el: Many small changes
Date: Fri, 17 Jul 2015 22:44:46 +0000

branch: master
commit ca66737c5313665a1646a64de8fa6181c9e11de5
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>

    * lisp/emacs-lisp/package.el: Many small changes
    
    Replace all instances of 'face with 'font-lock-face.
    (describe-package-1): Improve some strings and move the summary up the
    list.
    (package-install-file): Update docstring.
    (package-menu-hide-package): Bind to `H'.
---
 lisp/emacs-lisp/package.el     |   43 +++++++++++++++++++++++----------------
 test/automated/package-test.el |   18 +++++++---------
 2 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index fc5ef0b..c7e3096 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1956,7 +1956,8 @@ Downloads and installs required packages as needed."
 ;;;###autoload
 (defun package-install-file (file)
   "Install a package from a file.
-The file can either be a tar file or an Emacs Lisp file."
+The file can either be a tar file, an Emacs Lisp file, or a
+directory."
   (interactive "fPackage file name: ")
   (with-temp-buffer
     (if (file-directory-p file)
@@ -2163,6 +2164,8 @@ will be deleted."
          (status (if desc (package-desc-status desc) "orphan"))
          (incompatible-reason (package--incompatible-p desc))
          (signed (if desc (package-desc-signed desc))))
+    (when (string= status "avail-obso")
+      (setq status "available obsolete"))
     (when incompatible-reason
       (setq status "incompatible"))
     (prin1 name)
@@ -2179,13 +2182,15 @@ will be deleted."
           (pkg-dir
            (insert (propertize (if (member status '("unsigned" "dependency"))
                                    "Installed"
-                                 (capitalize status)) ;FIXME: Why comment-face?
-                               'font-lock-face 'font-lock-comment-face))
+                                 (capitalize status))
+                               'font-lock-face 'font-lock-builtin-face))
            (insert (substitute-command-keys " in ‘"))
-           ;; Todo: Add button for uninstalling.
-           (help-insert-xref-button (abbreviate-file-name
-                                     (file-name-as-directory pkg-dir))
-                                    'help-package-def pkg-dir)
+           (let ((dir (abbreviate-file-name
+                       (file-name-as-directory
+                        (if (file-in-directory-p pkg-dir package-user-dir)
+                            (file-relative-name pkg-dir package-user-dir)
+                          pkg-dir)))))
+             (help-insert-xref-button dir 'help-package-def pkg-dir))
            (if (and (package-built-in-p name)
                     (not (package-built-in-p name version)))
                (insert (substitute-command-keys
@@ -2198,13 +2203,13 @@ will be deleted."
              (insert " (unsigned)."))
            (when (and (package-desc-p desc)
                       (not required-by)
-                      (package-installed-p desc))
+                      (member status '("unsigned" "installed")))
              (insert " ")
              (package-make-button "Delete"
                                   'action #'package-delete-button-action
                                   'package-desc desc)))
           (incompatible-reason
-           (insert (propertize "Incompatible" 'face font-lock-warning-face)
+           (insert (propertize "Incompatible" 'font-lock-face 
font-lock-warning-face)
                    " because it depends on ")
            (if (stringp incompatible-reason)
                (insert "Emacs " incompatible-reason ".")
@@ -2219,12 +2224,15 @@ will be deleted."
             'package-desc desc))
           (t (insert (capitalize status) ".")))
     (insert "\n")
-    (insert "    " (propertize "Archive" 'font-lock-face 'bold)
-            ": " (or archive "n/a") "\n")
+    (unless (and pkg-dir (not archive)) ; Installed pkgs don't have archive.
+      (insert "    " (propertize "Archive" 'font-lock-face 'bold)
+              ": " (or archive "n/a") "\n"))
     (and version
          (insert "    "
                  (propertize "Version" 'font-lock-face 'bold) ": "
                  (package-version-join version) "\n"))
+    (insert "    " (propertize "Summary" 'font-lock-face 'bold)
+            ": " (if desc (package-desc-summary desc)) "\n")
 
     (setq reqs (if desc (package-desc-reqs desc)))
     (when reqs
@@ -2259,8 +2267,6 @@ will be deleted."
             (help-insert-xref-button text 'help-package
                                      (package-desc-name pkg))))
         (insert "\n")))
-    (insert "    " (propertize "Summary" 'font-lock-face 'bold)
-            ": " (if desc (package-desc-summary desc)) "\n")
     (when homepage
       (insert "   " (propertize "Homepage" 'font-lock-face 'bold) ": ")
       (help-insert-xref-button homepage 'help-url homepage)
@@ -2290,7 +2296,7 @@ will be deleted."
                      (if (not ov) (format "%s" from)
                        (format "%s (%s)"
                                (make-text-button (package-version-join ov) nil
-                                                 'face 'link
+                                                 'font-lock-face 'link
                                                  'follow-link t
                                                  'action
                                                  (lambda (_button)
@@ -2365,7 +2371,7 @@ will be deleted."
                                 :background "light grey"
                                 :foreground "black")
                        'link)))
-    (apply 'insert-text-button button-text 'face button-face 'follow-link t
+    (apply 'insert-text-button button-text 'font-lock-face button-face 
'follow-link t
            props)))
 
 
@@ -2386,6 +2392,7 @@ will be deleted."
     (define-key map "~" 'package-menu-mark-obsolete-for-deletion)
     (define-key map "x" 'package-menu-execute)
     (define-key map "h" 'package-menu-quick-help)
+    (define-key map "H" #'package-menu-hide-package)
     (define-key map "?" 'package-menu-describe-package)
     (define-key map "(" #'package-menu-toggle-hiding)
     (define-key map [menu-bar package-menu] (cons "Package" menu-map))
@@ -2870,7 +2877,8 @@ If optional arg BUTTON is non-nil, describe its 
associated package."
 (defvar package--quick-help-keys
   '(("install," "delete," "unmark," ("execute" . 1))
     ("next," "previous")
-    ("refresh-contents," "g-redisplay," "filter," "(-toggle-obsolete" "help")))
+    ("Hide-package," "(-toggle-hidden")
+    ("refresh-contents," "g-redisplay," "filter," "help")))
 
 (defun package--prettify-quick-help-key (desc)
   "Prettify DESC to be displayed as a help menu."
@@ -2879,9 +2887,8 @@ If optional arg BUTTON is non-nil, describe its 
associated package."
           (mapconcat #'package--prettify-quick-help-key desc "   ")
         (let ((place (cdr desc))
               (out (car desc)))
-          ;; (setq out (propertize out 'face 'paradox-comment-face))
           (add-text-properties place (1+ place)
-                               '(face (bold font-lock-function-name-face))
+                               '(face (bold font-lock-warning-face))
                                out)
           out))
     (package--prettify-quick-help-key (cons desc 0))))
diff --git a/test/automated/package-test.el b/test/automated/package-test.el
index 5ab2747..524613d 100644
--- a/test/automated/package-test.el
+++ b/test/automated/package-test.el
@@ -381,8 +381,9 @@ Must called from within a `tar-mode' buffer."
    (describe-package '5x5)
    (goto-char (point-min))
    (should (search-forward "5x5 is a built-in package." nil t))
-   (should (search-forward "Status: Built-in." nil t))
-   (should (search-forward "Summary: simple little puzzle game" nil t))
+   ;; Don't assume the descriptions are in any particular order.
+   (save-excursion (should (search-forward "Status: Built-in." nil t)))
+   (save-excursion (should (search-forward "Summary: simple little puzzle 
game" nil t)))
    (should (search-forward "The aim of 5x5" nil t)))
 
   ;; Installed
@@ -394,14 +395,11 @@ Must called from within a `tar-mode' buffer."
      (describe-package 'simple-single)
      (goto-char (point-min))
      (should (search-forward "simple-single is an installed package." nil t))
-     (should (re-search-forward
-              "Status: Installed in ['`‘]~/simple-single-1.3/['’] (unsigned)."
-              nil t))
-     (should (search-forward "Version: 1.3" nil t))
-     (should (search-forward "Summary: A single-file package with no 
dependencies"
-                             nil t))
-     (should (search-forward "Homepage: http://doodles.au"; nil t))
-     (should (re-search-forward "Keywords: \\[?frobnicate\\]?" nil t))
+     (save-excursion (should (re-search-forward "Status: Installed in 
['`‘]simple-single-1.3/['’] (unsigned)." nil t)))
+     (save-excursion (should (search-forward "Version: 1.3" nil t)))
+     (save-excursion (should (search-forward "Summary: A single-file package 
with no dependencies" nil t)))
+     (save-excursion (should (search-forward "Homepage: http://doodles.au"; nil 
t)))
+     (save-excursion (should (re-search-forward "Keywords: \\[?frobnicate\\]?" 
nil t)))
      ;; No description, though. Because at this point we don't know
      ;; what archive the package originated from, and we don't have
      ;; its readme file saved.



reply via email to

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