This must be a pretty old RData file (pre-2.14.0).  news() says:

Changes in version 2.14.0:

NEW FEATURES

    o   The "source" attribute on functions created with keep.source=TRUE
        has been replaced with a "srcref" attribute.  The "srcref"
        attribute references an in-memory copy of the source file using the
        "srcfilecopy" class or the new "srcfilealias" class.

        *NB:* This means that functions sourced with keep.source = TRUE and
        saved (e.g., by save() or readRDS()) in earlier versions of R will
        no longer show the original sources (including comments).

Bill Dunlap
TIBCO Software
wdunlap tibco.com


On Mon, Jan 30, 2017 at 9:29 AM, Mik Bickis <m.bic...@sasktel.net> wrote:
> Hello:
>
> I recently upgraded to R version 3.3.2 (2016-10-31)
>
> Now I find that functions that I load from an older .RData file give a 
> strange display:
>
> ---------------------------------------------------------------------------------------------------------------------------
>> payments
> function (a, n, tol = 1e-10)
> {
>     p <- a/(1 - (1 + a)^(-n))
>     p[a < tol] <- 1/n + (n + 1) * a[a < tol]/(2 * n)
>     p
> }
> attr(,"source")
> [1] "function(a,n,tol=1E-10){# required proportion of principal required to "
> [2] "\t# pay off loan in n installments at interest rate a"
> [3] "\tp<-a/(1-(1+a)^(-n))"
> [4] "\t# linear approximation for small rates"
> [5] "\tp[a<tol]<-1/n+(n+1)*a[a<tol]/(2*n)"
> [6] "\tp}"
> ------------------------------------------------------------------------------------------------------------------------------
>
> In addition to the usual function definition it also prints the function 
> contents as an attribute "source", including strange escape characters at the 
> beginning of the lines.  Note that the comment only appears in this latter 
> display.
> This same display happens if I use the "edit" function.
>
> However, if I copy and paste the definition into a new function, then it 
> displays as expected:
>
> ----------------------------------------------------------------------------------------------------------------------------
>> puments<-function (a, n, tol = 1e-10)
> + {
> +     p <- a/(1 - (1 + a)^(-n))
> +     p[a < tol] <- 1/n + (n + 1) * a[a < tol]/(2 * n)
> +     p
> + }
>>
>> puments
> function (a, n, tol = 1e-10)
> {
>     p <- a/(1 - (1 + a)^(-n))
>     p[a < tol] <- 1/n + (n + 1) * a[a < tol]/(2 * n)
>     p
> }
> --------------------------------------------------------------------------------------------------------------------------------
>
> And I can successfully insert a comment right in the definition, as one would 
> like
>
> -------------------------------------------------------------------------------------------------------------------------------------------
>> puments
> function (a, n, tol = 1e-10)
> {# required proportion of principal required to
> # pay off loan in n installments at interest rate a
>     p <- a/(1 - (1 + a)^(-n))
>     p[a < tol] <- 1/n + (n + 1) * a[a < tol]/(2 * n)
>     p
> }
> -------------------------------------------------------------------------------------------------------------------------------------------
>
> What is happening to the displays of my function definitions?   I have never 
> witnessed such behaviour before.   Is there some option I have to set 
> (globally) to suppress this redundancy?
>
> Mik Bickis
> Department of Mathematics and Statistics
> University of Saskatchewan
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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 -- To UNSUBSCRIBE and more, see
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.

Reply via email to