annotate lisp/echistory.el @ 51151:fe11e703042b

Summary: MIME support added for e-mail processing that skips encoded regions. Allow user to skip saving Fcc messages with large attachments. Fixed region skipping bug with multi-line comments - e.g. tex $ regions spanning multiple lines. Added support for postscript and uuencoded regions. Redundant dictionary file names purged. Dictionary definition field name changed from "Character Set" to "Coding System". Fixed bug in reloading dictionaries. Modified headers to reflect new version. XEmacs menu now adds customize item. (ispell-check-version): No longer an aliased function. Returns library path if not called interactively. Variable `temporary-file-directory' protected if not loaded. (check-ispell-version): Now the alias for `ispell-check-version'. (ispell-message-fcc-skip): New variable that determines if and when to query about saving Fcc copy of message if an attachment is large. (ispell-skip-html): Declared buffer-local. (ispell-local-dictionary-alist): Docstring expanded. Tag name changed from "Character Set" to "Coding System". (ispell-dictionary-alist-1): Removed redundant command-line option to load brasileiro, british, and castellano dictionary files. (ispell-dictionary-alist-2): Removed redundant command-line option to load czech dictionary file. (ispell-dictionary-alist-3): Moved francais-tex here. (ispell-dictionary-alist-4): Removed german and german8 dictionaries. The deutsch ones are the correct definitions. `nederlands' and `nederlands8' dictionaries moved here. (ispell-dictionary-alist-5): `polish' and `portugues' dictionaries moved here. Removed redundant command-line option to `norsk' and `portugues'. (ispell-dictionary-alist-6): Removed redundant command-line option to load `russian' and `slovak' dictionary files. (ispell-dictionary-alist): Tag name changed from "Character Set" to "Coding System". (ispell-version): Updated to 3.6. (ispell-library-directory): Calls non-deprecated function. (ispell-valid-dictionary-list): New function returning all valid dictionaries on machine. (ispell-checking-message): Documentation string improved. (ispell-skip-region-alist): Added uuencoded and postscript region skipping. Improved http/e-mail/file regexp to not match `/.\w'. (ispell-html-skip-alists): New variable for html region support. (ispell-send-string): Removed redundant xemacs check. (ispell-word): Fix spelling error in documentation string, added extent information to support highlighting in ispell-minor-mode. (ispell-command-loop): Disable horizontal scrollbar in XEmacs choices buffer. (ispell-show-choices): Directly select `choices-window'. (ispell-help): Use default buffer size for electric help. (ispell-adjusted-window-height): Correct for xemacs detection. (ispell-start-process): Don't double specify dictionary file name. (ispell-init-process): Set `ispell-library-path' each call. (ispell-change-dictionary): Now only completes valid dictionaries. (ispell-region): Add support for MIME region skipping and Fcc message query for large attachments. (ispell-begin-skip-region-regexp): Add documentation string. Added message support and cleaned up code for generic and html regions. (ispell-begin-skip-region): Function is now requires alist argument. (ispell-begin-tex-skip-regexp): Added comments and support improved html and message regions. (ispell-skip-region-list): New function for MIME and region skipping. (ispell-tex-arg-end): Add documentation string. (ispell-ignore-fcc): New function to query saving Fcc message. (ispell-skip-region): Calculate alist for key match dynamically, html skipping pushed to alists. (ispell-get-line): Add support for multi-line comment regions. (ispell): Check that variables to continue spelling are bound. (ispell-message-text-end): Postscript and uuencoded regions now supported as MIME regions, rather than as end-of-message region. (ispell-mime-multipartp): New function supporting MIME. (ispell-mime-skip-part): New function supporting MIME. (ispell-message): Add MIME support. (ispell-buffer-local-parsing): Variable `ispell-skip-html' now local. (ispell-buffer-local-dict): Fixed bug for detecting and reloading new dictionary.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 22 May 2003 21:34:00 +0000
parents 37645a051842
children 695cf19ef79e d7ddb3e565de
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
662
8a533acedb77 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 258
diff changeset
1 ;;; echistory.el --- Electric Command History Mode
8a533acedb77 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 258
diff changeset
2
846
20674ae6bf52 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 807
diff changeset
3 ;; Copyright (C) 1985 Free Software Foundation, Inc.
20674ae6bf52 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 807
diff changeset
4
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 662
diff changeset
5 ;; Author: K. Shane Hartman
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 662
diff changeset
6 ;; Maintainer: FSF
198
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 ;; This file is part of GNU Emacs.
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10 ;; GNU Emacs is free software; you can redistribute it and/or modify
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@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: 662
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
198
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 ;; any later version.
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15 ;; GNU Emacs is distributed in the hope that it will be useful,
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 ;; GNU General Public License for more details.
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@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: 7382
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: 7382
diff changeset
22 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 7382
diff changeset
23 ;; Boston, MA 02111-1307, USA.
198
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24
38412
253f761ad37b Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents: 27064
diff changeset
25 ;;; Commentary:
253f761ad37b Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents: 27064
diff changeset
26
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 662
diff changeset
27 ;;; Code:
198
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 (require 'electric) ; command loop
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 (require 'chistory) ; history lister
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31
258
1e0bc00dca7a *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 198
diff changeset
32 ;;;###autoload
198
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 (defun Electric-command-history-redo-expression (&optional noconfirm)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 "Edit current history line in minibuffer and execute result.
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 With prefix arg NOCONFIRM, execute current line as-is without editing."
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 (interactive "P")
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 (let (todo)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 (save-excursion
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39 (set-buffer "*Command History*")
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 (beginning-of-line)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 (setq todo (read (current-buffer)))
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 (if (boundp 'electric-history-in-progress)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 (if todo (throw 'electric-history-quit (list noconfirm todo)))))))
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45 (defvar electric-history-map ())
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 (if electric-history-map
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47 ()
3651
c37784da62e7 (electric-history-map): Don't use fillarray;
Richard M. Stallman <rms@gnu.org>
parents: 919
diff changeset
48 (setq electric-history-map (make-sparse-keymap))
c37784da62e7 (electric-history-map): Don't use fillarray;
Richard M. Stallman <rms@gnu.org>
parents: 919
diff changeset
49 (define-key electric-history-map [t] 'Electric-history-undefined)
c37784da62e7 (electric-history-map): Don't use fillarray;
Richard M. Stallman <rms@gnu.org>
parents: 919
diff changeset
50 (define-key electric-history-map "\e" (make-sparse-keymap))
c37784da62e7 (electric-history-map): Don't use fillarray;
Richard M. Stallman <rms@gnu.org>
parents: 919
diff changeset
51 (define-key electric-history-map [?\e t] 'Electric-history-undefined)
198
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 (define-key electric-history-map "\C-u" 'universal-argument)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
53 (define-key electric-history-map " " 'Electric-command-history-redo-expression)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54 (define-key electric-history-map "!" 'Electric-command-history-redo-expression)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
55 (define-key electric-history-map "\e\C-x" 'eval-sexp)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
56 (define-key electric-history-map "\e\C-d" 'down-list)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57 (define-key electric-history-map "\e\C-u" 'backward-up-list)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
58 (define-key electric-history-map "\e\C-b" 'backward-sexp)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
59 (define-key electric-history-map "\e\C-f" 'forward-sexp)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60 (define-key electric-history-map "\e\C-a" 'beginning-of-defun)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
61 (define-key electric-history-map "\e\C-e" 'end-of-defun)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
62 (define-key electric-history-map "\e\C-n" 'forward-list)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
63 (define-key electric-history-map "\e\C-p" 'backward-list)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64 (define-key electric-history-map "q" 'Electric-history-quit)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 (define-key electric-history-map "\C-c" nil)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66 (define-key electric-history-map "\C-c\C-c" 'Electric-history-quit)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67 (define-key electric-history-map "\C-]" 'Electric-history-quit)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 (define-key electric-history-map "\C-z" 'suspend-emacs)
919
567b06901789 entered into RCS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 918
diff changeset
69 (define-key electric-history-map (char-to-string help-char) 'Helper-help)
198
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 (define-key electric-history-map "?" 'Helper-describe-bindings)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
71 (define-key electric-history-map "\e>" 'end-of-buffer)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72 (define-key electric-history-map "\e<" 'beginning-of-buffer)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
73 (define-key electric-history-map "\n" 'next-line)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
74 (define-key electric-history-map "\r" 'next-line)
49588
37645a051842 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 38412
diff changeset
75 (define-key electric-history-map "\177" 'previous-line)
198
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
76 (define-key electric-history-map "\C-n" 'next-line)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
77 (define-key electric-history-map "\C-p" 'previous-line)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
78 (define-key electric-history-map "\ev" 'scroll-down)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
79 (define-key electric-history-map "\C-v" 'scroll-up)
3651
c37784da62e7 (electric-history-map): Don't use fillarray;
Richard M. Stallman <rms@gnu.org>
parents: 919
diff changeset
80 (define-key electric-history-map [home] 'beginning-of-buffer)
c37784da62e7 (electric-history-map): Don't use fillarray;
Richard M. Stallman <rms@gnu.org>
parents: 919
diff changeset
81 (define-key electric-history-map [down] 'next-line)
c37784da62e7 (electric-history-map): Don't use fillarray;
Richard M. Stallman <rms@gnu.org>
parents: 919
diff changeset
82 (define-key electric-history-map [up] 'previous-line)
c37784da62e7 (electric-history-map): Don't use fillarray;
Richard M. Stallman <rms@gnu.org>
parents: 919
diff changeset
83 (define-key electric-history-map [prior] 'scroll-down)
c37784da62e7 (electric-history-map): Don't use fillarray;
Richard M. Stallman <rms@gnu.org>
parents: 919
diff changeset
84 (define-key electric-history-map [next] 'scroll-up)
198
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
85 (define-key electric-history-map "\C-l" 'recenter)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
86 (define-key electric-history-map "\e\C-v" 'scroll-other-window))
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
87
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
88 (defvar electric-command-history-hook nil
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
89 "If non-nil, its value is called by `electric-command-history'.")
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
90
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
91 (defun electric-command-history ()
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
92 "\\<electric-history-map>Major mode for examining and redoing commands from `command-history'.
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
93 This pops up a window with the Command History listing.
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
94 The number of command listed is controlled by `list-command-history-max'.
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
95 The command history is filtered by `list-command-history-filter' if non-nil.
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
96 Combines typeout Command History list window with menu like selection
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
97 of an expression from the history for re-evaluation in the *original* buffer.
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
98
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
99 The history displayed is filtered by `list-command-history-filter' if non-nil.
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
100
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
101 Like Emacs-Lisp mode except that characters do not insert themselves and
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
102 Tab and Linefeed do not indent. Instead these commands are provided:
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
103 \\{electric-history-map}
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
105 Calls the value of `electric-command-history-hook' if that is non-nil.
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
106 The Command History listing is recomputed each time this mode is invoked."
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
107 (interactive)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
108 (let ((electric-history-in-progress t)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
109 (old-buffer (current-buffer))
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
110 (todo))
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
111 (unwind-protect
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
112 (setq todo
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
113 (catch 'electric-history-quit
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
114 (save-window-excursion
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
115 (save-window-excursion
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
116 (list-command-history)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
117 (set-buffer "*Command History*")
27064
9a83b898793c (electric-command-history): Call Command-history-setup
Richard M. Stallman <rms@gnu.org>
parents: 18383
diff changeset
118 (Command-history-setup)
9a83b898793c (electric-command-history): Call Command-history-setup
Richard M. Stallman <rms@gnu.org>
parents: 18383
diff changeset
119 (setq major-mode 'electric-command-history)
9a83b898793c (electric-command-history): Call Command-history-setup
Richard M. Stallman <rms@gnu.org>
parents: 18383
diff changeset
120 (setq mode-name "Electric History")
9a83b898793c (electric-command-history): Call Command-history-setup
Richard M. Stallman <rms@gnu.org>
parents: 18383
diff changeset
121 (use-local-map electric-history-map))
198
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
122 (Electric-pop-up-window "*Command History*")
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
123 (run-hooks 'electric-command-history-hook)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
124 (if (eobp)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
125 (progn (ding)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
126 (message "No command history.")
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
127 (throw 'electric-history-quit nil))
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
128 (let ((Helper-return-blurb "return to History"))
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
129 (Electric-command-loop 'electric-history-quit
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
130 "->" t))))))
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
131 (set-buffer "*Command History*")
27064
9a83b898793c (electric-command-history): Call Command-history-setup
Richard M. Stallman <rms@gnu.org>
parents: 18383
diff changeset
132 (command-history-mode)
198
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
133 (bury-buffer (current-buffer)))
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
134 (if (consp todo)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
135 (progn (set-buffer old-buffer)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
136 (if (car todo)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
137 (apply (car (car (cdr todo))) (cdr (car (cdr todo))))
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
138 (edit-and-eval-command "Redo: " (car (cdr todo))))))))
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
139
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
140 (defun Electric-history-undefined ()
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
141 (interactive)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
142 (ding)
7382
8b71746369ed (Electric-history-undefined): Substitute `Helper-help', not `Help-for-help'.
Karl Heuer <kwzh@gnu.org>
parents: 3651
diff changeset
143 (message (substitute-command-keys "Type \\[Helper-help] for help, ? for commands, C-c C-c to quit, Space to execute"))
198
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
144 (sit-for 4))
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
145
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
146 (defun Electric-history-quit ()
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
147 "Quit Electric Command History, restoring previous window configuration."
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
148 (interactive)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
149 (if (boundp 'electric-history-in-progress)
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
150 (progn (message "")
db1d84cdb2e2 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
151 (throw 'electric-history-quit nil))))
662
8a533acedb77 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 258
diff changeset
152
18383
11218164bc54 Add provide call.
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
153 (provide 'echistory)
11218164bc54 Add provide call.
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
154
662
8a533acedb77 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 258
diff changeset
155 ;;; echistory.el ends here