summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--misc/ruby-electric.el21
2 files changed, 19 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 3ac6ab493f..a86de3f7b1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jan 26 18:06:03 2015 Akinori MUSHA <knu@iDaemons.org>
+
+ * misc/ruby-electric.el: Import version 2.2.2 from
+ https://github.com/knu/ruby-electric.el.
+
Mon Jan 26 11:37:49 2015 Dave Stevens <dave@crowdlab.com>
* string.c (str_make_independent_expand): terminate String when
diff --git a/misc/ruby-electric.el b/misc/ruby-electric.el
index e6fb90d626..2d84954a77 100644
--- a/misc/ruby-electric.el
+++ b/misc/ruby-electric.el
@@ -10,7 +10,7 @@
;; URL: https://github.com/knu/ruby-electric.el
;; Keywords: languages ruby
;; License: The same license terms as Ruby
-;; Version: 2.2.1
+;; Version: 2.2.2
;;; Commentary:
;;
@@ -161,11 +161,6 @@ cons, ACTION can be set to one of the following values:
"$"))))
:group 'ruby-electric)
-(defcustom ruby-electric-simple-keywords-re nil
- "Obsolete and ignored. Customize `ruby-electric-keywords-alist'
-instead."
- :type 'regexp :group 'ruby-electric)
-
(defvar ruby-electric-mode-map
(let ((map (make-sparse-keymap)))
(define-key map " " 'ruby-electric-space/return)
@@ -274,7 +269,7 @@ enabled."
(ruby-indent-line)
(save-excursion
(newline)
- (ruby-insert-end)))
+ (ruby-electric-end)))
((eq action 'reindent)
(ruby-indent-line)))
(ruby-electric-space/return-fallback)))
@@ -542,6 +537,18 @@ enabled."
(delete-char 1))))
(delete-char (- arg)))
+(put 'ruby-electric-delete-backward-char 'delete-selection 'supersede)
+
+(defun ruby-electric-end ()
+ (interactive)
+ (if (eq (char-syntax (preceding-char)) ?w)
+ (insert " "))
+ (insert "end")
+ (save-excursion
+ (if (eq (char-syntax (following-char)) ?w)
+ (insert " "))
+ (ruby-indent-line t)))
+
(provide 'ruby-electric)
;;; ruby-electric.el ends here