X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/c2f584363860edd7f08544ee9b4790ce02bc4376..cb5b9015b372175f1fc90cb7ba3f43298c621509:/lisp/term/vt100.el diff --git a/lisp/term/vt100.el b/lisp/term/vt100.el index 5c723f433f..b185a7bb02 100644 --- a/lisp/term/vt100.el +++ b/lisp/term/vt100.el @@ -1,26 +1,27 @@ ;;; vt100.el --- define VT100 function key sequences in function-key-map +;; Copyright (C) 1989, 1993, 2001, 2002, 2003, 2004, +;; 2005, 2006, 2007 Free Software Foundation, Inc. + ;; Author: FSF ;; Keywords: terminals -;; Copyright (C) 1989 Free Software Foundation, Inc. - ;; This file is part of GNU Emacs. +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 3, or (at your option) +;; any later version. + ;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY. No author or distributor -;; accepts responsibility to anyone for the consequences of using it -;; or for whether it serves any particular purpose or works at all, -;; unless he says so in writing. Refer to the GNU Emacs General Public -;; License for full details. - -;; Everyone is granted permission to copy, modify and redistribute -;; GNU Emacs, but only under the conditions described in the -;; GNU Emacs General Public License. A copy of this license is -;; supposed to have been given to you along with GNU Emacs so you -;; can know your rights and responsibilities. It should be in a -;; file named COPYING. Among other things, the copyright notice -;; and this notice must be preserved on all copies. +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: @@ -35,67 +36,27 @@ ;;; Code: -;; CSI sequences - those that start with "\e[". -;; Termcap or terminfo should set these up automatically -;; (if (boundp 'vt100-CSI-prefix) -;; nil -;; (define-prefix-command 'vt100-CSI-prefix) -;; (define-key function-key-map "\e[" 'vt100-CSI-prefix) -;; -;; (define-key vt100-CSI-prefix "A" [up]) -;; (define-key vt100-CSI-prefix "B" [down]) -;; (define-key vt100-CSI-prefix "C" [right]) -;; (define-key vt100-CSI-prefix "D" [left]) -;; ) - -;; SS3 sequences - those that start with "\eO". -(if (boundp 'vt100-SS3-prefix) - nil - ;; The terminal initialization should already have set up some keys - (setq vt100-SS3-prefix (lookup-key function-key-map "\eO")) - (if (not (keymapp vt100-SS3-prefix)) - (error "What? Your VT100 termcap/terminfo has no keycaps in it.")) - - ;; These will typically be set up automatically by termcap or terminfo - ;; (define-key vt100-SS3-prefix "A" [up]) ; up-arrow - ;; (define-key vt100-SS3-prefix "B" [down]) ; down-arrow - ;; (define-key vt100-SS3-prefix "C" [right]) ; right-arrow - ;; (define-key vt100-SS3-prefix "D" [left]) ; left-arrow - ;; (define-key vt100-SS3-prefix "P" [kp-f1]) ; PF1 - ;; (define-key vt100-SS3-prefix "Q" [kp-f2]) ; PF2 - ;; (define-key vt100-SS3-prefix "R" [kp-f3]) ; PF3 - ;; (define-key vt100-SS3-prefix "S" [kp-f4]) ; PF4 - - ;; Terminfo might set these - (define-key vt100-SS3-prefix "M" [kp-enter]) ; Enter - (define-key vt100-SS3-prefix "p" [kp-0]) ; 0 - (define-key vt100-SS3-prefix "q" [kp-1]) ; 1 - (define-key vt100-SS3-prefix "r" [kp-2]) ; 2 - (define-key vt100-SS3-prefix "s" [kp-3]) ; 3 - (define-key vt100-SS3-prefix "t" [kp-4]) ; 4 - (define-key vt100-SS3-prefix "u" [kp-5]) ; 5 - (define-key vt100-SS3-prefix "v" [kp-6]) ; 6 - (define-key vt100-SS3-prefix "w" [kp-7]) ; 7 - (define-key vt100-SS3-prefix "x" [kp-8]) ; 8 - (define-key vt100-SS3-prefix "y" [kp-9]) ; 9 - - ;; Neither termcap nor terminfo will set these - (define-key vt100-SS3-prefix "l" [kp-separator]) ; , - (define-key vt100-SS3-prefix "m" [kp-subtract]) ; - - (define-key vt100-SS3-prefix "n" [kp-period]) ; . - ) +;; Set up function-key-map entries that termcap and terminfo don't know. + + +(defun terminal-init-vt100 () + "Terminal initialization function for vt100." + (load "term/lk201" nil t)) ;;; Controlling the screen width. -(defconst vt100-wide-mode (= (frame-width) 132) +(defvar vt100-wide-mode (= (frame-width) 132) "t if vt100 is in 132-column mode.") (defun vt100-wide-mode (&optional arg) - "Toggle 132/80 column mode for vt100s." + "Toggle 132/80 column mode for vt100s. +With positive argument, switch to 132-column mode. +With negative argument, switch to 80-column mode." (interactive "P") - (setq vt100-wide-mode + (setq vt100-wide-mode (if (null arg) (not vt100-wide-mode) (> (prefix-numeric-value arg) 0))) (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l")) - (set-frame-width (if vt100-wide-mode 132 80))) + (set-frame-width terminal-frame (if vt100-wide-mode 132 80))) +;;; arch-tag: 9ff41f24-a7c9-4dee-9cf2-fbaa951eb840 ;;; vt100.el ends here