Vitalie Spinu
2012-Mar-14 09:57 UTC
[Rd] [ESS] completion in [] (R internal completion fails)
Hello, I am forwarding this from ESS mailing list, as it's a failure of internal R completion system: This fails: utils:::.assignLinebuffer('iris[iris$Spec') utils:::.assignEnd(15) utils:::.guessTokenFromLine() utils:::.completeToken() utils:::.retrieveCompletions() ## -> [1] "iris[iris$Spec" This works utils:::.assignLinebuffer('iris[ iris$Spec') # note the space after [ utils:::.assignEnd(15) utils:::.guessTokenFromLine() utils:::.completeToken() utils:::.retrieveCompletions() ## -> [1] "iris$Species" Best, Vitalie.>>>> Andreas Leha <andreas.leha at med.uni-goettingen.de> >>>> on Wed, 14 Mar 2012 10:21:37 +0100 wrote:>> Hi all, >> I am seeing strange behaviour with completion inside []. >> Suppose I have >> ttt <- data.frame(aaa=1, bbb=1) >> and I want to run >> ttt$aaa[ttt$aaa == 1] <- 2 >> then completion at this point fails: >> ttt$aaa[ttt$aa<TAB> >> On the other hand, strangly enough, this works as expected: >> ttt$aaa[ ttt$aa<TAB> >> Regards, >> Andreas >> ______________________________________________ >> ESS-help at r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/ess-help
Deepayan Sarkar
2012-Mar-15 17:51 UTC
[Rd] [ESS] completion in [] (R internal completion fails)
On Wed, Mar 14, 2012 at 3:27 PM, Vitalie Spinu <spinuvit at gmail.com> wrote:> > Hello, > > I am forwarding this from ESS mailing list, as it's a failure of > internal R completion system: > > This fails: > > utils:::.assignLinebuffer('iris[iris$Spec') > utils:::.assignEnd(15) > utils:::.guessTokenFromLine() > utils:::.completeToken() > utils:::.retrieveCompletions() ## -> [1] "iris[iris$Spec" > > This works > > utils:::.assignLinebuffer('iris[ iris$Spec') ?# note the space after [ > utils:::.assignEnd(15) > utils:::.guessTokenFromLine() > utils:::.completeToken() > utils:::.retrieveCompletions() ## -> [1] "iris$Species"This is controlled by> getOption("rl_word_breaks")[1] " \t\n\"\\'`><=%;,|&{()}" Basically [ does not break words into tokens (space does). You can change this to options(rl_word_breaks = paste(getOption("rl_word_breaks"), "[]", sep = "")) But then the following won't work:> x = list(aaa = list(AAA = 1, BBB = 2)) > x[[1]]$A<TAB>-Deepayan> Best, > Vitalie. > >>>>> Andreas Leha <andreas.leha at med.uni-goettingen.de> >>>>> on Wed, 14 Mar 2012 10:21:37 +0100 wrote: > > ?>> Hi all, > ?>> I am seeing strange behaviour with completion inside []. > > ?>> Suppose I have > ?>> ttt <- data.frame(aaa=1, bbb=1) > ?>> and I want to run > ?>> ttt$aaa[ttt$aaa == 1] <- 2 > > ?>> then completion at this point fails: > ?>> ttt$aaa[ttt$aa<TAB> > > ?>> On the other hand, strangly enough, this works as expected: > ?>> ttt$aaa[ ttt$aa<TAB> > > ?>> Regards, > ?>> Andreas > > ?>> ______________________________________________ > ?>> ESS-help at r-project.org mailing list > ?>> https://stat.ethz.ch/mailman/listinfo/ess-help > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel