1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-16 21:20:53 -08:00

(comint-write-output, comint-append-output-to-file): New functions.

(comint-mode-map): Add them to the menu.
This commit is contained in:
Miles Bader 2000-10-19 02:12:30 +00:00
parent e50517d90e
commit d134a19f84
2 changed files with 38 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2000-10-19 Miles Bader <miles@lsi.nec.co.jp>
* comint.el (comint-write-output, comint-append-output-to-file):
New functions.
(comint-mode-map): Add them to the menu.
2000-10-18 Gerd Moellmann <gerd@gnu.org>
* startup.el (fancy-splash-screens): Set buffer-undo-list to t.

View file

@ -574,6 +574,10 @@ Entry to this mode runs the hooks on `comint-mode-hook'."
(cons "In/Out" (make-sparse-keymap "In/Out")))
(define-key comint-mode-map [menu-bar inout delete-output]
'("Delete Current Output Group" . comint-delete-output))
(define-key comint-mode-map [menu-bar inout write-output]
'("Write Current Output Group to File" . comint-write-output))
(define-key comint-mode-map [menu-bar inout append-output-to-file]
'("Append Current Output Group to File" . comint-append-output-to-file))
(define-key comint-mode-map [menu-bar inout next-prompt]
'("Forward Output Group" . comint-next-prompt))
(define-key comint-mode-map [menu-bar inout previous-prompt]
@ -1870,7 +1874,7 @@ This function could be in the list `comint-output-filter-functions'."
;; Random input hackage
(defun comint-delete-output ()
"Kill all output from interpreter since last input.
"Delete all output from interpreter since last input.
Does not delete the prompt."
(interactive)
(let ((proc (get-buffer-process (current-buffer)))
@ -1889,6 +1893,33 @@ Does not delete the prompt."
(defalias 'comint-kill-output 'comint-delete-output)
(make-obsolete 'comint-kill-output 'comint-delete-output "21.1")
(defun comint-write-output (filename &optional mustbenew)
"Write output from interpreter since last input to FILENAME.
Any prompt at the end of the output is not written.
If the optional argument MUSTBENEW (the prefix argument when interactive),
is non-nil, check for an existing file with the same name. If MUSTBENEW
is `excl', that means to get an error if the file already exists; never
overwrite. If MUSTBENEW is neither nil nor `excl', that means ask for
confirmation before overwriting, but do go ahead and overwrite the file
if the user confirms."
(interactive "FWrite output to file: \np")
(save-excursion
(goto-char (process-mark (get-buffer-process (current-buffer))))
(forward-line 0)
(write-region comint-last-input-end (point)
filename nil nil nil mustbenew)))
(defun comint-append-output-to-file (filename)
"Append output from interpreter since last input to FILENAME.
Any prompt at the end of the output is not written."
(interactive "FAppend output to file: ")
(save-excursion
(goto-char (process-mark (get-buffer-process (current-buffer))))
(forward-line 0)
(write-region comint-last-input-end (point) filename t)))
(defun comint-show-output ()
"Display start of this batch of interpreter output at top of window.
Sets mark to the value of point when this command is run."