summaryrefslogtreecommitdiff
path: root/lisp/array.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/array.el')
-rw-r--r--lisp/array.el11
1 files changed, 2 insertions, 9 deletions
diff --git a/lisp/array.el b/lisp/array.el
index e60cbdfffc1..8c4f609e626 100644
--- a/lisp/array.el
+++ b/lisp/array.el
@@ -800,7 +800,7 @@ Return COLUMN."
(put 'array-mode 'mode-class 'special)
;;;###autoload
-(defun array-mode ()
+(define-derived-mode array-mode fundamental-mode "Array"
"Major mode for editing arrays.
Array mode is a specialized mode for editing arrays. An array is
@@ -863,9 +863,6 @@ take a numeric prefix argument):
\\[array-display-local-variables] Display the current values of local variables.
Entering array mode calls the function `array-mode-hook'."
-
- (interactive)
- (kill-all-local-variables)
(make-local-variable 'array-buffer-line)
(make-local-variable 'array-buffer-column)
(make-local-variable 'array-row)
@@ -888,13 +885,9 @@ Entering array mode calls the function `array-mode-hook'."
(+ (floor (1- array-max-column) array-columns-per-line)
(if array-rows-numbered 2 1)))
(message "")
- (setq major-mode 'array-mode)
- (setq mode-name "Array")
(force-mode-line-update)
(set (make-local-variable 'truncate-lines) t)
- (setq overwrite-mode 'overwrite-mode-textual)
- (use-local-map array-mode-map)
- (run-mode-hooks 'array-mode-hook))
+ (setq overwrite-mode 'overwrite-mode-textual))