From e4829cb8d789abc8ac72080ba412f90328e44990 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 23 May 2014 11:54:44 -0400 Subject: [PATCH] * lisp/minibuffer.el (completion--sreverse): Remove. (completion--common-suffix): Use `reverse' instead. * lisp/emacs-lisp/regexp-opt.el (regexp-opt-group): Use `reverse' on strings. --- lisp/ChangeLog | 6 ++++++ lisp/emacs-lisp/regexp-opt.el | 7 ++----- lisp/minibuffer.el | 10 ++-------- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index aaf7cb232c8..7c2b1ec5ad6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2014-05-23 Stefan Monnier + + * minibuffer.el (completion--sreverse): Remove. + (completion--common-suffix): Use `reverse' instead. + * emacs-lisp/regexp-opt.el (regexp-opt-group): Use `reverse' on strings. + 2014-05-22 Glenn Morris * shell.el (shell-mode) : Bypass bash aliases. diff --git a/lisp/emacs-lisp/regexp-opt.el b/lisp/emacs-lisp/regexp-opt.el index b2d4f2b71dd..ff9388171a6 100644 --- a/lisp/emacs-lisp/regexp-opt.el +++ b/lisp/emacs-lisp/regexp-opt.el @@ -205,9 +205,7 @@ Merges keywords to avoid backtracking in Emacs's regexp matcher." (regexp-opt-group suffixes t t) close-group)) - (let* ((sgnirts (mapcar (lambda (s) - (concat (nreverse (string-to-list s)))) - strings)) + (let* ((sgnirts (mapcar #'reverse strings)) (xiffus (try-completion "" sgnirts))) (if (> (length xiffus) 0) ;; common suffix: take it and recurse on the prefixes. @@ -218,8 +216,7 @@ Merges keywords to avoid backtracking in Emacs's regexp matcher." 'string-lessp))) (concat open-group (regexp-opt-group prefixes t t) - (regexp-quote - (concat (nreverse (string-to-list xiffus)))) + (regexp-quote (nreverse xiffus)) close-group)) ;; Otherwise, divide the list into those that start with a diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index f8e39dc1529..2f898fa1ba5 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -873,6 +873,7 @@ completing buffer and file names, respectively." ;; part of the string (e.g. substitute-in-file-name). (let ((requote (when (completion-metadata-get metadata 'completion--unquote-requote) + (cl-assert (functionp table)) (let ((new (funcall table string point 'completion--unquote))) (setq string (pop new)) (setq table (pop new)) @@ -3057,16 +3058,9 @@ filter out additional entries (because TABLE might not obey PRED)." (nconc (completion-pcm--hilit-commonality pattern all) (length prefix))))) -(defun completion--sreverse (str) - "Like `reverse' but for a string STR rather than a list." - (apply #'string (nreverse (mapcar 'identity str)))) - (defun completion--common-suffix (strs) "Return the common suffix of the strings STRS." - (completion--sreverse - (try-completion - "" - (mapcar #'completion--sreverse strs)))) + (nreverse (try-completion "" (mapcar #'reverse strs)))) (defun completion-pcm--merge-completions (strs pattern) "Extract the commonality in STRS, with the help of PATTERN. -- 2.39.5