Function: te-pass-through

te-pass-through is an interactive and byte-compiled function defined in terminal.el.gz.

Signature

(te-pass-through)

Documentation

Character is passed to the program running under the terminal emulator.

One characters is treated specially: the terminal escape character (normally C-^) lets you type a terminal emulator command.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/obsolete/terminal.el.gz
(defun te-pass-through ()
  "Character is passed to the program running under the terminal emulator.
One characters is treated specially:
the terminal escape character (normally C-^)
lets you type a terminal emulator command."
  (interactive)
  (cond ((eq last-input-event terminal-escape-char)
	 (call-interactively 'te-escape))
	(t
	 ;; Convert `return' to C-m, etc.
	 (if (and (symbolp last-input-event)
		  (get last-input-event 'ascii-character))
	     (setq last-input-event (get last-input-event 'ascii-character)))
	 ;; Convert meta characters to 8-bit form for transmission.
	 (if (and (integerp last-input-event)
		  (not (zerop (logand last-input-event ?\M-\^@))))
	     (setq last-input-event (+ 128 (logand last-input-event 127))))
	 ;; Now ignore all but actual characters.
	 ;; (It ought to be possible to send through function
	 ;; keys as character sequences if we add a description
	 ;; to our termcap entry of what they should look like.)
	 (if (integerp last-input-event)
	     (progn
	       (and terminal-more-processing (null (cdr te-pending-output))
		    (te-set-more-count nil))
	       (process-send-string te-process (make-string 1 last-input-event))
	       (te-process-output t))
	   (message "Function key `%s' ignored"
		    (single-key-description last-input-event))))))