Mercurial > emacs
annotate lisp/novice.el @ 110410:f2e111723c3a
Merge changes made in Gnus trunk.
Reimplement nnimap, and do tweaks to the rest of the code to support that.
* gnus-int.el (gnus-finish-retrieve-group-infos)
(gnus-retrieve-group-data-early): New functions.
* gnus-range.el (gnus-range-nconcat): New function.
* gnus-start.el (gnus-get-unread-articles): Support early retrieval of
data.
(gnus-read-active-for-groups): Support finishing the early retrieval of
data.
* gnus-sum.el (gnus-summary-move-article): Pass the move-to group name
if the move is internal, so that nnimap can do fast internal moves.
* gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for
nnimap usage.
* nnimap.el: Rewritten.
* nnmail.el (nnmail-inhibit-default-split-group): New internal variable
to allow the mail splitting to not return a default group. This is
useful for nnimap, which will leave unmatched mail in the inbox.
* utf7.el (utf7-encode): Autoload.
Implement shell connection.
* nnimap.el (nnimap-open-shell-stream): New function.
(nnimap-open-connection): Use it.
Get the number of lines by using BODYSTRUCTURE.
(nnimap-transform-headers): Get the number of lines in each message.
(nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the
number of lines.
Not all servers return UIDNEXT. Work past this problem.
Remove junk from end of file.
Fix typo in "bogus" section.
Make capabilties be case-insensitive.
Require cl when compiling.
Don't bug out if the LIST command doesn't have any parameters.
2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change)
* nnimap.el (nnimap-get-groups): Don't bug out if the LIST command
doesn't have any parameters.
(mm-text-html-renderer): Document gnus-article-html.
2010-09-17 Julien Danjou <julien@danjou.info> (tiny fix)
* mm-decode.el (mm-text-html-renderer): Document gnus-article-html.
* dgnushack.el: Define netrc-credentials.
If the user doesn't have a /etc/services, supply some sensible port defaults.
Have `unseen-or-unread' select an unread unseen article first.
(nntp-open-server): Return whether the open was successful or not.
Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current-buffer ... ).
Save result so that it doesn't say "failed" all the time.
Add ~/.authinfo to the default, since that's probably most useful for users.
Don't use the "finish" method when we're reading from the agent.
Add some more nnimap-relevant agent stuff to nnagent.el.
* nnimap.el (nnimap-with-process-buffer): Removed.
Revert one line that was changed by mistake in the last checkin.
(nnimap-open-connection): Don't error out when we can't make a connection
nnimap-related changes to avoid bugging out if we can't contact a server.
* gnus-start.el (gnus-get-unread-articles): Don't try to scan groups
from methods that are denied.
* nnimap.el (nnimap-possibly-change-group): Return nil if we can't log
in.
(nnimap-finish-retrieve-group-infos): Make sure we're not waiting for
nothing.
* gnus-sum.el (gnus-select-newsgroup): Indent.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Sat, 18 Sep 2010 10:02:19 +0000 |
parents | 1d1d5d9bd884 |
children | 26c02ba5ddb4 |
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 |
74442 | 3 ;; Copyright (C) 1985, 1986, 1987, 1994, 2001, 2002, 2003, 2004, |
106815 | 4 ;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
845 | 5 |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
659
diff
changeset
|
6 ;; Maintainer: FSF |
814
38b2499cb3e9
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
807
diff
changeset
|
7 ;; Keywords: internal, help |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
659
diff
changeset
|
8 |
36 | 9 ;; This file is part of GNU Emacs. |
10 | |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
11 ;; GNU Emacs is free software: you can redistribute it and/or modify |
36 | 12 ;; it under the terms of the GNU General Public License as published by |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
13 ;; the Free Software Foundation, either version 3 of the License, or |
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
14 ;; (at your option) any later version. |
36 | 15 |
16 ;; GNU Emacs is distributed in the hope that it will be useful, | |
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 ;; GNU General Public License for more details. | |
20 | |
21 ;; You should have received a copy of the GNU General Public License | |
94678
ee5932bf781d
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
87649
diff
changeset
|
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
36 | 23 |
2308
f287613dfc28
Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2232
diff
changeset
|
24 ;;; Commentary: |
f287613dfc28
Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2232
diff
changeset
|
25 |
f287613dfc28
Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
2232
diff
changeset
|
26 ;; 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
|
27 ;; 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
|
28 ;; 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
|
29 |
2232
4f9d60f7de9d
Add standard library headers.
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
845
diff
changeset
|
30 ;;; Code: |
36 | 31 |
32 ;; This function is called (by autoloading) | |
33 ;; to handle any disabled command. | |
34 ;; The command is found in this-command | |
35 ;; and the keys are returned by (this-command-keys). | |
36 | |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
37 (eval-when-compile (require 'cl)) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
38 |
256 | 39 ;;;###autoload |
56623
c8c558c4f4a7
(disabled-command-function): New variable renamed from
Luc Teirlinck <teirllm@auburn.edu>
parents:
56569
diff
changeset
|
40 (defvar disabled-command-function 'disabled-command-function |
16649
8a01398a26e6
(disabled-command-hook): Use `defvar' and add documentation string.
Erik Naggum <erik@naggum.no>
parents:
14169
diff
changeset
|
41 "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
|
42 If nil, the feature is disabled, i.e., all commands work normally.") |
268 | 43 |
60100
3fbab2787d99
(disabled-command-hook): Autoload the defalias
Richard M. Stallman <rms@gnu.org>
parents:
59996
diff
changeset
|
44 ;;;###autoload |
64513
d96725e9e9a8
(disabled-command-hook): Declare it with `define-obsolete-variable-alias'.
Juanma Barranquero <lekktu@gmail.com>
parents:
64091
diff
changeset
|
45 (define-obsolete-variable-alias 'disabled-command-hook 'disabled-command-function "22.1") |
56623
c8c558c4f4a7
(disabled-command-function): New variable renamed from
Luc Teirlinck <teirllm@auburn.edu>
parents:
56569
diff
changeset
|
46 |
72718 | 47 ;; It is ok here to assume that this-command is a symbol |
48 ;; because we won't get called otherwise. | |
282 | 49 ;;;###autoload |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
50 (defun disabled-command-function (&optional cmd keys) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
51 (unless cmd (setq cmd this-command)) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
52 (unless keys (setq keys (this-command-keys))) |
36 | 53 (let (char) |
54 (save-window-excursion | |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
55 (help-setup-xref (list 'disabled-command-function cmd keys) nil) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
56 (with-output-to-temp-buffer "*Disabled Command*" ;; (help-buffer) |
10695
1a97dea087d1
(disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents:
10216
diff
changeset
|
57 (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
|
58 (if (stringp keys) |
1a97dea087d1
(disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents:
10216
diff
changeset
|
59 (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
|
60 ?\M-x)) |
1a97dea087d1
(disabled-command-hook): Recognize ESC x as well as M-x.
Karl Heuer <kwzh@gnu.org>
parents:
10216
diff
changeset
|
61 (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
|
62 (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
|
63 (eq (aref keys 1) ?x))) |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
64 (princ (format "You have invoked the disabled command %s.\n" cmd)) |
43077
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
65 (princ (format "You have typed %s, invoking disabled command %s.\n" |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
66 (key-description keys) cmd))) |
36 | 67 ;; Print any special message saying why the command is disabled. |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
68 (if (stringp (get cmd 'disabled)) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
69 (princ (get cmd 'disabled)) |
43077
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
70 (princ "It is disabled because new users often find it confusing.\n") |
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
71 (princ "Here's the first part of its description:\n\n") |
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
72 ;; Keep only the first paragraph of the documentation. |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
73 (with-current-buffer "*Disabled Command*" ;; standard-output |
43077
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
74 (goto-char (point-max)) |
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
75 (let ((start (point))) |
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
76 (save-excursion |
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
77 (princ (or (condition-case () |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
78 (documentation cmd) |
43077
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
79 (error nil)) |
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
80 "<< not documented >>"))) |
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
81 (if (search-forward "\n\n" nil t) |
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
82 (delete-region (match-beginning 0) (point-max))) |
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
83 (goto-char (point-max)) |
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
84 (indent-rigidly start (point) 3)))) |
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
85 (princ "\n\nDo you want to use this command anyway?\n\n") |
36 | 86 (princ "You can now type |
44052
28bd7ea81b05
(disabled-command-hook): Clarify output text to match prompt.
Pavel Janík <Pavel@Janik.cz>
parents:
43077
diff
changeset
|
87 y to try it and enable it (no questions if you use it again). |
28bd7ea81b05
(disabled-command-hook): Clarify output text to match prompt.
Pavel Janík <Pavel@Janik.cz>
parents:
43077
diff
changeset
|
88 n to cancel--don't try the command, and it remains disabled. |
43077
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
89 SPC to try the command just this once, but leave it disabled. |
1983a485a15f
(disabled-command-hook): Clarify output text.
Richard M. Stallman <rms@gnu.org>
parents:
43059
diff
changeset
|
90 ! to try it, and enable all disabled commands for this session only.") |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
91 ;; Redundant since with-output-to-temp-buffer will do it anyway. |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
92 ;; (with-current-buffer standard-output |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
93 ;; (help-mode)) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
94 ) |
81755
0e1206aba797
(disabled-command-function): Fit window to buffer to
Martin Rudalics <rudalics@gmx.at>
parents:
75347
diff
changeset
|
95 (fit-window-to-buffer (get-buffer-window "*Disabled Command*")) |
44052
28bd7ea81b05
(disabled-command-hook): Clarify output text to match prompt.
Pavel Janík <Pavel@Janik.cz>
parents:
43077
diff
changeset
|
96 (message "Type y, n, ! or SPC (the space bar): ") |
36 | 97 (let ((cursor-in-echo-area t)) |
60460
7da5648c2f7d
(disabled-command-function): Output in *Disabled Command*.
Richard M. Stallman <rms@gnu.org>
parents:
60100
diff
changeset
|
98 (while (progn (setq char (read-event)) |
7da5648c2f7d
(disabled-command-function): Output in *Disabled Command*.
Richard M. Stallman <rms@gnu.org>
parents:
60100
diff
changeset
|
99 (or (not (numberp char)) |
7da5648c2f7d
(disabled-command-function): Output in *Disabled Command*.
Richard M. Stallman <rms@gnu.org>
parents:
60100
diff
changeset
|
100 (not (memq (downcase char) |
74240
9f4b4800edc6
(disabled-command-function): "?\ " -> "?\s".
Juanma Barranquero <lekktu@gmail.com>
parents:
72718
diff
changeset
|
101 '(?! ?y ?n ?\s ?\C-g))))) |
36 | 102 (ding) |
44052
28bd7ea81b05
(disabled-command-hook): Clarify output text to match prompt.
Pavel Janík <Pavel@Janik.cz>
parents:
43077
diff
changeset
|
103 (message "Please type y, n, ! or SPC (the space bar): ")))) |
60460
7da5648c2f7d
(disabled-command-function): Output in *Disabled Command*.
Richard M. Stallman <rms@gnu.org>
parents:
60100
diff
changeset
|
104 (setq char (downcase char)) |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
105 (case char |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
106 (?\C-g (setq quit-flag t)) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
107 (?! (setq disabled-command-function nil)) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
108 (?y |
7173
b6a358a4bdfb
(disabled-command-hook): Try to enable command in user
Richard M. Stallman <rms@gnu.org>
parents:
5927
diff
changeset
|
109 (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
|
110 (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
|
111 (y-or-n-p "Enable command for future editing sessions also? ")) |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
112 (enable-command cmd) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
113 (put cmd 'disabled nil))) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
114 (?n nil) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
115 (t (call-interactively cmd))))) |
36 | 116 |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
117 (defun en/disable-command (command disable) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
118 (unless (commandp command) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
119 (error "Invalid command name `%s'" command)) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
120 (put command 'disabled disable) |
43059
0a91a443d091
(enable-command): If Emacs was invoked as "emacs -q",
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
121 (let ((init-file user-init-file) |
0a91a443d091
(enable-command): If Emacs was invoked as "emacs -q",
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
122 (default-init-file |
0a91a443d091
(enable-command): If Emacs was invoked as "emacs -q",
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
123 (if (eq system-type 'ms-dos) "~/_emacs" "~/.emacs"))) |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
124 (unless init-file |
43059
0a91a443d091
(enable-command): If Emacs was invoked as "emacs -q",
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
125 (if (or (file-exists-p default-init-file) |
0a91a443d091
(enable-command): If Emacs was invoked as "emacs -q",
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
126 (and (eq system-type 'windows-nt) |
0a91a443d091
(enable-command): If Emacs was invoked as "emacs -q",
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
127 (file-exists-p "~/_emacs"))) |
0a91a443d091
(enable-command): If Emacs was invoked as "emacs -q",
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
128 ;; Started with -q, i.e. the file containing |
0a91a443d091
(enable-command): If Emacs was invoked as "emacs -q",
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
129 ;; enabled/disabled commands hasn't been read. Saving |
0a91a443d091
(enable-command): If Emacs was invoked as "emacs -q",
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
130 ;; settings there would overwrite other settings. |
0a91a443d091
(enable-command): If Emacs was invoked as "emacs -q",
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
131 (error "Saving settings from \"emacs -q\" would overwrite existing customizations")) |
0a91a443d091
(enable-command): If Emacs was invoked as "emacs -q",
Eli Zaretskii <eliz@gnu.org>
parents:
38412
diff
changeset
|
132 (setq init-file default-init-file) |
37899
3c9f67eea2f9
(enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents:
18383
diff
changeset
|
133 (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
|
134 (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
|
135 (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
|
136 (setq init-file "~/_emacs"))) |
105994
009383a57ce8
* x-dnd.el (x-dnd-maybe-call-test-function):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
100908
diff
changeset
|
137 (with-current-buffer (find-file-noselect |
009383a57ce8
* x-dnd.el (x-dnd-maybe-call-test-function):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
100908
diff
changeset
|
138 (substitute-in-file-name init-file)) |
37899
3c9f67eea2f9
(enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents:
18383
diff
changeset
|
139 (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
|
140 (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
|
141 (delete-region |
3c9f67eea2f9
(enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents:
18383
diff
changeset
|
142 (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
|
143 (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
|
144 ;; 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
|
145 ;; 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
|
146 (goto-char (point-max)) |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
147 (unless (bolp) (newline)) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
148 (insert "(put '" (symbol-name command) " 'disabled " |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
149 (symbol-name disable) ")\n") |
37899
3c9f67eea2f9
(enable-command): If user-init-file is nil or does not
Eli Zaretskii <eliz@gnu.org>
parents:
18383
diff
changeset
|
150 (save-buffer)))) |
36 | 151 |
256 | 152 ;;;###autoload |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
153 (defun enable-command (command) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
154 "Allow COMMAND to be executed without special confirmation from now on. |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
155 COMMAND must be a symbol. |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
156 This command alters the user's .emacs file so that this will apply |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
157 to future sessions." |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
158 (interactive "CEnable command: ") |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
159 (en/disable-command command nil)) |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
160 |
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
161 ;;;###autoload |
36 | 162 (defun disable-command (command) |
163 "Require special confirmation to execute COMMAND from now on. | |
56569
a6cb62c42cec
(enable-command, disable-command): Doc fixes.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52401
diff
changeset
|
164 COMMAND must be a symbol. |
a6cb62c42cec
(enable-command, disable-command): Doc fixes.
Luc Teirlinck <teirllm@auburn.edu>
parents:
52401
diff
changeset
|
165 This command alters the user's .emacs file so that this will apply |
36 | 166 to future sessions." |
167 (interactive "CDisable command: ") | |
106020
dd16af77622d
(disabled-command-function): Add useful args.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105994
diff
changeset
|
168 (en/disable-command command t)) |
36 | 169 |
18383 | 170 (provide 'novice) |
171 | |
57096
1ab0f10dbd94
(disabled-command-hook): Use shorthand for obsolescence.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
56623
diff
changeset
|
172 ;; arch-tag: f83c0f96-497e-4db6-a430-8703716c6dd9 |
659
505130d1ddf8
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
282
diff
changeset
|
173 ;;; novice.el ends here |