X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/c4cfc3dc6e331019428d08ab0c6cc6cde83c1b34..2c8d5749a4cd61c22040d8e141f9a5c6f4ee1d21:/lisp/rlogin.el diff --git a/lisp/rlogin.el b/lisp/rlogin.el index db4433a026..04cea26cdf 100644 --- a/lisp/rlogin.el +++ b/lisp/rlogin.el @@ -1,11 +1,13 @@ ;;; rlogin.el --- remote login interface -;; Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. +;; Copyright (C) 1992, 1993, 1994, 1995, 1997 Free Software Foundation, Inc. ;; Author: Noah Friedman ;; Maintainer: Noah Friedman ;; Keywords: unix, comm +;; $Id: rlogin.el,v 1.41 1998/03/14 04:46:55 rms Exp $ + ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify @@ -23,8 +25,6 @@ ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. -;; $Id: rlogin.el,v 1.35 1996/06/23 04:31:17 friedman Exp rms $ - ;;; Commentary: ;; Support for remote logins using `rlogin'. @@ -63,15 +63,23 @@ :type 'hook :group 'rlogin) -(defcustom rlogin-process-connection-type nil +(defcustom rlogin-process-connection-type + (save-match-data + ;; Solaris 2.x `rlogin' will spew a bunch of ioctl error messages if + ;; stdin isn't a tty. + (cond ((and (boundp 'system-configuration) + (stringp system-configuration) + (string-match "-solaris2" system-configuration)) + t) + (t nil))) "*If non-`nil', use a pty for the local rlogin process. If `nil', use a pipe (if pipes are supported on the local system). Generally it is better not to waste ptys on systems which have a static number of them. On the other hand, some implementations of `rlogin' assume a pty is being used, and errors will result from using a pipe instead." - :type '(choice (const :tag "ptys" t) - (const :tag "pipes" nil)) + :type '(choice (const :tag "pipes" nil) + (other :tag "ptys" t)) :group 'rlogin) (defcustom rlogin-directory-tracking-mode 'local @@ -93,7 +101,7 @@ simply setting this variable, since the function does the necessary re-synching of directories." :type '(choice (const :tag "off" nil) (const :tag "ftp" t) - (const :tag "local" local)) + (other :tag "local" local)) :group 'rlogin) (make-variable-buffer-local 'rlogin-directory-tracking-mode) @@ -237,6 +245,8 @@ variable." (cd-absolute (concat comint-file-name-prefix "~/")))) (error nil)))))) +(put 'rlogin-mode 'mode-class 'special) + (defun rlogin-mode () "Set major-mode for rlogin sessions. If `rlogin-mode-hook' is set, run it." @@ -310,7 +320,7 @@ local one share the same directories (through NFS)." (setq list (cons (substring line (match-beginning 0) (match-end 0)) list)) (setq posn (match-end 0))) - (store-match-data (match-data)) + (set-match-data (match-data)) (nreverse list))) (defun rlogin-carriage-filter (string) @@ -355,4 +365,6 @@ Delete ARG characters forward, or send a C-d to process if at end of buffer." (comint-dynamic-complete) (insert "\C-i"))) +(provide 'rlogin) + ;;; rlogin.el ends here