[Rd] [R] Open a file which name contains a tilde

Paul McQuesten mcque@ten @end|ng |rom gm@||@com
Thu Jun 13 14:13:43 CEST 2019


Gabriel,

I apologize. I did not mean to flame, merely to point out a typical usage
of tilde that might have escaped the discussion.
As you say, Kurt's fix makes this all moot.
I also apologize for wasting everyone's time with my spam.

On Thu, Jun 13, 2019 at 2:13 AM Gabriel Becker <gabembecker using gmail.com>
wrote:

> At the risk of looking silly, note that all of this is now largely moot
> anyway (or will be with the next release of R), thanks to Kurt Hornik's
> fixing of the bug in question (which he announced on this thread prior to
> but I read after Paul's).
>
> ~G
>
> On Wed, Jun 12, 2019 at 11:51 PM Gabriel Becker <gabembecker using gmail.com>
> wrote:
>
>>
>>
>> On Wed, Jun 12, 2019, 5:16 AM Paul McQuesten <mcquesten using gmail.com> wrote:
>>
>>> @ Gabriel:
>>>
>>> "Avoid tilde in file names":
>>> Not quite.
>>> A tilde *suffix* is commonly used by *nix editors for backup files
>>>
>>> https://unix.stackexchange.com/questions/76189/what-does-the-tilde-mean-at-the-end-of-a-filename
>>
>>
>> I'm aware of that, but that isn't the case that is being discussed, as
>> the example given clearly had a tilde (and spaces) in the middle of the
>> file. Backup files witilde suffix does not trigger the bug being discussed.
>> It's *only* files paths where the tilde is surrounded on both by spaces
>> (or on the right by the end fo the string) that trigger it.
>>
>> > path.expand("a~b")
>>
>> [1] "a~b"
>>
>> > path.expand("a ~ b")
>>
>> [1] "a /Users/gabrielbecker b"
>>
>> > path.expand("myfile.txt~")
>>
>> [1] "myfile.txt~"
>>
>> > path.expand("myfile.txt ~")
>>
>> [1] "myfile.txt /Users/gabrielbecker"
>>
>>
>> All that said I'm really not interested in participating in a flame war
>> over this. I gave my 2 cents as respectfully as I could, so as of now
>> please consider my participation  and interest in this thread closed.
>>
>> Best,
>> ~G
>>
>>
>>
>>>
>>>
>>>
>>> On Wed, Jun 12, 2019 at 2:43 AM Kurt Hornik <Kurt.Hornik using wu.ac.at>
>>> wrote:
>>>
>>> > >>>>> Duncan Murdoch writes:
>>> >
>>> > With c76695 in the trunk, we now only tilde expand file names starting
>>> > with a tilde also when using readline.
>>> >
>>> > Best
>>> > -k
>>> >
>>> > > On 11/06/2019 4:34 p.m., William Dunlap via R-devel wrote:
>>> > >> Note that R treats tildes in file names differently on Windows and
>>> > Linux.
>>> > >> On Windows, it is only replaced if it it at the beginning of the
>>> line
>>> > and
>>> > >> is followed by a forward or backward slash or end-of-line.  On
>>> Linux it
>>> > is
>>> > >> replaced no matter where it is in the text and ~someUser will be
>>> > replaced
>>> > >> by someUser's home directory (if 'someUser' is a user with a home
>>> > >> directory).
>>> >
>>> > > That's not quite true:  On Linux the bug is in the code that uses
>>> > > libreadline, which you don't have to use.  If you just specify
>>> > > "--no-readline" when you start R, it will be fine on Linux, as far
>>> as I
>>> > > can see.
>>> >
>>> > > I wouldn't choose that as the default way to run R (it's pretty
>>> > > irritating not to have readline support), but it is a workaround for
>>> > > this bug.
>>> >
>>> > > Duncan Murdoch
>>> >
>>> > >>
>>> > >> Hence, if you have a Windows machine that can look at the file
>>> system on
>>> > >> your Linux machine you can use file.rename on Windows to change the
>>> > names.
>>> > >> My inclination would be to use a bash script on Linux to change the
>>> > names,
>>> > >> but if you are not comfortable with bash try the Windows approach.
>>> > >>
>>> > >> Bill Dunlap
>>> > >> TIBCO Software
>>> > >> wdunlap tibco.com
>>> > >>
>>> > >>
>>> > >> On Tue, Jun 11, 2019 at 1:13 PM Frank Schwidom <schwidom using gmx.net>
>>> > wrote:
>>> > >>
>>> > >>> Hi Gabriel,
>>> > >>>
>>> > >>> I actually want to make renames over thousands of files. But if I
>>> am
>>> > not
>>> > >>> able to express the source filename of the rename operation I will
>>> not
>>> > be
>>> > >>> able to get the work done. Besides the fact that there are issues I
>>> > think
>>> > >>> that R is qualified for solving my problem by the method how it can
>>> > handle
>>> > >>> long vectors of strings, booleans and also lists.
>>> > >>>
>>> > >>> Kind regards,
>>> > >>> Frank
>>> > >>>
>>> > >>> On 2019-06-11 09:49:17, Gabriel Becker wrote:
>>> > >>>> Hi Frank,
>>> > >>>> I'm hesitant to be "that guy", but in case no one else has brought
>>> > >>> this up
>>> > >>>> to you, having files with a tilde in their names (generally but
>>> > >>> especially
>>> > >>>> on a linux system, where ~ in file names has a very important
>>> special
>>> > >>>> meaning in some cases, as we know) strikes me as an exceptionally
>>> bad
>>> > >>>> practice anyway. In light of that, the solution with the smallest
>>> > >>> amount
>>> > >>>> of pain for you is almost surely to just... not do that. Your
>>> > >>> filenames
>>> > >>>> will be better for it anyway.
>>> > >>>> There is a reason no one has complained about this before, and
>>> while I
>>> > >>>> haven't run a study or anything, I strongly suspect its that
>>> > >>> "everyone"
>>> > >>>> else is already on the "no tildes in filenames" bandwagon, so this
>>> > >>>> behavior, even if technically a bug, has no ability to cause them
>>> > >>>> problems.
>>> > >>>> Best,
>>> > >>>> ~G
>>> > >>>> On Tue, Jun 11, 2019 at 8:25 AM Frank Schwidom <[1]
>>> schwidom using gmx.net>
>>> > >>>> wrote:
>>> > >>>>
>>> > >>>> Hi,
>>> > >>>>
>>> > >>>> yes, I have seen this package and it has the same tilde expanding
>>> > >>>> problem.
>>> > >>>>
>>> > >>>> Please excuse me I will cc this answer to r-help and r-devel to
>>> > >>> keep the
>>> > >>>> discussion running.
>>> > >>>>
>>> > >>>> Kind regards,
>>> > >>>> Frank Schwidom
>>> > >>>>
>>> > >>>> On 2019-06-11 09:12:36, Gábor Csárdi wrote:
>>> > >>>> > Just in case, have you seen the fs package?
>>> > >>>> > [2]https://fs.r-lib.org/
>>> > >>>> >
>>> > >>>> > Gabor
>>> > >>>> >
>>> > >>>> > On Tue, Jun 11, 2019 at 7:51 AM Frank Schwidom <[3]
>>> > >>> schwidom using gmx.net>
>>> > >>>> wrote:
>>> > >>>> > >
>>> > >>>> > > Hi,
>>> > >>>> > >
>>> > >>>> > > to get rid of any possible filename modification I started a
>>> > >>> little
>>> > >>>> project to cover my usecase:
>>> > >>>> > >
>>> > >>>> > > [4]https://github.com/schwidom/simplefs
>>> > >>>> > >
>>> > >>>> > > This is my first R package, suggestions and a review are
>>> > >>> welcome.
>>> > >>>> > >
>>> > >>>> > > Thanks in advance
>>> > >>>> > > Frank Schwidom
>>> > >>>> > >
>>> > >>>> > > On 2019-06-07 09:04:06, Richard O'Keefe wrote:
>>> > >>>> > > >    How can expanding tildes anywhere but the beginning of a
>>> > >>> file
>>> > >>>> name NOT be
>>> > >>>> > > >    considered a bug?
>>> > >>>> > > >    On Thu, 6 Jun 2019 at 23:04, Ivan Krylov
>>> > >>>> <[1][5]krylov.r00t using gmail.com> wrote:
>>> > >>>> > > >
>>> > >>>> > > >      On Wed, 5 Jun 2019 18:07:15 +0200
>>> > >>>> > > >      Frank Schwidom <[2][6]schwidom using gmx.net> wrote:
>>> > >>>> > > >
>>> > >>>> > > >      > +> path.expand("a ~ b")
>>> > >>>> > > >      > [1] "a /home/user b"
>>> > >>>> > > >
>>> > >>>> > > >      > How can I switch off any file crippling activity?
>>> > >>>> > > >
>>> > >>>> > > >      It doesn't seem to be possible if readline is enabled
>>> and
>>> > >>>> works
>>> > >>>> > > >      correctly.
>>> > >>>> > > >
>>> > >>>> > > >      Calls to path.expand [1] end up [2] in R_ExpandFileName
>>> > >>> [3],
>>> > >>>> which
>>> > >>>> > > >      calls R_ExpandFileName_readline [4], which uses
>>> > >>> libreadline
>>> > >>>> function
>>> > >>>> > > >      tilde_expand [5]. tilde_expand seems to be designed to
>>> > >>> expand
>>> > >>>> '~'
>>> > >>>> > > >      anywhere in the string it is handed, i.e. operate on
>>> > >>> whole
>>> > >>>> command
>>> > >>>> > > >      lines, not file paths.
>>> > >>>> > > >
>>> > >>>> > > >      I am taking the liberty of Cc-ing R-devel in case this
>>> > >>> can be
>>> > >>>> > > >      considered a bug.
>>> > >>>> > > >
>>> > >>>> > > >      --
>>> > >>>> > > >      Best regards,
>>> > >>>> > > >      Ivan
>>> > >>>> > > >
>>> > >>>> > > >      [1]
>>> > >>>> > > >
>>> > >>>> [3][7]
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/names.c#L807
>>> > >>>> > > >
>>> > >>>> > > >      [2]
>>> > >>>> > > >
>>> > >>>> [4][8]
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/platform.c#L1915
>>> > >>>> > > >
>>> > >>>> > > >      [3]
>>> > >>>> > > >
>>> > >>>> [5][9]
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-unix.c#L147
>>> > >>>> > > >
>>> > >>>> > > >      [4]
>>> > >>>> > > >
>>> > >>>> [6][10]
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-std.c#L494
>>> > >>>> > > >
>>> > >>>> > > >      [5]
>>> > >>>> > > >
>>> > >>>> [7][11]
>>> > >>>
>>> >
>>> https://git.savannah.gnu.org/cgit/readline.git/tree/tilde.c?h=devel#n187
>>> > >>>> > > >
>>> > >>>> > > >      ______________________________________________
>>> > >>>> > > >      [8][12]R-help using r-project.org mailing list -- To
>>> > >>> UNSUBSCRIBE
>>> > >>>> and more, see
>>> > >>>> > > >      [9][13]https://stat.ethz.ch/mailman/listinfo/r-help
>>> > >>>> > > >      PLEASE do read the posting guide
>>> > >>>> > > >      [10][14]http://www.R-project.org/posting-guide.html
>>> > >>>> > > >      and provide commented, minimal, self-contained,
>>> > >>> reproducible
>>> > >>>> code.
>>> > >>>> > > >
>>> > >>>> > > > References
>>> > >>>> > > >
>>> > >>>> > > >    Visible links
>>> > >>>> > > >    1. mailto:[15]krylov.r00t using gmail.com
>>> > >>>> > > >    2. mailto:[16]schwidom using gmx.net
>>> > >>>> > > >    3.
>>> > >>>> [17]
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/names.c#L807
>>> > >>>> > > >    4.
>>> > >>>> [18]
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/platform.c#L1915
>>> > >>>> > > >    5.
>>> > >>>> [19]
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-unix.c#L147
>>> > >>>> > > >    6.
>>> > >>>> [20]
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-std.c#L494
>>> > >>>> > > >    7.
>>> > >>>> [21]
>>> > >>>
>>> >
>>> https://git.savannah.gnu.org/cgit/readline.git/tree/tilde.c?h=devel#n187
>>> > >>>> > > >    8. mailto:[22]R-help using r-project.org
>>> > >>>> > > >    9. [23]https://stat.ethz.ch/mailman/listinfo/r-help
>>> > >>>> > > >   10. [24]http://www.r-project.org/posting-guide.html
>>> > >>>> > >
>>> > >>>> > > ______________________________________________
>>> > >>>> > > [25]R-devel using r-project.org mailing list
>>> > >>>> > > [26]https://stat.ethz.ch/mailman/listinfo/r-devel
>>> > >>>> >
>>> > >>>>
>>> > >>>> ______________________________________________
>>> > >>>> [27]R-devel using r-project.org mailing list
>>> > >>>> [28]https://stat.ethz.ch/mailman/listinfo/r-devel
>>> > >>>>
>>> > >>>> References
>>> > >>>>
>>> > >>>> Visible links
>>> > >>>> 1. mailto:schwidom using gmx.net
>>> > >>>> 2. https://fs.r-lib.org/
>>> > >>>> 3. mailto:schwidom using gmx.net
>>> > >>>> 4. https://github.com/schwidom/simplefs
>>> > >>>> 5. mailto:krylov.r00t using gmail.com
>>> > >>>> 6. mailto:schwidom using gmx.net
>>> > >>>> 7.
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/names.c#L807
>>> > >>>> 8.
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/platform.c#L1915
>>> > >>>> 9.
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-unix.c#L147
>>> > >>>> 10.
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-std.c#L494
>>> > >>>> 11.
>>> > >>>
>>> >
>>> https://git.savannah.gnu.org/cgit/readline.git/tree/tilde.c?h=devel#n187
>>> > >>>> 12. mailto:R-help using r-project.org
>>> > >>>> 13. https://stat.ethz.ch/mailman/listinfo/r-help
>>> > >>>> 14. http://www.r-project.org/posting-guide.html
>>> > >>>> 15. mailto:krylov.r00t using gmail.com
>>> > >>>> 16. mailto:schwidom using gmx.net
>>> > >>>> 17.
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/names.c#L807
>>> > >>>> 18.
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/platform.c#L1915
>>> > >>>> 19.
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-unix.c#L147
>>> > >>>> 20.
>>> > >>>
>>> >
>>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-std.c#L494
>>> > >>>> 21.
>>> > >>>
>>> >
>>> https://git.savannah.gnu.org/cgit/readline.git/tree/tilde.c?h=devel#n187
>>> > >>>> 22. mailto:R-help using r-project.org
>>> > >>>> 23. https://stat.ethz.ch/mailman/listinfo/r-help
>>> > >>>> 24. http://www.r-project.org/posting-guide.html
>>> > >>>> 25. mailto:R-devel using r-project.org
>>> > >>>> 26. https://stat.ethz.ch/mailman/listinfo/r-devel
>>> > >>>> 27. mailto:R-devel using r-project.org
>>> > >>>> 28. https://stat.ethz.ch/mailman/listinfo/r-devel
>>> > >>>
>>> > >>> ______________________________________________
>>> > >>> R-devel using r-project.org mailing list
>>> > >>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>> > >>>
>>> > >>
>>> > >> [[alternative HTML version deleted]]
>>> > >>
>>> > >> ______________________________________________
>>> > >> R-devel using r-project.org mailing list
>>> > >> https://stat.ethz.ch/mailman/listinfo/r-devel
>>> > >>
>>> >
>>> > > ______________________________________________
>>> > > R-devel using r-project.org mailing list
>>> > > https://stat.ethz.ch/mailman/listinfo/r-devel
>>> >
>>> > ______________________________________________
>>> > R-devel using r-project.org mailing list
>>> > https://stat.ethz.ch/mailman/listinfo/r-devel
>>> >
>>>
>>>         [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> R-devel using r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>>
>>

	[[alternative HTML version deleted]]



More information about the R-devel mailing list