Re: [R] File Save As...

2011-04-14 Thread Gene Leynes
as of right now
x = function(a) print(a)
attr(x, srcref)
returns NULL in 2.13, am I doing something wrong?

(also, should I post this to a new thread, or the development thread?)

About me: I like long walks on the beach, and this is my current version of
R:
 t(as.data.frame(R.Version()))
   [,1]
platform   i386-pc-mingw32
arch   i386
os mingw32
system i386, mingw32
status RC
major  2
minor  13.0
year   2011
month  04
day11
svn.rev55409
language   R
version.string R version 2.13.0 RC (2011-04-11 r55409)



On Wed, Mar 16, 2011 at 2:44 PM, Gene Leynes gleyne...@gmail.com wrote:


 Thanks for showing me the link to the code / your response / your work in
 general.

 It seems that the real magic is happening in the call to the function
 attributes, via the line
 attr(x, srcref)
 I'm guessing that attributes must be defined somewhere deep inside the R
 machinery (since I didn't find it as a file in base)...  And there's
 probably not much benefit for me to know more beyond that.

 So, I'll be looking forward to 2.13!



 On Tue, Mar 15, 2011 at 3:37 PM, Duncan Murdoch 
 murdoch.dun...@gmail.comwrote:

 On 15/03/2011 2:56 PM, Gene Leynes wrote:

 The getSrcFilename function is exactly what I was trying to describe,
 and
 I'm excited to know that it's on it way!

 I have tried to create that type of function, but I didn't think it was
 possible with currently available functions.  I would be interested in
 seeing how the new function works, maybe I'll check it out using the
 google
 code search tool
 http://www.google.com/codesearch?hl=enlr=q=lang%3Ar+sbtn=Search
 (although

 I usually have a hard time making sense of that code).


 The source is available in

 https://svn.r-project.org/R/trunk/src/library/utils/R/sourceutils.R

 Duncan Murdoch


  Please let me briefly clarify this part:

   But it can.  If you open a script and choose save, it will be saved to
 the
   same place.
 

 I just mean that when you do save as... R doesn't seem to use the same
 information that it uses during a normal save (the directory or script
 name).  In other applications like Microsoft Word, or Python's IDLE
 (screen
 shot attached) the user is shown a dialogue box with the file name in the
 current directory of that file.

 This is a very minor annoyance though.  I only brought it up because I
 thought it would be easier to explain than asking about a function that
 would do the job of getSrcFilename, which is really what I was after.

 I rarely upgrade my R versions, but this will definitely be an occasion
 when
 I do!

 This makes me want to go back and look at the past release notes to see
 what
 other goodies I've been overlooking.

 Thanks again,

 Gene



 On Mon, Mar 14, 2011 at 8:17 PM, Duncan Murdochmurdoch.dun...@gmail.com
 wrote:

   On 11-03-14 8:12 PM, Gene Leynes wrote:
 
   Yes, I understand.  Normally I use Eclipse, which does what I want
 for
   save as...
 
   The bigger issue is that R can't tell the location of an open script,
   which makes it harder to create new versions of existing work
 
 
   But it can.  If you open a script and choose save, it will be saved to
 the
   same place.  Or do you mean an executing script?  There are indirect
 ways to
   find the name of the executing script.  For example,
   in R-devel (to become 2.13.0 next month), you can do this:
 
 
   cat(This file is , getSrcFilename(function(){}, full=TRUE), \n)
 
   The getSrcFilename() function will be new in 2.13.0.  You can do the
 same
   in earlier versions, but you need to program it yourself.
 
   Duncan Murdoch
 
 
 
 
 
   Say you have some great analysis going in Research 2011-01-01 with
 a
   folder for data, code, gui, other languages, excel, whatever else.
 
   Then you want to make a new folder for Research 2011-01-02 with the
   same structure.
 
   Making sure that you're setting the right directory in the new
 version
   adds a layer of complexity which would be nice to avoid.  It would be
   really nice to just copy the folders, and let the script detect it's
 own
   location so that it could read from the data sub-directory, the gui's
   sub-directory, etc.  What I want to be able to do is copy the tools I
   create into different client folders so that anyone can just use the
   tool without changing the source code which is simple for you or
 I,
   but prevents newcomers from using the tools.
 
   Apparently I'm in the minority on the next part: but the save as
 thing
   I was describing before seems very strange to me.  As I teach new
 people
   R it's always kind of a hangup that requires a little more
 explanation,
   but maybe it's the way I'm looking at it.
 
   Thanks for your reply Duncan.
 
 
   On Mon, Mar 14, 2011 at 6:57 PM, Duncan Murdoch
   murdoch.dun...@gmail.commailto:murdoch.dun...@gmail.com  wrote:
 
  On 11-03-14 5:03 PM, Gene Leynes wrote:
 
  As much as I 

Re: [R] File Save As...

2011-04-13 Thread Duncan Murdoch

On 13/04/2011 5:20 PM, Gene Leynes wrote:

as of right now
 x = function(a) print(a)
 attr(x, srcref)
returns NULL in 2.13, am I doing something wrong?


There's a limitation to the debug information:  it can't be attached to 
a function whose body consists of a single simple expression like 
print(a).  If you put braces around print(a), it will be attached to the 
body of x:


Put this line into a file, and source it:

x - function(a) { print(a) }

source(test.R)
attr(body(x), srcref)

In case you're interested, the reason for this limitation is that there 
are some objects in R (NULL is the most obvious one) which can be a 
function body but which can't hold attributes.  At the time the debug 
info is added, the function hasn't been created, but its body has, so 
the attribute has to go there.


Duncan Murdoch



(also, should I post this to a new thread, or the development thread?)

About me: I like long walks on the beach, and this is my current version
of R:

 t(as.data.frame(R.Version()))

[,1]
platform i386-pc-mingw32
arch i386
os mingw32
system i386, mingw32
status RC
major 2
minor 13.0
year 2011
month 04
day 11
svn.rev 55409
language R
version.string R version 2.13.0 RC (2011-04-11 r55409)





On Wed, Mar 16, 2011 at 2:44 PM, Gene Leynes gleyne...@gmail.com
mailto:gleynes%...@gmail.com wrote:


Thanks for showing me the link to the code / your response / your
work in general.

It seems that the real magic is happening in the call to the
function attributes, via the line
attr(x, srcref)
I'm guessing that attributes must be defined somewhere deep inside
the R machinery (since I didn't find it as a file in base)...  And
there's probably not much benefit for me to know more beyond that.

So, I'll be looking forward to 2.13!



On Tue, Mar 15, 2011 at 3:37 PM, Duncan Murdoch
murdoch.dun...@gmail.com mailto:murdoch.dun...@gmail.com wrote:

On 15/03/2011 2:56 PM, Gene Leynes wrote:

The getSrcFilename function is exactly what I was trying
to describe, and
I'm excited to know that it's on it way!

I have tried to create that type of function, but I didn't
think it was
possible with currently available functions.  I would be
interested in
seeing how the new function works, maybe I'll check it out
using the google
code search

toolhttp://www.google.com/codesearch?hl=enlr=q=lang%3Ar+sbtn=Search

http://www.google.com/codesearch?hl=enlr=q=lang%3Ar+sbtn=Search(although

I usually have a hard time making sense of that code).


The source is available in

https://svn.r-project.org/R/trunk/src/library/utils/R/sourceutils.R

Duncan Murdoch


Please let me briefly clarify this part:

   But it can.  If you open a script and choose save, it
will be saved to the
   same place.
 

I just mean that when you do save as... R doesn't seem to
use the same
information that it uses during a normal save (the directory
or script
name).  In other applications like Microsoft Word, or
Python's IDLE (screen
shot attached) the user is shown a dialogue box with the
file name in the
current directory of that file.

