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

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

bug#65308: (find-file) botches buffer-file-name in -batch mode


From: Eli Zaretskii
Subject: bug#65308: (find-file) botches buffer-file-name in -batch mode
Date: Tue, 15 Aug 2023 15:03:15 +0300

tags 65308 notabug
thanks

> From: Konstantin Kharlamov <Hi-Angel@yandex.ru>
> Date: Tue, 15 Aug 2023 14:25:16 +0300
> 
>       $ mkdir dir && touch dir/1 dir/2
>       $ emacs -batch --eval '(progn (dolist (file command-line-args-left) 
> (find-file file) (print buffer-file-name))))' dir/1 dir/2                     
>                
> 
>       "/tmp/dir/1"
> 
>       "/tmp/dir/dir/2"
> 
> ## Expected
> 
> Second print would say `/tmp/dir/2`
> 
> ## Actual
> 
> Second print refers to non-existing `/tmp/dir/dir/2`.

IMO, this is the expected behavior: relative file names are
interpreted relative to the current buffer's default-directory.  After
the first find-file, the current buffer visits the file "/tmp/dir/1",
whose default-directory is "/tmp/dir/".

There's no bug here.  To get what you want, run the command-line
arguments through expand-file-name _before_ calling find-file.





reply via email to

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