;ELC ;;; compiled by erik@naggum.no on Tue Jun 25 14:41:53 1996 ;;; from file /home/gd/gnu/emacs/19.0/lisp/rlogin.el ;;; emacs version 19.31.4. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`rlogin.el' was compiled for Emacs 19.29 or later")) (byte-code "!!" [require comint shell] 2) #@35 *Name of program to invoke rlogin (defvar rlogin-program "rlogin" (#$ . -512)) #@59 *List of arguments to pass to rlogin on the command line. (defvar rlogin-explicit-args nil (#$ . -597)) #@60 *Hooks to run after setting current buffer to rlogin-mode. (defvar rlogin-mode-hook nil (#$ . -707)) #@343 *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. (defvar rlogin-process-connection-type nil (#$ . -815)) #@664 *Control whether and how to do directory tracking in an rlogin buffer. nil means don't do directory tracking. t means do so using an ftp remote file name. Any other value means do directory tracking using local file names. This works only if the remote machine and the local one share the same directories (through NFS). This is the default. This variable becomes local to a buffer when set in any fashion for it. It is better to use the function of the same name to change the behavior of directory tracking in an rlogin session once it has begun, rather than simply setting this variable, since the function does the necessary re-synching of directories. (defvar rlogin-directory-tracking-mode (quote local) (#$ . -1220)) (make-variable-buffer-local (quote rlogin-directory-tracking-mode)) #@63 *The name of the remote host. This variable is buffer-local. (defvar rlogin-host nil (#$ . -2024)) #@214 *The username used on the remote host. This variable is buffer-local and defaults to your local user name. If rlogin is invoked with the `-l' option to specify the remote username, this variable is set from that. (defvar rlogin-remote-user nil (#$ . -2131)) (byte-code "! B C\f:\fB\f! # # # # # #!L B‡" [boundp rlogin-mode-map nil current-load-list shell-mode-map keymap copy-keymap define-key "" rlogin-send-Ctrl-C "" rlogin-send-Ctrl-D "" rlogin-send-Ctrl-Z "" rlogin-send-Ctrl-backslash "" rlogin-delchar-or-send-Ctrl-D " " rlogin-tab-or-complete rlogin-history] 4) #@1653 Open a network login connection via `rlogin' with args INPUT-ARGS. INPUT-ARGS should start with a host name; it may also contain other arguments for `rlogin'. Input is sent line-at-a-time to the remote connection. Communication with the remote host is recorded in a buffer `*rlogin-HOST*' (or `*rlogin-USER@HOST*' if the remote username differs). If a prefix argument is given and the buffer `*rlogin-HOST*' already exists, a new buffer with a different connection will be made. When called from a program, if the optional second argument BUFFER is a string or buffer, it specifies the buffer to use. The variable `rlogin-program' contains the name of the actual program to run. It can be a relative or absolute path. The variable `rlogin-explicit-args' is a list of arguments to give to the rlogin when starting. They are added after any arguments given in INPUT-ARGS. If the default value of `rlogin-directory-tracking-mode' is t, then the default directory in that buffer is set to a remote (FTP) file name to access your home directory on the remote machine. Occasionally this causes an error, if you cannot access the home directory on that machine. This error is harmless as long as you don't try to use that default directory. If `rlogin-directory-tracking-mode' is neither t nor nil, then the default directory is initially set up to your (local) home directory. This is useful if the remote machine and your local machine share the same files via NFS. This is the default. If you wish to change directory tracking styles during a session, use the function `rlogin-directory-tracking-mode' rather than simply setting the variable. (defalias 'rlogin #[(input-args &optional buffer) "\n !\n\" !@A@# \n 4\";\n#z;Rz!b!zt#z!!!!%!!dϓ!!!\" !#!\n$." [rlogin-process-connection-type process-connection-type rlogin-explicit-args append rlogin-parse-words input-args args host "-l" user-login-name user format "*rlogin-%s*" "*rlogin-%s@%s*" buffer-name nil proc buffer bufferp "%s<%d>" generate-new-buffer-name get-buffer-create pop-to-buffer comint-check-proc comint-exec rlogin-program get-buffer-process process-mark fboundp make-local-hook comint-output-filter-functions make-local-variable add-hook rlogin-carriage-filter rlogin-mode rlogin-host rlogin-remote-user (byte-code "= ư!?P!" [rlogin-directory-tracking-mode t "/" rlogin-remote-user "@" rlogin-host ":" comint-file-name-prefix cd-absolute "~/"] 5) ((error))] 7 (#$ . 2771) (list (read-from-minibuffer "rlogin arguments (hostname first): " nil nil nil (quote rlogin-history)) current-prefix-arg)]) #@75 Set major-mode for rlogin sessions. If `rlogin-mode-hook' is set, run it. (defalias 'rlogin-mode #[nil " ! !!" [kill-all-local-variables shell-mode rlogin-mode major-mode "rlogin" mode-name use-local-map rlogin-mode-map rlogin-directory-tracking-mode shell-dirtrackp make-local-variable comint-file-name-prefix run-hooks rlogin-mode-hook] 2 (#$ . 5538) nil]) #@673 Do remote or local directory tracking, or disable entirely. If called with no prefix argument or a unspecified prefix argument (just ``\[universal-argument]'' with no number) do remote directory tracking via ange-ftp. If called as a function, give it no argument. If called with a negative prefix argument, disable directory tracking entirely. If called with a positive, numeric prefix argument, e.g. ``\[universal-argument] 1 M-x rlogin-directory-tracking-mode'', then do directory tracking but assume the remote filesystem is the same as the local system. This only works in general if the remote machine and the local one share the same directories (through NFS). (defalias 'rlogin-directory-tracking-mode #[(&optional prefix) " : Ȱ .W'.  `p!!d{`YPdZՎd|db ." [prefix t rlogin-directory-tracking-mode shell-dirtrackp "/" rlogin-remote-user "@" rlogin-host ":" comint-file-name-prefix 0 nil local "" get-buffer-process proc process-mark proc-mark current-input orig-point offset ((byte-code "b c\nd\nZb bć" [proc-mark current-input offset orig-point nil] 2)) shell-resync-dirs] 6 (#$ . 5926) "P"]) (defalias 'rlogin-parse-words #[(line) "  # O\fB !\f+" [nil 0 match-data posn list string-match "[^ \n]+" line store-match-data] 4]) (defalias 'rlogin-carriage-filter #[(string) " p!!!  GZb #,!b+" [point-marker process-mark get-buffer-process end boundp comint-last-output-start string beg search-forward " " t delete-char -1] 5]) (defalias 'rlogin-send-Ctrl-C #[nil "\"" [send-string nil ""] 3 nil nil]) (defalias 'rlogin-send-Ctrl-D #[nil "\"" [send-string nil ""] 3 nil nil]) (defalias 'rlogin-send-Ctrl-Z #[nil "\"" [send-string nil ""] 3 nil nil]) (defalias 'rlogin-send-Ctrl-backslash #[nil "\"" [send-string nil ""] 3 nil nil]) #@78 Delete ARG characters forward, or send a C-d to process if at end of buffer. (defalias 'rlogin-delchar-or-send-Ctrl-D #[(arg) "m \n!" [rlogin-send-Ctrl-D delete-char arg] 2 (#$ . 7834) "p"]) #@69 Complete file name if doing directory tracking, or just insert TAB. (defalias 'rlogin-tab-or-complete #[nil " c" [rlogin-directory-tracking-mode comint-dynamic-complete " "] 1 (#$ . 8038) nil])