This is a very minor annoyance though.  I only brought it up
because I
thought it would be easier to explain than asking about a
function that
would do the job of getSrcFilename, which is really what I
was after.

I rarely upgrade my R versions, but this will definitely be
an occasion when
I do!

This makes me want to go back and look at the past release
notes to see what
other goodies I've been overlooking.

Thanks again,

Gene



On Mon, Mar 14, 2011 at 8:17 PM, Duncan
Murdochmurdoch.dun...@gmail.com
mailto:murdoch.dun...@gmail.comwrote:

   On 11-03-14 8:12 PM, Gene Leynes wrote:
 
   Yes, I understand.  Normally I use Eclipse, which does
what I want for
  save as...
 
   The bigger issue is that R can't tell the location of
an open script,
   which makes it harder to create new versions of
existing work
 
 
   But it can.  If you open a script and choose save, it
will be saved to the
   same place.  Or do you mean an executing script?  There
are indirect ways to
   find the name of the executing script.  For example,
   in R-devel (to become 2.13.0 next month), you can do this:
   

Re: [R] File Save As...

2011-04-13 Thread Gene Leynes
That's very interesting.  It's not what I was thinking about or expecting,
but I'm glad to know about it (and it will probably be useful at some
point).

Initially, I was asking for a method to find out the name of the current
script.  I mean, the current script that you're editing / running.

However, this is useful.  Just by putting a few lines of code, you can
change the working directory with a simple drag and drop.  Put the following
lines into a script, and drop it into the R GUI.
curpath = dirname(getSrcFilename(function(){}, full=TRUE))
setwd(curpath)
cat('Now in ', curpath, '\n')

What I was looking for is almost accomplished by this:
filepath = getSrcFilename(function(){}, full=TRUE)
setwd(dirname(filepath))
browser()

Of course, you wouldn't want to stay in browser mode forever...

It would be nice to get the name of your current script with something like
this.file().  Of course, I don't know how that would work if someone typed
it into the console.

I'm genuinely excited to explore the new updates in 2.13.  Either it's a
good update, or I'm just now learning enough to appreciate the updates.

Thanks

Gene

