;;; 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 <friedman@prep.ai.mit.edu>
;; 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
;; 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'.
: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
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)
(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."
(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)
(comint-dynamic-complete)
(insert "\C-i")))
+(provide 'rlogin)
+
;;; rlogin.el ends here