[ESS-bugs] Conflicts with auto-inserting of brackets

Hendrik Weisser weisser at imsb.biol.ethz.ch
Tue Apr 7 02:41:25 CEST 2009


Hi!

I've noticed some conflicts between ESS and the (very useful) functions for 
auto-inserting of right brackets; unfortunately, I don't know enough Elisp 
to fix this.

I have the following lines in my .emacs, that add a corresponding right 
bracket whenever I type a left one:
(setq skeleton-pair t)
(global-set-key (kbd "[") 'skeleton-pair-insert-maybe)
(global-set-key (kbd "(") 'skeleton-pair-insert-maybe)
(global-set-key (kbd "{") 'skeleton-pair-insert-maybe)

1st issue: In ESS mode, auto-insertion of the right curly brace does not 
work (the other brackets do). This is due to the re-binding of "{" to 
"ess-electric-brace" in ess-mode.el.

2nd issue: Automatic display of R function arguments does not work, even 
though "(" is bound to "ess-r-args-auto-show" ("ess-r-args-electric-paren" 
is true and R is running in an inferior process). When typing "(", I just 
get the auto-insertion of ")". There is the line 
"(skeleton-pair-insert-maybe nil)" in the "ess-r-args-auto-show" definition 
in essd-r-args.el which seems to account for that, but I don't really 
understand how the function works.

In both cases it would be great to get the functionality of ESS _and_ the 
auto-insertion. Would it be possible, for example, to save the function a 
bracket key is bound to before remapping it, and executing that function 
after the ESS function?


Cheers

Hendrik



More information about the ESS-bugs mailing list