*** Don’t display =*compilation*= on success
-From https://stackoverflow.com/a/17788551.
+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)
+ (setq compilation-finish-functions #'amin--compilation-finish-function)
-(defadvice compilation-start
- (around inhibit-display
- (command &optional mode name-function highlight-regexp))
- (if (not (string-match "^\\(find\\|grep\\)" command))
- (flet ((display-buffer)
- (set-window-point)
- (goto-char))
- (fset 'display-buffer 'ignore)
- (fset 'goto-char 'ignore)
- (fset 'set-window-point '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
'(("default"
("dired" (mode . dired-mode))
("org" (mode . org-mode))
+ ("gnus"
+ (or
+ (mode . gnus-group-mode)
+ (mode . gnus-summary-mode)
+ (mode . gnus-article-mode)
+ ;; not really, but...
+ (mode . message-mode)))
("web"
(or
(mode . web-mode)
("shell"
(or
(mode . eshell-mode)
- (mode . shell-mode)))
- ("notmuch" (name . "\*notmuch\*"))
+ (mode . shell-mode)
+ (mode . term-mode)))
("programming"
(or
(mode . python-mode)
+ (mode . c-mode)
(mode . c++-mode)
- (mode . emacs-lisp-mode)))
+ (mode . emacs-lisp-mode)
+ (mode . scheme-mode)
+ (mode . haskell-mode)
+ (mode . lean-mode)))
("emacs"
(or
(name . "^\\*scratch\\*$")
- (name . "^\\*Messages\\*$")))
- ("slack"
- (or
- (name . "^\\*Slack*"))))))
+ (name . "^\\*Messages\\*$"))))))
(ibuffer-formats
'((mark modified read-only locked " "
(name 18 18 :left :elide)
:after (treemacs))
#+end_src
+** geiser
+
+#+begin_src emacs-lisp
+(use-package geiser)
+
+(use-package geiser-guile
+ :config
+ (setq geiser-guile-load-path "~/src/git/guix"))
+#+end_src
+
+** guix
+
+#+begin_src emacs-lisp
+(use-package guix
+ :load-path "lib/guix/elisp")
+#+end_src
+
* Emacs Enhancements
** [[https://github.com/justbur/emacs-which-key][which-key]]
read-mail-command 'gnus)
(use-package gnus
- :bind (("s-m" . gnus)
- ("s-M" . gnus-unplugged))
+ :bind (("C-c m" . gnus)
+ ("C-c M" . gnus-unplugged)
+ ("s-m" . gnus)
+ ("s-M" . gnus-unplugged))
:init
(setq
gnus-select-method '(nnnil "")