diff options
-rw-r--r-- | lisp/ChangeLog | 1 | ||||
-rw-r--r-- | lisp/minibuffer.el | 28 |
2 files changed, 17 insertions, 12 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 74e63b140c4..2bdf074b9d5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -2,6 +2,7 @@ * minibuffer.el (completion--sifn-requote): Rewrite to handle things like Tramp's "/foo:~bar//baz" -> "/scpc:foo:/baz" mapping (bug#11714). + (completion--twq-all): Disable too-strict assertions. * tmm.el (tmm-prompt): Use map-keymap (bug#12744). diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 420d8f9d0fd..38347f23f7d 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -529,10 +529,12 @@ for use at QPOS." (`(,qfullpos . ,qfun) (funcall requote (+ boundary (length prefix)) string)) (qfullprefix (substring string 0 qfullpos)) - (_ (cl-assert (completion--string-equal-p - (funcall unquote qfullprefix) - (concat (substring ustring 0 boundary) prefix)) - t)) + ;; FIXME: This assertion can be wrong, e.g. in Cygwin, where + ;; (unquote "c:\bin") => "/usr/bin" but (unquote "c:\") => "/". + ;;(cl-assert (completion--string-equal-p + ;; (funcall unquote qfullprefix) + ;; (concat (substring ustring 0 boundary) prefix)) + ;; t)) (qboundary (car (funcall requote boundary string))) (_ (cl-assert (<= qboundary qfullpos))) ;; FIXME: this split/quote/concat business messes up the carefully @@ -561,14 +563,16 @@ for use at QPOS." (let* ((new (substring completion (length prefix))) (qnew (funcall qfun new)) (qcompletion (concat qprefix qnew))) - (cl-assert - (completion--string-equal-p - (funcall unquote - (concat (substring string 0 qboundary) - qcompletion)) - (concat (substring ustring 0 boundary) - completion)) - t) + ;; FIXME: Similarly here, Cygwin's mapping trips this + ;; assertion. + ;;(cl-assert + ;; (completion--string-equal-p + ;; (funcall unquote + ;; (concat (substring string 0 qboundary) + ;; qcompletion)) + ;; (concat (substring ustring 0 boundary) + ;; completion)) + ;; t) qcompletion)) completions) qboundary)))) |