;;; code-process.el --- Process coding functions for XEmacs.
-;; Copyright (C) 1985-1987, 1993, 1994, 1997 Free Software Foundation, Inc.
+;; Copyright (C) 1985-1987, 1993, 1994, 1997, 2003
+;; Free Software Foundation, Inc.
;; Copyright (C) 1995 Ben Wing
;; Copyright (C) 1997 MORIOKA Tomohiko
;; This file is part of XEmacs.
-;; This file is very similar to code-process.el
-
;; XEmacs is free software; you can redistribute it and/or modify it
;; under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
;; 02111-1307, USA.
+;;; Commentary:
+
+;; This file has some similarities to code-files.el.
+
;;; Code:
(defvar process-coding-system-alist nil
The program's input comes from file INFILE (nil means `/dev/null').
Insert output in BUFFER before point; t means current buffer;
nil for BUFFER means discard it; 0 means discard and don't wait.
+If BUFFER is a string, then find or create a buffer with that name,
+then insert the output in that buffer, before point.
BUFFER can also have the form (REAL-BUFFER STDERR-FILE); in that case,
REAL-BUFFER says what to do with standard output, as above,
while STDERR-FILE says what to do with standard error in the child.
Otherwise it waits for PROGRAM to terminate and returns a numeric exit status
or a signal description string.
If you quit, the process is killed with SIGINT, or SIGKILL if you
- quit again."
+ quit again.
+
+Coding systems are taken from `coding-system-for-read' for input and
+`coding-system-for-write' for output if those variables are bound.
+Otherwise they are looked up in `process-coding-system-alist'. If not
+found, they default to `nil' for both input and output."
(let* ((coding-system-for-read
(or coding-system-for-read
(let (ret)
Insert output in BUFFER before point; t means current buffer;
nil for BUFFER means discard it; 0 means discard and don't wait.
+If BUFFER is a string, then find or create a buffer with that name,
+then insert the output in that buffer, before point.
BUFFER can also have the form (REAL-BUFFER STDERR-FILE); in that case,
REAL-BUFFER says what to do with standard output, as above,
while STDERR-FILE says what to do with standard error in the child.
Otherwise waits for PROGRAM to terminate
and returns a numeric exit status or a signal description string.
If you quit, the process is first killed with SIGINT, then with SIGKILL if
-you quit again before the process exits."
+you quit again before the process exits.
+
+Coding systems are taken from `coding-system-for-read' for input and
+`coding-system-for-write' for output if those variables are bound.
+Otherwise they are looked up in `process-coding-system-alist'. If not
+found, they default to `nil' for both input and output."
(let ((temp
(make-temp-name
(concat (file-name-as-directory (temp-directory)) "emacs"))))
Args are NAME BUFFER PROGRAM &rest PROGRAM-ARGS
NAME is name for process. It is modified if necessary to make it unique.
BUFFER is the buffer or (buffer-name) to associate with the process.
- Process output goes at end of that buffer, unless you specify
- an output stream or filter function to handle the output.
- BUFFER may be also nil, meaning that this process is not associated
- with any buffer
+Process output goes at end of that buffer, unless you specify
+an output stream or filter function to handle the output.
+BUFFER may also be nil, meaning that this process is not associated
+with any buffer.
Third arg is program file name. It is searched for as in the shell.
Remaining arguments are strings to give program as arguments.
-INCODE and OUTCODE specify the coding-system objects used in input/output
- from/to the process."
+
+Coding systems are taken from `coding-system-for-read' for input and
+`coding-system-for-write' for output if those variables are bound.
+Otherwise they are looked up in `process-coding-system-alist'. If not
+found, they default to `undecided' for input and `nil' (binary) for
+output."
(let (cs-r cs-w)
(let (ret)
(catch 'found