unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#41412: 27.0.90; Value of default directory in completions buffer
@ 2020-05-19 23:06 Karthik Chikmagalur
  2022-06-06 13:07 ` bug#41412: bug#41424: 26.1; default-directory in *Completions* buffer Lars Ingebrigtsen
  0 siblings, 1 reply; 3+ messages in thread
From: Karthik Chikmagalur @ 2020-05-19 23:06 UTC (permalink / raw)
  To: 41412


The value of `default-directory' in the completions buffer is wrong when
there is a partial completion inserted in the minibuffer.

Steps to reproduce:

1. Start `emacs -Q'
2. C-x C-f to start finding a file
3. Enter a string (at least one character) and hit tab to pop up the
completions buffer. Let's say this string was "test"
4. The completions buffer will have completions starting with
"test". (We need at least one candidate).
5. C-h v default-directory
6. The value of `default-directory' in the completions buffer is set to
"~/test/", or the current directory + whatever string the user entered
into the minibuffer.


In GNU Emacs 27.0.90 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.13, cairo version 1.17.3)
 of 2020-03-31 built on thinkpad
Repository revision: ac3da1dd9626bc475e78b18c0b438435790e8926
Repository branch: makepkg
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Manjaro Linux

Recent messages:
Making completion list...
Quit [2 times]
Making completion list... [2 times]

Quit
You can run the command ‘load-theme’ with M-x lo-t RET
Use +,-,0 for further adjustment [2 times]
Making completion list...
Type "q" in help window to delete it.
Quit [3 times]
Quit
Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --mandir=/usr/share/man --with-gameuser=:games
 --with-sound=alsa --with-modules --without-gconf --without-gsettings
 --with-x-toolkit=gtk3 --without-xaw3d --without-m17n-flt --with-cairo
 --without-compress-install 'CFLAGS=-march=x86-64 -mtune=generic -O2
 -pipe -fstack-protector-strong -fno-plt -g -flto -g -flto -s
 -fuse-ld=gold' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GLIB NOTIFY INOTIFY ACL
LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ LIBOTF ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON
PDUMPER LCMS2 GMP

Important settings:
  value of $LC_MONETARY: en_US.UTF-8
  value of $LC_NUMERIC: en_US.UTF-8
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml mml-sec password-cache epa derived epg epg-config
gnus-util rmail rmail-loaddefs text-property-search mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils face-remap
dichromacy-theme time-date misearch multi-isearch vc-git diff-mode
easy-mmode cl-extra seq byte-opt gv bytecomp byte-compile cconv pp
cl-print mode-local find-func thingatpt help-fns radix-tree help-mode
easymenu shell pcomplete comint ansi-color ring dabbrev embark edmacro
kmacro cl-loaddefs cl-lib pcase subr-x tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 68828 9827)
 (symbols 48 7742 1)
 (strings 32 23173 2123)
 (string-bytes 1 702281)
 (vectors 16 12996)
 (vector-slots 8 159649 11786)
 (floats 8 46 26)
 (intervals 56 330 0)
 (buffers 1000 17))





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#41412: bug#41424: 26.1; default-directory in *Completions* buffer
  2021-01-23 22:00       ` Stefan Monnier
@ 2022-05-09 11:00         ` Lars Ingebrigtsen
  0 siblings, 0 replies; 3+ messages in thread
From: Lars Ingebrigtsen @ 2022-05-09 11:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Omar Antolín Camarena, 41424, 41412, Stefan Kangas

Stefan Monnier <monnier@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





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* bug#41412: bug#41424: 26.1; default-directory in *Completions* buffer
  2020-05-19 23:06 bug#41412: 27.0.90; Value of default directory in completions buffer Karthik Chikmagalur
@ 2022-06-06 13:07 ` Lars Ingebrigtsen
  0 siblings, 0 replies; 3+ messages in thread
From: Lars Ingebrigtsen @ 2022-06-06 13:07 UTC (permalink / raw)
  To: Karthik Chikmagalur; +Cc: 41424, 41412

Karthik Chikmagalur <karthikchikmagalur@gmail.com> writes:

> Steps to reproduce:
>
> 1. Start `emacs -Q'
> 2. C-x C-f to start finding a file
> 3. Enter a string (at least one character) and hit tab to pop up the
> completions buffer. Let's say this string was "test"
> 4. The completions buffer will have completions starting with
> "test". (We need at least one candidate).
> 5. C-h v default-directory
> 6. The value of `default-directory' in the completions buffer is set to
> "~/test/", or the current directory + whatever string the user entered
> into the minibuffer.

I can reproduce this in Emacs 28.1, but not in Emacs 29 now (but I could
a month ago), so it seems like this has been fixed recently, and I'm
therefore closing this bug report.  If this problem is still present (it
may be that my test cases doesn't cover all the possibilities), please
respond to the debbugs address and we'll reopen.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-06-06 13:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-19 23:06 bug#41412: 27.0.90; Value of default directory in completions buffer Karthik Chikmagalur
2022-06-06 13:07 ` bug#41412: bug#41424: 26.1; default-directory in *Completions* buffer Lars Ingebrigtsen
  -- strict thread matches above, loose matches on Subject: below --
2020-05-20 17:49 Omar Antolín Camarena
2021-01-22 20:28 ` bug#41424: bug#41412: 27.0.90; Value of default directory in completions buffer Lars Ingebrigtsen
2021-01-22 22:50   ` Stefan Monnier
2021-01-23 18:47     ` bug#41424: " Lars Ingebrigtsen
2021-01-23 22:00       ` Stefan Monnier
2022-05-09 11:00         ` bug#41412: bug#41424: 26.1; default-directory in *Completions* buffer Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).