annotate lisp/console.el @ 5571:5273dd66a1ba

Strip extent information when passing text to external programs, select.el lisp/ChangeLog addition: 2011-09-21 Aidan Kehoe <kehoea@parhasard.net> * select.el (select-convert-to-text): * select.el (select-convert-to-utf-8-text): Ignore extent information in these functions, other programs can't do anything useful with it, and it actively interferes when copying from an ERC buffer to external programs-- #'encode-coding-string complains that the string is read-only, which is arguably in itself a separate problem, since it allocates a new string there's no reason for it ever to throw that error.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 21 Sep 2011 19:14:15 +0100
parents 308d34e9f07d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
209
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
1 ;;; console.el --- miscellaneous console functions not written in C
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
2
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
3 ;; Copyright (C) 1994-5, 1997 Free Software Foundation, Inc.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
4 ;; Copyright (C) 1995, 1996 Ben Wing
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
5
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
6 ;; Maintainer: XEmacs Development Team
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
7 ;; Keywords: internal, dumped
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
8
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
9 ;; This file is part of XEmacs.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
10
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 502
diff changeset
11 ;; 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: 502
diff changeset
12 ;; 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: 502
diff changeset
13 ;; 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: 502
diff changeset
14 ;; option) any later version.
209
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
15
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 502
diff changeset
16 ;; 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: 502
diff changeset
17 ;; 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: 502
diff changeset
18 ;; 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: 502
diff changeset
19 ;; for more details.
209
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
20
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 502
diff changeset
22 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>.
209
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
23
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
24 ;;; Synched up with: Not in FSF.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
25
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
26 ;;; Commentary:
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
27
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
28 ;; This file is dumped with XEmacs.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
29
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
30 ;;; Code:
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
31
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
32 (defun quit-char (&optional console)
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
33 "Return the character that causes a QUIT to happen.
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
34 This is normally C-g. Optional arg CONSOLE specifies the console
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
35 that the information is returned for; nil means the current console."
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
36 (nth 3 (current-input-mode console)))
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
37
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
38 (defun resume-pid-console (pid)
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
39 "Resume the consoles with a controlling process of PID."
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
40 (mapc (lambda (c)
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
41 (if (and (eq (console-type c) 'tty)
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 209
diff changeset
42 (eql pid
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 209
diff changeset
43 (declare-fboundp (console-tty-controlling-process c))))
209
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
44 (resume-console c)))
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
45 (console-list))
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
46 nil)
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
47
41ff10fd062f Import from CVS: tag r20-4b3
cvs
parents:
diff changeset
48 ;;; console.el ends here