+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
;; 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.")
(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) "")
(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)
)
"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.
'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))