From ripley at stats.ox.ac.uk  Tue Apr 11 14:12:32 2006
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Tue, 11 Apr 2006 13:12:32 +0100 (BST)
Subject: [Rd] pattern in history
In-Reply-To: <443B701C.20605@free.fr>
References: <443B701C.20605@free.fr>
Message-ID: <Pine.LNX.4.64.0604111302250.4588@gannet.stats.ox.ac.uk>

That's an interesting suggestion, but

1) it is not a good idea to change the order of arguments in a function.

2) is the 'unique' argument useful?  I cannot see it being used if
there is no pattern search, nor I do see the merit in showing repeated 
lines if I have subselected.

3) like ls(), testing if 'pattern' were missing or NULL would be a better 
idea.


On Tue, 11 Apr 2006, Romain Francois wrote:

> Hi,
>
> Sometimes I need to consult the history of commands that are matching a
> regex, so I modified the utils::history function for that purpose. I
> found it useful.
>
> I append the code ( I only added the two lines with #**)
>
> Romain.
>
>
> history2 <-
> function (pattern="", max.show = 25, reverse = FALSE, unique =
> pattern!="", ...)
> {
>    file1 <- tempfile("Rrawhist")
>    savehistory(file1)
>    rawhist <- scan(file1, what = "", quiet = TRUE, sep = "\n")
>    rawhist <- rawhist[grep(pattern, rawhist, ...)] #**
>    if(unique) rawhist <- unique(rawhist) #**
>    unlink(file1)
>    nlines <- length(rawhist)
>
>    inds <- max(1, nlines - max.show):nlines
>    if (reverse)
>        inds <- rev(inds)
>    file2 <- tempfile("hist")
>    write(rawhist[inds], file2)
>    file.show(file2, title = "R History", delete.file = TRUE)
> }
>
>
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] pattern in history
Prof Brian Ripley