aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/icomplete.el21
1 files changed, 19 insertions, 2 deletions
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index 4d6dfcd18a1..bf7e2ea7cb4 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -442,6 +442,24 @@ Usually run by inclusion in `minibuffer-setup-hook'."
442 (cdr tem))))) 442 (cdr tem)))))
443 (add-hook 'pre-command-hook 'icomplete-pre-command-hook nil t) 443 (add-hook 'pre-command-hook 'icomplete-pre-command-hook nil t)
444 (add-hook 'post-command-hook 'icomplete-post-command-hook nil t))) 444 (add-hook 'post-command-hook 'icomplete-post-command-hook nil t)))
445
446(defun icomplete--sorted-completions ()
447 (let ((all (completion-all-sorted-completions
448 (icomplete--field-beg) (icomplete--field-end))))
449 (if (and fido-mode
450 (window-minibuffer-p)
451 (not minibuffer-default)
452 (eq (icomplete--category) 'file))
453 (cl-loop for l on all
454 while (listp (cdr l))
455 for comp = (cadr l)
456 when (string= comp "./")
457 do (setf (cdr l) (cddr l))
458 and return
459 (setq completion-all-sorted-completions (cons comp all))
460 finally return all)
461 all)))
462
445 463
446 464
447 465
@@ -550,8 +568,7 @@ matches exist."
550 (funcall predicate cand)))) 568 (funcall predicate cand))))
551 predicate)) 569 predicate))
552 (md (completion--field-metadata (icomplete--field-beg))) 570 (md (completion--field-metadata (icomplete--field-beg)))
553 (comps (completion-all-sorted-completions 571 (comps (icomplete--sorted-completions))
554 (icomplete--field-beg) (icomplete--field-end)))
555 (last (if (consp comps) (last comps))) 572 (last (if (consp comps) (last comps)))
556 (base-size (cdr last)) 573 (base-size (cdr last))
557 (open-bracket (if require-match "(" "[")) 574 (open-bracket (if require-match "(" "["))