dev: merge branch 'master' into emenel

This commit is contained in:
Matt Nish-Lapidus 2024-06-24 17:27:06 -04:00
commit 5147ec7d73
78 changed files with 365 additions and 360 deletions

View file

@ -64,8 +64,8 @@ are great, but this file exists to add demos for Doom's API and beyond.
(after! helm ...)
;; An unquoted list of package symbols (i.e. BODY is evaluated once both magit
;; and git-gutter have loaded)
(after! (magit git-gutter) ...)
;; and diff-hl have loaded)
(after! (magit diff-hl) ...)
;; An unquoted, nested list of compound package lists, using any combination of
;; :or/:any and :and/:all

View file

@ -730,11 +730,12 @@ on."
;; a less intrusive `delete-trailing-whitespaces' on save
:hook (doom-first-buffer . ws-butler-global-mode)
:config
;; ws-butler normally preserves whitespace in the buffer (but strips it from
;; the written file). While sometimes convenient, this behavior is not
;; intuitive. To the average user it looks like whitespace cleanup is failing,
;; which causes folks to redundantly install their own.
(setq ws-butler-keep-whitespace-before-point nil))
(pushnew! ws-butler-global-exempt-modes
'special-mode
'comint-mode
'term-mode
'eshell-mode
'diff-mode))
(provide 'doom-editor)
;;; doom-editor.el ends here

View file

@ -87,7 +87,7 @@ and Emacs states, and for non-evil users.")
;; 1. Quit active states; e.g. highlights, searches, snippets, iedit,
;; multiple-cursors, recording macros, etc.
;; 2. Close popup windows remotely (if it is allowed to)
;; 3. Refresh buffer indicators, like git-gutter and flycheck
;; 3. Refresh buffer indicators, like diff-hl and flycheck
;; 4. Or fall back to `keyboard-quit'
;;
;; And it should do these things incrementally, rather than all at once. And it

View file

