diff options
author | Stefan Kangas <stefankangas@gmail.com> | 2023-03-07 06:30:10 +0100 |
---|---|---|
committer | Stefan Kangas <stefankangas@gmail.com> | 2023-03-07 06:30:10 +0100 |
commit | 8179555730d23f43b3043df0bfecc9f9c4f36eda (patch) | |
tree | fbb46c0fa15588d422ee96abd8630b6b2d1cb411 | |
parent | 1e5393a57a3bbe3f9167fee59232c2e424afadf2 (diff) | |
parent | bd07cec844257ba8ae95b2ab2e66982360576c9d (diff) | |
download | emacs-8179555730d23f43b3043df0bfecc9f9c4f36eda.tar.gz |
Merge from origin/emacs-29
bd07cec8442 Fix regression in Fido mode (bug#62015)
0e3c7ac13da * Fix `emacs-lisp-native-compile-and-load' for (bug#61917)
4a7e657389a * lisp/emacs-lisp/comp.el (comp-prettyformat-insn): Fix (...
8a8a994cfab Revert "Fix configuration of webp libraries"
de4277af009 Fix configuration of webp libraries
-rw-r--r-- | lisp/emacs-lisp/comp.el | 10 | ||||
-rw-r--r-- | lisp/icomplete.el | 11 | ||||
-rw-r--r-- | lisp/progmodes/elisp-mode.el | 3 |
3 files changed, 19 insertions, 5 deletions
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 189a010ffc7..ce81680a226 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -1137,10 +1137,12 @@ with `message'. Otherwise, log with `comp-log-to-buffer'." (comp-cstr-to-type-spec mvar))) (defun comp-prettyformat-insn (insn) - (cl-typecase insn - (comp-mvar (comp-prettyformat-mvar insn)) - (atom (prin1-to-string insn)) - (cons (concat "(" (mapconcat #'comp-prettyformat-insn insn " ") ")")))) + (cond + ((comp-mvar-p insn) + (comp-prettyformat-mvar insn)) + ((proper-list-p insn) + (concat "(" (mapconcat #'comp-prettyformat-insn insn " ") ")")) + (t (prin1-to-string insn)))) (defun comp-log-func (func verbosity) "Log function FUNC at VERBOSITY. diff --git a/lisp/icomplete.el b/lisp/icomplete.el index e0b591739ef..49c0c78fe73 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el @@ -420,6 +420,16 @@ if that doesn't produce a completion match." "C-." #'icomplete-forward-completions "C-," #'icomplete-backward-completions) +(defun icomplete--fido-ccd () + "Make value for `completion-category-defaults' prioritizing `flex'." + (cl-loop + for (cat . alist) in completion-category-defaults collect + `(,cat . ,(cl-loop + for entry in alist for (prop . val) = entry + if (eq prop 'styles) + collect `(,prop . (flex ,@(delq 'flex val))) + else collect entry)))) + (defun icomplete--fido-mode-setup () "Setup `fido-mode''s minibuffer." (when (and icomplete-mode (icomplete-simple-completing-p)) @@ -431,6 +441,7 @@ if that doesn't produce a completion match." icomplete-scroll (not (null icomplete-vertical-mode)) completion-styles '(flex) completion-flex-nospace nil + completion-category-defaults (icomplete--fido-ccd) completion-ignore-case t read-buffer-completion-ignore-case t read-file-name-completion-ignore-case t))) diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el index 27e39900830..45e3848362e 100644 --- a/lisp/progmodes/elisp-mode.el +++ b/lisp/progmodes/elisp-mode.el @@ -224,7 +224,8 @@ Use `emacs-lisp-byte-compile-and-load' in combination with native compilation." (interactive nil emacs-lisp-mode) (emacs-lisp--before-compile-buffer) - (load (native-compile buffer-file-name))) + (when-let ((out (native-compile buffer-file-name))) + (load out))) (defun emacs-lisp-macroexpand () "Macroexpand the form after point. |