On Wed, Apr 13, 2011 at 4:33 PM, Duncan Murdoch murdoch.dun...@gmail.comwrote:

 On 13/04/2011 5:20 PM, Gene Leynes wrote:

 as of right now
 x = function(a) print(a)
 attr(x, srcref)
 returns NULL in 2.13, am I doing something wrong?


 There's a limitation to the debug information:  it can't be attached to a
 function whose body consists of a single simple expression like print(a).
  If you put braces around print(a), it will be attached to the body of x:

 Put this line into a file, and source it:


 x - function(a) { print(a) }

 source(test.R)
 attr(body(x), srcref)

 In case you're interested, the reason for this limitation is that there are
 some objects in R (NULL is the most obvious one) which can be a function
 body but which can't hold attributes.  At the time the debug info is added,
 the function hasn't been created, but its body has, so the attribute has to
 go there.

 Duncan Murdoch


 (also, should I post this to a new thread, or the development thread?)

 About me: I like long walks on the beach, and this is my current version
 of R:

  t(as.data.frame(R.Version()))

[,1]
 platform i386-pc-mingw32
 arch i386
 os mingw32
 system i386, mingw32
 status RC
 major 2
 minor 13.0
 year 2011
 month 04
 day 11
 svn.rev 55409
 language R
 version.string R version 2.13.0 RC (2011-04-11 r55409)




 On Wed, Mar 16, 2011 at 2:44 PM, Gene Leynes gleyne...@gmail.com
 mailto:gleynes%...@gmail.com wrote:


Thanks for showing me the link to the code / your response / your
work in general.

It seems that the real magic is happening in the call to the
function attributes, via the line
attr(x, srcref)
I'm guessing that attributes must be defined somewhere deep inside
the R machinery (since I didn't find it as a file in base)...  And
there's probably not much benefit for me to know more beyond that.

So, I'll be looking forward to 2.13!



On Tue, Mar 15, 2011 at 3:37 PM, Duncan Murdoch
murdoch.dun...@gmail.com mailto:murdoch.dun...@gmail.com wrote:

On 15/03/2011 2:56 PM, Gene Leynes wrote:

The getSrcFilename function is exactly what I was trying
to describe, and
I'm excited to know that it's on it way!

I have tried to create that type of function, but I didn't
think it was
possible with currently available functions.  I would be
interested in
seeing how the new function works, maybe I'll check it out
using the google
code search
tool
 http://www.google.com/codesearch?hl=enlr=q=lang%3Ar+sbtn=Search

 http://www.google.com/codesearch?hl=enlr=q=lang%3Ar+sbtn=Search
 (although

I usually have a hard time making sense of that code).


The source is available in


 https://svn.r-project.org/R/trunk/src/library/utils/R/sourceutils.R

Duncan Murdoch


Please let me briefly clarify this part:

   But it can.  If you open a script and choose save, it
will be saved to the
   same place.
 

I just mean that when you do save as... R doesn't seem to
use the same
information that it uses during a normal save (the directory
or script
name).  In other applications like Microsoft Word, or
Python's IDLE (screen
shot attached) the user is shown a dialogue box with the
file name in the
current directory of that file.

This is a very minor annoyance though.  I only brought it up
because I
thought it would be easier to explain than asking about a
function that
would do the job of getSrcFilename, which is really what I
 

Re: [R] File Save As...

2011-03-16 Thread Hadley Wickham
 No, defaults are evaluated in the evaluation frame of the function. That's
 why you can use local variables in them, e.g. the way rgamma uses 1/rate as
 a default for scale.

Oops, yes, I was getting confused with promises - non-missing
arguments are promises evaluated in the parent frame.

 But the point isn't evaluation here:  the point is the parsing.  A function
 gets its source attribute when it is parsed, so getSrcFilename needs to be
 passed something that was parsed in the script.

Still, it would be nice to have a function that, by default, would
return the location of the calling script.  You can also hack
something together using sys.frames(), but it would be nice to have
official R support for it.

Hadley

-- 
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] File Save As...

2011-03-16 Thread Gene Leynes
Thanks for showing me the link to the code / your response / your work in
general.

