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

Gabriel Becker g@bembecker @end|ng |rom gm@||@com
Thu Jun 13 09:12:56 CEST 2019


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-help mailing list