[emacs/compile] better silence the ad-redefinition-action
authorAmin Bandali <bandali@gnu.org>
Sat, 22 Dec 2018 18:32:59 +0000 (13:32 -0500)
committerAmin Bandali <bandali@gnu.org>
Sat, 22 Dec 2018 18:32:59 +0000 (13:32 -0500)
just wrap the whole workaround in a use-package

init.org

index f05e53c..5006e56 100644 (file)
--- a/init.org
+++ b/init.org
@@ -652,27 +652,27 @@ Based on https://stackoverflow.com/a/17788551, with changes to use
 =cl-letf= instead of the now obsolete =flet=.
 
 #+begin_src emacs-lisp
-(defun amin--compilation-finish-function (buffer outstr)
-  (unless (string-match "finished" outstr)
-    (switch-to-buffer-other-window buffer))
-  t)
-
-(setq compilation-finish-functions #'amin--compilation-finish-function)
+(use-package compile
+  :config
+  (defun amin--compilation-finish-function (buffer outstr)
+    (unless (string-match "finished" outstr)
+      (switch-to-buffer-other-window buffer))
+    t)
 
-(require 'cl-macs)
+  (setq compilation-finish-functions #'amin--compilation-finish-function)
 
-(setq ad-redefinition-action 'accept)
-(defadvice compilation-start
-    (around inhibit-display
-            (command &optional mode name-function highlight-regexp))
-  (if (not (string-match "^\\(find\\|grep\\)" command))
-      (cl-letf (((symbol-function 'display-buffer)   #'ignore)
-                ((symbol-function 'set-window-point) #'ignore)
-                ((symbol-function 'goto-char)        #'ignore))
-        (save-window-excursion ad-do-it))
-    ad-do-it))
+  (require 'cl-macs)
 
-(ad-activate 'compilation-start)
+  (defadvice compilation-start
+      (around inhibit-display
+              (command &optional mode name-function highlight-regexp))
+    (if (not (string-match "^\\(find\\|grep\\)" command))
+        (cl-letf (((symbol-function 'display-buffer)   #'ignore)
+                  ((symbol-function 'set-window-point) #'ignore)
+                  ((symbol-function 'goto-char)        #'ignore))
+          (save-window-excursion ad-do-it))
+      ad-do-it))
+  (ad-activate 'compilation-start))
 #+end_src
 
 *** Search for non-ASCII characters
@@ -2280,7 +2280,6 @@ Display how long it took to load the init file.
 (message "Loading %s...done (%.3fs)" user-init-file
          (float-time (time-subtract (current-time)
                                     amin--before-user-init-time)))
-(setq ad-redefinition-action 'warn)
 #+end_src
 
 * Footer