annotate lisp/=medit.el @ 24419:30e478cd167e

(shell-command-default-error-buffer): Renamed from shell-command-on-region-default-error-buffer. (shell-command-on-region): Mention in echo area when there is some error output. Mention success or failure, too. Accumulate multiple error outputs going forward, with formfeed in between. Display the error buffer when we have put something in it. (shell-command): Add the ERROR-BUFFER argument feature.
author Karl Heuer <kwzh@gnu.org>
date Mon, 01 Mar 1999 03:19:32 +0000
parents d093f6556363
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
1 ;;; medit.el --- front-end to the MEDIT package for editing MDL
659
505130d1ddf8 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 226
diff changeset
2
846
20674ae6bf52 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 811
diff changeset
3 ;; Copyright (C) 1985 Free Software Foundation, Inc.
20674ae6bf52 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 811
diff changeset
4
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
5 ;; Author: K. Shane Hartman
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
6 ;; Maintainer: FSF
811
e694e0879463 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 807
diff changeset
7 ;; Keywords: languages
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
8
226
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 ;; This file is part of GNU Emacs.
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 ;; 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
13 ;; the Free Software Foundation; either version 2, or (at your option)
226
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 ;; any later version.
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 ;; GNU General Public License for more details.
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 ;; along with GNU Emacs; see the file COPYING. If not, write to
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23 ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
25 ;;; Commentary:
226
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27 ;; >> This package depends on two MDL packages: MEDIT and FORKS which
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28 ;; >> can be obtained from the public (network) library at mit-ajax.
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
30 ;;; Code:
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
31
226
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 (require 'mim-mode)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 (defconst medit-zap-file (concat "/tmp/" (user-login-name) ".medit.mud")
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 "File name for data sent to MDL by Medit.")
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 (defconst medit-buffer "*MEDIT*"
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37 "Name of buffer in which Medit accumulates data to send to MDL.")
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 (defconst medit-save-files t
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 "If non-nil, Medit offers to save files on return to MDL.")
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 (defun medit-save-define ()
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 "Mark the previous or surrounding toplevel object to be sent back to MDL."
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 (interactive)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 (save-excursion
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 (beginning-of-DEFINE)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 (let ((start (point)))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 (forward-mim-object 1)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48 (append-to-buffer medit-buffer start (point))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49 (goto-char start)
14322
d093f6556363 (medit-save-define): Pass proper format string to message.
Karl Heuer <kwzh@gnu.org>
parents: 923
diff changeset
50 (message "%s" (buffer-substring start (progn (end-of-line) (point)))))))
226
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 (defun medit-save-region (start end)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53 "Mark the current region to be sent to back to MDL."
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
54 (interactive "r")
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55 (append-to-buffer medit-buffer start end)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 (message "Current region saved for MDL."))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58 (defun medit-save-buffer ()
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 "Mark the current buffer to be sent back to MDL."
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 (interactive)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61 (append-to-buffer medit-buffer (point-min) (point-max))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 (message "Current buffer saved for MDL."))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64 (defun medit-zap-define-to-mdl ()
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65 "Return to MDL with surrounding or previous toplevel MDL object."
923
9f3cc03dae67 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 846
diff changeset
66 (interactive)
9f3cc03dae67 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 846
diff changeset
67 (medit-save-define)
9f3cc03dae67 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 846
diff changeset
68 (medit-goto-mdl))
226
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 (defun medit-zap-region-mdl (start end)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71 "Return to MDL with current region."
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 (interactive)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73 (medit-save-region start end)
923
9f3cc03dae67 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 846
diff changeset
74 (medit-goto-mdl))
226
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76 (defun medit-zap-buffer ()
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77 "Return to MDL with current buffer."
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78 (interactive)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
79 (medit-save-buffer)
923
9f3cc03dae67 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 846
diff changeset
80 (medit-goto-mdl))
226
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82 (defun medit-goto-mdl ()
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83 "Return from Emacs to superior MDL, sending saved code.
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84 Optionally, offers to save changed files."
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
85 (interactive)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86 (let ((buffer (get-buffer medit-buffer)))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87 (if buffer
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88 (save-excursion
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 (set-buffer buffer)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 (if (buffer-modified-p buffer)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91 (write-region (point-min) (point-max) medit-zap-file))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92 (set-buffer-modified-p nil)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93 (erase-buffer)))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94 (if medit-save-files (save-some-buffers))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95 ;; Note could handle parallel fork by giving argument "%xmdl". Then
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
96 ;; mdl would have to invoke with "%emacs".
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
97 (suspend-emacs)))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
98
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99 (defconst medit-mode-map nil)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100 (if (not medit-mode-map)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101 (progn
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
102 (setq medit-mode-map (copy-keymap mim-mode-map))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103 (define-key medit-mode-map "\e\z" 'medit-save-define)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104 (define-key medit-mode-map "\e\^z" 'medit-save-buffer)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
105 (define-key medit-mode-map "\^xz" 'medit-goto-mdl)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106 (define-key medit-mode-map "\^xs" 'medit-zap-buffer)))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108 (defconst medit-mode-hook (and (boundp 'mim-mode-hook) mim-mode-hook) "")
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109 (setq mim-mode-hook '(lambda () (medit-mode)))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111 (defun medit-mode (&optional state)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112 "Major mode for editing text and returning it to a superior MDL.
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
113 Like Mim mode, plus these special commands:
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114 \\{medit-mode-map}"
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
115 (interactive)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
116 (use-local-map medit-mode-map)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
117 (run-hooks 'medit-mode-hook)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
118 (setq major-mode 'medit-mode)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
119 (setq mode-name "Medit"))
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
121 (mim-mode)
80593a7533de Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122
659
505130d1ddf8 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 226
diff changeset
123 ;;; medit.el ends here