annotate lisp/tcp.el @ 13883:a4eef7470b6b

(ls-lisp-support-shell-wildcards): New variable. (insert-directory): Convert the filename wildcard to an equivalent Emacs regexp, when `ls-lisp-support-shell-wildcards' is non-nil. Handle file patterns like "/foo*/" as if it were "/foo*", like the shell would. Print zero total for files whose total size is exactly zero (in particular, for no files at all). Say "No match" when no files match the given wildcard. (ls-lisp-format): Make directory listing format more like POSIX ls.
author Richard M. Stallman <rms@gnu.org>
date Thu, 28 Dec 1995 23:36:50 +0000
parents 62f6fd783884
children 83f275dcd93a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2908
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 ;;; TCP/IP stream emulation for GNU Emacs
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2 ;; Copyright (C) 1988, 1989, 1993 Free Software Foundation, Inc.
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 ;;; Author: Masanobu Umeda
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5 ;;; Maintainer: umerin@mse.kyutech.ac.jp
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 ;; This file is part of GNU Emacs.
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8
2909
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
9 ;; GNU Emacs is free software; you can redistribute it and/or modify
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
10 ;; it under the terms of the GNU General Public License as published by
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
11 ;; the Free Software Foundation; either version 2, or (at your option)
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
12 ;; any later version.
2908
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13
2909
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
14 ;; GNU Emacs is distributed in the hope that it will be useful,
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
17 ;; GNU General Public License for more details.
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
18
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
19 ;; You should have received a copy of the GNU General Public License
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
20 ;; along with GNU Emacs; see the file COPYING. If not, write to
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
21 ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
22
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
23 ;;; Commentary:
2908
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 ;; Notes on TCP package:
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 ;;
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 ;; This package provides a TCP/IP stream emulation for GNU Emacs. If
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 ;; the function `open-network-stream' is not defined in Emacs, but
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 ;; your operating system has a capability of network stream
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 ;; connection, this tcp package can be used for communicating with
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 ;; NNTP server.
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 ;;
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 ;; The tcp package runs inferior process which actually does the role
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 ;; of `open-network-stream'. The program `tcp' provided with this
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35 ;; package can be used for such purpose. Before loading the package,
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 ;; compile `tcp.c' and install it as `tcp' in a directory in the emacs
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 ;; search path. If you modify `tcp.c', please send diffs to the author
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 ;; of GNUS. I'll include some of them in the next releases.
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39
2909
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
40 ;;; Code:
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
41
2908
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 (provide 'tcp)
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44 (defvar tcp-program-name "tcp"
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45 "*The name of the program emulating open-network-stream function.")
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47 (defun open-network-stream (name buffer host service)
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
48 "Open a TCP connection for a service to a host.
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49 Returns a subprocess-object to represent the connection.
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
50 Input and output work as for subprocesses; `delete-process' closes it.
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
51 Args are NAME BUFFER HOST SERVICE.
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 NAME is name for process. It is modified if necessary to make it unique.
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
53 BUFFER is the buffer (or buffer-name) to associate with the process.
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54 Process output goes at end of that buffer, unless you specify
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
55 an output stream or filter function to handle the output.
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
56 BUFFER may be also nil, meaning that this process is not associated
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57 with any buffer
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
58 Third arg is name of the host to connect to.
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
59 Fourth arg SERVICE is name of the service desired, or an integer
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60 specifying a port number to connect to."
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
61 (let ((proc (start-process name buffer
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
62 tcp-program-name
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
63 host
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64 (if (stringp service)
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 service
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66 (int-to-string service))
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67 )))
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 (process-kill-without-query proc)
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
69 ;; Return process
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 proc
fea2f9ef375b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
71 ))
2909
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
72
62f6fd783884 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 2908
diff changeset
73 ;;; tcp.el ends here