Edit file File name : rlogin.elc Content :;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\307\311&\210\312\313\314\315\316DD\317\320\321\322\323\307\304& \210\312\324\314\315\325DD\326\320\321\322\327\307\304& \210\312\330\314\315\331DD\332\322\333\307\304&\210\312\334\314\315\335DD\336\337\340\322\341\307\304& \210\312\342\314\315\343DD\344\322\345\307\304&\210\346\342!\210\312\347\314\315\350DD\351\322\352\307\304&\210\312\353\314\315\354DD\355\322\356\307\304&\207" [require comint shell custom-declare-group rlogin nil "Remote login interface." :group processes unix custom-declare-variable rlogin-program funcall function #[0 "\300\207" [#1="ssh"] 1 #1#] "Name of program to invoke remote login." :version "24.4" :type string rlogin-explicit-args #[0 "\300\207" [("-t" "-t")] 1] "List of arguments to pass to `rlogin-program' on the command line." (repeat (string :tag "Argument")) rlogin-mode-hook #[0 "\300\207" [nil] 1] "Hooks to run after setting current buffer to rlogin-mode." hook rlogin-process-connection-type #[0 "\303\304\"\205 \305 \306\307\303#)\266\203\205 \307\207" [rlogin-program system-configuration inhibit-changing-match-data string-match "rlogin" "-solaris2" nil t] 7] "If non-nil, use a pty for the local rlogin process.\nIf nil, use a pipe (if pipes are supported on the local system).\n\nGenerally it is better not to waste ptys on systems which have a static\nnumber of them. On the other hand, some implementations of `rlogin' assume\na pty is being used, and errors will result from using a pipe instead." :set-after (rlogin-program) (choice (const :tag "pipes" nil) (other :tag "ptys" t)) rlogin-directory-tracking-mode #[0 "\300\207" [local] 1] "Control whether and how to do directory tracking in an rlogin buffer.\n\nnil means don't do directory tracking.\n\nt means do so using an ftp remote file name.\n\nAny other value means do directory tracking using local file names.\nThis works only if the remote machine and the local one\nshare the same directories (through NFS). This is the default.\n\nThis variable becomes local to a buffer when set in any fashion for it.\n\nIt is better to use the function of the same name to change the behavior of\ndirectory tracking in an rlogin session once it has begun, rather than\nsimply setting this variable, since the function does the necessary\nre-synching of directories." (choice (const :tag "off" nil) (const :tag "ftp" t) (other :tag "local" local)) make-variable-buffer-local rlogin-host #[0 "\300\207" [nil] 1] "The name of the default remote host. This variable is buffer-local." (choice (const nil) string) rlogin-remote-user #[0 "\300\207" [nil] 1] "The username used on the remote host.\nThis variable is buffer-local and defaults to your local user name.\nIf rlogin is invoked with the `-l' option to specify the remote username,\nthis variable is set from that." (choice (const nil) string)] 10) #@27 Keymap for `rlogin-mode'. (defvar rlogin-mode-map (byte-code ":\203 \301B\202 \302!\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\211\207" [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] 5) (#$ . 3291)) (defvar rlogin-history nil) #@1687 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. (fn INPUT-ARGS &optional BUFFER) (defalias 'rlogin #[513 "\n\203 \306\307!\n\"\202 \307!\211\211\203' \211@\310H\311U\203' \211A\262\202 \211@\262\312\235A@\2065 \313 \211\313 \230\203C \314\315\"\202H \314\316#\203z ;\203W \262\202z \317!\203e \320!\262\202z \247\203u \314\321#\262\202z \322!\262\323!\262\324!\210\325!?\205\317 \326\327%\210\330 \210\331\304!\210\331\305!\210\3321\315 !\333=\203\275 \334 \335\f\336\260\"\337\"!\202\311 !?\206\311 \337\"\340P!0\202\317 \210\327)\207" [rlogin-process-connection-type process-connection-type rlogin-explicit-args rlogin-program rlogin-host rlogin-remote-user append split-string 0 45 "-l" user-login-name format "*rlogin-%s*" "*rlogin-%s@%s*" bufferp buffer-name "%s<%d>" generate-new-buffer-name get-buffer-create switch-to-buffer comint-check-proc comint-exec nil rlogin-mode make-local-variable (error) t "/-:" "@" ":" cd-absolute "~/" rlogin-directory-tracking-mode comint-file-name-prefix] 12 (#$ . 3761) (byte-code "\302\303\304\305!\"\306\211\211\307% D\207" [rlogin-program current-prefix-arg read-from-minibuffer format-message "Arguments for `%s' (hostname first): " file-name-nondirectory nil rlogin-history] 6)]) (put 'rlogin-mode 'mode-class 'special) (defvar rlogin-mode-hook nil) (byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [rlogin-mode-hook variable-documentation put "Hook run after entering Rlogin mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp rlogin-mode-map definition-name rlogin-mode] 4) (defvar rlogin-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204 \303\307\310\311#\210\312\313 !\210\307\302N\204- \303\307\302\304\314!#\210\306\300!\204B \303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P \303\300\302\304\320!#\210\303\311\321\322#\207" [rlogin-mode-abbrev-table rlogin-mode-map variable-documentation put purecopy "Keymap for `rlogin-mode'." boundp rlogin-mode-syntax-table definition-name rlogin-mode (lambda (#1=#:def-tmp-var) (defvar rlogin-mode-syntax-table #1#)) make-syntax-table "Syntax table for `rlogin-mode'." (lambda (#1#) (defvar rlogin-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `rlogin-mode'." derived-mode-parent shell-mode] 5) #@483 Major mode derived from `shell-mode' by `define-derived-mode'. It inherits all of the parent's attributes, but has its own keymap, abbrev table and syntax table: `rlogin-mode-map', `rlogin-mode-abbrev-table' and `rlogin-mode-syntax-table' which more-or-less shadow shell-mode's corresponding tables. In addition to any hooks its parent mode might have run, this mode runs the hook `rlogin-mode-hook', as the final or penultimate step during initialization. \{rlogin-mode-map} (defalias 'rlogin-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324 \325\"\204R =\204R \326 \325C#\210\327!\210\330\f!\210 \306\331!\210)\332\333!\207" [delay-mode-hooks major-mode mode-name rlogin-mode-map rlogin-mode-syntax-table rlogin-mode-abbrev-table make-local-variable t shell-mode rlogin-mode "Rlogin" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table comint-file-name-prefix run-mode-hooks rlogin-mode-hook local-abbrev-table rlogin-directory-tracking-mode shell-dirtrackp] 5 (#$ . 7825) nil]) #@697 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 (e.g. through NFS). (fn &optional PREFIX) (defalias 'rlogin-directory-tracking-mode #[256 "\211\203 \211:\203 \305\211\306\n\307\310\260\202+ \211\311W\203% \312\211\202+ \313\314\305 \205a \315p!\316!\211d{`\211Y\205B dZ\317\311\320\321\322$\323\"\324$\216d|\210db\210\325 )\266\205\207" [rlogin-directory-tracking-mode shell-dirtrackp rlogin-remote-user rlogin-host comint-file-name-prefix t "/-:" "@" ":" 0 nil local "" get-buffer-process process-mark make-byte-code "\300b\210\301c\210\303\203 d\303Zb\207\302b\207" vconcat vector [] 2 shell-resync-dirs] 16 (#$ . 9119) "P"]) (defalias 'rlogin-send-Ctrl-C #[0 "\300\301\302\"\207" [process-send-string nil ""] 3 nil nil]) (defalias 'rlogin-send-Ctrl-D #[0 "\300\301\302\"\207" [process-send-string nil ""] 3 nil nil]) (defalias 'rlogin-send-Ctrl-Z #[0 "\300\301\302\"\207" [process-send-string nil ""] 3 nil nil]) (defalias 'rlogin-send-Ctrl-backslash #[0 "\300\301\302\"\207" [process-send-string nil ""] 3 nil nil]) #@88 Delete ARG characters forward, or send a C-d to process if at end of buffer. (fn ARG) (defalias 'rlogin-delchar-or-send-Ctrl-D #[257 "m\203 \300 \207\301!\207" [rlogin-send-Ctrl-D delete-char] 3 (#$ . 10780) "p"]) #@69 Complete file name if doing directory tracking, or just insert TAB. (defalias 'rlogin-tab-or-complete #[0 "\203 \301 \207\302c\207" [rlogin-directory-tracking-mode completion-at-point " "] 1 (#$ . 11003) nil]) (provide 'rlogin) Save