It seems that the real magic is happening in the call to the function
attributes, via the line
attr(x, srcref)
I'm guessing that attributes must be defined somewhere deep inside the R
machinery (since I didn't find it as a file in base)...  And there's
probably not much benefit for me to know more beyond that.

So, I'll be looking forward to 2.13!


On Tue, Mar 15, 2011 at 3:37 PM, Duncan Murdoch murdoch.dun...@gmail.comwrote:

 On 15/03/2011 2:56 PM, Gene Leynes wrote:

 The getSrcFilename function is exactly what I was trying to describe,
 and
 I'm excited to know that it's on it way!

 I have tried to create that type of function, but I didn't think it was
 possible with currently available functions.  I would be interested in
 seeing how the new function works, maybe I'll check it out using the
 google
 code search tool
 http://www.google.com/codesearch?hl=enlr=q=lang%3Ar+sbtn=Search
 (although

 I usually have a hard time making sense of that code).


 The source is available in

 https://svn.r-project.org/R/trunk/src/library/utils/R/sourceutils.R

 Duncan Murdoch


  Please let me briefly clarify this part:

   But it can.  If you open a script and choose save, it will be saved to
 the
   same place.
 

 I just mean that when you do save as... R doesn't seem to use the same
 information that it uses during a normal save (the directory or script
 name).  In other applications like Microsoft Word, or Python's IDLE
 (screen
 shot attached) the user is shown a dialogue box with the file name in the
 current directory of that file.

 This is a very minor annoyance though.  I only brought it up because I
 thought it would be easier to explain than asking about a function that
 would do the job of getSrcFilename, which is really what I was after.

 I rarely upgrade my R versions, but this will definitely be an occasion
 when
 I do!

 This makes me want to go back and look at the past release notes to see
 what
 other goodies I've been overlooking.

 Thanks again,

 Gene



 On Mon, Mar 14, 2011 at 8:17 PM, Duncan Murdochmurdoch.dun...@gmail.com
 wrote:

   On 11-03-14 8:12 PM, Gene Leynes wrote:
 
   Yes, I understand.  Normally I use Eclipse, which does what I want for
   save as...
 
   The bigger issue is that R can't tell the location of an open script,
   which makes it harder to create new versions of existing work
 
 
   But it can.  If you open a script and choose save, it will be saved to
 the
   same place.  Or do you mean an executing script?  There are indirect
 ways to
   find the name of the executing script.  For example,
   in R-devel (to become 2.13.0 next month), you can do this:
 
 
   cat(This file is , getSrcFilename(function(){}, full=TRUE), \n)
 
   The getSrcFilename() function will be new in 2.13.0.  You can do the
 same
   in earlier versions, but you need to program it yourself.
 
   Duncan Murdoch
 
 
 
 
 
   Say you have some great analysis going in Research 2011-01-01 with a
   folder for data, code, gui, other languages, excel, whatever else.
 
   Then you want to make a new folder for Research 2011-01-02 with the
   same structure.
 
   Making sure that you're setting the right directory in the new version
   adds a layer of complexity which would be nice to avoid.  It would be
   really nice to just copy the folders, and let the script detect it's
 own
   location so that it could read from the data sub-directory, the gui's
   sub-directory, etc.  What I want to be able to do is copy the tools I
   create into different client folders so that anyone can just use the
   tool without changing the source code which is simple for you or
 I,
   but prevents newcomers from using the tools.
 
   Apparently I'm in the minority on the next part: but the save as
 thing
   I was describing before seems very strange to me.  As I teach new
 people
   R it's always kind of a hangup that requires a little more
 explanation,
   but maybe it's the way I'm looking at it.
 
   Thanks for your reply Duncan.
 
 
   On Mon, Mar 14, 2011 at 6:57 PM, Duncan Murdoch
   murdoch.dun...@gmail.commailto:murdoch.dun...@gmail.com  wrote:
 
  On 11-03-14 5:03 PM, Gene Leynes wrote:
 
  As much as I love R, there are still the occasional
 shortcomings.
 
  I would love to find a solution to the save as... problem.
 
  Steps to reproduce the problem:
 
  1. Open any version of he R GUI in Windows
  2. Choose File   Open from the menu
  3. Open a script that is in a different directory
  4. Choose File   Save As from the menu
 
 
  In just about any other application you would be presented with
  a GUI
  showing the current folder of the script and the current name
 of
   the
  script.  You could then edit the name and save.
 
  In R, you have to find the directory of the script and the
  script 

Re: [R] File Save As...

2011-03-15 Thread Duncan Murdoch

On 15/03/2011 2:56 PM, Gene Leynes wrote:

The getSrcFilename function is exactly what I was trying to describe, and
I'm excited to know that it's on it way!

I have tried to create that type of function, but I didn't think it was
possible with currently available functions.  I would be interested in
seeing how the new function works, maybe I'll check it out using the google
code search 
toolhttp://www.google.com/codesearch?hl=enlr=q=lang%3Ar+sbtn=Search(although
I usually have a hard time making sense of that code).


The source is available in

https://svn.r-project.org/R/trunk/src/library/utils/R/sourceutils.R

Duncan Murdoch


Please let me briefly clarify this part:

  But it can.  If you open a script and choose save, it will be saved to the
  same place.


I just mean that when you do save as... R doesn't seem to use the same
information that it uses during a normal save (the directory or script
name).  In other applications like Microsoft Word, or Python's IDLE (screen
shot attached) the user is shown a dialogue box with the file name in the
current directory of that file.

This is a very minor annoyance though.  I only brought it up because I
thought it would be easier to explain than asking about a function that
would do the job of getSrcFilename, which is really what I was after.

I rarely upgrade my R versions, but this will definitely be an occasion when
I do!

This makes me want to go back and look at the past release notes to see what
other goodies I've been overlooking.

Thanks again,

Gene



