Re: [PATCH] lyxknitr failed when /tmp on different fs
On 10/06/2012 12:55 AM, Scott Kostyshak wrote: Are these patches OK for trunk and branch? I meant to have said yes here: Good for branch, then. Scott, you know about status.20x, yes? I do, but I would have forgotten to update it. Thank you for the reminder. Attached are the patches for trunk and branch. Are they OK? rh
Re: [PATCH] lyxknitr failed when /tmp on different fs
On Sat, Oct 6, 2012 at 11:03 AM, Richard Heck rgh...@lyx.org wrote: On 10/06/2012 12:55 AM, Scott Kostyshak wrote: Are these patches OK for trunk and branch? I meant to have said yes here: They're in. Thanks, Scott Good for branch, then. Scott, you know about status.20x, yes? I do, but I would have forgotten to update it. Thank you for the reminder. Attached are the patches for trunk and branch. Are they OK? rh
Re: [PATCH] lyxknitr failed when /tmp on different fs
On 10/06/2012 12:55 AM, Scott Kostyshak wrote: Are these patches OK for trunk and branch? I meant to have said yes here: Good for branch, then. Scott, you know about status.20x, yes? I do, but I would have forgotten to update it. Thank you for the reminder. Attached are the patches for trunk and branch. Are they OK? rh
Re: [PATCH] lyxknitr failed when /tmp on different fs
On Sat, Oct 6, 2012 at 11:03 AM, Richard Heckwrote: > On 10/06/2012 12:55 AM, Scott Kostyshak wrote: >> >> Are these patches OK for trunk and branch? >> > I meant to have said yes here: They're in. Thanks, Scott > > Good for branch, then. Scott, you know about status.20x, yes? >>> >>> I do, but I would have forgotten to update it. Thank you for the >>> reminder. >>> >>> Attached are the patches for trunk and branch. Are they OK? > > rh >
Re: [PATCH] lyxknitr failed when /tmp on different fs
Are these patches OK for trunk and branch? Thanks, Scott On Tue, Oct 2, 2012 at 6:34 AM, Scott Kostyshak skost...@lyx.org wrote: On Mon, Oct 1, 2012 at 9:43 AM, Richard Heck rgh...@lyx.org wrote: On 10/01/2012 04:04 AM, Jean-Marc Lasgouttes wrote: Le 01/10/2012 08:56, Scott Kostyshak a écrit : On Mon, Oct 1, 2012 at 2:46 AM, Yihui Xie x...@yihui.name wrote: I have tested it on my Windows 7 and I did not see any problems. Great, thanks for doing that Yihui. In that case, the question becomes -- should this be committed only to trunk? I would be in favor of committing it to branch, but I'm not sure if it's best to do that before or after 2.0.5 is released. Anyone else have an opinion? I think it should go to trunk and branch: is is simpler now (always good) and I trust that Yihui tested it thoroughly. Good for branch, then. Scott, you know about status.20x, yes? I do, but I would have forgotten to update it. Thank you for the reminder. Attached are the patches for trunk and branch. Are they OK? Thanks, Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
Are these patches OK for trunk and branch? Thanks, Scott On Tue, Oct 2, 2012 at 6:34 AM, Scott Kostyshakwrote: > On Mon, Oct 1, 2012 at 9:43 AM, Richard Heck wrote: >> On 10/01/2012 04:04 AM, Jean-Marc Lasgouttes wrote: >>> >>> Le 01/10/2012 08:56, Scott Kostyshak a écrit : On Mon, Oct 1, 2012 at 2:46 AM, Yihui Xie wrote: > > I have tested it on my Windows 7 and I did not see any problems. Great, thanks for doing that Yihui. In that case, the question becomes -- should this be committed only to trunk? I would be in favor of committing it to branch, but I'm not sure if it's best to do that before or after 2.0.5 is released. Anyone else have an opinion? >>> >>> >>> I think it should go to trunk and branch: is is simpler now (always good) >>> and I trust that Yihui tested it thoroughly. >>> >> Good for branch, then. >> >> Scott, you know about status.20x, yes? > > I do, but I would have forgotten to update it. Thank you for the reminder. > > Attached are the patches for trunk and branch. Are they OK? > > Thanks, > > Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
On Mon, Oct 1, 2012 at 9:43 AM, Richard Heck rgh...@lyx.org wrote: On 10/01/2012 04:04 AM, Jean-Marc Lasgouttes wrote: Le 01/10/2012 08:56, Scott Kostyshak a écrit : On Mon, Oct 1, 2012 at 2:46 AM, Yihui Xie x...@yihui.name wrote: I have tested it on my Windows 7 and I did not see any problems. Great, thanks for doing that Yihui. In that case, the question becomes -- should this be committed only to trunk? I would be in favor of committing it to branch, but I'm not sure if it's best to do that before or after 2.0.5 is released. Anyone else have an opinion? I think it should go to trunk and branch: is is simpler now (always good) and I trust that Yihui tested it thoroughly. Good for branch, then. Scott, you know about status.20x, yes? I do, but I would have forgotten to update it. Thank you for the reminder. Attached are the patches for trunk and branch. Are they OK? Thanks, Scott From dbf68ef44a0d31ee56bb77671ff6929f913d1170 Mon Sep 17 00:00:00 2001 From: Scott Kostyshak skost...@lyx.org Date: Tue, 2 Oct 2012 05:56:01 -0400 Subject: [PATCH] More elegant knitr support and bug fix Implement a more simple and elegant integration of the R package knitr. Now, lyxknitr.R does not need to move or copy files at all. This also fixes a bug: when /tmp was on a different file system (e.g. encrypted home), lyxknitr.R failed to move files to /tmp because it relied on R's 'file.rename' function, which in turn relied on the rename function in stdio.h, which was failing with the EXDEV errno. Patch from Yihui Xie. --- lib/examples/knitr.lyx |2 +- lib/layouts/knitr.module |2 +- lib/scripts/lyxknitr.R | 17 +++-- status.20x |3 +++ 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/lib/examples/knitr.lyx b/lib/examples/knitr.lyx index f096d68..15fd817 100644 --- a/lib/examples/knitr.lyx +++ b/lib/examples/knitr.lyx @@ -176,7 +176,7 @@ status collapsed \begin_layout Plain Layout -http://yihui.github.com/knitr +http://yihui.name/knitr \end_layout \end_inset diff --git a/lib/layouts/knitr.module b/lib/layouts/knitr.module index 694ae77..fe64359 100644 --- a/lib/layouts/knitr.module +++ b/lib/layouts/knitr.module @@ -1,7 +1,7 @@ #\DeclareLyXModule[knitr-latex]{Rnw (knitr)} #DescriptionBegin #Uses the knitr package in R for dynamic report generation. This R package has to be installed for this module to work: install.packages('knitr'). Note it depends on R = 2.14.1. -#For more info see http://yihui.github.com/knitr +#For more info see http://yihui.name/knitr #DescriptionEnd #Category: literate #Excludes: lilypond | sweave diff --git a/lib/scripts/lyxknitr.R b/lib/scripts/lyxknitr.R index 03150f2..7c029ea 100644 --- a/lib/scripts/lyxknitr.R +++ b/lib/scripts/lyxknitr.R @@ -11,7 +11,7 @@ ## author Yihui Xie ## knitr is an alternative package to Sweave, and has more features -## and flexibility; see https://yihui.github.com/knitr +## and flexibility; see https://yihui.name/knitr ## Rscript $$s/scripts/lyxknitr.R $$p$$i $$p$$o $$e $$r ## $$p the path of the output (temp dir) @@ -31,18 +31,7 @@ options(encoding = .cmdargs[3]) ## can put your data files there and functions like read.table() can ## work correctly without specifying the full path setwd(.cmdargs[4]) +opts_knit$set(root.dir = getwd()) -## copy the Rnw file to the current working directory if it does not exist -.tmp.file = tempfile(); .rnw.file = basename(.cmdargs[1]) -.rnw.exists = file.exists(.rnw.file) -if (.rnw.exists) file.rename(.rnw.file, .tmp.file) -file.copy(.cmdargs[1], '.') ## run knit() to get .tex or .R -knit(.rnw.file, tangle = 'tangle' %in% .cmdargs) - -setwd(.cmdargs[4]) -## remove the copied .Rnw if it did not exist, otherwise move the original one back -if (.rnw.exists) file.rename(.tmp.file, .rnw.file) else unlink(.rnw.file) -file.rename(basename(.cmdargs[2]), .cmdargs[2]) # move .tex to the temp dir -rm(.tmp.file, .rnw.file, .rnw.exists) # clean up these variables - +knit(.cmdargs[1], output = .cmdargs[2], tangle = 'tangle' %in% .cmdargs) diff --git a/status.20x b/status.20x index c1f2099..705a639 100644 --- a/status.20x +++ b/status.20x @@ -129,6 +129,9 @@ What's new - Fix tex2lyx import of mhchem commands outside math mode (bug 8306). +- Fix failure of lyxknitr.R to move files when /tmp was on a different + file system (e.g. an encrypted home partition). + * USER INTERFACE -- 1.7.9.5 From 06a139ac3b42657e49668d4044dd11ad056e Mon Sep 17 00:00:00 2001 From: Scott Kostyshak skost...@lyx.org Date: Tue, 2 Oct 2012 05:56:01 -0400 Subject: [PATCH] More elegant knitr support and bug fix Implement a more simple and elegant integration of the R package knitr. Now, lyxknitr.R does not need to move or copy files at all. This also fixes a bug: when /tmp was on a different file system (e.g. encrypted home), lyxknitr.R failed to move files to /tmp because it relied on R's 'file.rename' function, which in turn relied on the
Re: [PATCH] lyxknitr failed when /tmp on different fs
On Mon, Oct 1, 2012 at 9:43 AM, Richard Heckwrote: > On 10/01/2012 04:04 AM, Jean-Marc Lasgouttes wrote: >> >> Le 01/10/2012 08:56, Scott Kostyshak a écrit : >>> >>> On Mon, Oct 1, 2012 at 2:46 AM, Yihui Xie wrote: I have tested it on my Windows 7 and I did not see any problems. >>> >>> >>> Great, thanks for doing that Yihui. In that case, the question becomes >>> -- should this be committed only to trunk? I would be in favor of >>> committing it to branch, but I'm not sure if it's best to do that >>> before or after 2.0.5 is released. >>> >>> Anyone else have an opinion? >> >> >> I think it should go to trunk and branch: is is simpler now (always good) >> and I trust that Yihui tested it thoroughly. >> > Good for branch, then. > > Scott, you know about status.20x, yes? I do, but I would have forgotten to update it. Thank you for the reminder. Attached are the patches for trunk and branch. Are they OK? Thanks, Scott From dbf68ef44a0d31ee56bb77671ff6929f913d1170 Mon Sep 17 00:00:00 2001 From: Scott Kostyshak Date: Tue, 2 Oct 2012 05:56:01 -0400 Subject: [PATCH] More elegant knitr support and bug fix Implement a more simple and elegant integration of the R package knitr. Now, lyxknitr.R does not need to move or copy files at all. This also fixes a bug: when /tmp was on a different file system (e.g. encrypted home), lyxknitr.R failed to move files to /tmp because it relied on R's 'file.rename' function, which in turn relied on the rename function in , which was failing with the EXDEV errno. Patch from Yihui Xie. --- lib/examples/knitr.lyx |2 +- lib/layouts/knitr.module |2 +- lib/scripts/lyxknitr.R | 17 +++-- status.20x |3 +++ 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/lib/examples/knitr.lyx b/lib/examples/knitr.lyx index f096d68..15fd817 100644 --- a/lib/examples/knitr.lyx +++ b/lib/examples/knitr.lyx @@ -176,7 +176,7 @@ status collapsed \begin_layout Plain Layout -http://yihui.github.com/knitr +http://yihui.name/knitr \end_layout \end_inset diff --git a/lib/layouts/knitr.module b/lib/layouts/knitr.module index 694ae77..fe64359 100644 --- a/lib/layouts/knitr.module +++ b/lib/layouts/knitr.module @@ -1,7 +1,7 @@ #\DeclareLyXModule[knitr->latex]{Rnw (knitr)} #DescriptionBegin #Uses the knitr package in R for dynamic report generation. This R package has to be installed for this module to work: install.packages('knitr'). Note it depends on R >= 2.14.1. -#For more info see http://yihui.github.com/knitr +#For more info see http://yihui.name/knitr #DescriptionEnd #Category: literate #Excludes: lilypond | sweave diff --git a/lib/scripts/lyxknitr.R b/lib/scripts/lyxknitr.R index 03150f2..7c029ea 100644 --- a/lib/scripts/lyxknitr.R +++ b/lib/scripts/lyxknitr.R @@ -11,7 +11,7 @@ ## author Yihui Xie ## knitr is an alternative package to Sweave, and has more features -## and flexibility; see https://yihui.github.com/knitr +## and flexibility; see https://yihui.name/knitr ## Rscript $$s/scripts/lyxknitr.R $$p$$i $$p$$o $$e $$r ## $$p the path of the output (temp dir) @@ -31,18 +31,7 @@ options(encoding = .cmdargs[3]) ## can put your data files there and functions like read.table() can ## work correctly without specifying the full path setwd(.cmdargs[4]) +opts_knit$set(root.dir = getwd()) -## copy the Rnw file to the current working directory if it does not exist -.tmp.file = tempfile(); .rnw.file = basename(.cmdargs[1]) -.rnw.exists = file.exists(.rnw.file) -if (.rnw.exists) file.rename(.rnw.file, .tmp.file) -file.copy(.cmdargs[1], '.') ## run knit() to get .tex or .R -knit(.rnw.file, tangle = 'tangle' %in% .cmdargs) - -setwd(.cmdargs[4]) -## remove the copied .Rnw if it did not exist, otherwise move the original one back -if (.rnw.exists) file.rename(.tmp.file, .rnw.file) else unlink(.rnw.file) -file.rename(basename(.cmdargs[2]), .cmdargs[2]) # move .tex to the temp dir -rm(.tmp.file, .rnw.file, .rnw.exists) # clean up these variables - +knit(.cmdargs[1], output = .cmdargs[2], tangle = 'tangle' %in% .cmdargs) diff --git a/status.20x b/status.20x index c1f2099..705a639 100644 --- a/status.20x +++ b/status.20x @@ -129,6 +129,9 @@ What's new - Fix tex2lyx import of mhchem commands outside math mode (bug 8306). +- Fix failure of lyxknitr.R to move files when /tmp was on a different + file system (e.g. an encrypted home partition). + * USER INTERFACE -- 1.7.9.5 From 06a139ac3b42657e49668d4044dd11ad056e Mon Sep 17 00:00:00 2001 From: Scott Kostyshak Date: Tue, 2 Oct 2012 05:56:01 -0400 Subject: [PATCH] More elegant knitr support and bug fix Implement a more simple and elegant integration of the R package knitr. Now, lyxknitr.R does not need to move or copy files at all. This also fixes a bug: when /tmp was on a different file system (e.g. encrypted home), lyxknitr.R failed to move files to /tmp because it relied on
Re: [PATCH] lyxknitr failed when /tmp on different fs
On Fri, Sep 28, 2012 at 2:50 AM, Yihui Xie x...@yihui.name wrote: I'm confident enough with the updated lyxknitr.R, but we may still need to test it under Windows. OK. Let's wait for someone to test on Windows first then. I'm not sure what the protocol for committing is if we can't find a Windows + LyX + R + knitr tester. Scott Regards, Yihui -- Yihui Xie xieyi...@gmail.com Phone: 515-294-2465 Web: http://yihui.name Department of Statistics, Iowa State University 2215 Snedecor Hall, Ames, IA On Fri, Sep 28, 2012 at 1:43 AM, Scott Kostyshak skost...@lyx.org wrote: On Thu, Sep 27, 2012 at 3:56 PM, Scott Kostyshak skost...@lyx.org wrote: On Thu, Sep 27, 2012 at 1:40 PM, Yihui Xie x...@yihui.name wrote: Hi Scott, Attached is my patch. Now lyxknitr.R does not move files at all; all old tricks are gone, and the R script is much cleaner. I have tested it under Ubuntu. It looks a lot cleaner indeed. I'm not sure you can commit it to the git repository, so I cc JMarc. BTW, I also updated the homepage of the knitr package from yihui.github.com/knitr to yihui.name/knitr Great, thanks a lot Yihui! I will test this later. Yihui, testing went well for me, both on the computer where I have an encrypted home and on a different computer. Unfortunately, they are both also Ubuntu. Do you think this needs further testing on non-Ubuntu computers? I updated the homepage of the knitr package in the example file. The updated diff is attached. Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
I have tested it on my Windows 7 and I did not see any problems. Regards, Yihui -- Yihui Xie xieyi...@gmail.com Phone: 515-294-2465 Web: http://yihui.name Department of Statistics, Iowa State University 2215 Snedecor Hall, Ames, IA On Mon, Oct 1, 2012 at 1:35 AM, Scott Kostyshak skost...@lyx.org wrote: On Fri, Sep 28, 2012 at 2:50 AM, Yihui Xie x...@yihui.name wrote: I'm confident enough with the updated lyxknitr.R, but we may still need to test it under Windows. OK. Let's wait for someone to test on Windows first then. I'm not sure what the protocol for committing is if we can't find a Windows + LyX + R + knitr tester. Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
On Mon, Oct 1, 2012 at 2:46 AM, Yihui Xie x...@yihui.name wrote: I have tested it on my Windows 7 and I did not see any problems. Great, thanks for doing that Yihui. In that case, the question becomes -- should this be committed only to trunk? I would be in favor of committing it to branch, but I'm not sure if it's best to do that before or after 2.0.5 is released. Anyone else have an opinion? Thanks, Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
Le 01/10/2012 08:56, Scott Kostyshak a écrit : On Mon, Oct 1, 2012 at 2:46 AM, Yihui Xie x...@yihui.name wrote: I have tested it on my Windows 7 and I did not see any problems. Great, thanks for doing that Yihui. In that case, the question becomes -- should this be committed only to trunk? I would be in favor of committing it to branch, but I'm not sure if it's best to do that before or after 2.0.5 is released. Anyone else have an opinion? I think it should go to trunk and branch: is is simpler now (always good) and I trust that Yihui tested it thoroughly. JMarc
Re: [PATCH] lyxknitr failed when /tmp on different fs
On 10/01/2012 04:04 AM, Jean-Marc Lasgouttes wrote: Le 01/10/2012 08:56, Scott Kostyshak a écrit : On Mon, Oct 1, 2012 at 2:46 AM, Yihui Xie x...@yihui.name wrote: I have tested it on my Windows 7 and I did not see any problems. Great, thanks for doing that Yihui. In that case, the question becomes -- should this be committed only to trunk? I would be in favor of committing it to branch, but I'm not sure if it's best to do that before or after 2.0.5 is released. Anyone else have an opinion? I think it should go to trunk and branch: is is simpler now (always good) and I trust that Yihui tested it thoroughly. Good for branch, then. Scott, you know about status.20x, yes? rh
Re: [PATCH] lyxknitr failed when /tmp on different fs
On Fri, Sep 28, 2012 at 2:50 AM, Yihui Xiewrote: > I'm confident enough with the updated lyxknitr.R, but we may still > need to test it under Windows. OK. Let's wait for someone to test on Windows first then. I'm not sure what the protocol for committing is if we can't find a Windows + LyX + R + knitr tester. Scott > > Regards, > Yihui > -- > Yihui Xie > Phone: 515-294-2465 Web: http://yihui.name > Department of Statistics, Iowa State University > 2215 Snedecor Hall, Ames, IA > > > On Fri, Sep 28, 2012 at 1:43 AM, Scott Kostyshak wrote: >> On Thu, Sep 27, 2012 at 3:56 PM, Scott Kostyshak wrote: >>> On Thu, Sep 27, 2012 at 1:40 PM, Yihui Xie wrote: Hi Scott, Attached is my patch. Now lyxknitr.R does not move files at all; all old tricks are gone, and the R script is much cleaner. I have tested it under Ubuntu. >>> >>> It looks a lot cleaner indeed. >>> I'm not sure you can commit it to the git repository, so I cc JMarc. BTW, I also updated the homepage of the knitr package from yihui.github.com/knitr to yihui.name/knitr >>> >>> Great, thanks a lot Yihui! I will test this later. >> >> Yihui, testing went well for me, both on the computer where I have an >> encrypted home and on a different computer. Unfortunately, they are >> both also Ubuntu. Do you think this needs further testing on >> non-Ubuntu computers? >> >> I updated the homepage of the knitr package in the example file. The >> updated diff is attached. >> >> Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
I have tested it on my Windows 7 and I did not see any problems. Regards, Yihui -- Yihui XiePhone: 515-294-2465 Web: http://yihui.name Department of Statistics, Iowa State University 2215 Snedecor Hall, Ames, IA On Mon, Oct 1, 2012 at 1:35 AM, Scott Kostyshak wrote: > On Fri, Sep 28, 2012 at 2:50 AM, Yihui Xie wrote: >> I'm confident enough with the updated lyxknitr.R, but we may still >> need to test it under Windows. > > OK. Let's wait for someone to test on Windows first then. I'm not sure > what the protocol for committing is if we can't find a Windows + LyX + > R + knitr tester. > > Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
On Mon, Oct 1, 2012 at 2:46 AM, Yihui Xiewrote: > I have tested it on my Windows 7 and I did not see any problems. Great, thanks for doing that Yihui. In that case, the question becomes -- should this be committed only to trunk? I would be in favor of committing it to branch, but I'm not sure if it's best to do that before or after 2.0.5 is released. Anyone else have an opinion? Thanks, Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
Le 01/10/2012 08:56, Scott Kostyshak a écrit : On Mon, Oct 1, 2012 at 2:46 AM, Yihui Xiewrote: I have tested it on my Windows 7 and I did not see any problems. Great, thanks for doing that Yihui. In that case, the question becomes -- should this be committed only to trunk? I would be in favor of committing it to branch, but I'm not sure if it's best to do that before or after 2.0.5 is released. Anyone else have an opinion? I think it should go to trunk and branch: is is simpler now (always good) and I trust that Yihui tested it thoroughly. JMarc
Re: [PATCH] lyxknitr failed when /tmp on different fs
On 10/01/2012 04:04 AM, Jean-Marc Lasgouttes wrote: Le 01/10/2012 08:56, Scott Kostyshak a écrit : On Mon, Oct 1, 2012 at 2:46 AM, Yihui Xiewrote: I have tested it on my Windows 7 and I did not see any problems. Great, thanks for doing that Yihui. In that case, the question becomes -- should this be committed only to trunk? I would be in favor of committing it to branch, but I'm not sure if it's best to do that before or after 2.0.5 is released. Anyone else have an opinion? I think it should go to trunk and branch: is is simpler now (always good) and I trust that Yihui tested it thoroughly. Good for branch, then. Scott, you know about status.20x, yes? rh
Re: [PATCH] lyxknitr failed when /tmp on different fs
On Thu, Sep 27, 2012 at 3:56 PM, Scott Kostyshak skost...@lyx.org wrote: On Thu, Sep 27, 2012 at 1:40 PM, Yihui Xie x...@yihui.name wrote: Hi Scott, Attached is my patch. Now lyxknitr.R does not move files at all; all old tricks are gone, and the R script is much cleaner. I have tested it under Ubuntu. It looks a lot cleaner indeed. I'm not sure you can commit it to the git repository, so I cc JMarc. BTW, I also updated the homepage of the knitr package from yihui.github.com/knitr to yihui.name/knitr Great, thanks a lot Yihui! I will test this later. Yihui, testing went well for me, both on the computer where I have an encrypted home and on a different computer. Unfortunately, they are both also Ubuntu. Do you think this needs further testing on non-Ubuntu computers? I updated the homepage of the knitr package in the example file. The updated diff is attached. Scott diff --git a/lib/examples/knitr.lyx b/lib/examples/knitr.lyx index ddbfe01..feab161 100644 --- a/lib/examples/knitr.lyx +++ b/lib/examples/knitr.lyx @@ -182,7 +182,7 @@ status collapsed \begin_layout Plain Layout -http://yihui.github.com/knitr +http://yihui.name/knitr \end_layout \end_inset diff --git a/lib/layouts/knitr.module b/lib/layouts/knitr.module index 694ae77..fe64359 100644 --- a/lib/layouts/knitr.module +++ b/lib/layouts/knitr.module @@ -1,7 +1,7 @@ #\DeclareLyXModule[knitr-latex]{Rnw (knitr)} #DescriptionBegin #Uses the knitr package in R for dynamic report generation. This R package has to be installed for this module to work: install.packages('knitr'). Note it depends on R = 2.14.1. -#For more info see http://yihui.github.com/knitr +#For more info see http://yihui.name/knitr #DescriptionEnd #Category: literate #Excludes: lilypond | sweave diff --git a/lib/scripts/lyxknitr.R b/lib/scripts/lyxknitr.R index 03150f2..7c029ea 100644 --- a/lib/scripts/lyxknitr.R +++ b/lib/scripts/lyxknitr.R @@ -11,7 +11,7 @@ ## author Yihui Xie ## knitr is an alternative package to Sweave, and has more features -## and flexibility; see https://yihui.github.com/knitr +## and flexibility; see https://yihui.name/knitr ## Rscript $$s/scripts/lyxknitr.R $$p$$i $$p$$o $$e $$r ## $$p the path of the output (temp dir) @@ -31,18 +31,7 @@ options(encoding = .cmdargs[3]) ## can put your data files there and functions like read.table() can ## work correctly without specifying the full path setwd(.cmdargs[4]) +opts_knit$set(root.dir = getwd()) -## copy the Rnw file to the current working directory if it does not exist -.tmp.file = tempfile(); .rnw.file = basename(.cmdargs[1]) -.rnw.exists = file.exists(.rnw.file) -if (.rnw.exists) file.rename(.rnw.file, .tmp.file) -file.copy(.cmdargs[1], '.') ## run knit() to get .tex or .R -knit(.rnw.file, tangle = 'tangle' %in% .cmdargs) - -setwd(.cmdargs[4]) -## remove the copied .Rnw if it did not exist, otherwise move the original one back -if (.rnw.exists) file.rename(.tmp.file, .rnw.file) else unlink(.rnw.file) -file.rename(basename(.cmdargs[2]), .cmdargs[2]) # move .tex to the temp dir -rm(.tmp.file, .rnw.file, .rnw.exists) # clean up these variables - +knit(.cmdargs[1], output = .cmdargs[2], tangle = 'tangle' %in% .cmdargs)
Re: [PATCH] lyxknitr failed when /tmp on different fs
I'm confident enough with the updated lyxknitr.R, but we may still need to test it under Windows. Regards, Yihui -- Yihui Xie xieyi...@gmail.com Phone: 515-294-2465 Web: http://yihui.name Department of Statistics, Iowa State University 2215 Snedecor Hall, Ames, IA On Fri, Sep 28, 2012 at 1:43 AM, Scott Kostyshak skost...@lyx.org wrote: On Thu, Sep 27, 2012 at 3:56 PM, Scott Kostyshak skost...@lyx.org wrote: On Thu, Sep 27, 2012 at 1:40 PM, Yihui Xie x...@yihui.name wrote: Hi Scott, Attached is my patch. Now lyxknitr.R does not move files at all; all old tricks are gone, and the R script is much cleaner. I have tested it under Ubuntu. It looks a lot cleaner indeed. I'm not sure you can commit it to the git repository, so I cc JMarc. BTW, I also updated the homepage of the knitr package from yihui.github.com/knitr to yihui.name/knitr Great, thanks a lot Yihui! I will test this later. Yihui, testing went well for me, both on the computer where I have an encrypted home and on a different computer. Unfortunately, they are both also Ubuntu. Do you think this needs further testing on non-Ubuntu computers? I updated the homepage of the knitr package in the example file. The updated diff is attached. Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
On Thu, Sep 27, 2012 at 3:56 PM, Scott Kostyshakwrote: > On Thu, Sep 27, 2012 at 1:40 PM, Yihui Xie wrote: >> Hi Scott, >> >> Attached is my patch. Now lyxknitr.R does not move files at all; all >> old tricks are gone, and the R script is much cleaner. I have tested >> it under Ubuntu. > > It looks a lot cleaner indeed. > >> I'm not sure you can commit it to the git repository, so I cc JMarc. >> >> BTW, I also updated the homepage of the knitr package from >> yihui.github.com/knitr to yihui.name/knitr > > Great, thanks a lot Yihui! I will test this later. Yihui, testing went well for me, both on the computer where I have an encrypted home and on a different computer. Unfortunately, they are both also Ubuntu. Do you think this needs further testing on non-Ubuntu computers? I updated the homepage of the knitr package in the example file. The updated diff is attached. Scott diff --git a/lib/examples/knitr.lyx b/lib/examples/knitr.lyx index ddbfe01..feab161 100644 --- a/lib/examples/knitr.lyx +++ b/lib/examples/knitr.lyx @@ -182,7 +182,7 @@ status collapsed \begin_layout Plain Layout -http://yihui.github.com/knitr +http://yihui.name/knitr \end_layout \end_inset diff --git a/lib/layouts/knitr.module b/lib/layouts/knitr.module index 694ae77..fe64359 100644 --- a/lib/layouts/knitr.module +++ b/lib/layouts/knitr.module @@ -1,7 +1,7 @@ #\DeclareLyXModule[knitr->latex]{Rnw (knitr)} #DescriptionBegin #Uses the knitr package in R for dynamic report generation. This R package has to be installed for this module to work: install.packages('knitr'). Note it depends on R >= 2.14.1. -#For more info see http://yihui.github.com/knitr +#For more info see http://yihui.name/knitr #DescriptionEnd #Category: literate #Excludes: lilypond | sweave diff --git a/lib/scripts/lyxknitr.R b/lib/scripts/lyxknitr.R index 03150f2..7c029ea 100644 --- a/lib/scripts/lyxknitr.R +++ b/lib/scripts/lyxknitr.R @@ -11,7 +11,7 @@ ## author Yihui Xie ## knitr is an alternative package to Sweave, and has more features -## and flexibility; see https://yihui.github.com/knitr +## and flexibility; see https://yihui.name/knitr ## Rscript $$s/scripts/lyxknitr.R $$p$$i $$p$$o $$e $$r ## $$p the path of the output (temp dir) @@ -31,18 +31,7 @@ options(encoding = .cmdargs[3]) ## can put your data files there and functions like read.table() can ## work correctly without specifying the full path setwd(.cmdargs[4]) +opts_knit$set(root.dir = getwd()) -## copy the Rnw file to the current working directory if it does not exist -.tmp.file = tempfile(); .rnw.file = basename(.cmdargs[1]) -.rnw.exists = file.exists(.rnw.file) -if (.rnw.exists) file.rename(.rnw.file, .tmp.file) -file.copy(.cmdargs[1], '.') ## run knit() to get .tex or .R -knit(.rnw.file, tangle = 'tangle' %in% .cmdargs) - -setwd(.cmdargs[4]) -## remove the copied .Rnw if it did not exist, otherwise move the original one back -if (.rnw.exists) file.rename(.tmp.file, .rnw.file) else unlink(.rnw.file) -file.rename(basename(.cmdargs[2]), .cmdargs[2]) # move .tex to the temp dir -rm(.tmp.file, .rnw.file, .rnw.exists) # clean up these variables - +knit(.cmdargs[1], output = .cmdargs[2], tangle = 'tangle' %in% .cmdargs)
Re: [PATCH] lyxknitr failed when /tmp on different fs
I'm confident enough with the updated lyxknitr.R, but we may still need to test it under Windows. Regards, Yihui -- Yihui XiePhone: 515-294-2465 Web: http://yihui.name Department of Statistics, Iowa State University 2215 Snedecor Hall, Ames, IA On Fri, Sep 28, 2012 at 1:43 AM, Scott Kostyshak wrote: > On Thu, Sep 27, 2012 at 3:56 PM, Scott Kostyshak wrote: >> On Thu, Sep 27, 2012 at 1:40 PM, Yihui Xie wrote: >>> Hi Scott, >>> >>> Attached is my patch. Now lyxknitr.R does not move files at all; all >>> old tricks are gone, and the R script is much cleaner. I have tested >>> it under Ubuntu. >> >> It looks a lot cleaner indeed. >> >>> I'm not sure you can commit it to the git repository, so I cc JMarc. >>> >>> BTW, I also updated the homepage of the knitr package from >>> yihui.github.com/knitr to yihui.name/knitr >> >> Great, thanks a lot Yihui! I will test this later. > > Yihui, testing went well for me, both on the computer where I have an > encrypted home and on a different computer. Unfortunately, they are > both also Ubuntu. Do you think this needs further testing on > non-Ubuntu computers? > > I updated the homepage of the knitr package in the example file. The > updated diff is attached. > > Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
Am Donnerstag, 27. September 2012 um 07:18:36, schrieb Scott Kostyshak skost...@lyx.org When /tmp was on a different file system (e.g. encrypted home), lyxknitr.R failed to move files to /tmp because it relied on R's 'file.rename' function, which in turn relied on the rename function in stdio.h, which was failing with the EXDEV errno. Now lyxknitr.R relies on 'file.copy'. Yihui, does this look OK? Note that I also changed a comment: file.rename renamed a .tex and a .R for me. Thanks, Scott Rename does not change modify time. Copy does. Don't know, if that may cause problems. Kornel signature.asc Description: This is a digitally signed message part.
Re: [PATCH] lyxknitr failed when /tmp on different fs
I was bitten by this problem as well a few days ago, but I forgot to work on it. I think I have a better fix which does not involve with copying or renaming files at all. I'll do it soon. Thanks! Regards, Yihui -- Yihui Xie xieyi...@gmail.com Phone: 515-294-2465 Web: http://yihui.name Department of Statistics, Iowa State University 2215 Snedecor Hall, Ames, IA On Thu, Sep 27, 2012 at 6:18 AM, Scott Kostyshak skost...@lyx.org wrote: When /tmp was on a different file system (e.g. encrypted home), lyxknitr.R failed to move files to /tmp because it relied on R's 'file.rename' function, which in turn relied on the rename function in stdio.h, which was failing with the EXDEV errno. Now lyxknitr.R relies on 'file.copy'. Yihui, does this look OK? Note that I also changed a comment: file.rename renamed a .tex and a .R for me. Thanks, Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
Hi Scott, Attached is my patch. Now lyxknitr.R does not move files at all; all old tricks are gone, and the R script is much cleaner. I have tested it under Ubuntu. I'm not sure you can commit it to the git repository, so I cc JMarc. BTW, I also updated the homepage of the knitr package from yihui.github.com/knitr to yihui.name/knitr Regards, Yihui -- Yihui Xie xieyi...@gmail.com Phone: 515-294-2465 Web: http://yihui.name Department of Statistics, Iowa State University 2215 Snedecor Hall, Ames, IA On Thu, Sep 27, 2012 at 6:18 AM, Scott Kostyshak skost...@lyx.org wrote: When /tmp was on a different file system (e.g. encrypted home), lyxknitr.R failed to move files to /tmp because it relied on R's 'file.rename' function, which in turn relied on the rename function in stdio.h, which was failing with the EXDEV errno. Now lyxknitr.R relies on 'file.copy'. Yihui, does this look OK? Note that I also changed a comment: file.rename renamed a .tex and a .R for me. Thanks, Scott lyxknitr.diff Description: Binary data
Re: [PATCH] lyxknitr failed when /tmp on different fs
On Thu, Sep 27, 2012 at 1:40 PM, Yihui Xie x...@yihui.name wrote: Hi Scott, Attached is my patch. Now lyxknitr.R does not move files at all; all old tricks are gone, and the R script is much cleaner. I have tested it under Ubuntu. It looks a lot cleaner indeed. I'm not sure you can commit it to the git repository, so I cc JMarc. BTW, I also updated the homepage of the knitr package from yihui.github.com/knitr to yihui.name/knitr Great, thanks a lot Yihui! I will test this later. Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
Am Donnerstag, 27. September 2012 um 07:18:36, schrieb Scott Kostyshak> When /tmp was on a different file system (e.g. encrypted home), > lyxknitr.R failed to move files to /tmp because it relied on R's > 'file.rename' function, which in turn relied on the rename function in > , which was failing with the EXDEV errno. Now lyxknitr.R relies > on 'file.copy'. > > Yihui, does this look OK? > > Note that I also changed a comment: file.rename renamed a .tex and a .R for > me. > > Thanks, > > Scott Rename does not change modify time. Copy does. Don't know, if that may cause problems. Kornel signature.asc Description: This is a digitally signed message part.
Re: [PATCH] lyxknitr failed when /tmp on different fs
I was bitten by this problem as well a few days ago, but I forgot to work on it. I think I have a better fix which does not involve with copying or renaming files at all. I'll do it soon. Thanks! Regards, Yihui -- Yihui XiePhone: 515-294-2465 Web: http://yihui.name Department of Statistics, Iowa State University 2215 Snedecor Hall, Ames, IA On Thu, Sep 27, 2012 at 6:18 AM, Scott Kostyshak wrote: > When /tmp was on a different file system (e.g. encrypted home), > lyxknitr.R failed to move files to /tmp because it relied on R's > 'file.rename' function, which in turn relied on the rename function in > , which was failing with the EXDEV errno. Now lyxknitr.R relies > on 'file.copy'. > > Yihui, does this look OK? > > Note that I also changed a comment: file.rename renamed a .tex and a .R for > me. > > Thanks, > > Scott
Re: [PATCH] lyxknitr failed when /tmp on different fs
Hi Scott, Attached is my patch. Now lyxknitr.R does not move files at all; all old tricks are gone, and the R script is much cleaner. I have tested it under Ubuntu. I'm not sure you can commit it to the git repository, so I cc JMarc. BTW, I also updated the homepage of the knitr package from yihui.github.com/knitr to yihui.name/knitr Regards, Yihui -- Yihui XiePhone: 515-294-2465 Web: http://yihui.name Department of Statistics, Iowa State University 2215 Snedecor Hall, Ames, IA On Thu, Sep 27, 2012 at 6:18 AM, Scott Kostyshak wrote: > When /tmp was on a different file system (e.g. encrypted home), > lyxknitr.R failed to move files to /tmp because it relied on R's > 'file.rename' function, which in turn relied on the rename function in > , which was failing with the EXDEV errno. Now lyxknitr.R relies > on 'file.copy'. > > Yihui, does this look OK? > > Note that I also changed a comment: file.rename renamed a .tex and a .R for > me. > > Thanks, > > Scott lyxknitr.diff Description: Binary data
Re: [PATCH] lyxknitr failed when /tmp on different fs
On Thu, Sep 27, 2012 at 1:40 PM, Yihui Xiewrote: > Hi Scott, > > Attached is my patch. Now lyxknitr.R does not move files at all; all > old tricks are gone, and the R script is much cleaner. I have tested > it under Ubuntu. It looks a lot cleaner indeed. > I'm not sure you can commit it to the git repository, so I cc JMarc. > > BTW, I also updated the homepage of the knitr package from > yihui.github.com/knitr to yihui.name/knitr Great, thanks a lot Yihui! I will test this later. Scott