;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(defconst term-protocol-version "0.96")
(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310\311\312\313%\207" [require comint ansi-color ehelp ring shell custom-declare-group term nil "General command interpreter in a window." :group processes] 6)#@29 Size of input history ring.
(defvar term-input-ring-size 32 (#$ . 369))#@94 When using alternate sub-buffer,
contains saved `term-home-marker' from original sub-buffer.
(defvar term-saved-home-marker nil (#$ . 446))#@62 (current-column) at start of screen line, or nil if unknown.
(defvar term-start-line-column 0 (#$ . 591))#@44 If non-nil, is cache for (current-column).
(defvar term-current-column 0 (#$ . 702))#@67 Current vertical row (relative to home-marker) or nil if unknown.
(defvar term-current-row 0 (#$ . 792))
(defvar term-insert-mode nil)#@193 Last character was a graphic in the last column.
If next char is graphic, first move one column right
(and line warp) before displaying it.
This emulates (more or less) the behavior of xterm.
(defvar term-do-line-wrapping nil (#$ . 933))#@51 A queue of strings whose echo we want suppressed.
(defvar term-kill-echo-list nil (#$ . 1176))
(defvar term-terminal-undecoded-bytes nil)
(defvar term-current-face 'term)#@222 Top-most line (inclusive) of the scrolling region.
`term-scroll-start' must be in the range [0,term-height).  In addition, its
value has to be smaller than `term-scroll-end', i.e. one line scroll regions are
not allowed.
(defvar term-scroll-start 0 (#$ . 1353))
(make-variable-buffer-local 'term-scroll-start)#@225 Bottom-most line (inclusive) of the scrolling region.
`term-scroll-end' must be in the range [0,term-height).  In addition, its
value has to be greater than `term-scroll-start', i.e. one line scroll regions
are not allowed.
(defvar term-scroll-end nil (#$ . 1669))
(make-variable-buffer-local 'term-scroll-end)#@69 Number of lines before we need to page; if nil, paging is disabled.
(defvar term-pager-count nil (#$ . 1985))
(defvar term-saved-cursor nil)
(byte-code "\300\301\302\303#\210\304\211\203( \211@\301N\203! \302N\204! \305\302\301N#\210A\266\202\202 \210\306\301\302\307#\207" [defvaralias term-command-hook term-command-function nil (saved-value saved-variable-comment) put make-obsolete-variable "27.1"] 7)
(defvar term-command-function 'term-command-hook)
(defvar term-log-buffer nil)#@243 If t, forward scrolling should be implemented by delete to
top-most line(s); and if nil, scrolling should be implemented
by moving `term-home-marker'.  It is set to t if there is a
(non-default) scroll-region OR the alternate buffer is used.
(defvar term-scroll-with-delete nil (#$ . 2482))#@41 Saves the old keymap when in char mode.
(defvar term-old-mode-map nil (#$ . 2778))#@32 Saves old keymap while paging.
(defvar term-pager-old-local-map nil (#$ . 2866))#@58 The `buffer-read-only' state to set in `term-line-mode'.
(defvar term-line-mode-buffer-read-only nil (#$ . 2952))
(make-variable-buffer-local 'term-line-mode-buffer-read-only)#@371 Regexp to recognize prompts in the inferior process.
Defaults to "^", the null string at BOL.

Good choices:
  Canonical Lisp: "^[^> \n]*>+:? *" (Lucid, franz, kcl, T, cscheme, oaklisp)
  Lucid Common Lisp: "^\\(>\\|\\(->\\)+\\) *"
  franz: "^\\(->\\|<[0-9]*>:\\) *"
  kcl: "^>+ *"
  shell: "^[^#$%>\n]*[#$%>] *"
  T: "^>+ *"

This is a good thing to set in mode hooks.
(defvar term-prompt-regexp "^" (#$ . 3134))#@381 List of characters to recognize as separate arguments in input.
Strings comprising a character in this list will separate the arguments
surrounding them, and also be regarded as arguments in their own right
(unlike whitespace).  See `term-arguments'.
Defaults to the empty list.

For shells, a good value is (?\| ?& ?< ?> ?\( ?\) ?\;).

This is a good thing to set in mode hooks.
(defvar term-delimiter-argument-list nil (#$ . 3554))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\310\311&\210\300\316\302\303\317DD\320\306\315\310\311&\210\300\321\302\303\322DD\323\324\325\306\315\310\311&	\210\300\326\302\303\327DD\330\306\315\324\331&\210\300\332\302\303\333DD\334\324\325\306\315\310\311&	\210\300\335\302\303\336DD\337\306\340\310\311&\210\300\341\302\303\342DD\343\324\331\306\315&\210\300\344\302\303\345DD\346\306\315\310\311&\210\300\347\302\303\350DD\351\324\352\306\315\310\311&	\210\353\347\354\355#\210\300\356\302\303\357DD\360\324\361\306\315\310\311&	\207" [custom-declare-variable term-input-autoexpand funcall function #[0 "\300\207" [nil] 1 #1=""] "If non-nil, expand input command history references on completion.\nThis mirrors the optional behavior of tcsh (its autoexpand and histlit).\n\nIf the value is `input', then the expansion is seen on input.\nIf the value is `history', then the expansion is only when inserting\ninto the buffer's input ring.  See also `term-magic-space' and\n`term-dynamic-complete'.\n\nThis variable is buffer-local." :type (choice (const nil) (const t) (const input) (const history)) :group term term-input-ignoredups #[0 "\300\207" [nil] 1 #1#] "If non-nil, don't add input matching the last on the input ring.\nThis mirrors the optional behavior of bash.\n\nThis variable is buffer-local." boolean term-input-ring-file-name #[0 "\300\207" [nil] 1 #1#] "If non-nil, name of the file to read/write input history.\nSee also `term-read-input-ring' and `term-write-input-ring'.\n\nThis variable is buffer-local, and is a good thing to set in mode hooks." term-char-mode-buffer-read-only #[0 "\300\207" [t] 1 #1#] "If non-nil, only the process filter may modify the buffer in char mode.\n\nA non-nil value makes the buffer read-only in `term-char-mode',\nwhich prevents editing commands from making the buffer state\ninconsistent with the state of the terminal understood by the\ninferior process.  Only the process filter is allowed to make\nchanges to the buffer.\n\nCustomize this option to nil if you want the previous behavior." :version "26.1" term-set-terminal-size #[0 "\300\207" [nil] 1 #1#] "If non-nil, set the LINES and COLUMNS environment variables." "28.1" term-char-mode-point-at-process-mark #[0 "\300\207" [t] 1 #1#] "If non-nil, keep point at the process mark in char mode.\n\nA non-nil value causes point to be moved to the current process\nmark after each command in `term-char-mode' (provided that the\npre-command point position was also at the process mark).  This\nprevents commands that move point from making the buffer state\ninconsistent with the state of the terminal understood by the\ninferior process.\n\nMouse events are not affected, so moving point and selecting text\nis still possible in char mode via the mouse, after which other\ncommands can be invoked on the mouse-selected point or region,\nuntil the process filter (or user) moves point to the process\nmark once again.\n\nCustomize this option to nil if you want the previous behavior." term-scroll-to-bottom-on-output #[0 "\300\207" [nil] 1 #1#] "Controls whether interpreter output causes window to scroll.\nIf nil, then do not scroll.  If t, scroll all windows showing buffer.\nIf `this', scroll only the selected window.\nIf `others', scroll only those that are not the selected window.\n\nThe default is nil.\n\nSee variable `term-scroll-show-maximum-output'.\nThis variable is buffer-local." (choice (const :tag "Don't scroll" nil) (const :tag "Scroll selected window only" this) (const :tag "Scroll unselected windows" others) (other :tag "Scroll all windows" t)) term-scroll-snap-to-bottom #[0 "\300\207" [t] 1 #1#] "Control whether to keep the prompt at the bottom of the window.\nIf non-nil, when the prompt is visible within the window, then\nscroll so that the prompt is on the bottom on any input or\noutput." term-scroll-show-maximum-output #[0 "\300\207" [nil] 1 #1#] "Controls how interpreter output causes window to scroll.\nIf non-nil, then show the maximum output when the window is scrolled.\n\nSee variable `term-scroll-to-bottom-on-output'.\nThis variable is buffer-local." term-suppress-hard-newline #[0 "\300\207" [nil] 1 #1#] "Non-nil means interpreter should not break long lines with newlines.\nThis means text can automatically reflow if the window is resized." "24.4" make-obsolete-variable nil "27.1" term-clear-full-screen-programs #[0 "\300\207" [t] 1 #1#] "Whether to clear contents of full-screen terminal programs after exit.\nIf non-nil, output of full-screen terminal programs is cleared after\nexiting them.  Note however that a minority of such programs\ndon't send an appropriate escape sequence to the terminal before\nexiting so their output isn't cleared regardless of this option." "29.1"] 10)
(defvar term-pending-frame nil)#@312 Function that submits old text in term mode.
This function is called when return is typed while the point is in old text.
It returns the text to be submitted as process input.  The default is
`term-get-old-input-default', which grabs the current line, and strips off
leading text matching `term-prompt-regexp'.
(defvar term-get-old-input 'term-get-old-input-default (#$ . 8828))#@188 List of functions called to perform completion.
Functions should return non-nil if completion was performed.
See also `term-dynamic-complete'.

This is a good thing to set in mode hooks.
(defvar term-dynamic-complete-functions '(term-replace-by-expanded-history term-dynamic-complete-filename) (#$ . 9213))#@190 Predicate for filtering additions to input history.
Only inputs answering true to this function are saved on the input
history list.  Default is to save anything that isn't all whitespace.
(defvar term-input-filter #[257 "\300\301\"?\207" [string-match "\\`\\s *\\'"] 4 "\n\n(fn STR)"] (#$ . 9526))#@160 Functions to call before input is sent to the process.
These functions get one argument, a string containing the text to send.

This variable is buffer-local.
(defvar term-input-filter-functions nil (#$ . 9832))#@295 Function to actually send to PROCESS the STRING submitted by user.
Usually this is just `term-simple-send', but if your mode needs to
massage the input string, this is your hook.  This is called from
the user command `term-send-input'.  `term-simple-send' just sends
the string plus a newline.
(defvar term-input-sender 'term-simple-send (#$ . 10050))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\310\311&\210\300\316\302\303\317DD\320\306\315\310\311&\207" [custom-declare-variable term-eol-on-send funcall function #[0 "\300\207" [t] 1 #1=""] "Non-nil means go to the end of the line before sending input.\nSee `term-send-input'." :type boolean :group term term-mode-hook #[0 "\300\207" [nil] 1 #1#] "Called upon entry into term mode.\nThis is run before the process is cranked up." hook term-exec-hook #[0 "\300\207" [nil] 1 #1#] "Called each time a process is exec'd by `term-exec'.\nThis is called after the process is cranked up.  It is useful for things that\nmust be done each time a process is executed in a term mode buffer (e.g.,\n`set-process-query-on-exit-flag').  In contrast, `term-mode-hook' is only\nexecuted once, when the buffer is created."] 8)#@112 Keymap for "line mode" in Term mode.  For custom keybindings purposes
please note there is also `term-raw-map'
(defvar term-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\331#\210\301\332\333#\210\301\334\335#\210\301\336\337#\210\301\340\341#\210\301\342\343#\210\301\344\317#\210\301\345\346#\210\301\347\350#\210\301\351\352#\210\301\353\354#\210\301\355\356#\210\301\357\360#\210\301\361\362#\210\301\363\364#\210\365\366\367\370$\210\365\366\371\372$\210\207" [make-sparse-keymap define-key "p" term-previous-input "n" term-next-input "r" term-previous-matching-input "s" term-next-matching-input [138412146] term-previous-matching-input-from-input [138412147] term-next-matching-input-from-input "\f" term-show-output "" term-send-input "" term-delchar-or-maybe-eof "" term-bol "" term-kill-input "" backward-kill-word "" term-interrupt-subjob "" term-stop-subjob "" term-quit-subjob "" term-copy-old-input "" term-kill-output "" "" term-show-maximum-output "\f" term-dynamic-list-input-ring "" term-next-prompt "" term-previous-prompt "" term-send-eof "" term-char-mode "\n" term-line-mode "" term-pager-toggle easy-menu-do-define nil "Complete menu for Term mode." ("Complete" ["Complete Before Point" term-dynamic-complete t] ["Complete File Name" term-dynamic-complete-filename t] ["File Completion Listing" term-dynamic-list-filename-completions t] ["Expand File Name" term-replace-by-expanded-filename t]) "In/Out menu for Term mode." ("In/Out" ["Expand History Before Point" term-replace-by-expanded-history term-input-autoexpand] ["List Input History" term-dynamic-list-input-ring t] ["Previous Input" term-previous-input t] ["Next Input" term-next-input t] ["Previous Matching Current Input" term-previous-matching-input-from-input t] ["Next Matching Current Input" term-next-matching-input-from-input t] ["Previous Matching Input..." term-previous-matching-input t] ["Next Matching Input..." term-next-matching-input t] ["Backward Matching Input..." term-backward-matching-input t] ["Forward Matching Input..." term-forward-matching-input t] ["Copy Old Input" term-copy-old-input t] ["Kill Current Input" term-kill-input t] ["Show Current Output Group" term-show-output t] ["Show Maximum Output" term-show-maximum-output t] ["Backward Output Group" term-previous-prompt t] ["Forward Output Group" term-next-prompt t] ["Kill Current Output Group" term-kill-output t])] 6) (#$ . 11273))#@113 Escape character for char sub-mode of term mode.
Do not change it directly; use `term-set-escape-char' instead.
(defvar term-escape-char nil (#$ . 13922))#@33 Keymap used in Term pager mode.
(defvar term-pager-break-map (byte-code "\300 \301\302\303\304 \302\"#\210\301\305\303\304 \305\"#\210\301\306\303\304 \306\"#\210\301\307\310#\210\301\311\312#\210\301\313\314#\210\301\315\314#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\331#\210\207" [make-keymap define-key "" lookup-key current-global-map "" "" " " term-pager-page "" term-pager-line "?" term-pager-help "h" "b" term-pager-back-page "" term-pager-back-line "q" term-pager-discard "D" term-pager-disable "<" term-pager-bob ">" term-pager-eob] 7) (#$ . 14082))#@126 Non-nil if communications via pty; false if by pipe.  Buffer local.
This is to work around a bug in Emacs process signaling.
(defvar term-ptyp t (#$ . 14721))#@95 Last string searched for by term input history search, for defaulting.
Buffer local variable.
(defvar term-last-input-match "" (#$ . 14885))
(defvar term-input-ring nil)#@40 Index of last matched history element.
(defvar term-input-ring-index nil (#$ . 15060))#@47 Input previously used to match input history.
(defvar term-matching-input-from-input-string "" (#$ . 15152))
(defvar term-pager-filter t)
(byte-code "\300\301\302\303#\210\300\304\302\303#\210\300\305\302\303#\210\300\306\302\303#\210\300\307\302\303#\210\300\310\302\303#\210\300\311\302\303#\207" [put term-input-ring permanent-local t term-input-ring-index term-input-autoexpand term-input-filter-functions term-scroll-to-bottom-on-output term-scroll-show-maximum-output term-ptyp] 4)
(defalias 'term-in-char-mode '(macro . #[0 "\300\207" [(eq (current-local-map) term-raw-map)] 1]))
(defalias 'term-in-line-mode '(macro . #[0 "\300\207" [(not (term-in-char-mode))] 1]))
(defalias 'term-pager-enabled '(macro . #[0 "\300\207" [term-pager-count] 1]))
(defalias 'term-handling-pager '(macro . #[0 "\300\207" [term-pager-old-local-map] 1]))
(defalias 'term-using-alternate-sub-buffer '(macro . #[0 "\300\207" [term-saved-home-marker] 1]))
(defvar term-ansi-at-host nil)
(defvar term-ansi-at-dir nil)
(defvar term-ansi-at-user nil)
(defvar term-ansi-at-message nil)
(defvar term-ansi-at-save-user nil)
(defvar term-ansi-at-save-pwd nil)
(defvar term-ansi-at-save-anon nil)
(defvar term-ansi-current-bold nil)
(defvar term-ansi-current-faint nil)
(defvar term-ansi-current-italic nil)
(defvar term-ansi-current-underline nil)
(defvar term-ansi-current-slow-blink nil)
(defvar term-ansi-current-fast-blink nil)
(defvar term-ansi-current-color 0)
(defvar term-ansi-face-already-done nil)
(defvar term-ansi-current-bg-color 0)
(defvar term-ansi-current-reverse nil)
(defvar term-ansi-current-invisible nil)
(make-obsolete-variable 'term-ansi-face-already-done "it doesn't have any effect." "29.1")
(defvar ansi-term-color-vector [term term-color-black term-color-red term-color-green term-color-yellow term-color-blue term-color-magenta term-color-cyan term-color-white term-color-bright-black term-color-bright-red term-color-bright-green term-color-bright-yellow term-color-bright-blue term-color-bright-magenta term-color-bright-cyan term-color-bright-white])
(custom-declare-face 'term '((t :inherit default)) "Default face to use in Term mode." :group 'term)
(custom-declare-face 'term-bold '((t :inherit ansi-color-bold)) "Default face to use for bold text." :group 'term :version "28.1")
(custom-declare-face 'term-faint '((t :inherit ansi-color-faint)) "Default face to use for faint text." :group 'term :version "29.1")
(custom-declare-face 'term-italic '((t :inherit ansi-color-italic)) "Default face to use for italic text." :group 'term :version "29.1")
(custom-declare-face 'term-underline '((t :inherit ansi-color-underline)) "Default face to use for underlined text." :group 'term :version "28.1")
(custom-declare-face 'term-slow-blink '((t :inherit ansi-color-slow-blink)) "Default face to use for slowly blinking text." :group 'term :version "29.1")
(custom-declare-face 'term-fast-blink '((t :inherit ansi-color-fast-blink)) "Default face to use for rapidly blinking text." :group 'term :version "29.1")
(custom-declare-face 'term-color-black '((t :inherit ansi-color-black)) "Face used to render black color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-red '((t :inherit ansi-color-red)) "Face used to render red color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-green '((t :inherit ansi-color-green)) "Face used to render green color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-yellow '((t :inherit ansi-color-yellow)) "Face used to render yellow color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-blue '((t :inherit ansi-color-blue)) "Face used to render blue color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-magenta '((t :inherit ansi-color-magenta)) "Face used to render magenta color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-cyan '((t :inherit ansi-color-cyan)) "Face used to render cyan color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-white '((t :inherit ansi-color-white)) "Face used to render white color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-bright-black '((t :inherit ansi-color-bright-black)) "Face used to render bright black color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-bright-red '((t :inherit ansi-color-bright-red)) "Face used to render bright red color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-bright-green '((t :inherit ansi-color-bright-green)) "Face used to render bright green color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-bright-yellow '((t :inherit ansi-color-bright-yellow)) "Face used to render bright yellow color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-bright-blue '((t :inherit ansi-color-bright-blue)) "Face used to render bright blue color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-bright-magenta '((t :inherit ansi-color-bright-magenta)) "Face used to render bright magenta color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-bright-cyan '((t :inherit ansi-color-bright-cyan)) "Face used to render bright cyan color code." :group 'term :version "28.1")
(custom-declare-face 'term-color-bright-white '((t :inherit ansi-color-bright-white)) "Face used to render bright white color code." :group 'term :version "28.1")
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313&	\210\300\314\302\303\315DD\316\310\317\312\320&\207" [custom-declare-variable term-buffer-maximum-size funcall function #[0 "\300\207" [8192] 1 #1=""] "The maximum size in lines for term buffers.\nTerm buffers are truncated from the top to be no greater than this number.\nNotice that a setting of 0 means \"don't truncate anything\".  This variable\nis buffer-local." :group term :type natnum :version "27.1" term-bind-function-keys #[0 "\300\207" [nil] 1 #1#] "If nil, don't alter <f1>, <f2> and so on.\nIf non-nil, bind these keys in `term-mode' and send them to the\nunderlying shell." boolean "29.1"] 10)#@145 Keyboard map for sending characters directly to the inferior process.
For custom keybindings purposes please note there is also
`term-mode-map'
(defvar term-raw-map (byte-code "\302 \302 \303\211\304W\2031 \305\306\307\"\310#\210\211\311=\204* \211\312=\204* \305\306\307\"\313#\210\211T\262\202 \305\314\310#\210\305\315#\210\305\316\317#\210\305\320\321#\210\305\322\323#\210\305\324\325#\210\305\326\327#\210\305\330\331#\210\305\332\333#\210\305\334\335#\210\305\336\337#\210\305\340\341#\210\305\342\341#\210\305\343\344#\210\305\345\346#\210\305\347\350#\210\305\351\352#\210\305\353\354#\210\305\355\356#\210\305\357\360#\210\305\361\362#\210\305\363\364#\210\305\365\366#\210\305\367\370#\210	\203\335 \303\211\371W\203\334 \372\373\374\"\375#\210\211T\262\202\306 \210)\207" [esc-map term-bind-function-keys make-keymap 0 128 define-key make-string 1 term-send-raw 79 91 term-send-raw-meta [remap self-insert-command] "" [mouse-2] term-mouse-paste [up] term-send-up [down] term-send-down [right] term-send-right [left] term-send-left [C-up] term-send-ctrl-up [C-down] term-send-ctrl-down [C-right] term-send-ctrl-right [C-left] term-send-ctrl-left [delete] term-send-del [deletechar] [backspace] term-send-backspace [home] term-send-home [end] term-send-end [insert] term-send-insert [S-prior] scroll-down [S-next] scroll-up [S-insert] term-paste [prior] term-send-prior [next] term-send-next [xterm-paste] term--xterm-paste [67108911] term-send-C-_ 21 keymap-set format "<f%d>" term-send-function-key] 8) (#$ . 21284))#@30 Terminal menu for Term mode.
(defvar term-terminal-menu nil (#$ . 22855))
(byte-code "\303\304	\nE\305\306$\207" [term-mode-map term-raw-map term-pager-break-map easy-menu-do-define term-terminal-menu "Terminal menu for Term mode." ("Terminal" ["Line mode" term-line-mode :active (term-in-char-mode) :help "Switch to line (cooked) sub-mode of term mode"] ["Character mode" term-char-mode :active (term-in-line-mode) :help "Switch to char (raw) sub-mode of term mode"] ["Paging" term-pager-toggle :style toggle :selected term-pager-count :help "Toggle paging feature"])] 5)#@24 

(fn &optional FORCE)
(defalias 'term--update-term-menu #[256 "\302\303\"\205! \211\204 \304 \205! \305\306\307 \"\310\311\312\313\314\"\311	%\262\207" [term-mode-map term-terminal-menu lookup-key [menu-bar terminal] frame-or-buffer-changed-p seq-filter #[257 "\300\301\302\"\303\"\207" [provided-mode-derived-p buffer-local-value major-mode term-mode] 5 "\n\n(fn BUFFER)"] buffer-list easy-menu-change nil "Terminal Buffers" mapcar #[257 "\300\301\302\303!\304\305\306\"!#\307\310\"\"\207" [vector format "%s (%s)" buffer-name abbreviate-file-name buffer-local-value default-directory make-closure #[0 "\301\300!\207" [V0 switch-to-buffer] 2 nil nil]] 9 "\n\n(fn BUFFER)"]] 8 (#$ . 23434)])#@29 Signals menu for Term mode.
(defvar term-signals-menu nil (#$ . 24141))
(byte-code "\303\304	\nE\305\306$\207" [term-mode-map term-raw-map term-pager-break-map easy-menu-do-define term-signals-menu "Signals menu for Term mode." ("Signals" ["BREAK" term-interrupt-subjob :active t :help "Interrupt the current subjob"] ["STOP" term-stop-subjob :active t :help "Stop the current subjob"] ["CONT" term-continue-subjob :active t :help "Send CONT signal to process buffer's process group"] ["QUIT" term-quit-subjob :active t :help "Send quit signal to the current subjob"] ["KILL" term-kill-subjob :active t :help "Send kill signal to the current subjob"] ["EOF" term-send-eof :active t :help "Send an EOF to the current buffer's process"])] 5)#@27 Menu for Term pager mode.
(defvar term-pager-menu nil (#$ . 24887))
(easy-menu-do-define 'term-pager-menu term-pager-break-map "Menu for Term pager mode." '("More pages?" ["1 page forwards" term-pager-page t] ["1 page backwards" term-pager-back-page t] ["1 line backwards" term-pager-back-line t] ["1 line forwards" term-pager-line t] ["Goto to beginning" term-pager-bob t] ["Goto to end" term-pager-eob t] ["Discard remaining output" term-pager-discard t] ["Disable paging" term-pager-toggle t] ["Help" term-pager-help t]))
(defvar term-raw-escape-map (byte-code "\300 \301\302\"\210\303\304\305\306 \304\"#\210\303\307\305\306 \307\"#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\207" [make-sparse-keymap set-keymap-parent Control-X-prefix define-key "" lookup-key current-global-map "" "" term-pager-toggle "" term-char-mode "\n" term-line-mode [134217848] execute-extended-command] 7))#@68 Change `term-escape-char' and keymaps that depend on it.

(fn KEY)
(defalias 'term-set-escape-char #[257 "\203 \303	\304#\210\303\n\305\306$\210\307!\203 \211\202 \310!\303	\n#\210\303\n\304#\207" [term-escape-char term-raw-map term-raw-escape-map define-key term-send-raw nil t vectorp vector] 6 (#$ . 25820)])
(byte-code "\301\206 \302!\210\303\304\305\306#\207" [term-escape-char term-set-escape-char 3 put term-mode mode-class special] 4)
(defvar term-display-table (byte-code "\301!\206 \302 \303\304\262\211\305W\203  \306!I\210\211T\262\202\f \307\262\211\310W\2037 \306!I\210\211T\262\202# \311\262\211\312W\203N \306!I\210\211T\262\202: \207" [standard-display-table copy-sequence make-display-table nil 0 10 vector 11 32 128 256] 6))
(defalias 'term-ansi-reset #[0 "\306\307\211\307\211\307\211	\307\n\310\307\f\310\211\207" [term-current-face term-ansi-current-bold term-ansi-current-faint term-ansi-current-italic term-ansi-current-underline term-ansi-current-slow-blink term nil 0 term-ansi-current-fast-blink term-ansi-current-reverse term-ansi-current-color term-ansi-current-invisible term-ansi-current-bg-color] 3])
(defvar term-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [term-mode-hook variable-documentation put "Hook run after entering Term mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp term-mode-map definition-name term-mode] 4)
(defvar term-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\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\303\311\320\313#\207" [term-mode-abbrev-table term-mode-map variable-documentation put purecopy "Keymap for `term-mode'." boundp term-mode-syntax-table definition-name term-mode defvar-1 nil make-syntax-table "Syntax table for `term-mode'." define-abbrev-table "Abbrev table for `term-mode'." derived-mode-parent] 5)#@1825 Major mode for interacting with an inferior interpreter.
The interpreter name is same as buffer name, sans the asterisks.

There are two submodes: line mode and char mode.  By default, you are
in char mode.  In char sub-mode, each character (except
`term-escape-char') is sent immediately to the subprocess.
The escape character is equivalent to the usual meaning of C-x.

In line mode, you send a line of input at a time; use
\[term-send-input] to send.

In line mode, this maintains an input history of size
`term-input-ring-size', and you can access it with the commands
\[term-next-input], \[term-previous-input], and
\[term-dynamic-list-input-ring].  Input ring history expansion can be
achieved with the commands \[term-replace-by-expanded-history] or
\[term-magic-space].  Input ring expansion is controlled by the
variable `term-input-autoexpand', and addition is controlled by the
variable `term-input-ignoredups'.

Input to, and output from, the subprocess can cause the window to scroll to
the end of the buffer.  See variables `term-scroll-snap-to-bottom',
and `term-scroll-to-bottom-on-output'.

If you accidentally suspend your process, use \[term-continue-subjob]
to continue it.

This mode can be customized to create specific modes for running
particular subprocesses.  This can be done by setting the hooks
`term-input-filter-functions', `term-input-filter',
`term-input-sender' and `term-get-old-input' to appropriate functions,
and the variable `term-prompt-regexp' to the appropriate regular
expression.

If you define custom keybindings, make sure to assign them to the
correct keymap (or to both): use `term-raw-map' in raw mode and
`term-mode-map' in line mode.

Commands in raw mode:

\{term-raw-map}

Commands in line mode:

\{term-mode-map}

Entry to this mode runs the hooks on `term-mode-hook'.
(defalias 'term-mode #[0 "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210@\315ABC\306\316!\210\317\320!\306\321!\210\322\323 !\306\324!\210\325 \306\326!\210\327 \306\330!\210\327 \306\331!\210\332\306\333!\210\306\334!\210\306\335!\210\306\336!\210\306\337!\210\306\340!\210\306\341!\210\204x \342!\306\343!\210\344 #\306\345!\210D%\306\346!\210\315&\306\347!\210\306\350!\210\306\351!\210\306\352!\210\306\353!\210\306\354!\210\306\355!\210\306\356!\210\306\357!\210\306\360!\210\306\361!\210\306\362!\210\306\363!\210\306\364!\210\306\365!\210\306\366!\210\306\367!\210\306\370!\210\306\371!\210\306\372!\210\306\373!\210\306\374!\210\306\375!\210\306\376!\210\306\377!\210\306\201J !\210\306\201K !\210\306\201L !\210\306\201M !\210\306\201N !\210\306\201O !\210\306\201P !\210\306\201Q !\210\306\201R !\210\306\201E !\210\201S E\306\201F !\210\327 F\306\201T !\210\201U  \210\201V \201W \201X \"\210\306\201G !\210\315G\306\201H !\210\315H\306\201I !\210\201Y I\201Z \201[ \201\\ \201] B\201^ \315$\210\201Z \201[ \201_ \201` B\201a \201b $\210\201V \201c \201d \315\307$\210\201e  \210\204\266\342!\201f  )\210\201g \201h !\207" [delay-mode-hooks major-mode mode-name term-mode-map term-mode-syntax-table term-mode-abbrev-table make-local-variable t kill-all-local-variables term-mode "Term" use-local-map set-syntax-table nil term-home-marker copy-marker 0 term-height floor window-screen-lines term-width window-max-chars-per-line term-last-input-start make-marker term-last-input-end term-last-input-match "" term-saved-home-marker term-saved-cursor term-prompt-regexp term-input-ring-size term-input-ring term-input-ring-file-name term-input-ring-index make-ring term-ansi-at-host system-name term-ansi-at-dir term-ansi-at-message ange-ftp-default-user ange-ftp-default-password ange-ftp-generate-anonymous-password term-buffer-maximum-size term-ansi-current-bold term-ansi-current-color term-ansi-face-already-done term-ansi-current-bg-color term-ansi-current-underline term-ansi-current-reverse term-ansi-current-invisible term-terminal-undecoded-bytes term-do-line-wrapping term-kill-echo-list term-start-line-column term-current-column term-current-row term-log-buffer term-pager-count term-pager-old-local-map term-old-mode-map term-insert-mode term-completion-fignore term-get-old-input term-matching-input-from-input-string local-abbrev-table indent-tabs-mode term-display-table buffer-display-table default-directory term-vertical-motion term-pending-delete-marker term-pending-frame cua-mode font-lock-defaults term-input-autoexpand term-input-ignoredups term-delimiter-argument-list term-input-filter term-input-sender term-eol-on-send term-scroll-to-bottom-on-output term-scroll-show-maximum-output term-ptyp vertical-motion term-current-face term-ansi-reset add-hook menu-bar-update-hook term--update-term-menu (nil t) advice--add-function :filter-return #[0 "\300\301!\207" [advice--buffer-local filter-buffer-substring-function] 2] #[257 "\300\301\"\207" [advice--set-buffer-local filter-buffer-substring-function] 4 "\n\n(fn GV--VAL)"] term--filter-buffer-substring #[0 "\300\301!\207" [advice--buffer-local window-adjust-process-window-size-function] 2] #[257 "\300\301\"\207" [advice--set-buffer-local window-adjust-process-window-size-function] 4 "\n\n(fn GV--VAL)"] #[257 "\211\203 \300A@\"\210\207" [term-reset-size] 4 "\n\n(fn SIZE)"] ((name . term-maybe-reset-size)) read-only-mode-hook term-line-mode-buffer-read-only-update term--reset-scroll-region term-update-mode-line run-mode-hooks term-mode-hook] 5 (#$ . 28056) nil])
(defalias 'term--remove-fake-newlines #[0 "eb\210\301\302`\303\"\211\262\205& \211b\210\301f\304=\204 \305\306!\210\307\310\311!)\210\202 \207" [inhibit-read-only nil next-single-property-change term-line-wrap 10 cl--assertion-failed (eq 10 (char-after)) t delete-char 1] 4])
(defalias 'term--last-line #[0 "S\207" [term-height] 1])#@16 

(fn CONTENT)
(defalias 'term--filter-buffer-substring #[257 "\300\301\302\"r\211q\210\303\304\"\216c\210\305 \210\306 *\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] term--remove-fake-newlines buffer-string] 5 (#$ . 33836)])#@14 

(fn WIDTH)
(defalias 'term--unwrap-visible-long-lines #[257 "\212b\210\302!\210m?\205$ l\203 \303u\210\202 \304\305 )\210\302!\210\202 )\207" [term-home-marker inhibit-read-only move-to-column nil t term-unwrap-line] 3 (#$ . 34142)])#@21 

(fn HEIGHT WIDTH)
(defalias 'term-reset-size #[514 "U\203 \211	U?\205M \211	U\204 \212\306 )\210`\307\n!\310\211\310\311 \210\312!\210\310\211\310b\210\205K \313 \210\nV\205K \314\211\n|)\266\202\207" [term-height term-width term-home-marker term-start-line-column term-current-row term-current-column term--remove-fake-newlines marker-position nil term--reset-scroll-region term--unwrap-visible-long-lines term-handle-deferred-scroll t term-saved-home-marker inhibit-read-only] 7 (#$ . 34390)])
(defalias 'term-check-kill-echo-list #[0 "\304C`\305\306#\216\304\210\203H @\211G`Z\211eY\203? `{\230\203? \307[!\210A\304\211\304\211\262\310\240\266\202 A\262\266\202 )\242\207" [term-kill-echo-list term-current-column term-current-row term-start-line-column nil make-closure #[0 "\301\242?\205 \300b\207" [V0 V1] 1] delete-char t] 10])#@14 

(fn CHARS)
(defalias 'term-send-raw-string #[257 "\301 \210\302p!\211\204 \303\304!\207\305!b\210\203 \306 \307\"\207" [term-pager-count deactivate-mark get-buffer-process error "Current buffer has no process" process-mark term-current-row process-send-string] 5 (#$ . 35278)])#@80 Send last typed character to the terminal-emulator without any interpretation.
(defalias 'term-send-raw #[0 "\300 \301\302\211GSH!!\207" [this-command-keys term-send-raw-string string] 5 (#$ . 35570) nil])
(defalias 'term-send-raw-meta #[0 "\2119\203# \211\301N\211\203 \211@\2629\203\" \302N\211\262\203\" \211\262\210\211\247\205L \303!\304\305\306!\"\307>\203= \304\310\"\262\311\312\313\314\315C\"!\"!\266\202\207" [last-input-event event-symbol-elements ascii-character event-basic-type delq meta event-modifiers control shift term-send-raw-string format "%c" event-convert-list append] 10 nil nil])#@70 Insert the primary selection at the position clicked on.

(fn CLICK)
(defalias 'term-mouse-paste #[257 "\302\303!\210\304\305!\210\306\307\310 !)\207" [this-command select-active-regions run-hooks mouse-leave-buffer-hook yank mouse-set-point nil term-send-raw-string gui-get-primary-selection] 3 (#$ . 36197) "e"])#@50 Insert the last stretch of killed text at point.
(defalias 'term-paste #[0 "\300\301\302!!\207" [term-send-raw-string current-kill 0] 3 (#$ . 36520) nil])#@75 Insert the text pasted in an XTerm bracketed paste operation.

(fn EVENT)
(defalias 'term--xterm-paste #[257 "\211\242\300=\204 \301\302!\210\211A@\211;\204 \301\303!\210\304!\207" [xterm-paste error "term--xterm-paste must be found to xterm-paste event" "term--xterm-paste provided event does not contain paste text" term-send-raw-string] 4 (#$ . 36680) "e"])
(defalias 'term-send-up #[0 "\300\301!\207" [term-send-raw-string "OA"] 2 nil nil])
(defalias 'term-send-down #[0 "\300\301!\207" [term-send-raw-string "OB"] 2 nil nil])
(defalias 'term-send-right #[0 "\300\301!\207" [term-send-raw-string "OC"] 2 nil nil])
(defalias 'term-send-left #[0 "\300\301!\207" [term-send-raw-string "OD"] 2 nil nil])
(defalias 'term-send-ctrl-up #[0 "\300\301!\207" [term-send-raw-string "[1;5A"] 2 nil nil])
(defalias 'term-send-ctrl-down #[0 "\300\301!\207" [term-send-raw-string "[1;5B"] 2 nil nil])
(defalias 'term-send-ctrl-right #[0 "\300\301!\207" [term-send-raw-string "[1;5C"] 2 nil nil])
(defalias 'term-send-ctrl-left #[0 "\300\301!\207" [term-send-raw-string "[1;5D"] 2 nil nil])
(defalias 'term-send-home #[0 "\300\301!\207" [term-send-raw-string "[1~"] 2 nil nil])
(defalias 'term-send-insert #[0 "\300\301!\207" [term-send-raw-string "[2~"] 2 nil nil])
(defalias 'term-send-end #[0 "\300\301!\207" [term-send-raw-string "[4~"] 2 nil nil])
(defalias 'term-send-prior #[0 "\300\301!\207" [term-send-raw-string "[5~"] 2 nil nil])
(defalias 'term-send-next #[0 "\300\301!\207" [term-send-raw-string "[6~"] 2 nil nil])
(defalias 'term-send-del #[0 "\300\301!\207" [term-send-raw-string "[3~"] 2 nil nil])
(defalias 'term-send-backspace #[0 "\300\301!\207" [term-send-raw-string ""] 2 nil nil])
(defalias 'term-send-C-_ #[0 "\300\301!\207" [term-send-raw-string ""] 2 nil nil])#@78 If bound to a function key, this will send that key to the underlying shell.
(defalias 'term-send-function-key #[0 "\300 \211G\301U\205i \211\302\2349\205i \303\302\234!\304\305\"\205g \306\307\301\"!\211\310X\203. \211\311\\\202[ \211\311X\203: \211\312\\\202[ \211\313X\203F \211\314\\\202[ \211\315X\203R \211\316\\\202[ \211\317X\205[ \211\313\\\211\205e \320\321\322\"!\266\202\262\207" [this-command-keys-vector 1 0 symbol-name string-match "\\`f\\([0-9]+\\)\\'" string-to-number match-string 5 10 11 14 12 16 13 20 term-send-raw-string format "[%d~"] 8 (#$ . 38478) nil])#@184 Switch to char ("raw") sub-mode of term mode.
Each character you type is sent directly to the inferior without
intervention from Emacs, except for the escape character (usually C-c).
(defalias 'term-char-mode #[0 "\304 =?\205C \304 \305!\210\n\203 \306\307\310\311\312\306$\210\307\313\314\312\306$\210\315\316p!!`V\203@ \317\216\320\321\322\323B\324\312$\210\312\210\325 )\210\210\326 \207" [term-raw-map term-old-mode-map term-char-mode-buffer-read-only buffer-read-only current-local-map use-local-map t add-hook pre-command-hook term-set-goto-process-mark nil post-command-hook term-goto-process-mark-maybe process-mark get-buffer-process #[0 "\300\301\302!\303\"\211\301\302!=?\205 \304\302\"\207" [advice--remove-function advice--buffer-local term-input-sender term-send-string advice--set-buffer-local] 4] advice--add-function :override #[0 "\300\301!\207" [advice--buffer-local term-input-sender] 2] #[257 "\300\301\"\207" [advice--set-buffer-local term-input-sender] 4 "\n\n(fn GV--VAL)"] term-send-string term-send-input term-update-mode-line] 6 (#$ . 39069) nil])#@187 Switch to line ("cooked") sub-mode of term mode.
This means that Emacs editing commands work as normally, until
you type \[term-send-input] which sends the current line to the inferior.
(defalias 'term-line-mode #[0 "\305 =\205 	\203 \n\306\307\310\311#\210\306\312\313\311#\210\314\f!\210\315 \207" [term-raw-map term-char-mode-buffer-read-only term-line-mode-buffer-read-only buffer-read-only term-old-mode-map current-local-map remove-hook pre-command-hook term-set-goto-process-mark t post-command-hook term-goto-process-mark-maybe use-local-map term-update-mode-line] 4 (#$ . 40160) nil])#@128 Update the user-set state of `buffer-read-only' in `term-line-mode'.

Called as a buffer-local `read-only-mode-hook' function.
(defalias 'term-line-mode-buffer-read-only-update #[0 "\303 =?\205 	\211\207" [term-raw-map buffer-read-only term-line-mode-buffer-read-only current-local-map] 2 (#$ . 40764)])
(defalias 'term-update-mode-line #[0 "\303 =\203 \304\305\306\307\310\311\312\313&\202 \304\314\306\315\310\311\312\316&	\205. \317\304\320\306\321\310\311\312\322&P\323\211\324p!\325p!\203m \326\323!\327=\203m \330 \331\203O \332\333\"\206P \334\335BB\262\210\336\337\"\331\203f \332\340\"\206g \334\341BB\262\210\342\340\257\266\343 \207" [term-raw-map term-pager-count mode-line-process current-local-map propertize "char" help-echo "mouse-1: Switch to line mode" mouse-face mode-line-highlight local-map (keymap (mode-line keymap (down-mouse-1 . term-line-mode))) "line" "mouse-1: Switch to char mode" (keymap (mode-line keymap (down-mouse-1 . term-char-mode))) " " "page" "mouse-1: Disable paging" (keymap (mode-line keymap (down-mouse-1 . term-pager-toggle))) nil get-buffer-process term-check-proc process-type serial serial-speed :propertize format " %d" "" (help-echo "mouse-1: Change the speed of the serial port" mouse-face mode-line-highlight local-map (keymap (mode-line keymap (down-mouse-1 . serial-mode-line-speed-menu-1)))) process-contact :summary " %s" (help-echo "mouse-1: Change the configuration of the serial port" mouse-face mode-line-highlight local-map (keymap (mode-line keymap (down-mouse-1 . serial-mode-line-config-menu-1)))) ": " force-mode-line-update] 11])#@139 Non-nil if there is a process associated w/buffer BUFFER, and it is alive.
BUFFER can be either a buffer or the name of one.

(fn BUFFER)
(defalias 'term-check-proc #[257 "\300!\211\205\f \301!\302>\207" [get-buffer-process process-status (run stop open listen connect)] 4 (#$ . 42387)])#@379 Make a term process NAME in a buffer, running PROGRAM.
The name of the buffer is made by surrounding NAME with `*'s.
If there is already a running process in that buffer, it is not restarted.
Optional third arg STARTFILE is the name of a file to send the contents of to
the process.  Any more args are arguments to PROGRAM.

(fn NAME PROGRAM &optional STARTFILE &rest SWITCHES)
(defalias 'make-term #[898 "\300\301\301Q!\302!\204  r\211q\210\303 )\210\304%\210\207" [get-buffer-create "*" term-check-proc term-mode term-exec] 11 (#$ . 42683)])#@212 Start a terminal-emulator in a new buffer.
The buffer is in Term mode; see `term-mode' for the
commands to use in that buffer.

\<term-raw-map>Type \[switch-to-buffer] to switch to another buffer.

(fn PROGRAM)
(defalias 'term #[257 "\300!\301\302\303@\304A%q\266\305 \210\306\307!\207" [split-string-shell-command apply make-term "terminal" nil term-char-mode pop-to-buffer-same-window "*terminal*"] 8 (#$ . 43244) (byte-code "\302\303\206 \304\305!\206 	\"C\207" [explicit-shell-file-name shell-file-name read-shell-command "Run program: " getenv "ESHELL"] 4)])#@297 Start up a process in buffer for term modes.
Blasts any old process running in the buffer.  Doesn't set the buffer mode.
You can use this to cheaply run a series of processes in the same term
buffer.  The hook `term-exec-hook' is run after each exec.

(fn BUFFER NAME COMMAND STARTFILE SWITCHES)
(defalias 'term-exec #[1285 "rq\210\302!\211\203 \303!\210\210\304$\305\301!\210db\210\306!`\307\223\210\310\311\"\210\312\313\"\210\203H \314\315!\210db\210\316!\210\317\320`d\"\"\210\210\321\322!)\210\207" [process-connection-type term-ptyp get-buffer-process delete-process term-exec-1 make-local-variable process-mark nil set-process-filter term-emulate-terminal set-process-sentinel term-sentinel sleep-for 1 insert-file-contents term-send-string delete-and-extract-region run-hooks term-exec-hook] 11 (#$ . 43821)])#@95 Sentinel for term buffers.
The main purpose is to get rid of the local keymap.

(fn PROC MSG)
(defalias 'term-sentinel #[514 "\300!\301!\302>\205) \303!\204 \304\305\"\207r\211q\210\306\305!\210\307\310!\"\210\311!)\207" [process-buffer process-status (signal exit) buffer-name set-process-buffer nil use-local-map term-handle-exit process-name delete-process] 6 (#$ . 44662)])#@96 Write process exit (or other change) message MSG in the current buffer.

(fn PROCESS-NAME MSG)
(defalias 'term-handle-exit #[514 "\301d`\302\303\304\305#\210\302\306\307\305#\210b\210\310\311\312\261\210\313 \210\211\205- \211W\205- \211b)\207" [buffer-read-only nil remove-hook pre-command-hook term-set-goto-process-mark t post-command-hook term-goto-process-mark-maybe 10 "Process " " " force-mode-line-update] 10 (#$ . 45053)])#@93 Name to use for TERM.
Using "emacs" loses, because bash disables editing if $TERM == emacs.
(defvar term-term-name "eterm-color" (#$ . 45499))#@33 Termcap capabilities supported.
(defvar term-termcap-format "%s%s:li#%d:co#%d:cl=\\E[H\\E[J:cd=\\E[J:bs:am:xn:cm=\\E[%%i%%d;%%dH:nd=\\E[C:up=\\E[A:ce=\\E[K:ho=\\E[H:pt:al=\\E[L:dl=\\E[M:DL=\\E[%%dM:AL=\\E[%%dL:cs=\\E[%%i%%d;%%dr:sf=^J:NR:te=\\E[47l:ti=\\E[47h:dc=\\E[P:DC=\\E[%%dP:IC=\\E[%%d@:im=\\E[4h:ei=\\E[4l:mi::mb=\\E[5m:mh=\\E[2m:ZR=\\E[23m:ZH=\\E[3m:so=\\E[7m:se=\\E[m:us=\\E[4m:ue=\\E[m:md=\\E[1m:mr=\\E[7m:me=\\E[m:UP=\\E[%%dA:DO=\\E[%%dB:LE=\\E[%%dD:RI=\\E[%%dC:kl=\\EOD:kd=\\EOB:kr=\\EOC:ku=\\EOA:kN=\\E[6~:kP=\\E[5~:@7=\\E[4~:kh=\\E[1~:mk=\\E[8m:cb=\\E[1K:op=\\E[39;49m:Co#256:pa#32767:AB=\\E[48;5;%%dm:AF=\\E[38;5;%%dm:cr=^M:bl=^G:do=^J:le=^H:ta=^I:se=\\E[27m:ue=\\E[24m:kb=^?:kD=^[[3~:sc=\\E7:rc=\\E8:r1=\\Ec:" (#$ . 45647))#@112 43 if Bash is so old that it needs EMACS set.
Some other integer if Bash is new or not in use.
Nil if unknown.
(defvar term--bash-needs-EMACS-status nil (#$ . 46393))#@58 Return t if Bash is old, nil if it is new or not in use.
(defalias 'term--bash-needs-EMACSp #[0 "\206 \302	B\3031 \304\305\306\211\211\307\310&0\202 \210\311)\211\312=\207" [term--bash-needs-EMACS-status process-environment "BASH_ENV" (error) call-process "bash" nil "-c" "case $BASH_VERSION in [0123].*|4.[0123].*) exit 43;; esac" 0 43] 7 (#$ . 46565)])#@37 

(fn NAME BUFFER COMMAND SWITCHES)
(defalias 'term-exec-1 #[1028 "\306\307\"\306\310	\"\306\n\311\f%\306\312#F\205$ \306\313\"\306\314\f\"D\244\244\315\211\316\317 \203C \306\320#B\321\322\323\324\306\325\f$\326		&	,\207" [term-term-name data-directory term-termcap-format term-height term-width emacs-version format "TERM=%s" "TERMINFO=%s" "TERMCAP=" "INSIDE_EMACS=%s,term:%s" "LINES=%d" "COLUMNS=%d" t binary term--bash-needs-EMACSp "EMACS=%s (term:%s)" apply start-process "/bin/sh" "-c" "stty -nl echo rows %d columns %d sane 2>%s;if [ $1 = .. ]; then shift; fi; exec \"$@\"" ".." term-protocol-version term-set-terminal-size process-environment coding-system-for-read inhibit-eol-conversion process-connection-type null-device] 15 (#$ . 46932)])#@635 Set the buffer's `term-input-ring' from a history file.
The name of the file is given by the variable `term-input-ring-file-name'.
The history ring is of size `term-input-ring-size', regardless of file size.
If `term-input-ring-file-name' is nil this function does nothing.

If the optional argument SILENT is non-nil, we say nothing about a
failure to read the history file.

This function is useful for major mode commands and mode hooks.

The structure of the history file should be one input command per line,
with the most recent command last.
See also `term-input-ignoredups' and `term-write-input-ring'.

(fn &optional SILENT)
(defalias 'term-read-input-ring #[256 "\203\n \305\232\203\f \306\207\307!\204 \211\206p \310\311\"\207\312\313	!\314\315\316\"r\211q\210\317\320\"\216\321!\210db\210	W\203g \322\323\306\316#\203g \324\224\324\225{\n\203Z \325!\204Z \326\312\"\230\204_ \327\"\210\210T\262\2024 *\210\211\306\211\266\203\207" [term-input-ring-file-name term-input-ring-size term-input-ignoredups term-input-ring term-input-ring-index "" nil file-readable-p message "Cannot read history file %s" 0 make-ring generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents re-search-backward "^[ 	]*\\([^#\n].*\\)[ 	]*$" 1 ring-empty-p ring-ref ring-insert-at-beginning] 9 (#$ . 47723)])#@344 Write the buffer's `term-input-ring' to a history file.
The name of the file is given by the variable `term-input-ring-file-name'.
The original contents of the file are lost if `term-input-ring' is not empty.
If `term-input-ring-file-name' is nil this function does nothing.

Useful within process sentinels.

See also `term-read-input-ring'.
(defalias 'term-write-input-ring #[0 "\203 \302\232\204 	\203 \303	!\203 \304\207\305!\204! \306\307\"\207\310\311!	\312!rq\210\313 \210\211\314V\203E \211S\262\315\"\316\261\210\2020 \317\320 \304\304\321%\210\322\304!)\207" [term-input-ring-file-name term-input-ring "" ring-empty-p nil file-writable-p message "Cannot write history file %s" get-buffer-create " *Temp Input History*" ring-length erase-buffer 0 ring-ref 10 write-region buffer-string no-message kill-buffer] 10 (#$ . 49119)])#@49 List in help buffer the buffer's input history.
(defalias 'term-dynamic-list-input-ring #[0 "\306!\203\f \307!\203 \310\311!\207\312\313!S\314 \315Y\203, \316\"B\262S\262\202 	r\317\320!q\210p\321 \210\312\211\322\211\322#\323 \210\324\325!+\210\211$\326!\210\320q\210\327y\210\330\331\312\332#\203h \333\334!\210\202Y \335!)\266\336\315!\210\310\337!\210\340 \211\341=\203\202 \342!\207\211%B\211%\207" [term-input-ring default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks ring-p ring-empty-p message "No history" nil ring-length current-window-configuration 0 ring-ref get-buffer-create " *Input History*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook display-completion-list 3 search-backward "completion" move replace-match "history reference" internal-temp-output-buffer-show sit-for "Hit space to flush" read-event 32 set-window-configuration inhibit-read-only standard-output unread-command-events] 10 (#$ . 49977) nil])#@15 

(fn PROMPT)
(defalias 'term-regexp-arg #[257 "\303\304\211\211\301%\211\305\230\203 	\211A@\240\202 \211\306\n!)D\207" [last-command minibuffer-history-search-history current-prefix-arg read-from-minibuffer nil "" prefix-numeric-value] 7 (#$ . 51006)])#@12 

(fn ARG)
(defalias 'term-search-arg #[257 "\302 \204	 \303\304!\207\203 \305!\203 \303\306!\207\211\307U\203! \310\311\207\207" [term-input-ring term-input-ring-index term-after-pmark-p error "Not at command line" ring-empty-p "Empty input ring" 0 nil 1] 3 (#$ . 51271)])#@12 

(fn ARG)
(defalias 'term-search-start #[257 "\203 \302\303V\203 \304\202 \305\\\306	!\"\207\211\303Y\203 \303\207\306	!S\207" [term-input-ring-index term-input-ring mod 0 1 -1 ring-length] 5 (#$ . 51555)])#@105 Return the string ARG places along the input ring.
Moves relative to `term-input-ring-index'.

(fn ARG)
(defalias 'term-previous-input-string #[257 "\302	\203 \303	\\\304!\"\202 \"\207" [term-input-ring term-input-ring-index ring-ref mod ring-length] 7 (#$ . 51776)])#@50 Cycle backwards through input history.

(fn ARG)
(defalias 'term-previous-input #[257 "\300\301\"\207" [term-previous-matching-input "."] 4 (#$ . 52055) "*p"])#@49 Cycle forwards through input history.

(fn ARG)
(defalias 'term-next-input #[257 "\300[!\207" [term-previous-input] 3 (#$ . 52221) "*p"])#@128 Return the string matching REGEXP ARG places along the input ring.
Moves relative to `term-input-ring-index'.

(fn REGEXP ARG)
(defalias 'term-previous-matching-input-string #[514 "\301\"\211\205\f \302\"\207" [term-input-ring term-previous-matching-input-string-position ring-ref] 6 (#$ . 52366)])#@153 Return the index matching REGEXP ARG places along the input ring.
Moves relative to START, or `term-input-ring-index'.

(fn REGEXP ARG &optional START)
(defalias 'term-previous-matching-input-string-position #[770 "\301!\203\f \302!\203 \303\304!\210\305!\306V\203 \307\202 \310\311\206& \312!Z\"\313\211\306U\204 \204 \262\311\\\"\262W\203j \204j \314\315\"\"\204j \311\\\"\262U\262\202C \306V\203w S\202z T\262\202, \314\315\"\"\205\214 \207" [term-input-ring ring-p ring-empty-p error "No history" ring-length 0 1 -1 mod term-search-start nil string-match ring-ref] 13 (#$ . 52675)])#@233 Search backwards through input history for match for REGEXP.
(Previous history elements are earlier commands.)
With prefix argument N, search for Nth previous match.
If N is negative, find the next or Nth next match.

(fn REGEXP N)
(defalias 'term-previous-matching-input #[514 "\302!\262\303\"\211\204 \304\305!\207\211\306\307T\"\210\310\311p!!`|\210\312	\"c\207" [term-input-ring-index term-input-ring term-search-arg term-previous-matching-input-string-position error "Not found" message "History item: %d" process-mark get-buffer-process ring-ref] 6 (#$ . 53320) (term-regexp-arg "Previous input matching (regexp): ")])#@242 Search forwards through input history for match for REGEXP.
(Later history elements are more recent commands.)
With prefix argument N, search for Nth following match.
If N is negative, find the previous or Nth previous match.

(fn REGEXP N)
(defalias 'term-next-matching-input #[514 "\300[\"\207" [term-previous-matching-input] 5 (#$ . 53959) (term-regexp-arg "Next input matching (regexp): ")])#@246 Search backwards through input history for match for current input.
(Previous history elements are earlier commands.)
With prefix argument N, search for Nth previous match.
If N is negative, search forwards for the -Nth following match.

(fn N)
(defalias 'term-previous-matching-input-from-input #[257 "\303>\204 \304\305p!!`{\306\307\310\311	!P\"\207" [last-command term-matching-input-from-input-string term-input-ring-index (term-previous-matching-input-from-input term-next-matching-input-from-input) process-mark get-buffer-process nil term-previous-matching-input "^" regexp-quote] 5 (#$ . 54363) "p"])#@251 Search forwards through input history for match for current input.
(Following history elements are more recent commands.)
With prefix argument N, search for Nth following match.
If N is negative, search backwards for the -Nth previous match.

(fn N)
(defalias 'term-next-matching-input-from-input #[257 "\300[!\207" [term-previous-matching-input-from-input] 3 (#$ . 54983) "p"])#@698 Expand input command history references before point.
Expansion is dependent on the value of `term-input-autoexpand'.

This function depends on the buffer's idea of the input history, which may not
match the command interpreter's idea, assuming it has one.

Assumes history syntax is like typical Un*x shells'.  However, since Emacs
cannot know the interpreter's idea of input line numbers, assuming it has one,
it cannot expand absolute input line number references.

If the optional argument SILENT is non-nil, never complain
even if history reference seems erroneous.

See `term-magic-space' and `term-replace-by-expanded-history-before-point'.

Returns t if successful.

(fn &optional SILENT)
(defalias 'term-replace-by-expanded-history #[256 "\205( \303\304	 \"\205( \212\305 \210\306\n!)\205( \307 \310\311!\210\312!\210\211\307 U?\262\207" [term-input-autoexpand term-get-old-input term-prompt-regexp string-match "[!^]" beginning-of-line looking-at buffer-modified-tick message "Expanding history references..." term-replace-by-expanded-history-before-point] 4 (#$ . 55369) nil])#@127 Expand directory stack reference before point.
See `term-replace-by-expanded-history'.  Returns t if successful.

(fn SILENT)
(defalias 'term-replace-by-expanded-history-before-point #[257 "\212\302 `Z\303\304!\210`\305\302 Zw\210`\302 ZW\205\\\304h\306U\204) \307`\"\2030 `Tb\210\202\n \310\311!\203A \312\225b\210\313\314!\210\202\n \310\315!\203} \316\317\224\317\225{!S\211\320	!X\203q \321\322\323!\324\224\324\225#\325\211#\210\211\313\326T\"\266\202\n \312\225b\210\313\327!\266\202\n \310\330!\204\211 \310\331!\203\236 \321\322\323\312!\317\224\317\225#\325\211#\210\313\332!\210\202\n \310\333!\203\317\224\317\225\324\224\324\225\206\261 \206\266 {\334 \335\336\"\216\310\337!)\262\203\313 \340\202\314 \341\334 \335\342\"\216\343\344!P\317\")\262\211\204\366 \312\225b\210	\204\313\345!\210\346 \266\202\n \211\321\322\347	\"\350\224\350\225#\325\211#\210\313\326T\"\210\266\202\n \310\351!\203U\317\224\317\225{\324\224\324\225{\304\321\323\312!\325\211#\210`\262\312\224b\210\352\325#\204F\204P\353\345!\266\202\n \321\325\211#\210\313\354!\210\266\202\n \312\225b\210\202\n \266\202)\207" [term-input-ring-index term-input-ring line-end-position term-bol nil "^!^" 92 term-within-quotes looking-at "![0-9]+\\($\\|[^-]\\)" 0 message "Absolute reference cannot be expanded" "!-\\([0-9]+\\)\\(:?[0-9^$*-]+\\)?" string-to-number 1 ring-length replace-match term-args term-previous-input-string 2 t "History item: %d" "Relative reference exceeds input history size" "!!?:?\\([0-9^$*-]+\\)" "!!" "History item: previous" "!\\??\\({\\(.+\\)}\\|\\(\\sw+\\)\\)\\(:?[0-9^$*-]+\\)?" match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] "!\\?" "" "^" #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] term-previous-matching-input-string-position regexp-quote "Not found" ding ring-ref 4 "\\^\\([^^]+\\)\\^?\\([^^]*\\)\\^?" search-forward error "History item: substituted"] 15 (#$ . 56466)])#@153 Expand input history references before point and insert ARG spaces.
A useful command to bind to SPC.  See `term-replace-by-expanded-history'.

(fn ARG)
(defalias 'term-magic-space #[257 "\300 \210\301!\207" [term-replace-by-expanded-history self-insert-command] 3 (#$ . 58427) "p"])#@106 Return t if the number of quotes between BEG and END is odd.
Quotes are single and double.

(fn BEG END)
(defalias 'term-within-quotes #[514 "\300\301#\300\302#\303\304\"\305U\206 \303\304\"\305U\207" [term-how-many-region "\\(^\\|[^\\]\\)'" "\\(^\\|[^\\]\\)\"" mod 2 1] 7 (#$ . 58717)])#@75 Return number of matches for REGEXP from BEG to END.

(fn REGEXP BEG END)
(defalias 'term-how-many-region #[771 "\300\212\301 \302\303\"\216b\210\304\305#\203 T\262\202\f *\210\207" [0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] re-search-forward t] 9 (#$ . 59017)])#@25 

(fn STRING BEGIN END)
(defalias 'term-args #[771 "\300 \301\302\"\216\204 \303\304\305#\202j f\306=\203 T\202  {\307\310\"\203- \311\202E \307\312\"\2038 \304\202E \211\313\230\203B \305\202E \314!\307\315\"\203P \305\202b \307\316\"\203a \314\304\225\305O!\202b \211\303#\266\203)\207" [match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] term-arguments 0 nil 58 string-match "^[*^]" 1 "^-" "$" string-to-number "[-*$]$" "-"] 11 (#$ . 59326)])#@12 

(fn ARG)
(defalias 'term-delim-arg #[257 "\204 \211C\207\301\302GW\203R H>\2030 W\203E H=\203E T\262\202 W\203E H>\204E T\262\2020 OB\262\266\202 \207" [term-delimiter-argument-list nil 0] 9 (#$ . 59819)])#@379 Return from STRING the NTH to MTH arguments.
NTH and/or MTH can be nil, which means the last argument.
Returned arguments are separated by single spaces.
We assume whitespace separates arguments, except within quotes.
Also, a run of one or more of a single character
in `term-delimiter-argument-list' is a separate argument.
Argument 0 is the command name.

(fn STRING NTH MTH)
(defalias 'term-arguments #[771 "\300\301\211\300\211\211\203 X\203h \302\303\n#\203h \2036 \301\224U\2036 \301\225\262\211\2061 \304\224\262\202 \203Y O\262\211\203M B\202S \305!\244\262T\262\304\224\262\301\224\262\301\225\262\202 \203\213 O\262\211\203 B\202\205 \305!\244\262T\262\206\222 S\203\237 ZS\202\240 \301\306\307\233\237\233\310#\207" [nil 0 string-match "[^ \n	\"'`]+\\|\\(\"[^\"]*\"\\|'[^']*'\\|`[^`]*`\\)" 1 term-delim-arg mapconcat identity " "] 16 (#$ . 60066)])#@1657 Send input to process.
After the process output mark, sends all text from the process mark to
point as input to the process.  Before the process output mark, calls value
of variable `term-get-old-input' to retrieve old input, copies it to the
process mark, and sends it.  A terminal newline is also inserted into the
buffer and sent to the process.  The functions in `term-input-filter-functions'
are called on the input before sending it.

The input is entered into the input history ring, if the value of variable
`term-input-filter' returns non-nil when called on the input.  Any history
reference may be expanded depending on the value of the variable
`term-input-autoexpand'.

If variable `term-eol-on-send' is non-nil, then point is moved to the
end of line before sending the input.

The values of `term-get-old-input', `term-input-filter-functions', and
`term-input-filter' are chosen according to the command interpreter running
in the buffer.  E.g.,

If the interpreter is the csh,
    `term-get-old-input' is the default: take the current line, discard any
        initial string matching regexp `term-prompt-regexp'.
    `term-input-filter-functions' monitors input for "cd", "pushd", and
	"popd" commands.  When it sees one, it cd's the buffer.
    `term-input-filter' is the default: returns t if the input isn't all white
	space.

If the term is Lucid Common Lisp,
    `term-get-old-input' snarfs the sexp ending at point.
    `term-input-filter-functions' does nothing.
    `term-input-filter' returns nil if the input matches input-filter-regexp,
        which matches (1) all whitespace (2) :a, :c, etc.

Similarly for Soar, Scheme, etc.
(defalias 'term-send-input #[0 "\306p!\211\204 \307\310!\207\311!\312!`Y\211\203% \203 \313\210`{\202' 	 \n\314=\2041 \211\2028 \315\316!\210`{\n\317=\204B \211\202S \315\316!\210`{`|\210c\210\211\262\203b \212\311!b\210\320 )\f!\203\212 \203\204 \321!\203\204 \322!\204\204 \323\324\"\230\204\212 \325\"\210\326\327\330P\"\210\313\313\223\210`\313\223\210\203\300 \331!\203\262 |\210\313\223\210\311!`\313\223\210b\210\"\207" [term-eol-on-send term-get-old-input term-input-autoexpand term-pager-count term-input-filter term-input-ignoredups get-buffer-process error "Current buffer has no process" process-mark marker-position nil input term-replace-by-expanded-history t history term-current-row ring-p ring-empty-p ring-ref 0 ring-insert run-hook-with-args term-input-filter-functions "\n" marker-buffer term-input-ring term-input-ring-index term-last-input-start term-last-input-end term-pending-delete-marker term-input-sender] 11 (#$ . 60996) nil])#@118 Default for `term-get-old-input'.
Take the current line, and discard any initial text matching
`term-prompt-regexp'.
(defalias 'term-get-old-input-default #[0 "\212\300 \210\301 \210`\302\210\211`{)\207" [beginning-of-line term-skip-prompt nil] 3 (#$ . 63670)])#@112 Insert after prompt old input at point as new input to be edited.
Calls `term-get-old-input' to get old input.
(defalias 'term-copy-old-input #[0 " \301p!\211\204 \302\303!\207\304!b\210c\207" [term-get-old-input get-buffer-process error "Current buffer has no process" process-mark] 4 (#$ . 63939) nil])#@128 Skip past the text matching regexp `term-prompt-regexp'.
If this takes us past the end of the current line, don't skip at all.
(defalias 'term-skip-prompt #[0 "\301 \302!\205 \303\225X\205 \303\225b\207" [term-prompt-regexp line-end-position looking-at 0] 3 (#$ . 64254)])#@43 Is point after the process output marker?
(defalias 'term-after-pmark-p #[0 "\300\301\302p!!!\211`X\207" [marker-position process-mark get-buffer-process] 4 (#$ . 64536)])#@162 Default function for sending to PROC input STRING.
This just sends STRING plus a newline.  To override this,
set the hook `term-input-sender'.

(fn PROC STRING)
(defalias 'term-simple-send #[514 "\300\"\210\300\301\"\207" [term-send-string "\n"] 5 (#$ . 64714)])#@299 Go to the beginning of line, then skip past the prompt, if any.
If a prefix argument is given (\[universal-argument]), then no prompt skip
-- go straight to column 0.

The prompt skip is done by skipping text matching the regular expression
`term-prompt-regexp', a buffer local variable.

(fn ARG)
(defalias 'term-bol #[257 "\300 \210\211?\205\n \301 \207" [beginning-of-line term-skip-prompt] 2 (#$ . 64986) "P"])#@626 Read a single line of text from user without echoing, and return it.
Prompt with argument PROMPT, a string.  Optional argument STARS causes
input to be echoed with `*' characters on the prompt line.  Input ends with
RET, LFD, or ESC.  DEL or C-h rubs out.  C-u kills line.  C-g aborts (if
`inhibit-quit' is set because e.g. this function was called from a process
filter and C-g is pressed, this function returns nil rather than a string).

Note that the keystrokes comprising the text can still be recovered
(temporarily) with \[view-lossage].  This may be a security bug for some
applications.

(fn PROMPT &optional STARS)
(defalias 'term-read-noecho #[513 "\303\304\211\305\306\211\204\202 \203  \307\310\311G\312\"#\210\202& \307\313\"\210\314 \262\315U\2038 \305\211\262\202	 \316U\204J \317U\204J \320U\203P \305\262\202	 \321U\203\\ \303\262\202	 \322U\204r \323U\204r \324!P\262\202	 G\304V\203	 \304\325O\262\202	 \n\203\224 \306\211\307\326!\210\327\305!\210\202\231 \307\303!\210*\207" [cursor-in-echo-area echo-keystrokes quit-flag "" 0 t nil message "%s%s" make-string 42 "%s" read-char 7 13 10 27 21 8 127 char-to-string -1 "Quit" beep] 14 (#$ . 65407)])
(make-obsolete 'term-read-noecho 'read-passwd "27.1")#@199 Read a string without echoing.
Then send it to the process running in the current buffer.  A new-line
is additionally sent.  String is not saved on term input history list.

(fn STR &optional PROC)
(defalias 'term-send-invisible #[513 ";\204\n \301\302!\262\211\204 \303p!\262\211\204 \304\305!\207C\244\306\"\210\306\307\"\207" [term-kill-echo-list read-passwd "Non-echoed text: " get-buffer-process error "Current buffer has no process" term-send-string "\n"] 5 (#$ . 66667) "P"])#@169 Prompt in the minibuffer for password and send without echoing.
Checks if STRING contains a password prompt as defined by
`comint-password-prompt-regexp'.

(fn STRING)
(defalias 'term-watch-for-password-prompt #[257 "\303 =?\205 \304\305\n\")\205 \306\307\310\311\312\"p$\207" [term-raw-map case-fold-search comint-password-prompt-regexp current-local-map t string-match run-at-time 0 nil make-closure #[257 "r\211q\210\301\302\300!!)\207" [V0 term-send-invisible read-passwd] 4 "\n\n(fn CURRENT-BUF)"]] 7 (#$ . 67167)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable term-input-chunk-size funcall function #[0 "\300\207" [512] 1 ""] "Long inputs send to term processes are broken up into chunks of this size.\nIf your process is choking on big inputs, try lowering the value." :group term :type natnum] 8)#@341 Send to PROC the contents of STR as input.
This is equivalent to `process-send-string', except that long input strings
are broken up into chunks of size `term-input-chunk-size'.  Processes
are given a chance to output between chunks.  This can help prevent processes
from hanging when you send them long inputs on some OS's.

(fn PROC STR)
(defalias 'term-send-string #[514 "\211G\211^\301\302O\"\210\211W\205) \211\\\303 \210\301^O\"\210\262\202 \207" [term-input-chunk-size process-send-string 0 accept-process-output] 11 (#$ . 68026)])#@208 Send to PROC the region delimited by START and END.
This is a replacement for `process-send-region' that tries to keep
your process from hanging on long inputs.  See `term-send-string'.

(fn PROC START END)
(defalias 'term-send-region #[771 "\300{\"\207" [term-send-string] 7 (#$ . 68585)])#@52 Kill all output from interpreter since last input.
(defalias 'term-kill-output #[0 "\301\302p!!\303\"\210\211b\210\304c\210\211`\305\223\207" [term-last-input-end process-mark get-buffer-process kill-region "*** output flushed ***\n" nil] 4 (#$ . 68884) nil])#@127 Display start of this batch of interpreter output at top of window.
Sets mark to the value of point when this command is run.
(defalias 'term-show-output #[0 "b\210\301u\210\302 \210\303\304 `\"\210\305\207" [term-last-input-end -1 beginning-of-line set-window-start selected-window nil] 3 (#$ . 69152) nil])#@31 Interrupt the current subjob.
(defalias 'term-interrupt-subjob #[0 "\301\302\"\207" [term-ptyp interrupt-process nil] 3 (#$ . 69468) nil])#@41 Send kill signal to the current subjob.
(defalias 'term-kill-subjob #[0 "\301\302\"\207" [term-ptyp kill-process nil] 3 (#$ . 69613) nil])#@41 Send quit signal to the current subjob.
(defalias 'term-quit-subjob #[0 "\301\302\"\207" [term-ptyp quit-process nil] 3 (#$ . 69758) nil])#@292 Stop the current subjob.
WARNING: if there is no current subjob, you can end up suspending
the top-level process running in the buffer.  If you accidentally do
this, use \[term-continue-subjob] to resume the process.  (This
is not a problem with most shells, since they ignore this signal.)
(defalias 'term-stop-subjob #[0 "\301\302\"\207" [term-ptyp stop-process nil] 3 (#$ . 69904) nil])#@111 Send CONT signal to process buffer's process group.
Useful if you accidentally suspend the top-level process.
(defalias 'term-continue-subjob #[0 "\301\302\"\207" [term-ptyp continue-process nil] 3 (#$ . 70301) nil])#@63 Kill all text from last stuff output by interpreter to point.
(defalias 'term-kill-input #[0 "\300\301p!!\302!`V\205 \303`\"\207" [process-mark get-buffer-process marker-position kill-region] 5 (#$ . 70524) nil])#@89 Delete ARG characters forward, or send an EOF to process if at end of buffer.

(fn ARG)
(defalias 'term-delchar-or-maybe-eof #[257 "m\203 \300 \207\301!\207" [process-send-eof delete-char] 3 (#$ . 70746) "p"])#@46 Send an EOF to the current buffer's process.
(defalias 'term-send-eof #[0 "\300 \207" [process-send-eof] 1 (#$ . 70963) nil])#@242 Search backward through buffer for match for REGEXP.
Matches are searched for on lines that match `term-prompt-regexp'.
With prefix argument N, search for Nth previous match.
If N is negative, find the next or Nth next match.

(fn REGEXP N)
(defalias 'term-backward-matching-input #[514 "\301Q\212\302V\203 \302\202 \303\210\304\305\306$\205 `)\211\204( \307\310!\210\311 \207\211b\210\312\305!\207" [term-prompt-regexp ".*" 0 1 re-search-backward nil t message "Not found" ding term-bol] 8 (#$ . 71095) (term-regexp-arg "Backward input matching (regexp): ")])#@250 Search forward through buffer for match for REGEXP.
Matches are searched for on lines that match `term-prompt-regexp'.
With prefix argument N, search for Nth following match.
If N is negative, find the previous or Nth previous match.

(fn REGEXP N)
(defalias 'term-forward-matching-input #[514 "\300[\"\207" [term-backward-matching-input] 5 (#$ . 71671) (term-regexp-arg "Forward input matching (regexp): ")])#@81 Move to end of Nth next prompt in the buffer.
See `term-prompt-regexp'.

(fn N)
(defalias 'term-next-prompt #[257 "\211\302V\203\f \303\202 \302\210\304!\210\305 )\207" [term-prompt-regexp paragraph-start 0 1 forward-paragraph term-skip-prompt] 3 (#$ . 72088) "p"])#@85 Move to end of Nth previous prompt in the buffer.
See `term-prompt-regexp'.

(fn N)
(defalias 'term-previous-prompt #[257 "\300[!\207" [term-next-prompt] 3 (#$ . 72364) "p"])#@39 

(fn PREVIOUS-DIR/FILE SOURCE-MODES)
(defalias 'term-source-default #[514 "\203 	>\203 \303!\304!B\207\206 \nC\207" [buffer-file-name major-mode default-directory file-name-directory file-name-nondirectory] 5 (#$ . 72545)])#@14 

(fn FNAME)
(defalias 'term-check-source #[257 "\300!\211\205 \301!\205 \302\303\304\305!\"!\205 r\211q\210\306 )\207" [get-file-buffer buffer-modified-p y-or-n-p format "Save buffer %s first? " buffer-name save-buffer] 7 (#$ . 72783)])#@67 Return string around `point' that starts the current line or nil.
(defalias 'term-extract-string #[0 "\212`\300 \301 \302\303\304#\205 `Tb\210\305\303\304#\205 `S\205( \211\205( {\266\205)\207" [line-beginning-position line-end-position search-backward "\"" t search-forward] 8 (#$ . 73032)])#@54 

(fn PROMPT PREV-DIR/FILE SOURCE-MODES MUSTMATCH-P)
(defalias 'term-get-source #[1028 "\300\"\301 \211\205! \3021 \303!0\202 \210\304\202! \205! \305!?\211\203+ \306!\202- @\2037 \307!\2029 A\310\311\n\"\211P	$\312\313!!C\207" [term-source-default term-extract-string (error) file-exists-p nil file-directory-p file-name-directory file-name-nondirectory read-file-name format-prompt expand-file-name substitute-in-file-name] 14 (#$ . 73338)])#@17 

(fn PROC STR)
(defalias 'term-proc-query #[514 "\300!\301!\302!\210q\210\303!\304!\305\"\210\306!\210\307\"?\205F \310!\311\"\210\312\313!\210\307\"\204@ \314!\202D \311\"\262\207" [process-buffer process-mark display-buffer get-buffer-window marker-position term-send-string accept-process-output pos-visible-in-window-p window-point set-window-point sit-for 0 push-mark] 10 (#$ . 73804)])
(defalias 'term-horizontal-column #[0 "\300 \301 Z\207" [term-current-column term-start-line-column] 2])#@14 

(fn COUNT)
(defalias 'term-vertical-motion '(macro . #[257 "\300\301E\207" [funcall term-vertical-motion] 4 (#$ . 74330)]))#@14 

(fn COUNT)
(defalias 'term-buffer-vertical-motion #[257 "\211\301U\203 \302i\245_!\210\301\207\211\301V\203\\ \303i\245\\\303\210i\\S\245\304]\211\262X\203A m\204A \211Z\262\303u\210\303\210\202 \211Y\203T \211\301V\203T Z\\S\207\302_!\210\207\303[i\\S\245\304]\211\262X\203\201 \305 \210o\204\201 \211Z\262\306u\210\202_ \211Y\203\225 \211\301V\203\225 \\\304Z\\\207\302ZS_!\210\207" [term-width 0 move-to-column nil 1 beginning-of-line -1] 6 (#$ . 74462)])
(defalias 'term-start-line-column #[0 "\206 `	\302!\210i\211b\210\262\207" [term-start-line-column term-vertical-motion 0] 3])
(defalias 'term-current-column #[0 "\206 i\211\207" [term-current-column] 2])#@15 

(fn COLUMN)
(defalias 'term-move-to-column #[257 "\211\301 \302\303\"\210`V\205 \304`\305\306$\207" [term-current-column line-end-position move-to-column t put-text-property font-lock-face default] 7 (#$ . 75177)])#@14 

(fn DELTA)
(defalias 'term-move-columns #[257 "\300\301\302 \\]!\207" [term-move-to-column 0 term-current-column] 5 (#$ . 75404)])#@19 

(fn CHAR COUNT)
(defalias 'term-insert-char #[514 "`\300\"\210\301`\302\303$\207" [insert-char put-text-property font-lock-face default] 8 (#$ . 75543)])
(defalias 'term-current-row #[0 "\206 \214\212	d}\210\n\303![*\211\207" [term-current-row term-home-marker term-vertical-motion -9999] 2])#@14 

(fn DELTA)
(defalias 'term-adjust-current-row-cache #[257 "\205 \301\\]\211\207" [term-current-row 0] 4 (#$ . 75849)])
(defalias 'term-terminal-pos #[0 "\212\302 \303\211\304!\210iZ\262	!\262B\266\203)\207" [term-vertical-motion term-height term-current-column nil 0] 5])#@16 

(fn MESSAGE)
(defalias 'term-handle-ansi-terminal-messages #[257 "\306\307\"\203\244 \310\224\311\\H\312 \313\314\"\216\315\\\306\316\315\\#O)\262\317\320\321\322\211$\262\323U\203; \202T \324U\203F \202T \325U\203Q \202T \322\262\211\204\237 \326	\327 \230\203m \n\330 \230\203m \331!\202u \332\n\333	\334\260!	\327 \230\203\215 \f \266\202   \317\211\317 \266\202  \207" [term-ansi-at-dir term-ansi-at-host term-ansi-at-user default-directory term-ansi-at-save-user ange-ftp-default-user string-match "AnSiT.+\n" 0 6 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 "?\n" nil replace-match "" t 99 104 117 file-name-as-directory system-name user-real-login-name expand-file-name "/-:" "@" ":" term-ansi-at-save-pwd ange-ftp-default-password term-ansi-at-save-anon ange-ftp-generate-anonymous-password] 13 (#$ . 76140)])#@55 Regexp matching control sequences handled by term.el.
(defconst term-control-seq-regexp "\\(?:[\n 	]\\|[^\n]+\n\\|\\(?:[DM78c]\\|AnSiT[^\n]+\n\\|\\[\\([0-?]*\\)[ -/]*[@-~]\\)\\)" (#$ . 77049))
(defconst term-control-seq-prefix-regexp "[]")#@17 

(fn PROC STR)
(defalias 'term-emulate-terminal #[514 "\306\307!!\205>r\307!q\210\310\311\211\211\211\211\312\211\313 \311G\314 r\315\316\"\216\317\n!\2038 \n\320!|\210\n\311\211\223\210`\320!U\204E \321 \262\322 p=\203P \323\202Q \324\325\320!!\262\320\f!b\210\214d\320!V\203x \326 \f=\204x e\320!}\210\203\202 \327\"\210@\203\226 @P\262\nG\262\311@	W\203\373\330A\f\f#\262	\205\261 \331\332\f\"	\205\270 \332\225\n\203\302 \310\225\202\341 \330B#\262\n\203\334 \f\311O@\202\337 \262TV\203\373C\203\372 \333\332\312\"\210\334\310!\210\311C\335OD\312#\262U\203X\310GW\203.\336SZH!\337=\203.T\262\202\211V\203V\310V\203V\f[\311O@\f\310[O\262Z\262Z\262\266\340 `\311E\204\235G\\FV\203\235\310FZOc\210`\341 |\210\333\332\312\"\210\342\343 [!\210\344`S`\345#\210FZ\311O\262\310\262\202ac\210i\211#Z\262m\204\277G\204\277`\342!\210\211`|\210\311#\210G\203\334`\311\210iFV\203\330`iFZZ`|\210\211b\266\346`\347H$\266\343 F=\203\364\342\350!\210`C\311#\262\211X\205H\211\351\267\202\201\343 \334FS\352\\\353\352\"[\\^!\266\202\215\310!\210I#\210\202\215J\2038\354 \204\214\333\332\312\"\266\202\215\342\350!\266\202\215\355\312!\266\202\215K\335T\356ZH\357=\203j\356\202k\332ZOD\312#!\266\202\215TH\211\360\267\266\202\215S=\203|\361\362\363\364	\365\"\"SH#\266\202\215\366 \210\333\332\312\"\266\202\215\367 LW\204\300\367 SLY\203\310\333\350!\266\202\215\333\350\312\"\266\202\215\366 \210\367 \340 MNOPQRSTUVH\257W\266\202\215W\203|\370W@WA@\"\210W\210W\243\211\243\211\242\243\211\242\243\211\242\243\211\242\243\211\242\243\211\242\243\211\242\243\211\242\243\211\242\243\211\242\243\211\242\243MNOPQR	STUVH\266\202\215\371 \266\202\215\372O!\266\202\215\266\202\215\211\373>\204\214\374\375\"\210\210C`=\204\227\311CX\203\364iF\246\310V\203\260\311O@\202\325\f\310U\203\304\376\311OP@\202\322S\311O\211@\310\357I\210db\210\377\201Y !\210\201b !Y\201c Z\"\210\262\266\202\226 \262\f\266\202\226 )\367 [Y\203\366 \210\320\f!`\311\223\210;\203\201d !\210\203+b\210\311\211\223\210\\\203F\322!p=\203F\201e \\@\\A\"\210\311\\\262\201f !\203]\201g \311\312#\262\202I\262\201g \311\312#\262\322!\307!=\203]\201h \312\"\210`U\204\266\211\312=\204\266\211\201i =\204\266=\203\247\211\201j =\204\266\203\266\211\201k =\203\333=\204\333^\203\305_b\210\201l \310!\210\320!b\210\201m `\"\204\333\201l \350!\210`\203`\320!Y\203^\204\370\201m d\"\204\212db\210\201l \350!)\210\210=\203`a\310V\203*\212\320\201n p!!b\210a[y\210\201o  \210e`|)\210\311\211\223,\266\201p p!\205=\201q  )\207" [inhibit-read-only buffer-undo-list term-pending-delete-marker term-vertical-motion term-raw-map term-log-buffer buffer-live-p process-buffer 0 nil t selected-window internal--before-save-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-save-selected-window] 2] marker-buffer process-mark point-marker window-buffer vertical-motion term-buffer-vertical-motion copy-marker current-local-map princ string-match match-string 1 term-down term-move-to-column decode-coding-string char-charset eight-bit term-horizontal-column line-end-position term-move-columns term-current-column add-text-properties (term-line-wrap t rear-nonsticky t) put-text-property font-lock-face -1 #s(hash-table size 7 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (9 524 13 546 10 558 8 577 7 585 26 593 27 631)) 8 mod term-check-kill-echo-list beep 2 13 #s(hash-table size 7 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (91 645 68 675 77 687 55 721 56 759 99 872 65 879)) term-handle-ansi-escape mapcar string-to-number split-string ";" term-handle-deferred-scroll term-current-row term-goto term-reset-terminal term-handle-ansi-terminal-messages (nil 15 14 0) error "No clause matching `%S'" "" make-local-variable term-terminal-undecoded-bytes term-control-seq-regexp term-control-seq-prefix-regexp term-do-line-wrapping locale-coding-system term-suppress-hard-newline term-width term-insert-mode term-current-face term-start-line-column term-kill-echo-list term-command-function term-scroll-start term-ansi-current-bg-color term-ansi-current-bold term-ansi-current-faint term-ansi-current-italic term-ansi-current-underline term-ansi-current-slow-blink term-ansi-current-fast-blink term-ansi-current-color term-ansi-current-invisible term-ansi-current-reverse term-saved-cursor term-pager-old-local-map term-pager-old-filter term-pager-filter term-height term-pending-frame term-scroll-to-bottom-on-output term-scroll-snap-to-bottom term-home-marker term-scroll-show-maximum-output term-buffer-maximum-size process-filter set-process-filter term-watch-for-password-prompt term-display-line window-minibuffer-p next-window select-window all this others recenter pos-visible-in-window-p get-buffer-process beginning-of-line get-buffer-window redisplay] 43 (#$ . 77303)])#@145 Whether to reset point to the current process mark after this command.

Set in `pre-command-hook' in char mode by `term-set-goto-process-mark'.
(defvar term-goto-process-mark t (#$ . 82513))
(make-variable-buffer-local 'term-goto-process-mark)#@362 Set `term-goto-process-mark'.

Always set to nil if `term-char-mode-point-at-process-mark' is nil.

Called as a buffer-local `pre-command-hook' function in
`term-char-mode' so that when point is equal to the process mark
at the pre-command stage, we know to restore point to the process
mark at the post-command stage.

See also `term-goto-process-mark-maybe'.
(defalias 'term-set-goto-process-mark #[0 "\205\n `\302\303 !=\211\207" [term-char-mode-point-at-process-mark term-goto-process-mark marker-position term-process-mark] 3 (#$ . 82763)])#@526 Move point to the term buffer's process mark upon keyboard input.

Called as a buffer-local `post-command-hook' function in
`term-char-mode' to prevent commands from putting the buffer into
an inconsistent state by unexpectedly moving point.

Mouse and wheel events are ignored so that mouse selection and
mouse wheel scrolling are unimpeded.

Only acts when the pre-command position of point was equal to the
process mark, and the `term-char-mode-point-at-process-mark'
option is enabled.  See `term-set-goto-process-mark'.
(defalias 'term-goto-process-mark-maybe #[0 "\205 \302	!\206 \303	!\304>?\205 \305 b\207" [term-goto-process-mark last-command-event mouse-event-p event-basic-type (wheel-down wheel-up) term-process-mark] 2 (#$ . 83317)])#@57 The current `process-mark' for the term buffer process.
(defalias 'term-process-mark #[0 "\300\301p!!\207" [process-mark get-buffer-process] 3 (#$ . 84073)])
(defalias 'term-handle-deferred-scroll #[0 "\303 Z\211\304Y\205 \212	b\210\nT!\210	`\305\223\210\306 \211)\207" [term-height term-home-marker term-vertical-motion term-current-row 0 nil term--last-line] 4])#@81 Reset the terminal, delete all the content and set the face to the default one.
(defalias 'term-reset-terminal #[0 "\303 \210\304 \210\305\306\307 \210\310\211\207" [term-current-row term-current-column term-insert-mode erase-buffer term-ansi-reset 0 1 term--reset-scroll-region nil] 2 (#$ . 84447)])#@186 Return the current ANSI color as a hexadecimal color string.
Use the current background color if FOR-FOREGROUND is nil,
otherwise use the current foreground color.

(fn FOR-FOREGROUND)
(defalias 'term--color-as-hex #[257 "\211\203 \202	 	\305S!\206< \n\203) \203) \306X\203) \211\307X\203) \211\307\\\262\2035 \310\f\234\311\312#\207\313\f\234\311\312#\207" [term-ansi-current-color term-ansi-current-bg-color ansi-color-bold-is-bright term-ansi-current-bold ansi-term-color-vector ansi-color--code-as-hex 1 8 face-foreground nil default face-background] 6 (#$ . 84757)])#@18 

(fn PARAMETER)
(defalias 'term-handle-colors-array #[257 "\300C!\207" [term--handle-colors-list] 3 (#$ . 85343)])
(make-obsolete 'term-handle-colors-array 'term--handle-colors-list "29.1")#@19 

(fn PARAMETERS)
(defalias 'term--handle-colors-list #[257 "\211\203\340\211A\262\242\211\306\267\202k \307\210\202  \307\210\202  \307\210\202  \307\210\202  \307\210\202  \307\210\202  \307+\210\202  \307,\210\202  \310\210\202  \310\211\210\202  \310\210\202  \310\210\202  \310\211\210\202  \310+\210\202  \311X\203\200 \211\312X\203\200 \211\313Z-\210\202  \314X\203\225 \211\315X\203\225 \211\316Z-\210\202  \211\317\267\202\"\211A\262\242\211\320\267\202\211A\262\242\211-\203\275 -T-\266\202  \321 \266\202  \322\323\307\310\324Y\203\373 \211A\262\242\211\203\346 \325\"\\\262\307\202\356 \321 \262\310\211\262\262\203\373 \326Z\262\202\310 \203\327V\203\f\321 \266\202  -\266\202  \321 \266\202  \324-\210\202  \330X\2037\211\331X\2037\211\332Z.\210\202  \333X\203L\211\334X\203L\211\335Z.\210\202  \211\336\267\202\331\211A\262\242\211\337\267\202\313\211A\262\242\211.\203t.T.\266\202  \321 \266\202  \322\323\307\310\324Y\203\262\211A\262\242\211\203\235\325\"\\\262\307\202\245\321 \262\310\211\262\262\203\262\326Z\262\202\203\306\327V\203\303\321 \266\202  .\266\202  \321 \266\202  \324.\210\202  \321 \266\202  \310\211,\203\363\340+!\262\211\262\202\375\340\307!\262\340\310!\262\341\342,?\205\343+DBBBB/\266/\344\205\345	\205 \346\n\205%\347\205*\350\f\205/\351\2054\352&B\211/\207" [term-ansi-current-bold term-ansi-current-faint term-ansi-current-italic term-ansi-current-underline term-ansi-current-slow-blink term-ansi-current-fast-blink #s(hash-table size 14 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (1 16 2 22 3 28 4 34 5 40 6 46 7 52 8 59 21 66 22 72 23 80 24 86 25 92 27 100)) t nil 30 37 29 90 97 81 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (38 155 39 283)) #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (5 167 2 196)) term-ansi-reset 257 16 0 ash 8 16777472 40 47 39 100 107 91 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (48 338 49 466)) #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (5 350 2 379)) term--color-as-hex :foreground :background :inverse-video append (term-bold) (term-faint) (term-italic) (term-underline) (term-slow-blink) (term-fast-blink) term-ansi-current-reverse term-ansi-current-invisible term-ansi-current-color term-ansi-current-bg-color term-current-face] 13 (#$ . 85540)])#@25 

(fn PROC PARAMS CHAR)
(defalias 'term-handle-ansi-escape #[771 "\211\305\267\202\306\307@\206 \310^]S\307A@\206 \310	^]S\"\207\311 \210\312 @\313Z\nW\2036 \nZ\202E Y\203A [\202E \307][\314\"\207\312 @Y?\205] \313Z\307]^\314\"\207\315\307@\316 \\	Y\203r 	\316 ZS\202t @]!\207\315\307@][!\207\315\310	@^]\316 Z!\207\317@!\207\320@!\207\321\307@]!\207\322\307@]!\207\323\307@]!\207\324\307@]!\207@\325=\203\274 \314\211\207@\326=\205\327\314!\207@\325=\203\322 \330\211\207@\326=\205\327\330!\207\331!\207\311 \210\332\333\334\312 T\335 T#\"\207\336@\206\370 \310SA@\206 \310S\"\207\314\207" [term-height term-width term-scroll-start term-scroll-end term-insert-mode #s(hash-table size 17 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (72 6 65 32 66 72 67 94 68 119 71 127 74 139 75 144 76 149 77 156 80 163 64 170 104 177 108 199 109 221 110 225 114 241)) term-goto 1 0 term-handle-deferred-scroll term-current-row term-down t term-move-columns term-current-column term-erase-in-display term-erase-in-line term-insert-lines term-delete-lines term-delete-chars term-insert-spaces 4 47 term-switch-to-alternate-sub-buffer nil term--handle-colors-list process-send-string format "[%s;%sR" term-horizontal-column term-set-scroll-region] 9 (#$ . 88100)])#@59 Set the scroll region to the full height of the terminal.
(defalias 'term--reset-scroll-region #[0 "\300\301\302 \"\207" [term-set-scroll-region 0 term--last-line] 3 (#$ . 89420)])#@213 Set scrolling region.
TOP is the top-most line (inclusive) of the new scrolling region,
while BOTTOM is the line following the new scrolling region (e.g. exclusive).
The top-most line is line 0.

(fn TOP BOTTOM)
(defalias 'term-set-scroll-region #[514 "\305W\204\f Y\203 \305\202 \211	X\204 \211\306 V\203$ \306 \202% \211\2065 	\305U\2054 \n\306 U?\307\310 [!\210\311\305\211\"\207" [term-height term-scroll-start term-scroll-end term-saved-home-marker term-scroll-with-delete 0 term--last-line term-move-columns term-current-column term-goto] 5 (#$ . 89607)])#@12 

(fn SET)
(defalias 'term-switch-to-alternate-sub-buffer #[257 "\306 \210\211?=\205X \211\203* db\210h\307=\204 \310\307\311\"\210\312\313\n!\n`\314\223\210\202M \315U\2054 \f\316 U?db\210\203F \n`|\210\n\314\223\210\314\211\223\210\314\314\211\314\306 \207" [term-saved-home-marker term-scroll-with-delete term-home-marker term-scroll-start term-scroll-end term-clear-full-screen-programs term-handle-deferred-scroll 10 term-insert-char 1 t copy-marker nil 0 term--last-line term-start-line-column term-current-column term-current-row] 5 (#$ . 90185)])#@15 

(fn STRING)
(defalias 'term-command-hook #[257 "\211\301\232\203 \302\207\211\303H\304U\203, \305\306\307#\305\306T#\307O\310TO!B\211\207\211\303H\311U\203; \312\307\313O!\207\302\207" [term-pending-frame "" t 0 26 string-search ":" 1 string-to-number 47 cd nil] 8 (#$ . 90761)])#@23 

(fn TRUE-FILE LINE)
(defalias 'term-display-line #[514 "\300\301!\"\207" [term-display-buffer-line find-file-noselect] 5 (#$ . 91061)])#@20 

(fn BUFFER LINE)
(defalias 'term-display-buffer-line #[514 "\302\303\"\304rq\210\214~\210eb\210Sy\210`\262\305	\204 \306 	`p\223)\210\211eW\2041 \211dV\2036 ~\210\211b\210)\307	\"\207" [overlay-arrow-string overlay-arrow-position display-buffer t nil "=>" make-marker set-window-point] 7 (#$ . 91206)])
(defalias 'term-goto-home #[0 "\304 \210b\210\305i\211\211\207" [term-home-marker term-current-row term-current-column term-start-line-column term-handle-deferred-scroll 0] 3])#@16 

(fn ROW COL)
(defalias 'term-goto #[514 "\304 \210\203 Y\203 	\305!\210\nZ\262\202 \306 \210\307!\210\310!\207" [term-current-row term-vertical-motion term-start-line-column term-current-column term-handle-deferred-scroll 0 term-goto-home term-down term-move-columns] 4 (#$ . 91705)])
(defalias 'term-process-pager #[0 "\305 \306	!\210\307\303!\210\n\310\f\311\312F\313 \207" [term-pager-old-local-map term-pager-break-map mode-line-format term-old-mode-line-format mode-line-buffer-identification current-local-map use-local-map make-local-variable "--  **MORE**  " " [Type ? for help] " "%-" force-mode-line-update] 4])#@14 

(fn LINES)
(defalias 'term-pager-line #[257 "\300T!ZV\203 \301u\210\211\302X\203 \303\304 !\207\305!\207" [vertical-motion -1 0 recenter term--last-line term-pager-continue] 5 (#$ . 92349) "p"])#@88 Proceed past the **MORE** break, allowing the next page of output to appear.

(fn ARG)
(defalias 'term-pager-page #[257 "\301_!\207" [term-height term-pager-line] 4 (#$ . 92559) "p"])
(defalias 'term-pager-bob #[0 "eb\210\301!U\203 \302u\210\303\304 !\207" [term-height vertical-motion -1 recenter term--last-line] 2 nil nil])
(defalias 'term-pager-eob #[0 "b\210\301\302!\210\303\304p!!b\207" [term-home-marker recenter 0 process-mark get-buffer-process] 3 nil nil])#@14 

(fn LINES)
(defalias 'term-pager-back-line #[257 "\301\302Z!\210o\204 \303u\210\202 \304 \210\301!\210\303u\210\305\306 !\207" [term-height vertical-motion 1 -1 beep recenter term--last-line] 4 (#$ . 93038) "p"])#@12 

(fn ARG)
(defalias 'term-pager-back-page #[257 "\301_!\207" [term-height term-pager-back-line] 4 (#$ . 93262) "p"])
(defalias 'term-pager-discard #[0 "\302\303\304\305\"\210\306	!\207" [term-terminal-undecoded-bytes term-height "" interrupt-process nil t term-pager-continue] 3 nil nil])
(defalias 'term-pager-disable #[0 "\203 \302\303!\210\202 \303\304 \207" [term-pager-old-local-map term-pager-count term-pager-continue nil term-update-mode-line] 2 nil nil])
(defalias 'term-pager-enable #[0 "\204 \301\302 \207" [term-pager-count 0 term-update-mode-line] 1 nil nil])
(defalias 'term-pager-toggle #[0 "\203 \301 \207\302 \207" [term-pager-count term-pager-disable term-pager-enable] 1 nil nil])#@75 Provide help on commands available in a terminal-emulator **MORE** break.
(defalias 'term-pager-help #[0 "\300\301!\210\302\303!\210\304\305!\207" [message "Terminal-emulator pager break help..." sit-for 0 with-electric-help #[0 "\300\301\302!!\210\303\207" [princ substitute-command-keys "\\<term-pager-break-map>Terminal-emulator MORE break.\nType one of the following keys:\n\n\\[term-pager-page]		Move forward one page.\n\\[term-pager-line]		Move forward one line.\n\\[universal-argument] N \\[term-pager-page]	Move N pages forward.\n\\[universal-argument] N \\[term-pager-line]	Move N lines forward.\n\\[universal-argument] N \\[term-pager-back-line]	Move N lines back.\n\\[universal-argument] N \\[term-pager-back-page]		Move N pages back.\n\\[term-pager-bob]		Move to the beginning of the buffer.\n\\[term-pager-eob]		Move to the end of the buffer.\n\\[term-pager-discard]		Kill pending output and kill process.\n\\[term-pager-disable]		Disable PAGER handling.\n\n\\{term-pager-break-map}\nAny other key is passed through to the program\nrunning under the terminal emulator and disables pager processing until\nall pending output has been dealt with." nil] 3]] 2 (#$ . 93980) nil])#@18 

(fn NEW-COUNT)
(defalias 'term-pager-continue #[257 "\305p!\306!\210\307	\310 \210\311\f\"\210\f\312\"\210\313!\207" [term-pager-old-local-map term-old-mode-line-format mode-line-format term-pager-count term-pager-old-filter get-buffer-process use-local-map nil force-mode-line-update set-process-filter "" continue-process] 5 (#$ . 95174)])#@13 

(fn DOWN)
(defalias 'term-handle-scroll #[257 "\306 \\\307W\203 \202 	Z\307W\203 \211\307W\204( \307V\203\265 \211\307V\203\265 \310 \311\nb\210\203\203 \307W\203\\ \f	!\210\311\210`\262\f!\210\311\210\211`|\210b\210Z\262\f!\210\202w \f!\210`\262\f!\210\211`|\210b\210\f!\210\312[!\210\311\313\314\315!\"\210\202\254 \247\203\236 Z\211\307W\203\236 \307\262\316 \210\202\254 \312[!\210\f!\210\n`\311\223\210b\210\311\211\223\266\210\207" [term-scroll-start term-scroll-end term-home-marker term-scroll-with-delete term-vertical-motion term-current-column term-current-row 0 point-marker nil term-adjust-current-row-cache term-insert-char 10 abs term-process-pager term-pager-count] 8 (#$ . 95531)])#@79 Move down DOWN screen lines vertically.

(fn DOWN &optional CHECK-FOR-SCROLL)
(defalias 'term-down #[513 "\306 \203 \204 	\203 \307!\262\310 \311U\203  \311W\2047 \312!\210`dU\2030 \311W\2037 \n!Z\262\311Y\203I \313\314\"\210\311\211\202n \310 \311U\203j \212\313\314[\")\210\212\315y\210`\262[y\210\211`|)\266\311i\211\205u \316!\207" [term-scroll-with-delete term-pager-count term-vertical-motion term-current-column term-start-line-column term-height term-horizontal-column term-handle-scroll term-current-row 0 term-adjust-current-row-cache term-insert-char 10 nil term-move-columns] 7 (#$ . 96277)])
(defalias 'term-unwrap-line #[0 "n?\205 `\300\301!\210\302`\303#\262\207" [insert-before-markers 10 add-text-properties (term-line-wrap t rear-nonsticky t)] 5])#@13 

(fn KIND)
(defalias 'term-erase-in-line #[257 "\211\301U\203 \302 `\303!\210`|\210\304\305\"\266\211\301=?\205H `\302 \303U\205+ \306 \303U?\301!\210`|\210\211\203: \305c\210\307c\210\310`\311\312$\210b\266\202\207" [term-vertical-motion 1 term-horizontal-column 0 term-insert-char 32 term-current-column 10 put-text-property font-lock-face default] 8 (#$ . 97076)])#@178 Erase (that is blank out) part of the window.
If KIND is 0, erase from point to point-max;
if KIND is 1, erase from home to point; else erase from home to point-max.

(fn KIND)
(defalias 'term-erase-in-display #[257 "\303 \210\211\304=\203 n`d|\210\211\205 \305 \207\302 \306 \307=\203$ `\202% d|\210\305 \210\307=\2037 \310\311\"\210\312\211\313\"\207" [term-home-marker term-current-column term-current-row term-handle-deferred-scroll 0 term-unwrap-line term-horizontal-column 1 term-insert-char 10 nil term-goto] 9 (#$ . 97460)])#@14 

(fn COUNT)
(defalias 'term-delete-chars #[257 "`\301!\210\302 \210\211b\210\303\304 \\\305\"\210\211`|\207" [term-vertical-motion 1 term-unwrap-line move-to-column term-current-column t] 5 (#$ . 98010)])#@14 

(fn COUNT)
(defalias 'term-insert-spaces #[257 "`\302\211\303!\210n\203 \304u\210`\262\305 \262\306\307 	Z\\\310\"\210`Y\203- \311`\312\313$\210`V\2037 `|\210b\210\314\315\"\210b\207" [term-vertical-motion term-width nil 1 -1 line-end-position move-to-column term-start-line-column t put-text-property font-lock-face default term-insert-char 32] 9 (#$ . 98223)])#@14 

(fn LINES)
(defalias 'term-delete-lines #[257 "`	\303 \211\\\nTV\203 \\\nTZZ\262\304!\210`|\210\304\nTZZ!\210\305\306\"\210\211b\207" [term-current-column term-start-line-column term-scroll-end term-current-row term-down term-insert-char 10] 8 (#$ . 98606)])#@14 

(fn LINES)
(defalias 'term-insert-lines #[257 "`\305	\304 \211\nW\203 \nZZ\262\306\nZ!\210`\262\202> \211\\TV\2034 \\TZZ\262\306TZZ!\210`\262\306!\210`|\210b\210\211\307\310\"\210b\207" [term-current-column term-start-line-column term-scroll-start term-scroll-end term-current-row nil term-down term-insert-char 10] 9 (#$ . 98893)])#@60 Record raw inferior process output in a buffer.

(fn NAME)
(defalias 'term-start-output-log #[257 "\211\203\n \211\301\232\203 \302\303\304!\207\305!\204' r\306!q\210\307 \210\310p!\210\311 )\210\305!\303\312\313!\"\207" [term-log-buffer "" nil message "Output logging off." get-buffer get-buffer-create fundamental-mode buffer-disable-undo erase-buffer "Recording terminal emulator output into buffer \"%s\"" buffer-name] 5 (#$ . 99266) (byte-code "?\205 \301\302\303\304\305p!\"\306#C\207" [term-log-buffer read-buffer "Record output in buffer: " format "%s output-log" buffer-name nil] 6)])#@43 Discontinue raw inferior process logging.
(defalias 'term-stop-output-log #[0 "\300\301!\207" [term-start-output-log nil] 2 (#$ . 99874) nil])#@56 Put the end of the buffer at the bottom of the window.
(defalias 'term-show-maximum-output #[0 "db\210\300\301!\207" [recenter -1] 2 (#$ . 100022) nil])#@83 This hook is run when term is loaded in.
This is a good place to put keybindings.
(defvar term-load-hook nil (#$ . 100180))
(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313&\210\302\314\304\305\315DD\316\310\311\312\317&\210\302\320\304\305\321DD\322\310\311\312\313&\210\302\323\304\305\324DD\325\310\311\312\326&\207" [run-hooks term-load-hook custom-declare-variable term-completion-autolist funcall function #[0 "\300\207" [nil] 1 #1=""] "If non-nil, automatically list possibilities on partial completion.\nThis mirrors the optional behavior of tcsh." :group term :type boolean term-completion-addsuffix #[0 "\300\207" [t] 1 #1#] "If non-nil, add a `/' to completed directories, ` ' to file names.\nIf a cons pair, it should be of the form (DIRSUFFIX . FILESUFFIX) where\nDIRSUFFIX and FILESUFFIX are strings added on unambiguous or exact\ncompletion.  This mirrors the optional behavior of tcsh." (choice (const :tag "No suffix" nil) (cons (string :tag "dirsuffix") (string :tag "filesuffix")) (other :tag "Suffix" t)) term-completion-recexact #[0 "\300\207" [nil] 1 #1#] "If non-nil, use shortest completion if characters cannot be added.\nThis mirrors the optional behavior of tcsh.\n\nA non-nil value is useful if `term-completion-autolist' is non-nil too." term-completion-fignore #[0 "\300\207" [nil] 1 #1#] "List of suffixes to be disregarded during file completion.\nThis mirrors the optional behavior of bash and tcsh.\n\nNote that this applies to `term-dynamic-complete-filename' only." (choice (const nil) (repeat :tag "List of suffixes" string))] 8)#@169 Prefix prepended to absolute file names taken from process input.
This is used by term's and shell's completion functions, and by shell's
directory tracking functions.
(defvar term-file-name-prefix "" (#$ . 101776))#@18 

(fn DIRECTORY)
(defalias 'term-directory #[257 "\301\302!\203 P\202 !\207" [term-file-name-prefix expand-file-name file-name-absolute-p] 4 (#$ . 101997)])#@209 Return the word of WORD-CHARS at point, or nil if none is found.
Word constituents are considered to be those in WORD-CHARS, which is like the
inside of a "[...]" (see `skip-chars-forward').

(fn WORD-CHARS)
(defalias 'term-word #[257 "\212`\300\301Q\302\301Q\303\304\305#\203 \306u\210l\206 \307!?\205, \310\311P\"\210\312\224\312\225{\266\203)\207" ["[" "]" "[^" re-search-backward nil move 1 looking-at re-search-forward "+" 0] 8 (#$ . 102166)])#@113 Return the filename at point, or nil if none is found.
Environment variables are substituted.  See `term-word'.
(defalias 'term-match-partial-filename #[0 "\300\301!\211\205\n \302!\207" [term-word "~/A-Za-z0-9+@:_.$#,={}-" substitute-in-file-name] 3 (#$ . 102629)])#@210 Dynamically perform completion at point.
Calls the functions in `term-dynamic-complete-functions' to perform
completion until a function returns non-nil, at which point completion is
assumed to have occurred.
(defalias 'term-dynamic-complete #[0 "\300\301!\207" [run-hook-with-args-until-success term-dynamic-complete-functions] 2 (#$ . 102903) nil])#@691 Dynamically complete the filename at point.
Completes if after a filename.  See `term-match-partial-filename' and
`term-dynamic-complete-as-filename'.
This function is similar to `term-replace-by-expanded-filename', except that
it won't change parts of the filename already entered in the buffer; it just
adds completion characters to the end of the filename.  A completions listing
may be shown in a help buffer if completion is ambiguous.

Completion is dependent on the value of `term-completion-addsuffix',
`term-completion-recexact' and `term-completion-fignore', and the timing of
completions listing is dependent on the value of `term-completion-autolist'.

Returns t if successful.
(defalias 'term-dynamic-complete-filename #[0 "\300 \205 \301 \302 =\204 \303\304!\210\305 \207" [term-match-partial-filename selected-window minibuffer-window message "Completing file name..." term-dynamic-complete-as-filename] 2 (#$ . 103260) nil])#@110 Dynamically complete at point as a filename.
See `term-dynamic-complete-filename'.  Returns t if successful.
(defalias 'term-dynamic-complete-as-filename #[0 "\306	\307\204 \310\202 :\204 \311\202 @\204  \310\202+ :\204) \312\202+ A\313 \2061 \310\314!\315!\203A \316!\202B \f\317\"\320 \321 =\322\267\202o \323\324\"\210\306\262	\202\366 \203d \312c\210\211\204\366 \323\325!\210\202\366 \310\230\203{ \326 \210\202\366 \327!P\330!G\306Oc\210\317\"9\203\254 \331!\203\234 \202\236 c\210\204\365 \323\332!\266\202\366 \203\333 \203\333 \230\203\333 \333!\203\333 \331!\203\313 \202\315 c\210\204\365 \323\334!\266\202\366 \204\346 \230\203\355 \326 \266\202\366 \204\365 \323\335!\210\210*\207" [completion-ignore-case term-completion-fignore completion-ignored-extensions term-completion-addsuffix default-directory term-completion-recexact nil t "" "/" " " term-match-partial-filename file-name-directory file-name-nondirectory term-directory file-name-completion selected-window minibuffer-window #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 81 t 93)) message "No completions of %s" "Sole completion" term-dynamic-list-filename-completions file-name-as-directory directory-file-name file-directory-p "Completed" file-exists-p "Completed shortest" "Partially completed" term-completion-autolist] 13 (#$ . 104209)])#@475 Dynamically expand and complete the filename at point.
Replace the filename with an expanded, canonicalized and completed replacement.
"Expanded" means environment variables (e.g., $HOME) and `~'s are replaced
with the corresponding directories.  "Canonicalized" means `..'  and `.' are
removed, and the filename is made absolute instead of relative.  For expansion
see `expand-file-name' and `substitute-in-file-name'.  For completion see
`term-dynamic-complete-filename'.
(defalias 'term-replace-by-expanded-filename #[0 "\300\301\302 !\303\211#\210\304 \207" [replace-match expand-file-name term-match-partial-filename t term-dynamic-complete-filename] 4 (#$ . 105633) nil])#@68 List in help buffer possible completions of the filename at point.
(defalias 'term-dynamic-list-filename-completions #[0 "\302\303 \206 \304\305!\306!\203 \307!\202 	\310\"\211\203' \311!\202, \312\313\")\207" [completion-ignore-case default-directory nil term-match-partial-filename "" file-name-directory file-name-nondirectory term-directory file-name-all-completions term-dynamic-list-completions message "No completions of %s"] 8 (#$ . 106316) nil])#@95 List in help buffer sorted COMPLETIONS.
Typing SPC flushes the help buffer.

(fn COMPLETIONS)
(defalias 'term-dynamic-list-completions #[257 "\306 r\307\310!q\210p\311 \210\312\211\313\211\313\314 \210\315\316!+\210\211 \317\320\321\"!\210\322!)\266\323\324!\210\312\211r\325\310!q\210\326\312!\262\327H\262\211:\205e \330\331!\211@\262!\325\310!=\205e \332!\333=\205e \334)\203q \333!\210\335!\207\211\336=\203{ \335!\207\337!!\244\211!\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only current-window-configuration get-buffer-create "*Completions*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook display-completion-list sort string-lessp internal-temp-output-buffer-show message "Hit space to flush" get-buffer read-key-sequence 0 window-buffer event-start key-binding choose-completion (choose-completion) set-window-configuration 32 listify-key-sequence standard-output unread-command-events] 9 (#$ . 106789)])#@349 Make a term process NAME in a buffer, running PROGRAM.
The name of the buffer is NAME.
If there is already a running process in that buffer, it is not restarted.
Optional third arg STARTFILE is the name of a file to send the contents of to
the process.  Any more args are arguments to PROGRAM.

(fn NAME PROGRAM &optional STARTFILE &rest SWITCHES)
(defalias 'term-ansi-make-term #[898 "\300!\301!\204 r\211q\210\302 )\210\303%\210\207" [get-buffer-create term-check-proc term-mode term-exec] 11 (#$ . 107834)])
(defvar term-ansi-buffer-name nil)
(defvar term-ansi-default-program nil)
(defvar term-ansi-buffer-base-name nil)#@208 Start a terminal-emulator in a new buffer.
This is almost the same as `term' apart from always creating a new buffer,
and \`C-x' being marked as a `term-escape-char'.

(fn PROGRAM &optional NEW-BUFFER-NAME)
(defalias 'ansi-term #[513 "\211\206 \203 \303=\203 \304!\202 \202 \305\306	\306Q\307	!\310!\311\312	@\313A%\210	q\210\314 \210\315 \210\313\316\317!)\210\320	!\207" [term-ansi-buffer-base-name term-ansi-buffer-name term-escape-char t file-name-nondirectory "ansi-term" "*" generate-new-buffer-name split-string-shell-command apply term-ansi-make-term nil term-mode term-char-mode term-set-escape-char 24 switch-to-buffer] 9 (#$ . 108477) (byte-code "\302\303\206 \304\305!\206 	\"C\207" [explicit-shell-file-name shell-file-name read-from-minibuffer "Run program: " getenv "ESHELL"] 4)])#@241 Guess whether serial ports are files on this system.
Return t if this is a Unix-based system, where serial ports are
files, such as /dev/ttyS0.
Return nil if this is Windows or DOS, where serial ports have
special identifiers such as COM1.
(defalias 'serial-port-is-file-p #[0 "\301>?\207" [system-type (windows-nt cygwin ms-dos)] 2 (#$ . 109299)])#@53 History of serial ports used by `serial-read-name'.
(defvar serial-name-history (byte-code "\300 \203 \301\302!\203 \302C\206 \301\303!\205 \303C\207\304C\207" [serial-port-is-file-p file-exists-p "/dev/ttys0" "/dev/ttyS0" "COM1"] 2) (#$ . 109654))#@60 History of serial port speeds used by `serial-read-speed'.
(defvar serial-speed-history (list #1="9600" "1200" "2400" "4800" #1# "14400" "19200" "28800" "38400" "57600" "115200") (#$ . 109912))#@60 Return `serial-speed-history' cleaned up for a mouse-menu.
(defalias 'serial-nice-speed-history #[0 "\301\211\302\303!\304\"\262\211\203$ \211@\211@\232\204 \211B\262A\266\202\202 \210\207" [serial-speed-history nil sort copy-sequence #[514 ";\205 \211;\205 \300!\300!V\207" [string-to-number] 5 "\n\n(fn A B)"]] 6 (#$ . 110111)])#@232 String for `serial-read-speed' for special serial ports.
If `serial-read-speed' reads this string from the user, it
returns nil, which is recognized by `serial-process-configure'
for special serial ports that cannot be configured.
(defconst serial-no-speed "nil" (#$ . 110462))#@56 Signal an error if serial processes are not supported.
(defalias 'serial-supported-or-barf #[0 "\300\301!?\205\n \302\303!\207" [fboundp make-serial-process error "Serial processes are not supported on this system"] 2 (#$ . 110745)])#@262 Read a serial port name from the user.
Try to be nice by providing useful defaults and history.
On Windows, prepend \.to the port name unless it already
contains a backslash.  This handles the legacy ports COM1-COM9 as
well as the newer ports COM10 and higher.
(defalias 'serial-read-name #[0 "\302 \210\211@\303 \2031 \304\305\306\"\203 \307!\206, \310\311!\203% \311\202, \310\312!\205, \312\313#\202> \314\305\306\"\315\211\211\316\315\211&\211\203N \211;\203T \211G\317U\203T \262\202V 	\211\203f \211;\203j \211G\317U\203j \320\321!\210\303 \204{ \322\323\"\204{ \324P\262)\207" [serial-name-history file-name-history serial-supported-or-barf serial-port-is-file-p read-file-name format-prompt "Serial port" file-name-directory file-exists-p "/dev/" "/" "" read-from-minibuffer nil (file-name-history . 1) 0 error "No serial port selected" string-search "\\" "\\\\.\\"] 10 (#$ . 110985)])#@119 Read a serial port speed (in bits per second) from the user.
Try to be nice by providing useful defaults and history.
(defalias 'serial-read-speed #[0 "\302 \210\211@\303	\230\203 \304\202  \203 \305\306\307\310\"\"\202  \311\312\211\211\313\312\211&\211\2038 \211;\203; \211G\314U\203; \262\211\203K \211;\203K \211G\314U\203O \315\316!\210\211	\230\203[ \312\262\202s \317!\262\211\203o \211\250\203o \211\314X\203s \315\316!\210\207" [serial-speed-history serial-no-speed serial-supported-or-barf read-from-minibuffer "Speed (default nil = set by port): " format-prompt "Speed" format "%s b/s" "Speed (b/s): " nil (history . 1) 0 error "Invalid speed" string-to-number] 10 (#$ . 111899)])#@681 Start a terminal-emulator for a serial port in a new buffer.
PORT is the path or name of the serial port.  For example, this
could be "/dev/ttyS0" on Unix.  On Windows, this could be
"COM1" or "\\.\COM10".

SPEED is the speed of the serial port in bits per second.  9600
is a common value.  SPEED can be nil, see
`serial-process-configure' for details.

Usually `term-char-mode' is used, but if LINE-MODE (the prefix
when used interactively) is non-nil, `term-line-mode' is used
instead.

The buffer is in Term mode; see `term-mode' for the commands to
use in that buffer.

\<term-raw-map>Type \[switch-to-buffer] to switch to another buffer.

(fn PORT SPEED &optional LINE-MODE)
(defalias 'serial-term #[770 "\300 \210\301\302\303\304\305\306\307&\310!r\211q\210\311 \210\204 \312 \210db\210\313!`\314\223\210\315\316\"\210\317\320\")\210\321!\210\207" [serial-supported-or-barf make-serial-process :port :speed :coding no-conversion :noquery t process-buffer term-mode term-char-mode process-mark nil set-process-filter term-emulate-terminal set-process-sentinel term-sentinel switch-to-buffer] 12 (#$ . 112611) (byte-code "\301 \302 E\207" [current-prefix-arg serial-read-name serial-read-speed] 3)])
(defvar serial-mode-line-speed-menu nil)
(defvar serial-mode-line-config-menu nil)#@125 Return the speed of the serial port of the current buffer's process.
The return value may be nil for a special serial port.
(defalias 'serial-speed #[0 "\300\301p!\302\"\207" [process-contact get-buffer-process :speed] 3 (#$ . 113915)])#@14 

(fn EVENT)
(defalias 'serial-mode-line-speed-menu-1 #[257 "\301 r\302\303\"\216\304\305!\211@\262!\210\306 \210\300!\211\205# \307\310@!\"\211\205* \311!\266\202*\207" [serial-mode-line-speed-menu internal--before-save-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-save-selected-window] 2] select-window event-start serial-update-speed-menu lookup-key vector call-interactively] 7 (#$ . 114157) "e"])#@14 

(fn EVENT)
(defalias 'serial-mode-line-speed-menu #[257 "\301\"\207" [serial-mode-line-speed-menu x-popup-menu] 4 (#$ . 114595)])
(defalias 'serial-update-speed-menu #[0 "\301\302!\303\304\305#\210\306 \211\205N \211@\211;\203 \307!\206 \310\303\311\312\313\314\"!!\315\316\317\320\321\322\nE\323\324\325\fE\257\326\327\330\331\nF\257#\266A\266\202\202\f \207" [serial-mode-line-speed-menu make-sparse-keymap "Speed (b/s)" define-key [serial-mode-line-speed-menu-other] (menu-item "Other..." (lambda (event) (interactive "e") (let ((speed (serial-read-speed))) (serial-process-configure :speed speed) (term-update-mode-line) (message "Speed set to %d b/s" speed)))) serial-nice-speed-history string-to-number 0 vector make-symbol format "serial-mode-line-speed-menu-%s" menu-item lambda (event) (interactive "e") serial-process-configure :speed (term-update-mode-line) message "Speed set to %d b/s" :button :toggle = (serial-speed)] 16])#@14 

(fn EVENT)
(defalias 'serial-mode-line-config-menu-1 #[257 "\301 r\302\303\"\216\304\305!\211@\262!\210\306 \210\300!\211\205# \307\310@!\"\211\205* \311!\266\202*\207" [serial-mode-line-config-menu internal--before-save-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-save-selected-window] 2] select-window event-start serial-update-config-menu lookup-key vector call-interactively] 7 (#$ . 115558) "e"])#@14 

(fn EVENT)
(defalias 'serial-mode-line-config-menu #[257 "\301\"\207" [serial-mode-line-config-menu x-popup-menu] 4 (#$ . 115999)])
(defalias 'serial-update-config-menu #[0 "\301\302!\303\304p!\305\"\306\211\205W \211@\307\310\311\312\313@A@#!!\314\3158\316\317\320\321	@\322A@DE\323\324\325\3158E\257\326\327\330\n@\"	A@\232B\257#\210A\266\202\202 \207" [serial-mode-line-config-menu make-sparse-keymap "Configuration" process-contact get-buffer-process t ((:flowcontrol hw "Hardware flowcontrol (RTS/CTS)") (:flowcontrol sw "Software flowcontrol (XON/XOFF)") (:flowcontrol nil "No flowcontrol") (:stopbits 2 "2 stopbits") (:stopbits 1 "1 stopbit") (:parity odd "Odd parity") (:parity even "Even parity") (:parity nil "No parity") (:bytesize 7 "7 bits per byte") (:bytesize 8 "8 bits per byte")) define-key vector make-symbol format "%s-%s" menu-item 2 lambda (event) (interactive "e") serial-process-configure quote (term-update-mode-line) message "%s" :button :toggle plist-get] 17])
(provide 'term)
