diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2010-10-27 10:26:01 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2010-10-27 10:26:01 -0400 |
commit | 2122161f8dfddcbe0e46b63803ae73f3033d0e55 (patch) | |
tree | 653d1d83ffbf86c0884604e6885bc9a8aae8ac2c /lisp | |
parent | 0b9808b0cf492ee3c1b7f3dfe8bc962c13c3aad7 (diff) | |
download | emacs-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/ChangeLog | 7 | ||||
-rw-r--r-- | lisp/electric.el | 4 | ||||
-rw-r--r-- | lisp/progmodes/octave-mod.el | 5 | ||||
-rw-r--r-- | lisp/progmodes/ruby-mode.el | 9 |
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)) |