GNU bug report logs - #30578
26.0; Dired: moving current directory (./)

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Thu, 22 Feb 2018 17:39:01 UTC

Severity: minor

Tags: confirmed

Merged with 21537, 52004

Found in versions 24.5, 26.0

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 30578 in the body.
You can then email your comments to 30578 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#30578; Package emacs. (Thu, 22 Feb 2018 17:39:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Drew Adams <drew.adams <at> oracle.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 22 Feb 2018 17:39:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.0; Dired: moving current directory (./)
Date: Thu, 22 Feb 2018 09:38:17 -0800 (PST)
See https://emacs.stackexchange.com/a/39010/105.

Putting point on the current-directory line of a Dired listing, i.e.,
`.', and using `R' to move/rename that directory, works, but you get an
error message, and you don't end up in a Dired listing for that
(now-renamed) directory.

This is the error message you get, where /some/dir1/dir2/ccc/ is the
directory listed in Dired, i.e., the dir that corresponds to `.' in the
Dired listing:

Expected to find /some/dir1/dir2/ccc/./ in headerline of
/some/dir1/dir2/ccc/

It would be good to be able to perform this operation without any
glitches.  (Yes, of course you can always go to the parent directory in
Dired and then rename the child dir from there.)


In GNU Emacs 26.0.91 (build 1, x86_64-w64-mingw32)
 of 2018-01-22
Repository revision: 752fba992b793a74d202c9cfc3e1a92fd458e748
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --without-dbus --host=x86_64-w64-mingw32
 --without-compress-install 'CFLAGS=-O2 -static -g3''




Added tag(s) confirmed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 14 Jul 2019 14:33:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#30578; Package emacs. (Sun, 14 Jul 2019 14:41:01 GMT) Full text and rfc822 format available.

Message #10 received at 30578 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Drew Adams <drew.adams <at> oracle.com>
Cc: 30578 <at> debbugs.gnu.org
Subject: Re: bug#30578: 26.0; Dired: moving current directory (./)
Date: Sun, 14 Jul 2019 16:40:04 +0200
Drew Adams <drew.adams <at> oracle.com> writes:

> See https://emacs.stackexchange.com/a/39010/105.
>
> Putting point on the current-directory line of a Dired listing, i.e.,
> `.', and using `R' to move/rename that directory, works, but you get an
> error message, and you don't end up in a Dired listing for that
> (now-renamed) directory.
>
> This is the error message you get, where /some/dir1/dir2/ccc/ is the
> directory listed in Dired, i.e., the dir that corresponds to `.' in the
> Dired listing:
>
> Expected to find /some/dir1/dir2/ccc/./ in headerline of
> /some/dir1/dir2/ccc/

This seems to be still present on the Emacs trunk, and here's the
backtrace (which you should include in bug reports like this).

If I understand the code correctly, it simply doesn't understand that
"." is the directory itself, and treats it as any subdirectory: It
removes the line with "." from the buffer and then wants to adjust the
header line.

Instead, I guess it should...  point the current directory to the new
location?  But keep all the contents in the buffer (you may have marked
files and the like)?

Alternatively, for a really easy fix, it could just error out
immediately when you try this.  :-/

Debugger entered--Lisp error: (error "Expected to find ‘/tmp/foo1/./’ in headerline of /tmp/foo1/")
  signal(error ("Expected to find ‘/tmp/foo1/./’ in headerline of /tmp/foo1/"))
  error("Expected to find `%s' in headerline of %s" "/tmp/foo1/./" "/tmp/foo1/")
  dired-rename-subdir-2(("/tmp/foo1/" . #<marker at 1 in foo1>) "/tmp/foo1/./" "/tmp/lala1/")
  dired-rename-subdir-1("/tmp/foo1/./" "/tmp/lala1/")
  apply(dired-rename-subdir-1 ("/tmp/foo1/./" "/tmp/lala1/"))
  dired-fun-in-all-buffers("/tmp/foo1/./" nil dired-rename-subdir-1 "/tmp/foo1/./" "/tmp/lala1/")
  dired-rename-subdir("/tmp/foo1/." "/tmp/lala1")
  dired-rename-file("/tmp/foo1/." "/tmp/lala1" nil)
  dired-create-files(dired-rename-file "Move" ("/tmp/foo1/.") #f(compiled-function (from) #<bytecode 0x156ba85788fd>) t)
  dired-do-create-files(move dired-rename-file "Move" nil t "Rename")
  dired-do-rename(nil)
  
-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#30578; Package emacs. (Sun, 14 Jul 2019 15:16:02 GMT) Full text and rfc822 format available.

Message #13 received at 30578 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 30578 <at> debbugs.gnu.org
Subject: RE: bug#30578: 26.0; Dired: moving current directory (./)
Date: Sun, 14 Jul 2019 08:14:49 -0700 (PDT)
> I guess it should point the current directory to the new
> location?  But keep all the contents in the buffer (you
> may have marked files and the like)?

Yes.  It should do (the equivalent of) a `mv`
on the current directory.  And the Dired buffer
should then be refreshed using the new location.

And yes, it should ideally keep all settings:
omitted files, markings, whether details are
hidden - everything.  The only thing that
changes is the location of the directory.




Merged 21537 30578. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 01 Aug 2019 19:13:02 GMT) Full text and rfc822 format available.

Forcibly Merged 21537 30578 52004. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 21 Nov 2021 08:37:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 29.1, send any further explanations to 52004 <at> debbugs.gnu.org and 積丹尼 Dan Jacobson <jidanni <at> jidanni.org> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sat, 24 Sep 2022 13:29:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 23 Oct 2022 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 237 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.