GNU bug report logs -
#41412
27.0.90; Value of default directory in completions buffer
Previous Next
Reported by: Karthik Chikmagalur <karthikchikmagalur <at> gmail.com>
Date: Tue, 19 May 2020 23:20:02 UTC
Severity: minor
Tags: moreinfo
Merged with 41424
Found in versions 26.1, 27.0.90
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #22 received at 41412 <at> debbugs.gnu.org (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> I think the correct thing to do is to look at the `(cdr (last completions))`
> where `completions` is what `completion-all-completions` returned.
> That gives what used to be called `completion-base-size`.
The call sequence here seems to be somewhat convoluted, so I'm not sure
how to get at that. But wouldn't just doing the following simple patch
fix the issue without regressing anything?
diff --git a/lisp/simple.el b/lisp/simple.el
index 861d9eefde..65b2a482e2 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -9495,9 +9495,11 @@ completion-setup-function
;; - With fancy completion styles, the code below will not always
;; find the right base directory.
(if minibuffer-completing-file-name
- (file-name-as-directory
- (expand-file-name
- (buffer-substring (minibuffer-prompt-end) (point)))))))
+ (let ((file (expand-file-name
+ (buffer-substring (minibuffer-prompt-end) (point)))))
+ (if (file-directory-p file)
+ (file-name-as-directory file)
+ (file-name-directory file))))))
(with-current-buffer standard-output
(let ((base-position completion-base-position)
(base-affixes completion-base-affixes)
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
This bug report was last modified 2 years and 352 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.