summary refs log tree commit diff stats
path: root/lisp
diff options
context:
space:
mode:
authorCase Duckworth2022-04-02 13:58:17 -0500
committerCase Duckworth2022-04-02 13:58:17 -0500
commitf479cd9b30a8cd51042e7d4794bd8f86285c5130 (patch)
tree9c0b2f11d27f1603e038905932fc30b40765f006 /lisp
parentExperiment: remove most font-lock faces (diff)
parentAdd +scratch-buffer (diff)
downloademacs-f479cd9b30a8cd51042e7d4794bd8f86285c5130.tar.gz
emacs-f479cd9b30a8cd51042e7d4794bd8f86285c5130.zip
Merge branch 'main' of tildegit.org:acdw/emacs
Diffstat (limited to 'lisp')
-rw-r--r--lisp/+tab-bar.el3
-rw-r--r--lisp/acdw.el25
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.
391If the region is active, paste its contents into the scratch
392buffer. The scratch buffer inherits the mode of the current
393buffer unless NOMODE is non-nil. When called interactively,
394NOMODE 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