[ESS] proposal re: underscore

Tim Hesterberg 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 mailing list