Subject: ruby-mode binds TAB
From: Lennart Borgman <[email-masked]>
To: Emacs Bugs <[email-masked]>
Date: Fri, 4 Dec 2009 04:36:13 +0100

It binds TAB to ruby-indent-line. That is against the rules. ;-)

It should instead leave this unbound and do

  (set (make-local-variable 'indent-line-function)
       'ruby-indent-line)

Index: ruby-mode.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/progmodes/ruby-mode.el,v
retrieving revision 1.11
diff -c -r1.11 ruby-mode.el
*** ruby-mode.el	26 Oct 2009 06:43:41 -0000	1.11
--- ruby-mode.el	4 Dec 2009 03:35:16 -0000
***************
*** 166,172 ****
      (define-key map (kbd "M-C-n") 'ruby-end-of-block)
      (define-key map (kbd "M-C-h") 'ruby-mark-defun)
      (define-key map (kbd "M-C-q") 'ruby-indent-exp)
-     (define-key map (kbd "TAB")   'ruby-indent-line)
      (define-key map (kbd "C-M-h") 'backward-kill-word)
      (define-key map (kbd "C-j")   'reindent-then-newline-and-indent)
      (define-key map (kbd "C-m")   'newline)
--- 166,171 ----
***************
*** 1390,1395 ****
--- 1389,1396 ----
    (setq major-mode 'ruby-mode)
    (ruby-mode-variables)

+   (set (make-local-variable 'indent-line-function)
+        'ruby-indent-line)
    (set (make-local-variable 'imenu-create-index-function)
         'ruby-imenu-create-index)
    (set (make-local-variable 'add-log-current-defun-function)