From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: gamegrid.el and some games Date: Sat, 14 Sep 2002 13:35:15 -0400 Sender: emacs-devel-admin@gnu.org Message-ID: References: <87sn0eglkp.fsf@bundalo.shootybangbang.com> Reply-To: rms@gnu.org NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1032025388 20412 127.0.0.1 (14 Sep 2002 17:43:08 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sat, 14 Sep 2002 17:43:08 +0000 (UTC) Cc: emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17qGwl-0005J6-00 for ; Sat, 14 Sep 2002 19:43:07 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17qHZD-00048t-00 for ; Sat, 14 Sep 2002 20:22:51 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17qGwy-0003z7-00; Sat, 14 Sep 2002 13:43:20 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17qGpC-0001Dt-00 for emacs-devel@gnu.org; Sat, 14 Sep 2002 13:35:18 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17qGp9-0001DH-00 for emacs-devel@gnu.org; Sat, 14 Sep 2002 13:35:17 -0400 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by monty-python.gnu.org with esmtp (Exim 4.10) id 17qGp9-0001DB-00 for emacs-devel@gnu.org; Sat, 14 Sep 2002 13:35:15 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.10) id 17qGp9-0006by-00; Sat, 14 Sep 2002 13:35:15 -0400 Original-To: pot@gnu.org In-reply-to: (message from Francesco Potorti` on Fri, 13 Sep 2002 15:09:09 +0200) Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:7902 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:7902 | The value of this variable is the current glyph table. It should | be a vector; the Gth element defines glyph code G. If the value | is `nil' instead of a vector, then all glyphs are simple (see | below). The glyph table is not used on windowed displays. What is a `windowed display'? I know about `character terminal' and `window system', and in fact this wording is used below, but I do not know what a windowed display is. Looking at the code, I think it means anything but a character-only terminal. The glyph table is used only on character-only terminals. | INTEGER | Define this glyph code as an alias for glyph code INTEGER. You | can use an alias to specify a face code for the glyph; see below. | This works on all terminals, since you can put this kind of glyph code into the display table. I rewrote the node as follows. Is this clearer? @node Glyphs @subsection Glyphs @cindex glyph A @dfn{glyph} is a generalization of a character; it stands for an image that takes up a single character position on the screen. Glyphs are represented in Lisp as integers, just as characters are. Normally Emacs finds glyphs in the display table (@pxref{Display Tables}). A glyph can be @dfn{simple} or it can be defined by the @dfn{glyph table}. A simple glyph is just a way of specifying a character and a face to output it in. The glyph code for a simple glyph, mod 524288, is the character to output, and the glyph code divided by 524288 specifies the face number (@pxref{Face Functions}) to use while outputting it. (524288 is @ifnottex 2**19.) @end ifnottex @tex $2^{19}$.) @end tex @xref{Faces}. On character terminals, you can set up a @dfn{glyph table} to define the meaning of glyph codes. The glyph codes is the value of the variable @code{glyph-table}. @defvar glyph-table The value of this variable is the current glyph table. It should be a vector; the @var{g}th element defines glyph code @var{g}. If a glyph code is greater than or equal to the length of the glyph table, that code is automatically simple. If the value of @code{glyph-table} is @code{nil} instead of a vector, then all glyphs are simple. The glyph table is not used on graphical displays, only on character terminals. On graphical displays, all glyphs are simple. @end defvar Here are the possible types of elements in the glyph table: @table @asis @item @var{string} Send the characters in @var{string} to the terminal to output this glyph. This alternative is available on character terminals, but not under a window system. @item @var{integer} Define this glyph code as an alias for glyph code @var{integer}. You can use an alias to specify a face code for the glyph and use a small number as its code. @item @code{nil} This glyph is simple. @end table @defun create-glyph string @tindex create-glyph This function returns a newly-allocated glyph code which is set up to display by sending @var{string} to the terminal. @end defun