1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-24 10:38:38 +00:00

* lisp/progmodes/ruby-mode.el (ruby--electric-indent-p): Improve the

comments.  Handle electric indent after typing `?' and `!'.
This commit is contained in:
Dmitry Gutov 2013-12-22 22:38:26 +02:00
parent 569c1c6ea1
commit 1f87a56cc7
2 changed files with 9 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2013-12-22 Dmitry Gutov <dgutov@yandex.ru>
* progmodes/ruby-mode.el (ruby--electric-indent-p): Improve the
comments. Handle electric indent after typing `?' and `!'.
2013-12-22 Chong Yidong <cyd@gnu.org>
* faces.el (face-spec-recalc): If the theme specs are not

View File

@ -779,15 +779,15 @@ The style of the comment is controlled by `ruby-encoding-magic-comment-style'."
(defun ruby--electric-indent-p (char)
(cond
((memq char ruby--electric-indent-chars)
;; Outdent after typing a closing paren.
;; Reindent after typing a char affecting indentation.
(ruby--at-indentation-p (1- (point))))
((memq (char-after) ruby--electric-indent-chars)
;; Reindent after inserting something before a closing paren.
;; Reindent after inserting something in front of the above.
(ruby--at-indentation-p (1- (point))))
((or (memq (char-syntax char) '(?w ?_)))
((or (and (>= char ?a) (<= char ?z)) (memq char '(?_ ?? ?! ?:)))
(let ((pt (point)))
(save-excursion
(skip-syntax-backward "w_")
(skip-chars-backward "[:alpha:]:_?!")
(and (ruby--at-indentation-p)
(looking-at (regexp-opt (cons "end" ruby-block-mid-keywords)))
;; Outdent after typing a keyword.