]> code.delx.au - gnu-emacs/blobdiff - doc/lispref/objects.texi
(Terminal I/O Encoding): `keyboard-coding-system' and
[gnu-emacs] / doc / lispref / objects.texi
index 5f7740ae298af3af4de6a52dff532441376c0532..dd200328453fb2ce620572d6bab5362dcb59243d 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
 @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
-@c   2002, 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../../info/objects
 @node Lisp Data Types, Numbers, Introduction, Top
@@ -231,13 +231,12 @@ example, the character @kbd{A} is represented as the @w{integer 65}.
 more common to work with @emph{strings}, which are sequences composed
 of characters.  @xref{String Type}.
 
-  Characters in strings, buffers, and files are currently limited to
-the range of 0 to 524287---nineteen bits.  But not all values in that
-range are valid character codes.  Codes 0 through 127 are
-@acronym{ASCII} codes; the rest are non-@acronym{ASCII}
-(@pxref{Non-ASCII Characters}).  Characters that represent keyboard
-input have a much wider range, to encode modifier keys such as
-Control, Meta and Shift.
+  Characters in strings and buffers are currently limited to the range
+of 0 to 4194303---twenty two bits (@pxref{Character Codes}).  Codes 0
+through 127 are @acronym{ASCII} codes; the rest are
+non-@acronym{ASCII} (@pxref{Non-ASCII Characters}).  Characters that
+represent keyboard input have a much wider range, to encode modifier
+keys such as Control, Meta and Shift.
 
   There are special functions for producing a human-readable textual
 description of a character for the sake of messages.  @xref{Describing
@@ -346,7 +345,7 @@ following text.)
 @node General Escape Syntax
 @subsubsection General Escape Syntax
 
-  In addition to the specific excape sequences for special important
+  In addition to the specific escape sequences for special important
 control characters, Emacs provides general categories of escape syntax
 that you can use to specify non-ASCII text characters.
 
@@ -362,7 +361,7 @@ an error.
 
   This peculiar and inconvenient syntax was adopted for compatibility
 with other programming languages.  Unlike some other languages, Emacs
-Lisp supports this syntax in only character literals and strings.
+Lisp supports this syntax only in character literals and strings.
 
 @cindex @samp{\} in character constant
 @cindex backslash in character constant
@@ -1348,7 +1347,8 @@ editing.
 * Buffer Type::         The basic object of editing.
 * Marker Type::         A position in a buffer.
 * Window Type::         Buffers are displayed in windows.
-* Frame Type::         Windows subdivide frames.
+* Frame Type::          Windows subdivide frames.
+* Terminal Type::       A terminal device displays frames.
 * Window Configuration Type::   Recording the way a frame is subdivided.
 * Frame Configuration Type::    Recording the status of all frames.
 * Process Type::        A subprocess of Emacs running on the underlying OS.
@@ -1493,6 +1493,25 @@ uniquely).
 
   @xref{Frames}, for a description of the functions that work on frames.
 
+@node Terminal Type
+@subsection Terminal Type
+@cindex terminal type
+
+  A @dfn{terminal} is a device capable of displaying one or more
+Emacs frames (@pxref{Frame Type}).
+
+  Terminals have no read syntax.  They print in hash notation giving
+the terminal's ordinal number and its TTY device file name.
+
+@example
+@group
+(get-device-terminal nil)
+     @result{} #<terminal 1 on /dev/tty>
+@end group
+@end example
+
+@c FIXME: add an xref to where terminal-related primitives are described.
+
 @node Window Configuration Type
 @subsection Window Configuration Type
 @cindex window layout in a frame