ruby-electric.el をロードすると、 begin の後にスペースを入力したときに end を挿入してくれて非常に便利です。しかし、 smartchr.el を使用している私には () や {}、|| などのキー (delimiter) を ruby-electric に取られるのは非常に迷惑でした。
ruby-electric を割り当てるキーを制御するには、 ruby-electric をロードするまえに ruby-electric-mode-map
を改変します。例えば ruby-electric のコマンドを割り当てるキーから括弧を排除したい場合、以下のようなコードを .emacs に記述してください。
(setq ruby-electric-mode-map
(let ((map (make-sparse-keymap)))
(define-key map " " 'ruby-electric-space/return)
(define-key map [remap delete-backward-char] 'ruby-electric-delete-backward-char)
(define-key map [remap newline] 'ruby-electric-space/return)
(define-key map [remap newline-and-indent] 'ruby-electric-space/return)
map))
(require 'ruby-electric)
改変前のコードは ruby-electric.el に記述されているので、他のキーを割り当てから取り除くのであれば元コードを参考にしてください。
先に ruby-electric をロードすると上手くいかないのでそこは注意です。