view lisp/tcp.el @ 12886:4029ded28f9d

(skeleton-newline-indent-rigidly): New variable. (skeleton-internal-1): Use it for indenting after \n because previous behaviour was only useful for `sh-script.el' and old `ada.el'. Other modes now get their own indentation. (skeleton, skeleton-modified, skeleton-point, skeleton-regions): `New' variables for passing between the mutually recursive functions of the skeleton engine. Introduced to remove compiler warnings. (skeleton-proxy): New argument `str' to make this settable when calling a skeleton as a function. (skeleton-insert): New argument `str' to pass down. Element `\n' now usually indents according to mode. Subskeletons may also have a list of strings as iterator. Earlier modification also removed meaning of `quit' -- I did not put it back in since it's useless. When quitting out of a subskeleton while still wrapping around text don't duplicate first line of that text. (skeleton-end-hook): New hook useful say for modes that leave a `;' on an empty line to indent right and then want to clean it up when doing a skeleton there.
author Karl Heuer <kwzh@gnu.org>
date Sat, 19 Aug 1995 00:30:38 +0000
parents 62f6fd783884
children 83f275dcd93a
line wrap: on
line source

;;; TCP/IP stream emulation for GNU Emacs
;; Copyright (C) 1988, 1989, 1993 Free Software Foundation, Inc.

;;; Author: Masanobu Umeda
;;; Maintainer: umerin@mse.kyutech.ac.jp

;; This file is part of GNU Emacs.

;; 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)
;; any later version.

;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; 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, 675 Mass Ave, Cambridge, MA 02139, USA.

;;; Commentary:

;; Notes on TCP package:
;;
;; This package provides a TCP/IP stream emulation for GNU Emacs. If
;; the function `open-network-stream' is not defined in Emacs, but
;; your operating system has a capability of network stream
;; connection, this tcp package can be used for communicating with
;; NNTP server.
;;
;; The tcp package runs inferior process which actually does the role
;; of `open-network-stream'.  The program `tcp' provided with this
;; package can be used for such purpose.  Before loading the package,
;; compile `tcp.c' and install it as `tcp' in a directory in the emacs
;; search path. If you modify `tcp.c', please send diffs to the author
;; of GNUS.  I'll include some of them in the next releases.

;;; Code:

(provide 'tcp)

(defvar tcp-program-name "tcp"
  "*The name of the program emulating open-network-stream function.")

(defun open-network-stream (name buffer host service)
  "Open a TCP connection for a service to a host.
Returns a subprocess-object to represent the connection.
Input and output work as for subprocesses; `delete-process' closes it.
Args are NAME BUFFER HOST SERVICE.
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
Third arg is name of the host to connect to.
Fourth arg SERVICE is name of the service desired, or an integer
 specifying a port number to connect to."
  (let ((proc (start-process name buffer 
			     tcp-program-name
			     host 
			     (if (stringp service)
				 service
			       (int-to-string service))
			     )))
    (process-kill-without-query proc)
    ;; Return process
    proc
    ))

;;; tcp.el ends here