Mercurial > hg > xemacs-beta
annotate lisp/term/vt100.el @ 5588:2dbefd79b3d3
Prevent SIGPIPEs in deactivate_process().
* process.c (deactivate_process):
Use Lstream_close_noflush on output pipe instead of Lstream_close.
* lstream.c (Lstream_close_noflush):
New. Factored out of Lstream_close.
(Lstream_close): Use Lstream_close_noflush.
* lstream.h (Lstream_close_noflush): Declare it.
author | Stephen J. Turnbull <stephen@xemacs.org> |
---|---|
date | Sat, 29 Oct 2011 01:10:32 +0900 |
parents | b9167d522a9a |
children |
rev | line source |
---|---|
0 | 1 ;;; vt100.el --- define VT100 function key sequences in function-key-map |
2 | |
622 | 3 ;; Copyright (C) 1989, 1993 Free Software Foundation, Inc. |
4 | |
0 | 5 ;; Author: FSF |
6 ;; Keywords: terminals | |
7 | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
8 ;; This file is part of XEmacs. |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
9 ;; |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
10 ;; XEmacs is free software: you can redistribute it and/or modify it |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
11 ;; under the terms of the GNU General Public License as published by the |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
12 ;; Free Software Foundation, either version 3 of the License, or (at your |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
13 ;; option) any later version. |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
14 ;; |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
15 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
16 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
17 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
18 ;; for more details. |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
19 ;; |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
20 ;; You should have received a copy of the GNU General Public License |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
622
diff
changeset
|
21 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
0 | 22 |
622 | 23 ;;; Synched up with: FSF 21.0.103. |
24 | |
0 | 25 ;;; Commentary: |
26 | |
27 ;; Uses the Emacs 19 terminal initialization features --- won't work with 18. | |
28 | |
29 ;; Handles all VT100 clones, including the Apollo terminal. Also handles | |
30 ;; the VT200 --- its PF- and arrow- keys are different, but all those | |
31 ;; are really set up by the terminal initialization code, which mines them | |
32 ;; out of termcap. This package is here to define the keypad comma, dash | |
33 ;; and period (which aren't in termcap's repertoire) and the function for | |
34 ;; changing from 80 to 132 columns & vv. | |
35 | |
36 ;;; Code: | |
37 | |
38 ;; Set up function-key-map entries that termcap and terminfo don't know. | |
39 (load "term/lk201" nil t) | |
40 | |
41 ;;; Controlling the screen width. | |
622 | 42 (defvar vt100-wide-mode (= (frame-width) 132) |
0 | 43 "t if vt100 is in 132-column mode.") |
44 | |
45 (defun vt100-wide-mode (&optional arg) | |
46 "Toggle 132/80 column mode for vt100s. | |
47 With positive argument, switch to 132-column mode. | |
48 With negative argument, switch to 80-column mode." | |
49 (interactive "P") | |
50 (setq vt100-wide-mode | |
51 (if (null arg) (not vt100-wide-mode) | |
52 (> (prefix-numeric-value arg) 0))) | |
53 (send-string-to-terminal (if vt100-wide-mode "\e[?3h" "\e[?3l")) | |
54 (set-frame-width terminal-frame (if vt100-wide-mode 132 80))) | |
55 | |
56 ;;; vt100.el ends here |