about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--gnus.el3
-rw-r--r--init.el40
2 files changed, 33 insertions, 10 deletions
diff --git a/gnus.el b/gnus.el index 3701c70..5fdb08f 100644 --- a/gnus.el +++ b/gnus.el
@@ -31,7 +31,8 @@
31;;; Gnus cloud 31;;; Gnus cloud
32(setq gnus-cloud-method "nnimap:fastmail.com" 32(setq gnus-cloud-method "nnimap:fastmail.com"
33 gnus-cloud-storage-method nil ; Don't always have GPG or gzip 33 gnus-cloud-storage-method nil ; Don't always have GPG or gzip
34 ) 34 gnus-cloud-covered-servers '("nntp:news.tilde.club"
35 "nntp:news.gwene.org"))
35(add-hook 'gnus-started-hook #'gnus-cloud-download-all-data) 36(add-hook 'gnus-started-hook #'gnus-cloud-download-all-data)
36(add-hook 'gnus-exit-gnus-hook #'gnus-cloud-upload-all-data) 37(add-hook 'gnus-exit-gnus-hook #'gnus-cloud-upload-all-data)
37 38
diff --git a/init.el b/init.el index ddbb53f..24d71ed 100644 --- a/init.el +++ b/init.el
@@ -650,6 +650,37 @@
650 (:option inferior-lisp-program acdw/lisp-bin) 650 (:option inferior-lisp-program acdw/lisp-bin)
651 651
652 (setup (:straight clhs)) 652 (setup (:straight clhs))
653
654 (defmacro acdw/cl-define-key (key-string &rest bindings)
655 "Define KEY-STRING to functions in BINDINGS.
656KEY-STRING is passed directly to `kbd'. BINDINGS are a lists of
657the form (:IDE MAP FUNC AFTER), where IDE is an IDE (like `slime' or
658`sly'), MAP is the mapping in which to bind KEY-STRING, FUNC
659is the function to bind KEY-STRING to in that IDE and MAP, and AFTER is the file to `eval-after-load' the `define-key' definition.
660`acdw/cl-define-key' only binds the keys that match `acdw/cl-ide'
661to save computation time."
662 (declare (indent 1))
663 (let* ((binding (catch :found
664 (dolist (b bindings)
665 (when (eq (car b) acdw/cl-ide)
666 (throw :found b)))))
667 (binding-map `,(nth 1 binding))
668 (binding-func `(function ,(nth 2 binding)))
669 (binding-after `,(nth 3 binding)))
670 `(with-eval-after-load ',binding-after
671 (define-key ,binding-map (kbd ,key-string) ,binding-func))))
672
673 (dolist (key '("RET" "<return>"))
674 (acdw/cl-define-key key
675 (:slime slime-repl-mode-map slime-repl-return-at-end slime)
676 (:sly sly-mrepl-mode-map sly-mrepl-return-at-end sly-mrepl)))
677
678 (eval-after-load 'sly-mrepl
679 (function
680 (lambda nil
681 (define-key sly-mrepl-mode-map
682 (kbd "C-c C-c")
683 (function sly-mrepl-return)))))
653 684
654 (pcase acdw/cl-ide 685 (pcase acdw/cl-ide
655 (:slime 686 (:slime
@@ -662,10 +693,6 @@
662 "~/var/quicklisp/slime-helper.el")))) 693 "~/var/quicklisp/slime-helper.el"))))
663 (load slime-helper)) 694 (load slime-helper))
664 695
665 (with-eval-after-load 'slime
666 (dolist (key (list (kbd "RET")
667 (kbd "<return>")))
668 (define-key slime-repl-mode-map key #'slime-repl-return-at-end)))
669 (defun slime-repl-return-at-end () 696 (defun slime-repl-return-at-end ()
670 (interactive) 697 (interactive)
671 (if (<= (point-max) (point)) 698 (if (<= (point-max) (point))
@@ -681,11 +708,6 @@
681 (:sly 708 (:sly
682 (setup (:straight sly) 709 (setup (:straight sly)
683 (:option sly-kill-without-query-p t) 710 (:option sly-kill-without-query-p t)
684
685 (with-eval-after-load 'sly-mrepl
686 (dolist (key (list (kbd "RET")
687 (kbd "<return>")))
688 (define-key sly-mrepl-mode-map key #'sly-mrepl-return-at-end)))
689 711
690 (defun sly-mrepl-return-at-end () 712 (defun sly-mrepl-return-at-end ()
691 (interactive) 713 (interactive)