@ -641,8 +641,8 @@ is:
(after! (:and package-a package-b ...) BODY...)
(after! (:and package-a (:or package-b package-c) ...) BODY...)
- An unquoted list of package symbols (i.e. BODY is evaluated once both magit
and git-gutter have loaded)
(after! (magit git-gutter) BODY...)
and diff-hl have loaded)
(after! (magit diff-hl) BODY...)
If :or/:any/:and/:all are omitted, :and/:all are implied.
This emulates `eval-after-load' with a few key differences:

View file

@ -351,9 +351,9 @@ If ENABLED-ONLY, return nil if the containing module isn't enabled."
(and (or (null enabled-only)
(doom-module-p category module))
(cons category module))))
((file-in-directory-p path doom-core-dir)
((string-match (concat "^" (regexp-quote doom-core-dir)) path)
(cons :core nil))
((file-in-directory-p path doom-user-dir)
((string-match (concat "^" (regexp-quote doom-user-dir)) path)
(cons :user nil))))))
(defun doom-module-load-path (&optional module-load-path)

View file

@ -242,7 +242,7 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original
;;; Fringes
;; Reduce the clutter in the fringes; we'd like to reserve that space for more
;; useful information, like git-gutter and flycheck.
;; useful information, like diff-hl and flycheck.
(setq indicate-buffer-boundaries nil
indicate-empty-lines nil)

View file

@ -79,7 +79,7 @@
(when (< emacs-major-version 27)
(user-error
(concat
"Detected Emacs " emacs-version ", but Doom requires 27.1 or newer (28.1 is\n\n"
"Detected Emacs " emacs-version ", but Doom requires 27.1 or newer (29.3 is\n\n"
"recommended). The current Emacs executable in use is:\n\n " (car command-line-args)
"\n\nA guide for installing a newer version of Emacs can be found at:\n\n "
(format "https://docs.doomemacs.org/-/install/%s"
@ -201,7 +201,7 @@
"Current version of Doom Emacs core.")
;; DEPRECATED: Remove these when the modules are moved out of core.
(defconst doom-modules-version "24.04.0-pre"
(defconst doom-modules-version "24.07.0-pre"
"Current version of Doom Emacs.")
(defvar doom-init-time nil

View file

@ -169,7 +169,6 @@ non-nil, treat FILES as pre-generated autoload files instead."
(when (and (not (seq-find (doom-rpartial #'string-match-p file) exclude))
(file-readable-p file))
(doom-log "loaddefs:scan: %s" file)
(setq file (file-truename file))
(with-temp-buffer
(if literal
(insert-file-contents file)

View file

@ -538,7 +538,7 @@ which case it will save it without prompting."
(when (or (derived-mode-p 'dired-mode)
(derived-mode-p 'wdired-mode))
default-directory)
(user-error "Cannot determine the file path of the current buffer"))))
(user-error "Current buffer isn't visiting a file"))))
;;;###autoload
(defun doom/sudo-save-buffer ()

View file

@ -29,7 +29,6 @@ The font will be normalized (i.e. :weight, :slant, and :width will set to
FONT can be a `font-spec', a font object, an XFT font string, or an XLFD font
string."
(cl-check-type font (or font string vector))
(when (and (stringp font)
(string-prefix-p "-" font))
(setq font (x-decompose-font-name font)))
@ -45,7 +44,8 @@ string."
((vectorp font)
(dolist (i '(1 2 3) (x-compose-font-name font))
(unless (aref font i)
(aset font i "normal"))))))
(aset font i "normal"))))
((signal 'wrong-type-of-argument (list '(font string vectorp) font)))))
(font (x-resolve-font-name font))
(font (font-spec :name font)))
(unless (font-get font :size)

View file

@ -232,10 +232,12 @@ Must be run from a magit diff buffer."
:test #'equal)))
(save-excursion
(while (re-search-forward "^-" nil t)
(cl-pushnew (read-package) before :test #'equal)))
(when-let (pkg (read-package))
(cl-pushnew pkg before :test #'equal))))
(save-excursion
(while (re-search-forward "^+" nil t)
(cl-pushnew (read-package) after :test #'equal)))
(when-let (pkg (read-package))
(cl-pushnew pkg after :test #'equal))))
(unless (= (length before) (length after))
(user-error "Uneven number of packages being bumped"))
(dolist (p1 before)

View file

@ -92,8 +92,8 @@ and `format!' into colored output, where COLOR is any car of this list (or
(not (stringp str))
(string-blank-p str))
str
(let ((dir (or dir (file-truename default-directory)))
(str (file-truename str)))
(let* ((dir (or dir default-directory))
(str (expand-file-name str dir)))
(if (file-in-directory-p str dir)
(file-relative-name str dir)
(abbreviate-file-name str))))))
@ -118,6 +118,12 @@ Any of these classes can be called like functions from within `format!' and
Accepts `ansi' and `text-properties'. `nil' means don't render styles at all.")
(defvar doom-print-stream nil
"The default value for `standard-output' for Doom's print API.
If non-nil, this is used instead of `standard-output' because changes to that
variable don't survive translation units.")
(defvar doom-print-level 'notice
"The current, default logging level.")
@ -143,11 +149,11 @@ Accepts `ansi' and `text-properties'. `nil' means don't render styles at all.")
(format nil)
(level doom-print-level)
(newline t)
(stream standard-output))
(stream (or doom-print-stream standard-output)))
"Print OUTPUT to stdout.
Unlike `message', this:
- Respects the value of `standard-output'.
- Respects the value of `standard-output' (if `doom-print-stream' is nil).
- Indents according to `doom-print-indent' (if FORMAT is non-nil).
- Prints to stdout instead of stderr in batch mode.
- Recognizes more terminal escape codes (only in batch mode).
@ -236,7 +242,7 @@ based on the print level of the message. For example:
`(letf! ((,sym ,streamspec)
(standard-output (doom-print--redirect-standard-output ,sym t))
(#'message (doom-print--redirect-message ,sym (if noninteractive 'debug 'notice)))
(doom-print--output-depth (1+ doom-print--output-depth)))
(doom-print-stream standard-output))
,@body)))
@ -260,8 +266,8 @@ based on the print level of the message. For example:
(get (car spec) 'print-level)))
(cadr spec)))))
(defun doom-print--redirect-standard-output (streamspec level)
(let ((old standard-output)
(defun doom-print--redirect-standard-output (streamspec level &optional old-stream)
(let ((old (or old-stream standard-output))
(streams (doom-print--redirect-streams streamspec level)))
(lambda (ch)
(let ((str (char-to-string ch)))
@ -273,7 +279,8 @@ based on the print level of the message. For example:
(defun doom-print--redirect-message (streamspec level)
(let ((old (symbol-function #'message))
(streams (doom-print--redirect-streams streamspec level)))
(streams (doom-print--redirect-streams streamspec level))
(doom-print--output-depth (1+ doom-print--output-depth)))
(lambda (message &rest args)
(when message
(let ((output (apply #'doom-print--format message args)))

View file

@ -29,20 +29,16 @@
;; doom-editor.el
(package! better-jumper :pin "47622213783ece37d5337dc28d33b530540fc319")
(package! dtrt-indent :pin "5d1b44f9a1a484ca229cc14f8062609a10ef4891")
(package! helpful :pin "a32a5b3d959a7fccf09a71d97b3d7c888ac31c69")
(package! dtrt-indent :pin "939c5e374ac0175bb7d561542e22e47a72d04aa8")
(package! helpful :pin "4ba24cac9fb14d5fdc32582cd947572040e82b2c")
(package! pcre2el :pin "380723b2701cceb75c266440fb8db918f3340d50")
(package! smartparens :pin "a5c68cac1bea737b482a37aa92de4f6efbf7580b")
(package! ws-butler
;; Use my fork of ws-butler, which has a few choice improvements and
;; optimizations (the original has been abandoned).
:recipe (:host github :repo "hlissner/ws-butler")
:pin "572a10c11b6cb88293de48acbb59a059d36f9ba5")
(package! smartparens :pin "f7cf316715e5018186c226aab8242c9e5ce131c8")
(package! ws-butler :pin "e3a38d93e01014cd47bf5af4924459bd145fd7c4")
;; doom-projects.el
(package! projectile :pin "0163b335a18af0f077a474d4dc6b36e22b5e3274")
(package! project :pin "93aa1872e93a681a44cae03fecb8df4101719897")
(package! project :pin "bf4c3cfcfbf3423d79170aa880a1abb332ed942e")
;; doom-keybinds.el
(package! general :pin "826bf2b97a0fb4a34c5eb96ec2b172d682fd548f")
(package! which-key :pin "1e89fa000e9ba9549f15ef57abccd118d5f2fe1a")
(package! which-key :pin "ed389312170df955aaf10c2e120cc533ed5c509e")