summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Kangas <stefankangas@gmail.com>2023-03-07 06:30:10 +0100
committerStefan Kangas <stefankangas@gmail.com>2023-03-07 06:30:10 +0100
commit8179555730d23f43b3043df0bfecc9f9c4f36eda (patch)
treefbb46c0fa15588d422ee96abd8630b6b2d1cb411
parent1e5393a57a3bbe3f9167fee59232c2e424afadf2 (diff)
parentbd07cec844257ba8ae95b2ab2e66982360576c9d (diff)
downloademacs-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.el10
-rw-r--r--lisp/icomplete.el11
-rw-r--r--lisp/progmodes/elisp-mode.el3
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.