On Mon, Mar 14, 2011 at 8:17 PM, Duncan Murdochmurdoch.dun...@gmail.comwrote:

  On 11-03-14 8:12 PM, Gene Leynes wrote:

  Yes, I understand.  Normally I use Eclipse, which does what I want for
  save as...

  The bigger issue is that R can't tell the location of an open script,
  which makes it harder to create new versions of existing work


  But it can.  If you open a script and choose save, it will be saved to the
  same place.  Or do you mean an executing script?  There are indirect ways to
  find the name of the executing script.  For example,
  in R-devel (to become 2.13.0 next month), you can do this:


  cat(This file is , getSrcFilename(function(){}, full=TRUE), \n)

  The getSrcFilename() function will be new in 2.13.0.  You can do the same
  in earlier versions, but you need to program it yourself.

  Duncan Murdoch





  Say you have some great analysis going in Research 2011-01-01 with a
  folder for data, code, gui, other languages, excel, whatever else.

  Then you want to make a new folder for Research 2011-01-02 with the
  same structure.

  Making sure that you're setting the right directory in the new version
  adds a layer of complexity which would be nice to avoid.  It would be
  really nice to just copy the folders, and let the script detect it's own
  location so that it could read from the data sub-directory, the gui's
  sub-directory, etc.  What I want to be able to do is copy the tools I
  create into different client folders so that anyone can just use the
  tool without changing the source code which is simple for you or I,
  but prevents newcomers from using the tools.

  Apparently I'm in the minority on the next part: but the save as thing
  I was describing before seems very strange to me.  As I teach new people
  R it's always kind of a hangup that requires a little more explanation,
  but maybe it's the way I'm looking at it.

  Thanks for your reply Duncan.


  On Mon, Mar 14, 2011 at 6:57 PM, Duncan Murdoch
  murdoch.dun...@gmail.commailto:murdoch.dun...@gmail.com  wrote:

 On 11-03-14 5:03 PM, Gene Leynes wrote:

 As much as I love R, there are still the occasional shortcomings.

 I would love to find a solution to the save as... problem.

 Steps to reproduce the problem:

 1. Open any version of he R GUI in Windows
 2. Choose File   Open from the menu
 3. Open a script that is in a different directory
 4. Choose File   Save As from the menu


 In just about any other application you would be presented with
 a GUI
 showing the current folder of the script and the current name of
  the
 script.  You could then edit the name and save.

 In R, you have to find the directory of the script and the
 script name.  It
 can be annoying from a GUI perspective, especially if you
 typically work in
 one directory and store your scripts somewhere else, and the
 problem is
 worse when you have many script versions or directories.

 I know there are many ways to work around this issue.
 I also know about the batch file project.

 However, it seems like this is something that users shouldn't
 *need* to work
 around.

 I think this is related to the fact that R has no way of knowing
  the
 location of any open script file.
 (Please correct me 

Re: [R] File Save As...

2011-03-15 Thread Hadley Wickham
 The bigger issue is that R can't tell the location of an open script,
 which makes it harder to create new versions of existing work

 But it can.  If you open a script and choose save, it will be saved to the
 same place.  Or do you mean an executing script?  There are indirect ways to
 find the name of the executing script.  For example,
 in R-devel (to become 2.13.0 next month), you can do this:


 cat(This file is , getSrcFilename(function(){}, full=TRUE), \n)

 The getSrcFilename() function will be new in 2.13.0.  You can do the same in
 earlier versions, but you need to program it yourself.

Could getSrcFilename() gain a default argument so that
getSrcFilename() would by default return the path of the executing
script?

Hadley

-- 
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] File Save As...

2011-03-15 Thread Duncan Murdoch

On 15/03/2011 4:45 PM, Hadley Wickham wrote:

The bigger issue is that R can't tell the location of an open script,
which makes it harder to create new versions of existing work


But it can.  If you open a script and choose save, it will be saved to the
same place.  Or do you mean an executing script?  There are indirect ways to
find the name of the executing script.  For example,
in R-devel (to become 2.13.0 next month), you can do this:


cat(This file is , getSrcFilename(function(){}, full=TRUE), \n)

The getSrcFilename() function will be new in 2.13.0.  You can do the same in
earlier versions, but you need to program it yourself.


Could getSrcFilename() gain a default argument so that
getSrcFilename() would by default return the path of the executing
script?


No, it needs to see a function defined in that script.

Duncan Murdoch

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] File Save As...

2011-03-15 Thread Gene Leynes
The getSrcFilename function is exactly what I was trying to describe, and
I'm excited to know that it's on it way!

I have tried to create that type of function, but I didn't think it was
possible with currently available functions.  I would be interested in
seeing how the new function works, maybe I'll check it out using the google
code search 
toolhttp://www.google.com/codesearch?hl=enlr=q=lang%3Ar+sbtn=Search(although
I usually have a hard time making sense of that code).

Please let me briefly clarify this part:

 But it can.  If you open a script and choose save, it will be saved to the
 same place.


I just mean that when you do save as... R doesn't seem to use the same
information that it uses during a normal save (the directory or script
name).  In other applications like Microsoft Word, or Python's IDLE (screen
shot attached) the user is shown a dialogue box with the file name in the
current directory of that file.

This is a very minor annoyance though.  I only brought it up because I
thought it would be easier to explain than asking about a function that
would do the job of getSrcFilename, which is really what I was after.

I rarely upgrade my R versions, but this will definitely be an occasion when
I do!

This makes me want to go back and look at the past release notes to see what
other goodies I've been overlooking.

Thanks again,

Gene



