summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBasil L. Contovounesios <contovob@tcd.ie>2019-02-26 11:57:53 +0000
committerEli Zaretskii <eliz@gnu.org>2019-03-02 09:19:00 +0200
commita89fabe96396b2197cffc5a9e694004e1c691fa9 (patch)
tree6eaab26b63e26a2f1d71d86d3bda0e5ff5b4af70
parent5ec7ca14d9e8a2eb5bf817dfd47300f73f37ec91 (diff)
downloademacs-a89fabe96396b2197cffc5a9e694004e1c691fa9.tar.gz
Update example major mode code in Elisp manual
* doc/lispref/modes.texi (Example Major Modes): Update code examples to reflect current state of lisp/textmodes/text-mode.el and lisp/emacs-lisp/lisp-mode.el. (bug#34671)
-rw-r--r--doc/lispref/modes.texi29
1 files changed, 13 insertions, 16 deletions
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index 13430243298..919816f3dee 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -1217,6 +1217,7 @@ the conventions listed above:
(modify-syntax-entry ?\\ ". " st)
;; Add 'p' so M-c on 'hello' leads to 'Hello', not 'hello'.
(modify-syntax-entry ?' "w p" st)
+ @dots{}
st)
"Syntax table used while in `text-mode'.")
@end group
@@ -1226,6 +1227,7 @@ the conventions listed above:
(defvar text-mode-map
(let ((map (make-sparse-keymap)))
(define-key map "\e\t" 'ispell-complete-word)
+ @dots{}
map)
"Keymap for `text-mode'.
Many other modes, such as `mail-mode', `outline-mode' and
@@ -1269,11 +1271,11 @@ illustrate how these modes are written.
@smallexample
@group
;; @r{Create mode-specific table variables.}
-(defvar lisp-mode-abbrev-table nil)
-(define-abbrev-table 'lisp-mode-abbrev-table ())
+(define-abbrev-table 'lisp-mode-abbrev-table ()
+ "Abbrev table for Lisp mode.")
(defvar lisp-mode-syntax-table
- (let ((table (copy-syntax-table emacs-lisp-mode-syntax-table)))
+ (let ((table (make-syntax-table lisp--mode-syntax-table)))
(modify-syntax-entry ?\[ "_ " table)
(modify-syntax-entry ?\] "_ " table)
(modify-syntax-entry ?# "' 14" table)
@@ -1288,10 +1290,9 @@ each calls the following function to set various variables:
@smallexample
@group
-(defun lisp-mode-variables (&optional syntax keywords-case-insensitive)
+(defun lisp-mode-variables (&optional syntax keywords-case-insensitive elisp)
(when syntax
(set-syntax-table lisp-mode-syntax-table))
- (setq local-abbrev-table lisp-mode-abbrev-table)
@dots{}
@end group
@end smallexample
@@ -1302,8 +1303,7 @@ variable to handle Lisp comments:
@smallexample
@group
- (make-local-variable 'comment-start)
- (setq comment-start ";")
+ (setq-local comment-start ";")
@dots{}
@end group
@end smallexample
@@ -1317,6 +1317,7 @@ common. The following code sets up the common commands:
@group
(defvar lisp-mode-shared-map
(let ((map (make-sparse-keymap)))
+ (set-keymap-parent map prog-mode-map)
(define-key map "\e\C-q" 'indent-sexp)
(define-key map "\177" 'backward-delete-char-untabify)
map)
@@ -1331,7 +1332,7 @@ And here is the code to set up the keymap for Lisp mode:
@group
(defvar lisp-mode-map
(let ((map (make-sparse-keymap))
- (menu-map (make-sparse-keymap "Lisp")))
+ (menu-map (make-sparse-keymap "Lisp")))
(set-keymap-parent map lisp-mode-shared-map)
(define-key map "\e\C-x" 'lisp-eval-defun)
(define-key map "\C-c\C-z" 'run-lisp)
@@ -1355,17 +1356,13 @@ Blank lines separate paragraphs. Semicolons start comments.
\\@{lisp-mode-map@}
Note that `run-lisp' may be used either to start an inferior Lisp job
-or to switch back to an existing one.
+or to switch back to an existing one."
@end group
-
@group
-Entry to this mode calls the value of `lisp-mode-hook'
-if that value is non-nil."
(lisp-mode-variables nil t)
- (set (make-local-variable 'find-tag-default-function)
- 'lisp-find-tag-default)
- (set (make-local-variable 'comment-start-skip)
- "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *")
+ (setq-local find-tag-default-function 'lisp-find-tag-default)
+ (setq-local comment-start-skip
+ "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *")
(setq imenu-case-fold-search t))
@end group
@end smallexample