[R] RSiteSearch for words ``as one entity''.
Rolf Turner
r.turner at auckland.ac.nz
Thu Sep 11 02:00:13 CEST 2008
On 11/09/2008, at 10:09 AM, Marc Schwartz wrote:
<snip>
> As Prof. Ripley noted, try using debug(RSiteSearch) and then step
> through the code to see where $HOME is being added to the URL
> variable.
> That can help pin it down further. If the URL is not corrupted by the
> time browseURL() is called, then use debug(browseURL) to trace within
> that function to see if something is happening there.
I have done some digging. When I do:
RSiteSearch("logistic regression")
the RSiteSearch() function calls browseURL(qstring) where qstring is
qs1 equal to
"http://search.r-project.org/cgi-bin/namazu.cgi?query=logistic
+regression&max=20&result=normal&sort=score&idxname=Rhelp02a&idxname=fun
ctions&idxname=docs"
Similarly when I do RSiteSearch("{logistic regression}") qstring is
qs2 equal to
"http://search.r-project.org/cgi-bin/namazu.cgi?query={logistic
+regression}
&max=20&result=normal&sort=score&idxname=Rhelp02a&idxname=functions&idxn
ame=docs"
i.e. the same except for the braces.
If I do browseURL(qs1) outside of RSiteSearch() it works as expected.
If I do browseURL(qs2) I get the error.
Inside browseURL I find that it calls
system(paste(browser, remoteCmd, "> /dev/null 2>&1 ||", browser,
quotedUrl, "&"))
and browser is "/usr/bin/open", remoteCmd is the qstring with the
opening and closing
quote marks attached (escaped with a ``\'') amd quotedUrl is the
same. This is true
irrespective of which qstring (qs1 or qs2 is used).
Note that the double backslash shows up in remoteCmd == quotedUrl at
this stage.
Finally I put the system command into a file ``junk'' and from the
command window
(outside R) executed ``sh junk''.
With the braces around ``logistic regression'' I can the same error
message that
I got in R. When I simply edited out the braces, the Firefox window
opened at
the appropriate URL. So the problem is in those braces and the
single/double
backslash at the start was a red herring.
Finally, while I was doing all this I got Henrik Bengtsson's
message, and tried
his suggestion:
library(R.utils)
browseURL(toUrl(qs2))
and BINGO!!! that worked. (Thanks very much, Henrik.)
It's still mysterious why the braces have their deleterious impact
on my Mac
but do not have that impact on Professor Ripley's machine. (But
that's the
story of my life: THEY always pick on ***me***! :-) )
So my problem is solved --- via a workaround --- but there's still
some vestigial
strangeness.
Thanks to all who helped me, especially (again) to Henrik Bengtsson
cheers,
Rolf
######################################################################
Attention:\ This e-mail message is privileged and confid...{{dropped:9}}
More information about the R-help
mailing list