On Mon, Mar 14, 2011 at 8:17 PM, Duncan Murdoch murdoch.dun...@gmail.comwrote:

 On 11-03-14 8:12 PM, Gene Leynes wrote:

 Yes, I understand.  Normally I use Eclipse, which does what I want for
 save as...

 The bigger issue is that R can't tell the location of an open script,
 which makes it harder to create new versions of existing work


 But it can.  If you open a script and choose save, it will be saved to the
 same place.  Or do you mean an executing script?  There are indirect ways to
 find the name of the executing script.  For example,
 in R-devel (to become 2.13.0 next month), you can do this:


 cat(This file is , getSrcFilename(function(){}, full=TRUE), \n)

 The getSrcFilename() function will be new in 2.13.0.  You can do the same
 in earlier versions, but you need to program it yourself.

 Duncan Murdoch





 Say you have some great analysis going in Research 2011-01-01 with a
 folder for data, code, gui, other languages, excel, whatever else.

 Then you want to make a new folder for Research 2011-01-02 with the
 same structure.

 Making sure that you're setting the right directory in the new version
 adds a layer of complexity which would be nice to avoid.  It would be
 really nice to just copy the folders, and let the script detect it's own
 location so that it could read from the data sub-directory, the gui's
 sub-directory, etc.  What I want to be able to do is copy the tools I
 create into different client folders so that anyone can just use the
 tool without changing the source code which is simple for you or I,
 but prevents newcomers from using the tools.

 Apparently I'm in the minority on the next part: but the save as thing
 I was describing before seems very strange to me.  As I teach new people
 R it's always kind of a hangup that requires a little more explanation,
 but maybe it's the way I'm looking at it.

 Thanks for your reply Duncan.


 On Mon, Mar 14, 2011 at 6:57 PM, Duncan Murdoch
 murdoch.dun...@gmail.com mailto:murdoch.dun...@gmail.com wrote:

On 11-03-14 5:03 PM, Gene Leynes wrote:

As much as I love R, there are still the occasional shortcomings.

I would love to find a solution to the save as... problem.

Steps to reproduce the problem:

1. Open any version of he R GUI in Windows
2. Choose File  Open from the menu
3. Open a script that is in a different directory
4. Choose File  Save As from the menu


In just about any other application you would be presented with
a GUI
showing the current folder of the script and the current name of
 the
script.  You could then edit the name and save.

In R, you have to find the directory of the script and the
script name.  It
can be annoying from a GUI perspective, especially if you
typically work in
one directory and store your scripts somewhere else, and the
problem is
worse when you have many script versions or directories.

I know there are many ways to work around this issue.
I also know about the batch file project.

However, it seems like this is something that users shouldn't
*need* to work
around.

I think this is related to the fact that R has no way of knowing
 the
location of any open script file.
(Please correct me if I'm wrong about that last part! )

I think this has come up before, but I couldn't find it in my
searches.
Is this a problem for other users as well?
Should I post this to the development 

Re: [R] File Save As...

2011-03-15 Thread Hadley Wickham
 Could getSrcFilename() gain a default argument so that
 getSrcFilename() would by default return the path of the executing
 script?

 No, it needs to see a function defined in that script.

But I thought default arguments were evaluated in the parent
environment?  Does that not follow for source attributes as well?

Hadley

-- 
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] File Save As...

2011-03-15 Thread Duncan Murdoch

On 11-03-15 9:10 PM, Hadley Wickham wrote:

Could getSrcFilename() gain a default argument so that
getSrcFilename() would by default return the path of the executing
script?


No, it needs to see a function defined in that script.


But I thought default arguments were evaluated in the parent
environment?  Does that not follow for source attributes as well?


No, defaults are evaluated in the evaluation frame of the function. 
That's why you can use local variables in them, e.g. the way rgamma uses 
1/rate as a default for scale.


But the point isn't evaluation here:  the point is the parsing.  A 
function gets its source attribute when it is parsed, so getSrcFilename 
needs to be passed something that was parsed in the script.


Duncan Murdoch

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] File Save As...

2011-03-14 Thread Duncan Murdoch

On 11-03-14 5:03 PM, Gene Leynes wrote:

As much as I love R, there are still the occasional shortcomings.

I would love to find a solution to the save as... problem.

Steps to reproduce the problem:

1. Open any version of he R GUI in Windows
2. Choose File  Open from the menu
3. Open a script that is in a different directory
4. Choose File  Save As from the menu

In just about any other application you would be presented with a GUI
showing the current folder of the script and the current name of the
script.  You could then edit the name and save.

In R, you have to find the directory of the script and the script name.  It
can be annoying from a GUI perspective, especially if you typically work in
one directory and store your scripts somewhere else, and the problem is
worse when you have many script versions or directories.

I know there are many ways to work around this issue.
I also know about the batch file project.

However, it seems like this is something that users shouldn't *need* to work
around.

