diff --git a/core/autoload/buffers.el b/core/autoload/buffers.el index 05f02a8fb..55502c565 100644 --- a/core/autoload/buffers.el +++ b/core/autoload/buffers.el @@ -141,7 +141,7 @@ popup window/buffer and b) isn't a special buffer." ;;;###autoload (defun doom-kill-buffer (&optional buffer dont-save) "Kill BUFFER (falls back to current buffer if omitted) then switch to a real -buffer, but buries the buffer if it is present in another window. +buffer, but only bury the buffer if it is present in another window. See `doom-real-buffer-p' for what 'real' means." (let* ((buffer (or buffer (current-buffer))) diff --git a/core/core-editor.el b/core/core-editor.el index 28707ebea..283af42f9 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -109,7 +109,7 @@ ;; Auto-close delimiters and blocks as you type (def-package! smartparens :demand t :init - (setq sp-autowrap-region nil ; let evil-surround handle this + (setq sp-autowrap-region nil ; let evil-surround handle this sp-highlight-pair-overlay nil sp-cancel-autoskip-on-backward-movement nil sp-show-pair-delay 0 diff --git a/core/core-lib.el b/core/core-lib.el index 926ff7a57..877cb66f2 100644 --- a/core/core-lib.el +++ b/core/core-lib.el @@ -5,25 +5,29 @@ (require 'subr-x)) ;; I don't use use-package for these to save on the `fboundp' lookups it does -;; for its :commands property. -(mapc (lambda (sym) (autoload sym "async")) - '(async-start async-start-process async-byte-recompile-directory)) - -(mapc (lambda (sym) (autoload sym "persistent-soft")) - '(persistent-soft-exists-p persistent-soft-fetch persistent-soft-flush persistent-soft-store)) - -(mapc (lambda (sym) (autoload sym "s")) - '(s-trim s-trim-left s-trim-right s-chomp s-collapse-whitespace s-word-wrap - s-center s-pad-left s-pad-right s-truncate s-left s-right s-chop-suffix - s-chop-suffixes s-chop-prefix s-chop-prefixes s-shared-start s-shared-end - s-repeat s-concat s-prepend s-append s-lines s-match s-match-strings-all - s-matched-positions-all s-slice-at s-split s-split-up-to s-join s-equals? - s-less? s-matches? s-blank? s-present? s-ends-with? s-starts-with? s-contains? - s-lowercase? s-uppercase? s-mixedcase? s-capitalized? s-numeric? s-replace - s-replace-all s-downcase s-upcase s-capitalize s-titleize s-with s-index-of - s-reverse s-presence s-format s-lex-format s-count-matches s-wrap s-split-words - s-lower-camel-case s-upper-camel-case s-snake-case s-dashed-words - s-capitalized-words s-titleized-words s-word-initials)) +;; for its :commands property. I use dolists instead of mapc to avoid extra +;; stackframes allocated for lambdas. This is _definitely_ premature +;; optimization. +(dolist (sym '(async-start async-start-process async-byte-recompile-directory)) + (autoload sym "async")) +(dolist (sym '(persistent-soft-exists-p persistent-soft-fetch + persistent-soft-flush persistent-soft-store)) + (autoload sym "persistent-soft")) +(dolist (sym '(s-trim s-trim-left s-trim-right s-chomp s-collapse-whitespace + s-word-wrap s-center s-pad-left s-pad-right s-truncate s-left + s-right s-chop-suffix s-chop-suffixes s-chop-prefix + s-chop-prefixes s-shared-start s-shared-end s-repeat s-concat + s-prepend s-append s-lines s-match s-match-strings-all + s-matched-positions-all s-slice-at s-split s-split-up-to s-join + s-equals? s-less? s-matches? s-blank? s-present? s-ends-with? + s-starts-with? s-contains? s-lowercase? s-uppercase? s-mixedcase? + s-capitalized? s-numeric? s-replace s-replace-all s-downcase + s-upcase s-capitalize s-titleize s-with s-index-of s-reverse + s-presence s-format s-lex-format s-count-matches s-wrap + s-split-words s-lower-camel-case s-upper-camel-case s-snake-case + s-dashed-words s-capitalized-words s-titleized-words + s-word-initials)) + (autoload sym "s")) ;; diff --git a/core/core-ui.el b/core/core-ui.el index 14344c1c1..b44084b24 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -68,8 +68,8 @@ disabled.") (put 'doom--old-modeline-format 'permanent-local t) (put 'doom-hide-modeline-mode 'permanent-local t) -;; window config undo/redo -(defvar winner-dont-bind-my-keys t) +;; undo/redo changes to Emacs' window layout +(defvar winner-dont-bind-my-keys t) ; I'll bind keys myself (require 'winner) (add-hook 'window-setup-hook 'winner-mode) @@ -86,7 +86,6 @@ disabled.") ;; buffer name in frame title (setq-default frame-title-format '("DOOM Emacs")) ;; standardize fringe width - (fringe-mode doom-ui-fringe-size) (push (cons 'left-fringe doom-ui-fringe-size) default-frame-alist) (push (cons 'right-fringe doom-ui-fringe-size) default-frame-alist) ;; no fringe in the minibuffer diff --git a/core/core.el b/core/core.el index e15b812bf..52b5c0682 100644 --- a/core/core.el +++ b/core/core.el @@ -140,7 +140,6 @@ enable multiple minor modes for the same regexp.") (require 'core-os) ; consistent behavior across Oses (with-demoted-errors "AUTOLOAD ERROR: %s" (require 'autoloads doom-autoload-file t)) - (unless noninteractive (require 'core-ui) ; draw me like one of your French editors (require 'core-popups) ; taming sudden yet inevitable windows diff --git a/modules/feature/evil/config.el b/modules/feature/evil/config.el index c64ab2df7..ed49745c8 100644 --- a/modules/feature/evil/config.el +++ b/modules/feature/evil/config.el @@ -66,16 +66,8 @@ (add-hook 'evil-operator-state-exit-hook '+evil|show-paren-mode-off) (add-hook 'evil-normal-state-entry-hook '+evil|show-paren-mode-off) - (mapc (lambda (args) (evil-set-initial-state (car args) (cdr args))) - '((tabulated-list-mode . emacs) - (profile-report-mode . emacs) - (Info-mode . emacs) - (view-mode . emacs) - (comint-mode . emacs) - (term-mode . emacs) - (calendar-mode . emacs) - (Man-mode . emacs) - (grep-mode . emacs)))) + (dolist (mode '(tabulated-list-mode Info-mode view-mode comint-mode term-mode calendar-mode Man-mode grep-mode)) + (evil-set-initial-state mode 'emacs))) (defsubst +evil--textobj (key inner-fn &optional outer-fn) "Define a text object." diff --git a/modules/lang/web/config.el b/modules/lang/web/config.el index 6f1d5111a..02b9afd3a 100644 --- a/modules/lang/web/config.el +++ b/modules/lang/web/config.el @@ -19,10 +19,10 @@ (let* ((project-root (doom-project-root)) (bower (and +web-bower-mode (+web-bower-conf project-root))) (npm (and +javascript-npm-mode (+javascript-npm-conf project-root)))) - (assq 'angular (append (cdr-safe (assq 'dependencies bower)) - (cdr-safe (assq 'dependencies npm)) - (cdr-safe (assq 'devDependencies bower)) - (cdr-safe (assq 'devDependencies npm))))))) + (assq 'angular (append (cdr (assq 'dependencies bower)) + (cdr (assq 'dependencies npm)) + (cdr (assq 'devDependencies bower)) + (cdr (assq 'devDependencies npm))))))) (def-project-mode! +web-jekyll-mode :modes (web-mode js-mode coffee-mode css-mode haml-mode pug-mode) diff --git a/modules/private/hlissner/+bindings.el b/modules/private/hlissner/+bindings.el index 2cb9cbbef..5afced2d3 100644 --- a/modules/private/hlissner/+bindings.el +++ b/modules/private/hlissner/+bindings.el @@ -72,6 +72,7 @@ ;;; and :m ";" 'evil-ex (:leader + ;; common :desc "Switch project buffer" :n "," 'persp-switch-to-buffer :desc "Switch buffer" :n "<" 'switch-to-buffer :desc "Browse files" :n "." 'find-file