emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] master 859e3cb 061/399: counsel.el: Clean up compile history keep


From: Oleh Krehel
Subject: [elpa] master 859e3cb 061/399: counsel.el: Clean up compile history keeping
Date: Sat, 20 Jul 2019 14:56:49 -0400 (EDT)

branch: master
commit 859e3cbb422e02b6b040da545153f82a655383ee
Author: Basil L. Contovounesios <address@hidden>
Commit: Basil L. Contovounesios <address@hidden>

    counsel.el: Clean up compile history keeping
    
    (counsel-compile--update-history): Use add-to-history instead of
    add-to-list and file-equal-p instead of string-equal.  Avoid one
    level of unneeded string consing.
---
 counsel.el | 28 ++++++++++++----------------
 1 file changed, 12 insertions(+), 16 deletions(-)

diff --git a/counsel.el b/counsel.el
index e91c2d9..1c2fa61 100644
--- a/counsel.el
+++ b/counsel.el
@@ -5267,24 +5267,20 @@ The optional BLDDIR is useful for other helpers that 
have found
             (setq cands (nconc cands more-cands)))))
       cands)))
 
-;; This is a workaround to ensure we tag all the relevant meta-data in
-;; our compile history. This also allows M-x compile to do fancy
-;; things like infer default-directory from cd's in the string.
+;; This is a workaround to ensure we tag all the relevant metadata in
+;; our compile history.  This also allows M-x compile to do fancy
+;; things like infer `default-directory' from 'cd's in the string.
 (defun counsel-compile--update-history (_proc)
   "Update `counsel-compile-history' from the compilation state."
-  (let ((srcdir (funcall counsel-compile-root-function))
-        (blddir default-directory)
-        (command (car compilation-arguments)))
-    (add-to-list
-     'counsel-compile-history
-     (propertize
-      (concat
-       (propertize command 'cmd 't)
-       (when (not (string-equal blddir srcdir))
-         (concat (propertize " in " 'face 'font-lock-warning-face)
-                 (propertize blddir 'face 'dired-directory))))
-      'srcdir srcdir
-      'blddir blddir))))
+  (let* ((srcdir (funcall counsel-compile-root-function))
+         (blddir default-directory)
+         (cmd (concat
+               (propertize (car compilation-arguments) 'cmd t)
+               (unless (file-equal-p blddir srcdir)
+                 (concat (propertize " in " 'face 'font-lock-warning-face)
+                         (propertize blddir 'face 'dired-directory))))))
+    (add-text-properties 0 (length cmd) `(srcdir ,srcdir blddir ,blddir) cmd)
+    (add-to-history 'counsel-compile-history cmd)))
 
 (defun counsel-compile--action (cmd)
   "Process CMD to call `compile'.



reply via email to

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