I think this is related to the fact that R has no way of knowing the
location of any open script file.
(Please correct me if I'm wrong about that last part! )

I think this has come up before, but I couldn't find it in my searches.
Is this a problem for other users as well?
Should I post this to the development list?
Is this change known to be possible / impossible?
Can I help make the change?


I think it's simply a matter of different working patterns.  R offers 
the current working directory to save into.  For some people, that's 
fine.  Others (like you) want some other default.


I don't think we want to make the editor so elaborate that it caters to 
every taste.  If you want a better editor, there are lots out there, 
including several that have good integration with R (Emacs, Eclipse, 
WinEdt, TinnR, etc.)  I think it would be best to use one of those 
editors, customized to suit your needs.


Duncan Murdoch



Thanks

Gene

[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] File Save As...

2011-03-14 Thread Gene Leynes
Yes, I understand.  Normally I use Eclipse, which does what I want for save
as...

The bigger issue is that R can't tell the location of an open script, which
makes it harder to create new versions of existing work

Say you have some great analysis going in Research 2011-01-01 with a
folder for data, code, gui, other languages, excel, whatever else.

Then you want to make a new folder for Research 2011-01-02 with the same
structure.

Making sure that you're setting the right directory in the new version adds
a layer of complexity which would be nice to avoid.  It would be really nice
to just copy the folders, and let the script detect it's own location so
that it could read from the data sub-directory, the gui's sub-directory,
etc.  What I want to be able to do is copy the tools I create into different
client folders so that anyone can just use the tool without changing the
source code which is simple for you or I, but prevents newcomers from
using the tools.

Apparently I'm in the minority on the next part: but the save as thing I
was describing before seems very strange to me.  As I teach new people R
it's always kind of a hangup that requires a little more explanation, but
maybe it's the way I'm looking at it.

Thanks for your reply Duncan.


On Mon, Mar 14, 2011 at 6:57 PM, Duncan Murdoch murdoch.dun...@gmail.comwrote:

 On 11-03-14 5:03 PM, Gene Leynes wrote:

 As much as I love R, there are still the occasional shortcomings.

 I would love to find a solution to the save as... problem.

 Steps to reproduce the problem:

1. Open any version of he R GUI in Windows
2. Choose File  Open from the menu
3. Open a script that is in a different directory
4. Choose File  Save As from the menu


 In just about any other application you would be presented with a GUI
 showing the current folder of the script and the current name of the
 script.  You could then edit the name and save.

 In R, you have to find the directory of the script and the script name.
  It
 can be annoying from a GUI perspective, especially if you typically work
 in
 one directory and store your scripts somewhere else, and the problem is
 worse when you have many script versions or directories.

 I know there are many ways to work around this issue.
 I also know about the batch file project.

 However, it seems like this is something that users shouldn't *need* to
 work
 around.

 I think this is related to the fact that R has no way of knowing the
 location of any open script file.
 (Please correct me if I'm wrong about that last part! )

 I think this has come up before, but I couldn't find it in my searches.
 Is this a problem for other users as well?
 Should I post this to the development list?
 Is this change known to be possible / impossible?
 Can I help make the change?


 I think it's simply a matter of different working patterns.  R offers the
 current working directory to save into.  For some people, that's fine.
  Others (like you) want some other default.

 I don't think we want to make the editor so elaborate that it caters to
 every taste.  If you want a better editor, there are lots out there,
 including several that have good integration with R (Emacs, Eclipse, WinEdt,
 TinnR, etc.)  I think it would be best to use one of those editors,
 customized to suit your needs.

 Duncan Murdoch


 Thanks

 Gene

[[alternative HTML version deleted]]

 __
 R-help@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide
 http://www.R-project.org/posting-guide.html
 and provide commented, minimal, self-contained, reproducible code.




[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] File Save As...

2011-03-14 Thread Jeff Newmiller
My preferred cycle with RGui is:

1) Open RGui
2) Save (empty) workspace in the new working directory
3) Quit RGui
4) Double-click on the saved workspace. This opens RGui and sets the working 
directory.
5) Open Notepad++ and edit as desired
6) Select code to run
7) Press F8

I have also been playing with RStudio, but they haven't got the directory thing 
straightened out yet AFAIK.

---
Jeff Newmiller The . . Go Live...
DCN:jdnew...@dcn.davis.ca.us Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
--- 
Sent from my phone. Please excuse my brevity.

Gene Leynes gleyne...@gmail.com wrote:

Yes, I understand. Normally I use Eclipse, which does what I want for save 
as... The bigger issue is that R can't tell the location of an open script, 
which makes it harder to create new versions of existing work Say you have 
some great analysis going in Research 2011-01-01 with a folder for data, 
code, gui, other languages, excel, whatever else. Then you want to make a new 
folder for Research 2011-01-02 with the same structure. Making sure that 
you're setting the right directory in the new version adds a layer of 
complexity which would be nice to avoid. It would be really nice to just copy 
the folders, and let the script detect it's own location so that it could read 
from the data sub-directory, the gui's sub-directory, etc. What I want to be 
able to do is copy the tools I create into different client folders so that 
anyone can just use the tool without changing the source code which is 
simple for you or I, but prevents newcomers from using the tools. Apparently
  I'm in
the minority on the next part: but the save as thing I was describing before 
seems very strange to me. As I teach new people R it's always kind of a hangup 
that requires a little more explanation, but maybe it's the way I'm looking at 
it. Thanks for your reply Duncan. On Mon, Mar 14, 2011 at 6:57 PM, Duncan 
Murdoch murdoch.dun...@gmail.comwrote:  On 11-03-14 5:03 PM, Gene Leynes 
wrote:   As much as I love R, there are still the occasional shortcomings. 
  I would love to find a solution to the save as... problem.   Steps 
