diff options
author | Case Duckworth | 2022-04-02 13:58:17 -0500 |
---|---|---|
committer | Case Duckworth | 2022-04-02 13:58:17 -0500 |
commit | f479cd9b30a8cd51042e7d4794bd8f86285c5130 (patch) | |
tree | 9c0b2f11d27f1603e038905932fc30b40765f006 /lisp | |
parent | Experiment: remove most font-lock faces (diff) | |
parent | Add +scratch-buffer (diff) | |
download | emacs-f479cd9b30a8cd51042e7d4794bd8f86285c5130.tar.gz emacs-f479cd9b30a8cd51042e7d4794bd8f86285c5130.zip |
Merge branch 'main' of tildegit.org:acdw/emacs
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/+tab-bar.el | 3 | ||||
-rw-r--r-- | lisp/acdw.el | 25 |
2 files changed, 27 insertions, 1 deletions
diff --git a/lisp/+tab-bar.el b/lisp/+tab-bar.el index 5d018b5..1f4745d 100644 --- a/lisp/+tab-bar.el +++ b/lisp/+tab-bar.el | |||
@@ -52,7 +52,8 @@ | |||
52 | 52 | ||
53 | (defun +tab-bar-notmuch-count () | 53 | (defun +tab-bar-notmuch-count () |
54 | "Display a notmuch count in the tab-bar." | 54 | "Display a notmuch count in the tab-bar." |
55 | (when (featurep 'notmuch) | 55 | (when (and (executable-find "notmuch") |
56 | (featurep 'notmuch)) | ||
56 | (let* ((counts (ignore-errors (notmuch-hello-query-counts notmuch-saved-searches))) | 57 | (let* ((counts (ignore-errors (notmuch-hello-query-counts notmuch-saved-searches))) |
57 | (next (cl-find "inbox" counts :key (lambda (l) (plist-get l :name)) :test 'equal)) | 58 | (next (cl-find "inbox" counts :key (lambda (l) (plist-get l :name)) :test 'equal)) |
58 | (next-count (plist-get next :count))) | 59 | (next-count (plist-get next :count))) |
diff --git a/lisp/acdw.el b/lisp/acdw.el index 764a246..e47770b 100644 --- a/lisp/acdw.el +++ b/lisp/acdw.el | |||
@@ -386,5 +386,30 @@ the `format' call in a list." | |||
386 | `(with-eval-after-load ',this | 386 | `(with-eval-after-load ',this |
387 | (+with-eval-after-loads ,rest ,@body))))) | 387 | (+with-eval-after-loads ,rest ,@body))))) |
388 | 388 | ||
389 | (defun +scratch-buffer (&optional nomode) | ||
390 | "Create a new scratch buffer and switch to it. | ||
391 | If the region is active, paste its contents into the scratch | ||
392 | buffer. The scratch buffer inherits the mode of the current | ||
393 | buffer unless NOMODE is non-nil. When called interactively, | ||
394 | NOMODE will be set when called with \\[universal-argument]." | ||
395 | (interactive "P") | ||
396 | (let* ((mode major-mode) | ||
397 | (bufname (generate-new-buffer-name (format "*scratch (%s)*" mode))) | ||
398 | (paste (and (region-active-p) | ||
399 | (prog1 | ||
400 | (buffer-substring (mark t) (point)) | ||
401 | (deactivate-mark))))) | ||
402 | (when (and (not nomode) | ||
403 | (bound-and-true-p ess-dialect)) ; Not sure what `ess-dialect' is | ||
404 | (setq mode (intern-soft (concat ess-dialect "-mode")))) | ||
405 | ;; Set up buffer | ||
406 | (switch-to-buffer (get-buffer-create bufname)) | ||
407 | (when (and (not nomode) mode) | ||
408 | (ignore-errors (funcall mode))) | ||
409 | (insert (format "%s Scratch buffer for %s%s\n\n" | ||
410 | comment-start mode comment-end)) | ||
411 | (when paste (insert paste)) | ||
412 | (get-buffer bufname))) | ||
413 | |||
389 | (provide 'acdw) | 414 | (provide 'acdw) |
390 | ;;; acdw.el ends here | 415 | ;;; acdw.el ends here |