view lisp/tcp.el @ 28230:8e330f701881

(Qx_charset_registry, Vface_default_registry): Variables removed. (clear_font_table, frame_update_line_height, load_face_font): Adjusted for the change of fontset implementation. (load_face_fontset_font): Function removed. (pixel_point_size): New function. (font_list): Argument type changed. Caller changed. (LFACE_FONT): New macro. (check_lface_attrs): Check attr[LFACE_FONT_INDEX]. (set_lface_from_font_name): Type of arg FONTNAME is changed to Lisp_Object. Determine the font name by actually loading a font by the specified pattern. Set LFACE_FONT (lface) to the specified pattern. Even if a font is not found, don't try alternatives. (Finternal_set_lisp_face_attribute): Handle `font' slot in lface. (set_font_frame_param): If `font' is specified in lface, use it. (Finternal_get_lisp_face_attribute): Handle `font' slot in lface. (lface_same_font_attributes_p): Likewise. (make_realized_face): Arguent changed. Caller changed. Set face->ascii_face to face itself. (free_realized_face): Free face->fontset if face is for ASCII. (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p, deduce_unibyte_registry, x_charset_registry): Functions removed. (free_realized_multibyte_face): New function. (lookup_face, lookup_named_face, lookup_derived_face): Argument changed. Caller changed. (try_font_list): Argument type changed. (face_fontset): Check `font' slot of ATTRS, not `family' slot. (choose_face_font): Argument changed. Handle fontset properly. (choose_face_fontset_font): Function removed. (realize_default_face, realize_named_face): Don't remove the former face here. (realize_face): Argument changed. Caller changed. Remove face with the arg former_face_id in advance. Load font for the new face. (realize_x_face): Argument changed. Caller changed. For a multibyte character, share fontset with base_face. For a single byte character, make a new realized fontset. Don't load a font here. (realize_tty_face): Argument changed. Caller changed. (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET. (face_at_buffer_position): Don't check multibyte_p for returning DEFAULT_FACE_ID. (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not FACE_SUITABLE_FOR_CHARSET_P. (syms_of_xfaces): Remove code for Qx_charset_registry and Vface_default_registry.
author Kenichi Handa <handa@m17n.org>
date Tue, 21 Mar 2000 00:43:10 +0000
parents bd56cdc4d07b
children
line wrap: on
line source

;;; tcp.el --- 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, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, 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