annotate lisp/term/vt100.el @ 510:5bdbc721d46a

[xemacs-hg @ 2001-05-06 08:33:35 by ben] implement printing the selection when it's selected. force redisplay when set-charset-ccl-program called. if bytecomp or byte-optimize need recompiling, then load the .el version of them first, recompile them, and reload the .elc versions to recompile everything else (so we won't be waiting until the cows come home).
author ben
date Sun, 06 May 2001 08:33:41 +0000
parents 376386a54a3c
children 11502791fc1c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 ;;; vt100.el --- define VT100 function key sequences in function-key-map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 ;; Author: FSF
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 ;; Keywords: terminals
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 ;; Copyright (C) 1989, 1993 Free Software Foundation, Inc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 ;;; This file is part of GNU Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 ;;; GNU Emacs is free software; you can redistribute it and/or modify
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 ;;; it under the terms of the GNU General Public License as published by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 ;;; the Free Software Foundation; either version 2, or (at your option)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 ;;; any later version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 ;;; GNU Emacs is distributed in the hope that it will be useful,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 ;;; GNU General Public License for more details.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 ;;; You should have received a copy of the GNU General Public License
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 ;;; along with GNU Emacs; see the file COPYING. If not, write to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 ;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 ;;; Commentary:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 ;; Uses the Emacs 19 terminal initialization features --- won't work with 18.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 ;; Handles all VT100 clones, including the Apollo terminal. Also handles
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 ;; the VT200 --- its PF- and arrow- keys are different, but all those
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 ;; are really set up by the terminal initialization code, which mines them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 ;; out of termcap. This package is here to define the keypad comma, dash
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 ;; and period (which aren't in termcap's repertoire) and the function for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 ;; changing from 80 to 132 columns & vv.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 ;;; Code:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 ;; Set up function-key-map entries that termcap and terminfo don't know.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 (load "term/lk201" nil t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 ;;; Controlling the screen width.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 (defconst vt100-wide-mode (= (frame-width) 132)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 "t if vt100 is in 132-column mode.")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 (defun vt100-wide-mode (&optional arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 "Toggle 132/80 column mode for vt100s.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 With positive argument, switch to 132-column mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 With negative argument, switch to 80-column mode."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 (interactive "P")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 (setq vt100-wide-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 (if (null arg) (not vt100-wide-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 (> (prefix-numeric-value arg) 0)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 (set-frame-width terminal-frame (if vt100-wide-mode 132 80)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 ;;; vt100.el ends here