to reproduce the problem:   1. Open any version of he R GUI in Windows  
2. Choose File Open from the menu  3. Open a script that is in a different 
directory  4. Choose File Save As from the menuIn just about any 
other application you would be presented with a GUI  showing the current 
folder of the script and the current name of the  script. You could then edit 
the name and save.   In R, you have to find the
directory of the script and the script name.  It  can be annoying from a 
GUI perspective, especially if you typically work  in  one directory and 
store your scripts somewhere else, and the problem is  worse when you have 
many script versions or directories.   I know there are many ways to work 
around this issue.  I also know about the batch file project.   However, 
it seems like this is something that users shouldn't *need* to  work  
around.   I think this is related to the fact that R has no way of knowing 
the  location of any open script file.  (Please correct me if I'm wrong 
about that last part! )   I think this has come up before, but I couldn't 
find it in my searches.  Is this a problem for other users as well?  Should 
I post this to the development list?  Is this change known to be possible / 
impossible?  Can I help make the change?I think it's simply a matter 
of different working patterns. R offers the  current work
 ing
directory to save into. For some people, that's fine.  Others (like you) want 
some other default.   I don't think we want to make the editor so elaborate 
that it caters to  every taste. If you want a better editor, there are lots 
out there,  including several that have good integration with R (Emacs, 
Eclipse, WinEdt,  TinnR, etc.) I think it would be best to use one of those 
editors,  customized to suit your needs.   Duncan MurdochThanks  
 Gene   [[alternative HTML version deleted]]  
_
 R-help@r-project.org mailing list  
 https://stat.ethz.ch/mailman/listinfo/r-help  PLEASE do read the posting 
 guide  http://www.R-project.org/posting-guide.html  and provide 
 commented, minimal, self-contained, reproducible code.   
 [[alternative HTML version 
 deleted]]_
R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help 
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html 
and provide commented, minimal, self-contained, reproducible code. 


[[alternative HTML version deleted]]

__

Re: [R] File Save As...

2011-03-14 Thread Duncan Murdoch

On 11-03-14 8:12 PM, Gene Leynes wrote:

Yes, I understand.  Normally I use Eclipse, which does what I want for
save as...

The bigger issue is that R can't tell the location of an open script,
which makes it harder to create new versions of existing work


But it can.  If you open a script and choose save, it will be saved to 
the same place.  Or do you mean an executing script?  There are indirect 
ways to find the name of the executing script.  For example,

in R-devel (to become 2.13.0 next month), you can do this:


cat(This file is , getSrcFilename(function(){}, full=TRUE), \n)

The getSrcFilename() function will be new in 2.13.0.  You can do the 
same in earlier versions, but you need to program it yourself.


Duncan Murdoch






Say you have some great analysis going in Research 2011-01-01 with a
folder for data, code, gui, other languages, excel, whatever else.

Then you want to make a new folder for Research 2011-01-02 with the
same structure.

Making sure that you're setting the right directory in the new version
adds a layer of complexity which would be nice to avoid.  It would be
really nice to just copy the folders, and let the script detect it's own
location so that it could read from the data sub-directory, the gui's
sub-directory, etc.  What I want to be able to do is copy the tools I
create into different client folders so that anyone can just use the
tool without changing the source code which is simple for you or I,
but prevents newcomers from using the tools.

Apparently I'm in the minority on the next part: but the save as thing
I was describing before seems very strange to me.  As I teach new people
R it's always kind of a hangup that requires a little more explanation,
but maybe it's the way I'm looking at it.

Thanks for your reply Duncan.


On Mon, Mar 14, 2011 at 6:57 PM, Duncan Murdoch
murdoch.dun...@gmail.com mailto:murdoch.dun...@gmail.com wrote:

On 11-03-14 5:03 PM, Gene Leynes wrote:

As much as I love R, there are still the occasional shortcomings.

I would love to find a solution to the save as... problem.

Steps to reproduce the problem:

1. Open any version of he R GUI in Windows
2. Choose File  Open from the menu
3. Open a script that is in a different directory
4. Choose File  Save As from the menu


In just about any other application you would be presented with
a GUI
showing the current folder of the script and the current name of the
script.  You could then edit the name and save.

In R, you have to find the directory of the script and the
script name.  It
can be annoying from a GUI perspective, especially if you
typically work in
one directory and store your scripts somewhere else, and the
problem is
worse when you have many script versions or directories.

I know there are many ways to work around this issue.
I also know about the batch file project.

However, it seems like this is something that users shouldn't
*need* to work
around.

I think this is related to the fact that R has no way of knowing the
location of any open script file.
(Please correct me if I'm wrong about that last part! )

I think this has come up before, but I couldn't find it in my
searches.
Is this a problem for other users as well?
Should I post this to the development list?
Is this change known to be possible / impossible?
Can I help make the change?


I think it's simply a matter of different working patterns.  R
offers the current working directory to save into.  For some people,
that's fine.  Others (like you) want some other default.

I don't think we want to make the editor so elaborate that it caters
to every taste.  If you want a better editor, there are lots out
there, including several that have good integration with R (Emacs,
Eclipse, WinEdt, TinnR, etc.)  I think it would be best to use one
of those editors, customized to suit your needs.

Duncan Murdoch


Thanks

Gene

[[alternative HTML version deleted]]

__
R-help@r-project.org mailto:R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.





__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.