annotate lisp/novice.el @ 40819:668787248f9b

* dired.el (dired-move-to-filename-regexp): Do not distinguish between ASCII letters and non-ASCII characters. Don't allow comma except in the form "month day, year". Don't allow space between month name and comma. Clean up the code that checks for trailing period, comma, and space. Remove now-obsolete comments, and add more commentary about Japanese dates. Always gobble up trailing spaces, instead of doing it only sometimes.
author Paul Eggert <eggert@twinsun.com>
date Wed, 07 Nov 2001 21:59:39 +0000
parents 253f761ad37b
children 0a91a443d091
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38412
253f761ad37b Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents: 37899
diff changeset
1 ;;; novice.el --- handling of disabled commands ("novice mode") for Emacs
659
505130d1ddf8 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 282
diff changeset
2
7300
cc7cd83ccf3f Update copyright.
Karl Heuer <kwzh@gnu.org>
parents: 7173
diff changeset
3 ;; Copyright (C) 1985, 1986, 1987, 1994 Free Software Foundation, Inc.
845
213978acbc1e entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 814
diff changeset
4
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
5 ;; Maintainer: FSF
814
38b2499cb3e9 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 807
diff changeset
6 ;; Keywords: internal, help
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
7
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
8 ;; This file is part of GNU Emacs.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
9
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
10 ;; GNU Emacs is free software; you can redistribute it and/or modify
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
11 ;; it under the terms of the GNU General Public License as published by
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
13 ;; any later version.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
14
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
15 ;; GNU Emacs is distributed in the hope that it will be useful,
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
18 ;; GNU General Public License for more details.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
19
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
20 ;; You should have received a copy of the GNU General Public License
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 10695
diff changeset
21 ;; along with GNU Emacs; see the file COPYING. If not, write to the
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 10695
diff changeset
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 10695
diff changeset
23 ;; Boston, MA 02111-1307, USA.
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
24
2308
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2232
diff changeset
25 ;;; Commentary:
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2232
diff changeset
26
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2232
diff changeset
27 ;; This mode provides a hook which is, by default, attached to various
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2232
diff changeset
28 ;; putatively dangerous commands in a (probably futile) attempt to
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2232
diff changeset
29 ;; prevent lusers from shooting themselves in the feet.
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2232
diff changeset
30
2232
4f9d60f7de9d Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 845
diff changeset
31 ;;; Code:
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
32
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
33 ;; This function is called (by autoloading)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
34 ;; to handle any disabled command.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
35 ;; The command is found in this-command
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
36 ;; and the keys are returned by (this-command-keys).
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
37
256
7e4c7ef44243 *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 36
diff changeset
38 ;;;###autoload
16649
8a01398a26e6 (disabled-command-hook): Use `defvar' and add documentation string.
Erik Naggum <erik@naggum.no>
parents: 14169
diff changeset
39 (defvar disabled-command-hook 'disabled-command-hook
8a01398a26e6 (disabled-command-hook): Use `defvar' and add documentation string.
Erik Naggum <erik@naggum.no>
parents: 14169
diff changeset
40 "Function to call to handle disabled commands.
8a01398a26e6 (disabled-command-hook): Use `defvar' and add documentation string.
Erik Naggum <erik@naggum.no>
parents: 14169
diff changeset
41 If nil, the feature is disabled, i.e., all commands work normally.")
268
2dd411fe2f72 *** empty log message ***
Brian Preble <rassilon@gnu.org>
parents: 256
diff changeset
42
282
341f07a24b10 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 268
diff changeset
43 ;;;###autoload
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
44 (defun disabled-command-hook (&rest ignore)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
45 (let (char)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
46 (save-window-excursion
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
47 (with-output-to-temp-buffer "*Help*"
10695
1a97dea087d1 (disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents: 10216
diff changeset
48 (let ((keys (this-command-keys)))
1a97dea087d1 (disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents: 10216
diff changeset
49 (if (or (eq (aref keys 0)
1a97dea087d1 (disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents: 10216
diff changeset
50 (if (stringp keys)
1a97dea087d1 (disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents: 10216
diff changeset
51 (aref "\M-x" 0)
1a97dea087d1 (disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents: 10216
diff changeset
52 ?\M-x))
1a97dea087d1 (disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents: 10216
diff changeset
53 (and (>= (length keys) 2)
1a97dea087d1 (disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents: 10216
diff changeset
54 (eq (aref keys 0) meta-prefix-char)
1a97dea087d1 (disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents: 10216
diff changeset
55 (eq (aref keys 1) ?x)))
1a97dea087d1 (disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents: 10216
diff changeset
56 (princ "You have invoked the disabled command ")
1a97dea087d1 (disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents: 10216
diff changeset
57 (princ "You have typed ")
1a97dea087d1 (disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents: 10216
diff changeset
58 (princ (key-description keys))
1a97dea087d1 (disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents: 10216
diff changeset
59 (princ ", invoking disabled command ")))
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
60 (princ this-command)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
61 (princ ":\n")
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
62 ;; Print any special message saying why the command is disabled.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
63 (if (stringp (get this-command 'disabled))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
64 (princ (get this-command 'disabled)))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
65 ;; Keep only the first paragraph of the documentation.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
66 (save-excursion
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
67 (set-buffer "*Help*")
16675
6f45dc8d9d56 (disabled-command-hook): Correctly keep the first
Richard M. Stallman <rms@gnu.org>
parents: 16649
diff changeset
68 (goto-char (point-max))
6f45dc8d9d56 (disabled-command-hook): Correctly keep the first
Richard M. Stallman <rms@gnu.org>
parents: 16649
diff changeset
69 (save-excursion
6f45dc8d9d56 (disabled-command-hook): Correctly keep the first
Richard M. Stallman <rms@gnu.org>
parents: 16649
diff changeset
70 (princ (or (condition-case ()
6f45dc8d9d56 (disabled-command-hook): Correctly keep the first
Richard M. Stallman <rms@gnu.org>
parents: 16649
diff changeset
71 (documentation this-command)
6f45dc8d9d56 (disabled-command-hook): Correctly keep the first
Richard M. Stallman <rms@gnu.org>
parents: 16649
diff changeset
72 (error nil))
6f45dc8d9d56 (disabled-command-hook): Correctly keep the first
Richard M. Stallman <rms@gnu.org>
parents: 16649
diff changeset
73 "<< not documented >>")))
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
74 (if (search-forward "\n\n" nil t)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
75 (delete-region (1- (point)) (point-max))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
76 (goto-char (point-max))))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
77 (princ "\n\n")
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
78 (princ "You can now type
16649
8a01398a26e6 (disabled-command-hook): Use `defvar' and add documentation string.
Erik Naggum <erik@naggum.no>
parents: 14169
diff changeset
79 Space to try the command just this once, but leave it disabled,
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
80 Y to try it and enable it (no questions if you use it again),
16649
8a01398a26e6 (disabled-command-hook): Use `defvar' and add documentation string.
Erik Naggum <erik@naggum.no>
parents: 14169
diff changeset
81 ! to try it and enable all commands in this session, or
9849
430b8cf09515 (disabled-command-hook): Set help-mode in *Help* buffer.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
82 N to do nothing (command remains disabled).")
430b8cf09515 (disabled-command-hook): Set help-mode in *Help* buffer.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
83 (save-excursion
430b8cf09515 (disabled-command-hook): Set help-mode in *Help* buffer.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
84 (set-buffer standard-output)
430b8cf09515 (disabled-command-hook): Set help-mode in *Help* buffer.
Karl Heuer <kwzh@gnu.org>
parents: 7300
diff changeset
85 (help-mode)))
16649
8a01398a26e6 (disabled-command-hook): Use `defvar' and add documentation string.
Erik Naggum <erik@naggum.no>
parents: 14169
diff changeset
86 (message "Type y, n, ! or Space: ")
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
87 (let ((cursor-in-echo-area t))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
88 (while (not (memq (setq char (downcase (read-char)))
16649
8a01398a26e6 (disabled-command-hook): Use `defvar' and add documentation string.
Erik Naggum <erik@naggum.no>
parents: 14169
diff changeset
89 '(?! ? ?y ?n)))
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
90 (ding)
16649
8a01398a26e6 (disabled-command-hook): Use `defvar' and add documentation string.
Erik Naggum <erik@naggum.no>
parents: 14169
diff changeset
91 (message "Please type y, n, ! or Space: "))))
8a01398a26e6 (disabled-command-hook): Use `defvar' and add documentation string.
Erik Naggum <erik@naggum.no>
parents: 14169
diff changeset
92 (if (= char ?!)
8a01398a26e6 (disabled-command-hook): Use `defvar' and add documentation string.
Erik Naggum <erik@naggum.no>
parents: 14169
diff changeset
93 (setq disabled-command-hook nil))
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
94 (if (= char ?y)
7173
b6a358a4bdfb (disabled-command-hook): Try to enable command in user
Richard M. Stallman <rms@gnu.org>
parents: 5927
diff changeset
95 (if (and user-init-file
b6a358a4bdfb (disabled-command-hook): Try to enable command in user
Richard M. Stallman <rms@gnu.org>
parents: 5927
diff changeset
96 (not (string= "" user-init-file))
b6a358a4bdfb (disabled-command-hook): Try to enable command in user
Richard M. Stallman <rms@gnu.org>
parents: 5927
diff changeset
97 (y-or-n-p "Enable command for future editing sessions also? "))
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
98 (enable-command this-command)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
99 (put this-command 'disabled nil)))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
100 (if (/= char ?n)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
101 (call-interactively this-command))))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
102
256
7e4c7ef44243 *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 36
diff changeset
103 ;;;###autoload
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
104 (defun enable-command (command)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
105 "Allow COMMAND to be executed without special confirmation from now on.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
106 The user's .emacs file is altered so that this will apply
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
107 to future sessions."
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
108 (interactive "CEnable command: ")
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
109 (put command 'disabled nil)
37899
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
110 (let ((init-file user-init-file))
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
111 (when (or (not (stringp init-file))
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
112 (not (file-exists-p init-file)))
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
113 (setq init-file (if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs"))
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
114 (if (and (not (file-exists-p init-file))
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
115 (eq system-type 'windows-nt)
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
116 (file-exists-p "~/_emacs"))
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
117 (setq init-file "~/_emacs")))
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
118 (save-excursion
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
119 (set-buffer (find-file-noselect
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
120 (substitute-in-file-name init-file)))
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
121 (goto-char (point-min))
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
122 (if (search-forward (concat "(put '" (symbol-name command) " ") nil t)
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
123 (delete-region
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
124 (progn (beginning-of-line) (point))
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
125 (progn (forward-line 1) (point))))
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
126 ;; Explicitly enable, in case this command is disabled by default
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
127 ;; or in case the code we deleted was actually a comment.
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
128 (goto-char (point-max))
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
129 (insert "\n(put '" (symbol-name command) " 'disabled nil)\n")
3c9f67eea2f9 (enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents: 18383
diff changeset
130 (save-buffer))))
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
131
256
7e4c7ef44243 *** empty log message ***
Roland McGrath <roland@gnu.org>
parents: 36
diff changeset
132 ;;;###autoload
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
133 (defun disable-command (command)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
134 "Require special confirmation to execute COMMAND from now on.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
135 The user's .emacs file is altered so that this will apply
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
136 to future sessions."
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
137 (interactive "CDisable command: ")
5742
84cdd74ddbb0 (disable-command): Reject invalid commands.
Richard M. Stallman <rms@gnu.org>
parents: 5451
diff changeset
138 (if (not (commandp command))
84cdd74ddbb0 (disable-command): Reject invalid commands.
Richard M. Stallman <rms@gnu.org>
parents: 5451
diff changeset
139 (error "Invalid command name `%s'" command))
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
140 (put command 'disabled t)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
141 (save-excursion
7173
b6a358a4bdfb (disabled-command-hook): Try to enable command in user
Richard M. Stallman <rms@gnu.org>
parents: 5927
diff changeset
142 (set-buffer (find-file-noselect
5451
165b0bf0e879 (enable-command, disable-command): Use user-init-file.
Richard M. Stallman <rms@gnu.org>
parents: 2441
diff changeset
143 (substitute-in-file-name user-init-file)))
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
144 (goto-char (point-min))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
145 (if (search-forward (concat "(put '" (symbol-name command) " ") nil t)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
146 (delete-region
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
147 (progn (beginning-of-line) (point))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
148 (progn (forward-line 1) (point))))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
149 (goto-char (point-max))
10216
c1ad03de412e (enable-command): Always insert code to enable.
Richard M. Stallman <rms@gnu.org>
parents: 9849
diff changeset
150 (insert "\n(put '" (symbol-name command) " 'disabled t)\n")
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
151 (save-buffer)))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
152
18383
11218164bc54 Add provide call.
Richard M. Stallman <rms@gnu.org>
parents: 16675
diff changeset
153 (provide 'novice)
11218164bc54 Add provide call.
Richard M. Stallman <rms@gnu.org>
parents: 16675
diff changeset
154
659
505130d1ddf8 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 282
diff changeset
155 ;;; novice.el ends here