summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2010-10-27 10:26:01 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2010-10-27 10:26:01 -0400
commit2122161f8dfddcbe0e46b63803ae73f3033d0e55 (patch)
tree653d1d83ffbf86c0884604e6885bc9a8aae8ac2c /lisp
parent0b9808b0cf492ee3c1b7f3dfe8bc962c13c3aad7 (diff)
downloademacs-2122161f8dfddcbe0e46b63803ae73f3033d0e55.tar.gz
emacs-2122161f8dfddcbe0e46b63803ae73f3033d0e55.tar.bz2
emacs-2122161f8dfddcbe0e46b63803ae73f3033d0e55.zip
* lisp/electric.el (electric-indent-chars): Autoload.
* lisp/progmodes/octave-mod.el (octave-mode): * lisp/progmodes/ruby-mode.el (ruby-mode): Take advantage of it. (ruby-mode-abbrev-table): Merge initialization and declaration.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog7
-rw-r--r--lisp/electric.el4
-rw-r--r--lisp/progmodes/octave-mod.el5
-rw-r--r--lisp/progmodes/ruby-mode.el9
4 files changed, 15 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 1dccc73bda1..9071e3983be 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
+2010-10-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * electric.el (electric-indent-chars): Autoload.
+ * progmodes/octave-mod.el (octave-mode):
+ * progmodes/ruby-mode.el (ruby-mode): Take advantage of it.
+ (ruby-mode-abbrev-table): Merge initialization and declaration.
+
2010-10-27 Glenn Morris <rgm@gnu.org>
* abbrev.el (abbrev-mode): Remove one of the three definitions of this
diff --git a/lisp/electric.el b/lisp/electric.el
index 8e9d23be231..a0d849bbcca 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -178,6 +178,10 @@
;; Electric indentation.
+;; Autoloading variables is generally undesirable, but major modes
+;; should usually set this variable by adding elements to the default
+;; value, which only works well if the variable is preloaded.
+;;;###autoload
(defvar electric-indent-chars '(?\n)
"Characters that should cause automatic reindentation.")
diff --git a/lisp/progmodes/octave-mod.el b/lisp/progmodes/octave-mod.el
index 56de9b869db..40931c3d54d 100644
--- a/lisp/progmodes/octave-mod.el
+++ b/lisp/progmodes/octave-mod.el
@@ -646,9 +646,8 @@ including a reproducible test case and send the message."
(aref (cdr kw) (1- (length (cdr kw)))))
smie-closer-alist))))))
- ;; FIXME: maybe we should use (cons ?\; electric-indent-chars)
- ;; since only ; is really octave-specific.
- (set (make-local-variable 'electric-indent-chars) '(?\; ?\s ?\n))
+ (set (make-local-variable 'electric-indent-chars)
+ (cons ?\; electric-indent-chars))
(set (make-local-variable 'comment-start) octave-comment-start)
(set (make-local-variable 'comment-end) "")
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index 4d015de5198..af68699f2a4 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -135,11 +135,9 @@ This should only be called after matching against `ruby-here-doc-beg-re'."
(defconst ruby-symbol-re (concat "[" ruby-symbol-chars "]")
"Regexp to match symbols.")
-(defvar ruby-mode-abbrev-table nil
+(define-abbrev-table 'ruby-mode-abbrev-table ()
"Abbrev table in use in Ruby mode buffers.")
-(define-abbrev-table 'ruby-mode-abbrev-table ())
-
(defvar ruby-mode-map
(let ((map (make-sparse-keymap)))
(define-key map "{" 'ruby-electric-brace)
@@ -1430,8 +1428,6 @@ See `font-lock-syntax-table'.")
)
"Additional expressions to highlight in Ruby mode.")
-(defvar electric-indent-chars)
-
;;;###autoload
(define-derived-mode ruby-mode prog-mode "Ruby"
"Major mode for editing Ruby scripts.
@@ -1456,8 +1452,7 @@ The variable `ruby-indent-level' controls the amount of indentation.
'ruby-mode-set-encoding nil 'local)
(set (make-local-variable 'electric-indent-chars)
- (append '(?\{ ?\}) (if (boundp 'electric-indent-chars)
- (default-value 'electric-indent-chars))))
+ (append '(?\{ ?\}) electric-indent-chars))
(set (make-local-variable 'font-lock-defaults)
'((ruby-font-lock-keywords) nil nil))