From Friedrich.Leisch at tuwien.ac.at  Tue Nov 30 13:27:38 2004
From: Friedrich.Leisch at tuwien.ac.at (Friedrich.Leisch@tuwien.ac.at)
Date: Tue Nov 30 13:27:42 2004
Subject: [Rd] a better "source(echo=TRUE)"  {was "....how to pause...."}
In-Reply-To: <16812.24240.754731.879678@gargle.gargle.HOWL>
References: <b68812e704112708422b5228a4@mail.gmail.com>
	<1101582479.13352.37.camel@horizons.localdomain>
	<b68812e704112718032d3cf7d8@mail.gmail.com>
	<vuhiq095lke0trblge8161b3dakaubg776@4ax.com>
	<2kpjq0p9bq1i8b2258rl71bds4k9bg83fq@4ax.com>
	<16812.24240.754731.879678@gargle.gargle.HOWL>
Message-ID: <16812.26426.842631.422085@galadriel.ci.tuwien.ac.at>

>>>>> On Tue, 30 Nov 2004 12:51:12 +0100,
>>>>> Martin Maechler (MM) wrote:

[...]

  > But to do this might be more tricky than at first thought:
  > Of course you can readLines() the source file and writeLines()
  > them to whatever your console is. The slightly difficult thing
  > is to "see" which junks to ``send to R'' , i.e. to parse() and eval().
  > The basic problem seems to see when expressions are complete.

> Maybe we should / could think about enhancing parse() {or a new
  > function with extended behavior} such that it would not only
  > return the parse()d expressions, but also indices (byte or even
  > line counters) to the source text, indicating where each of the
  > expression started and ended.

  > That way I could see a way to proceed.

Yes, that would be also *very* handy for Sweave, where I parse/deparse
exactly for the reasons Martin describes: to get complete expressions
and to know where output should be inserted.

.f


[Rd] a better "source(echo=TRUE)" {was "....how to pause...."}
Friedrich.Leisch@tuwien.ac.at