[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/vmsproc.el
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/vmsproc.el |
Date: |
Fri, 29 Jul 2005 16:14:38 -0400 |
Index: emacs/lisp/vmsproc.el
diff -c emacs/lisp/vmsproc.el:1.11 emacs/lisp/vmsproc.el:1.12
*** emacs/lisp/vmsproc.el:1.11 Mon Jul 4 23:09:00 2005
--- emacs/lisp/vmsproc.el Fri Jul 29 20:14:37 2005
***************
*** 1,6 ****
;;; vmsproc.el --- run asynchronous VMS subprocesses under Emacs
! ;; Copyright (C) 1986 Free Software Foundation, Inc.
;; Author: Mukesh Prasad
;; Maintainer: FSF
--- 1,6 ----
;;; vmsproc.el --- run asynchronous VMS subprocesses under Emacs
! ;; Copyright (C) 1986, 2005 Free Software Foundation, Inc.
;; Author: Mukesh Prasad
;; Maintainer: FSF
***************
*** 34,46 ****
"String to insert to distinguish commands entered by user.")
(defvar subprocess-running nil)
! (defvar command-mode-map nil)
!
! (if command-mode-map
! nil
! (setq command-mode-map (make-sparse-keymap))
! (define-key command-mode-map "\C-m" 'command-send-input)
! (define-key command-mode-map "\C-u" 'command-kill-line))
(defun subprocess-input (name str)
"Handles input from a subprocess. Called by Emacs."
--- 34,44 ----
"String to insert to distinguish commands entered by user.")
(defvar subprocess-running nil)
! (defvar command-mode-map
! (let ((map (make-sparse-keymap)))
! (define-key map "\C-m" 'command-send-input)
! (define-key map "\C-u" 'command-kill-line)
! map))
(defun subprocess-input (name str)
"Handles input from a subprocess. Called by Emacs."
***************
*** 65,72 ****
(if subprocess-running
(return t))
(setq subprocess-buf (get-buffer-create "*COMMAND*"))
! (save-excursion
! (set-buffer subprocess-buf)
(use-local-map command-mode-map))
(setq subprocess-running (spawn-subprocess 1 'subprocess-input
'subprocess-exit))
--- 63,69 ----
(if subprocess-running
(return t))
(setq subprocess-buf (get-buffer-create "*COMMAND*"))
! (with-current-buffer subprocess-buf
(use-local-map command-mode-map))
(setq subprocess-running (spawn-subprocess 1 'subprocess-input
'subprocess-exit))
***************
*** 81,105 ****
(setq cmd (substring command 0 (string-match " " command)))
(setq args (substring command (string-match " " command)))
(call-process cmd nil buffer nil "*dcl*" args)))
! ;BUGS: only the output up to the end of the first image activation is trapped.
! ; (if (not subprocess-running)
! ; (start-subprocess))
! ; (save-excursion
! ; (set-buffer buffer)
! ; (let ((output-filename (concat "SYS$SCRATCH:OUTPUT-FOR-"
! ; (getenv "USER") ".LISTING")))
! ; (while (file-exists-p output-filename)
! ; (delete-file output-filename))
! ; (define-logical-name "SYS$OUTPUT" (concat output-filename "-NEW"))
! ; (send-command-to-subprocess 1 command)
! ; (send-command-to-subprocess 1 (concat
! ; "RENAME " output-filename
! ; "-NEW " output-filename))
! ; (while (not (file-exists-p output-filename))
! ; (sleep-for 1))
! ; (define-logical-name "SYS$OUTPUT" nil)
! ; (insert-file output-filename)
! ; (delete-file output-filename))))
(defun subprocess-command ()
"Starts asynchronous subprocess if not running and switches to its window."
--- 78,101 ----
(setq cmd (substring command 0 (string-match " " command)))
(setq args (substring command (string-match " " command)))
(call-process cmd nil buffer nil "*dcl*" args)))
! ;; BUGS: only the output up to the end of the first image activation is
trapped.
! ;; (if (not subprocess-running)
! ;; (start-subprocess))
! ;; (with-current-buffer buffer
! ;; (let ((output-filename (concat "SYS$SCRATCH:OUTPUT-FOR-"
! ;; (getenv "USER") ".LISTING")))
! ;; (while (file-exists-p output-filename)
! ;; (delete-file output-filename))
! ;; (define-logical-name "SYS$OUTPUT" (concat output-filename "-NEW"))
! ;; (send-command-to-subprocess 1 command)
! ;; (send-command-to-subprocess 1 (concat
! ;; "RENAME " output-filename
! ;; "-NEW " output-filename))
! ;; (while (not (file-exists-p output-filename))
! ;; (sleep-for 1))
! ;; (define-logical-name "SYS$OUTPUT" nil)
! ;; (insert-file output-filename)
! ;; (delete-file output-filename))))
(defun subprocess-command ()
"Starts asynchronous subprocess if not running and switches to its window."
***************
*** 115,122 ****
line to the last line for resubmission."
(interactive)
(beginning-of-line)
! (let ((current-line (buffer-substring (point)
! (progn (end-of-line) (point)))))
(if (eobp)
(progn
(if (not subprocess-running)
--- 111,117 ----
line to the last line for resubmission."
(interactive)
(beginning-of-line)
! (let ((current-line (buffer-substring (point) (line-end-position))))
(if (eobp)
(progn
(if (not subprocess-running)
***************
*** 129,143 ****
(progn (beginning-of-line) (insert command-prefix-string)))
(next-line 1))))
;; else -- if not at last line in buffer
! (end-of-buffer)
(backward-char)
(next-line 1)
! (if (string-equal command-prefix-string
! (substring current-line 0 (length
command-prefix-string)))
! (insert (substring current-line (length command-prefix-string)))
! (insert current-line)))))
! (defun command-kill-line()
"Kills the current line. Used in command mode."
(interactive)
(beginning-of-line)
--- 124,139 ----
(progn (beginning-of-line) (insert command-prefix-string)))
(next-line 1))))
;; else -- if not at last line in buffer
! (goto-char (point-max))
(backward-char)
(next-line 1)
! (insert
! (if (compare-strings command-prefix-string nil nil
! current-line 0 (length command-prefix-string))
! (substring current-line (length command-prefix-string))
! current-line)))))
! (defun command-kill-line ()
"Kills the current line. Used in command mode."
(interactive)
(beginning-of-line)
***************
*** 145,149 ****
(define-key esc-map "$" 'subprocess-command)
! ;;; arch-tag: 600b2512-f903-4887-bcd2-e76b306f5b66
;;; vmsproc.el ends here
--- 141,145 ----
(define-key esc-map "$" 'subprocess-command)
! ;; arch-tag: 600b2512-f903-4887-bcd2-e76b306f5b66
;;; vmsproc.el ends here