;;; esh-io.el --- I/O management
-;; Copyright (C) 1999, 2000 Free Software Foundation
+;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
+;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@gnu.org>
;; GNU Emacs 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)
+;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-(provide 'esh-io)
-
-(eval-when-compile (require 'esh-maint))
-
-(defgroup eshell-io nil
- "Eshell's I/O management code provides a scheme for treating many
-different kinds of objects -- symbols, files, buffers, etc. -- as
-though they were files."
- :tag "I/O management"
- :group 'eshell)
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
;; (+ 1 2) > a > b > c ; prints number to all three files
;; (+ 1 2) > a | wc ; prints to 'a', and pipes to 'wc'
+(provide 'esh-io)
+
+(eval-when-compile (require 'eshell))
+
+(defgroup eshell-io nil
+ "Eshell's I/O management code provides a scheme for treating many
+different kinds of objects -- symbols, files, buffers, etc. -- as
+though they were files."
+ :tag "I/O management"
+ :group 'eshell)
+
;;; User Variables:
(defcustom eshell-io-load-hook '(eshell-io-initialize)
(eshell-finish-arg
(prog1
(list 'eshell-set-output-handle
- (or (and sh (string-to-int sh)) 1)
+ (or (and sh (string-to-number sh)) 1)
(list 'quote
(aref [overwrite append insert]
(1- (length oper)))))
((or (bufferp target)
(and (boundp 'eshell-buffer-shorthand)
(symbol-value 'eshell-buffer-shorthand)
- (symbolp target)))
+ (symbolp target)
+ (not (memq target '(t nil)))))
(let ((buf (if (bufferp target)
target
(get-buffer-create
target)
(t
- (error "Illegal redirection target: %s"
+ (error "Invalid redirection target: %s"
(eshell-stringify target)))))
(eval-when-compile
(defvar eshell-print-queue nil)
(defvar eshell-print-queue-count -1)
+(defsubst eshell-print (object)
+ "Output OBJECT to the standard output handle."
+ (eshell-output-object object eshell-output-handle))
+
(defun eshell-flush (&optional reset-p)
"Flush out any lines that have been queued for printing.
Must be called before printing begins with -1 as its argument, and
(concat eshell-print-queue (apply 'concat strings))
eshell-print-queue-count (1+ eshell-print-queue-count))))
-(defsubst eshell-print (object)
- "Output OBJECT to the standard output handle."
- (eshell-output-object object eshell-output-handle))
-
(defsubst eshell-error (object)
"Output OBJECT to the standard error handle."
(eshell-output-object object eshell-error-handle))
;;; Code:
-;;; arch-tag: 9ca2080f-d5e0-4b26-aa0b-d59194a905a2
+;; arch-tag: 9ca2080f-d5e0-4b26-aa0b-d59194a905a2
;;; esh-io.el ends here