bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#49711: 27.2; Deleting a directory called ~ deletes home directory


From: Eli Zaretskii
Subject: bug#49711: 27.2; Deleting a directory called ~ deletes home directory
Date: Sat, 24 Jul 2021 15:40:30 +0300

> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: abdo.haji.ali@gmail.com,  49711@debbugs.gnu.org
> Date: Sat, 24 Jul 2021 14:27:21 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > Hmm... you replaced expand-file-name with directory-append, but what
> > if there's a real "~" in the arguments, or some ".." etc. stuff?  That
> > would now wind up in the trash info, no?
> 
> Sorry, I don't follow you here -- if we're trashing a file called
> "/tmp/~", then the "~" file ends up in the trash now, as expected.
> 
> Do you mean "~/foo"?  That works the same as before.

Does it?  And what gets recorded in the trash info -- "~/foo" or its
expansion?  If the latter, where does that expansion happen?

And what about relative file names, as in "foo/bar" -- what gets
recorded in trash info then?

> (Moving "/tmp/.." to trash fails the same way as before.)

What about /foo/bar/../baz/../quux/something -- what gets recorded in
trash info?

Btw, the implementation of directory-append is sub-optimal: it
allocates space for the combined string twice.  It is better to create
an uninit Lisp string first, and then fill its data with the right
contents.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]