[ESS] proposal re: underscore
timhesterberg at gmail.com
Sat Apr 7 05:22:33 CEST 2012
I like the current behavior.
Anything that encourages people to use <- for assignment instead of =
is a good thing, because it makes for more readable code, and I have
tools that require it, in particular for creating an emacs TAGS file.
>Premise: the smart-underscore behavior in ESS is problematic because
>1) it's inconsistent across modes, as described in my post a couple of weeks ago
>and repeated below for convenience
>2) it's confusing to novices, as evidenced by the fact that it's a FAQ
>3) it will be even more confusing to novices over time, because underscore as
>assignment operator was phased out in R a long time ago
>4) it requires two keystrokes of underscore to get an actual underscore
>Proposal: ESS should emulate another R editor on this point, namely StatET. The
>behavior is as follows:
>1) typing = gets you =
>2) typing _ gets you _
>3) typing <- gets you <-
>4) (this is the magic one) typing Ctrl+= gets you <-
>The main argument 'pro' is that 1-3 are not at all confusing to novices, and 4
>is a discoverable feature, i.e., a reward for advanced users. Additionally, this
>would be consistent across S, R, BUGS, and JAGS, and would not violate their
>syntax, unlike the current behavior (explained in my older note, below).
>The current smart-underscore could be retained as-is for those who want it but
>turned off by default in future versions.
>-- my older email, repeated for reference --
>1. In ESS[BUGS] mode, underscore is bound to ess-bugs-hot-arrow, which is
>definitely wrong, because it doesn't let me create variables like foo_bar.
>2. I'd like it if I could use smart-underscore as in ESS[S] mode, but if I do
>(define-key ess-bugs-mode-map (kbd "_") 'ess-smart-underscore)
>then there's no smart-underscore behavior, just a plain underscore.
More information about the ESS-help