]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/electric.el (electric-indent-chars): Autoload.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 27 Oct 2010 14:26:01 +0000 (10:26 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 27 Oct 2010 14:26:01 +0000 (10:26 -0400)
* 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.

lisp/ChangeLog
lisp/electric.el
lisp/progmodes/octave-mod.el
lisp/progmodes/ruby-mode.el

index 1dccc73bda18ab57e6b0d75e4c3159404b285b13..9071e3983be7a134fa65745329db9e136e5facb8 100644 (file)
@@ -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
index 8e9d23be231500ce99abea7b4b96ca78c48989e5..a0d849bbcca5823f5b2fa1680258841a4ae42e62 100644 (file)
 
 ;; 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.")
 
index 56de9b869db5238b144f31a194591d3a1bd44ecf..40931c3d54d3f2c7faf633c62e627ad82bcc16fa 100644 (file)
@@ -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) "")
index 4d015de51982901099005aebfb7c6a4a459fb88c..af68699f2a4f1f8dfb50074f2bec76a2e077844f 100644 (file)
@@ -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))