home *** CD-ROM | disk | FTP | other *** search
- From: howard@hasse.ericsson.se (Howard Gayle)
- Newsgroups: alt.sources
- Subject: GNU Emacs 8-bit mods part 04 of 12
- Message-ID: <1990Apr5.133516.8786@ericsson.se>
- Date: 5 Apr 90 13:35:16 GMT
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # The tool that generated this appeared in the comp.sources.unix newsgroup;
- # send mail to comp-sources-unix@uunet.uu.net if you want that tool.
- # If this archive is complete, you will see the following message at the end:
- # "End of archive 4 (of 4)."
- # Contents: lisp/char-table-vt100.el lisp/rot13.el lisp/sort-table.el
- # lisp/term/id100.el lisp/trans-table.el src/casetab.h src/chartab.h
- # src/sorttab.h src/transtab.h
- # Wrapped by howard@hasse on Thu Apr 5 15:28:07 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'lisp/char-table-vt100.el' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'lisp/char-table-vt100.el'\"
- else
- echo shar: Extracting \"'lisp/char-table-vt100.el'\" \(2762 characters\)
- sed "s/^X//" >'lisp/char-table-vt100.el' <<'END_OF_FILE'
- X;; Functions for dealing with char tables for VT-100 terminals.
- X;; Copyright (C) 1987 Free Software Foundation, Inc.
- X
- X;; This file is part of GNU Emacs.
- X
- X;; GNU Emacs is distributed in the hope that it will be useful,
- X;; but WITHOUT ANY WARRANTY. No author or distributor
- X;; accepts responsibility to anyone for the consequences of using it
- X;; or for whether it serves any particular purpose or works at all,
- X;; unless he says so in writing. Refer to the GNU Emacs General Public
- X;; License for full details.
- X
- X;; Everyone is granted permission to copy, modify and redistribute
- X;; GNU Emacs, but only under the conditions described in the
- X;; GNU Emacs General Public License. A copy of this license is
- X;; supposed to have been given to you along with GNU Emacs so you
- X;; can know your rights and responsibilities. It should be in a
- X;; file named COPYING. Among other things, the copyright notice
- X;; and this notice must be preserved on all copies.
- X
- X
- X;; Written by Howard Gayle. See case-table.el for details.
- X
- X(defun standard-char-graphic (c gc)
- X "Display character C as graphic set character GC in
- X backslash-char-table and ctl-arrow-char-table."
- X (let ((r (vector (new-glyf (concat "\e(0" (char-to-string gc) "\e(B")))))
- X (put-char-table-dispr (backslash-char-table) c r)
- X (put-char-table-dispr (ctl-arrow-char-table) c r)
- X r
- X )
- X)
- X
- X(defun standard-char-underline (c uc)
- X "Display character C as character UC underlined in
- X backslash-char-table and ctl-arrow-char-table."
- X (let ((r (vector (new-glyf (concat "\e[4m" (char-to-string uc) "\e[m")))))
- X (put-char-table-dispr (backslash-char-table) c r)
- X (put-char-table-dispr (ctl-arrow-char-table) c r)
- X r
- X )
- X)
- X
- X(defun standard-frameg-graphic (gc)
- X "For the frame glyf, use graphic set character GC in
- X backslash-char-table and ctl-arrow-char-table."
- X (let ((g (new-glyf (concat "\e(0" (char-to-string gc) "\e(B"))))
- X (put-char-table-frameg (backslash-char-table) g)
- X (put-char-table-frameg (ctl-arrow-char-table) g)
- X g
- X )
- X)
- X
- X(defun standard-truncg-graphic (gc)
- X "For the truncation glyf, use graphic set character GC in
- X backslash-char-table and ctl-arrow-char-table."
- X (let ((g (new-glyf (concat "\e(0" (char-to-string gc) "\e(B"))))
- X (put-char-table-truncg (backslash-char-table) g)
- X (put-char-table-truncg (ctl-arrow-char-table) g)
- X g
- X )
- X)
- X
- X(defun standard-wrapg-graphic (gc)
- X "For the line wrap glyf, use graphic set character GC in
- X backslash-char-table and ctl-arrow-char-table."
- X (let ((g (new-glyf (concat "\e(0" (char-to-string gc) "\e(B"))))
- X (put-char-table-wrapg (backslash-char-table) g)
- X (put-char-table-wrapg (ctl-arrow-char-table) g)
- X g
- X )
- X)
- X
- X(provide 'char-table-vt100)
- END_OF_FILE
- if test 2762 -ne `wc -c <'lisp/char-table-vt100.el'`; then
- echo shar: \"'lisp/char-table-vt100.el'\" unpacked with wrong size!
- fi
- # end of 'lisp/char-table-vt100.el'
- fi
- if test -f 'lisp/rot13.el' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'lisp/rot13.el'\"
- else
- echo shar: Extracting \"'lisp/rot13.el'\" \(2103 characters\)
- sed "s/^X//" >'lisp/rot13.el' <<'END_OF_FILE'
- X;; Display a buffer in rot13.
- X;; Copyright (C) 1987 Free Software Foundation, Inc.
- X
- X;; This file is part of GNU Emacs.
- X
- X;; GNU Emacs is distributed in the hope that it will be useful,
- X;; but WITHOUT ANY WARRANTY. No author or distributor
- X;; accepts responsibility to anyone for the consequences of using it
- X;; or for whether it serves any particular purpose or works at all,
- X;; unless he says so in writing. Refer to the GNU Emacs General Public
- X;; License for full details.
- X
- X;; Everyone is granted permission to copy, modify and redistribute
- X;; GNU Emacs, but only under the conditions described in the
- X;; GNU Emacs General Public License. A copy of this license is
- X;; supposed to have been given to you along with GNU Emacs so you
- X;; can know your rights and responsibilities. It should be in a
- X;; file named COPYING. Among other things, the copyright notice
- X;; and this notice must be preserved on all copies.
- X
- X
- X;; Written by Howard Gayle. See case-table.el for details.
- X
- X;; This hack is mainly to show off the char table stuff.
- X
- X(defvar rot13-char-table nil "Char table for rot 13 display.")
- X
- X(if rot13-char-table nil
- X (setq rot13-char-table (copy-char-table))
- X (let* (
- X (i ?A) ; Current character.
- X (j (+ i 13)) ; Rotated character.
- X )
- X (while (<= i ?Z)
- X (put-char-table-dispr rot13-char-table j
- X (get-char-table-dispr (default-value 'buffer-char-table) i))
- X (setq i (1+ i))
- X (setq j (if (= j ?Z) ?A (1+ j)))
- X )
- X (setq i ?a)
- X (setq j (+ i 13))
- X (while (<= i ?z)
- X (put-char-table-dispr rot13-char-table j
- X (get-char-table-dispr (default-value 'buffer-char-table) i))
- X (setq i (1+ i))
- X (setq j (if (= j ?z) ?a (1+ j)))
- X )
- X )
- X)
- X
- X(defun rot13-other-window ()
- X "Display current buffer in rot 13 in another window."
- X (interactive)
- X (if (one-window-p t) (split-window-vertically))
- X (let (
- X (w (get-lru-window))
- X )
- X (save-excursion
- X (beginning-of-line)
- X (set-window-buffer w (current-buffer))
- X (set-window-start w (point) t)
- X (set-window-char-table rot13-char-table w)
- X )
- X )
- X)
- X
- X(provide 'rot13)
- END_OF_FILE
- if test 2103 -ne `wc -c <'lisp/rot13.el'`; then
- echo shar: \"'lisp/rot13.el'\" unpacked with wrong size!
- fi
- # end of 'lisp/rot13.el'
- fi
- if test -f 'lisp/sort-table.el' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'lisp/sort-table.el'\"
- else
- echo shar: Extracting \"'lisp/sort-table.el'\" \(4009 characters\)
- sed "s/^X//" >'lisp/sort-table.el' <<'END_OF_FILE'
- X;; Functions for dealing with sort tables.
- X;; Copyright (C) 1987 Free Software Foundation, Inc.
- X
- X;; This file is part of GNU Emacs.
- X
- X;; GNU Emacs is distributed in the hope that it will be useful,
- X;; but WITHOUT ANY WARRANTY. No author or distributor
- X;; accepts responsibility to anyone for the consequences of using it
- X;; or for whether it serves any particular purpose or works at all,
- X;; unless he says so in writing. Refer to the GNU Emacs General Public
- X;; License for full details.
- X
- X;; Everyone is granted permission to copy, modify and redistribute
- X;; GNU Emacs, but only under the conditions described in the
- X;; GNU Emacs General Public License. A copy of this license is
- X;; supposed to have been given to you along with GNU Emacs so you
- X;; can know your rights and responsibilities. It should be in a
- X;; file named COPYING. Among other things, the copyright notice
- X;; and this notice must be preserved on all copies.
- X
- X
- X;; Written by Howard Gayle. See case-table.el for details.
- X
- X(require 'case-table)
- X
- X(defun describe-case-distinct-table ()
- X "Describe the case-distinct sort table of the current buffer."
- X (interactive)
- X (describe-sort-table (case-distinct-table))
- X)
- X
- X(defun describe-case-fold-table ()
- X "Describe the case-fold sort table of the current buffer."
- X (interactive)
- X (describe-sort-table (case-fold-table))
- X)
- X
- X(defun describe-sort-table (st)
- X "Describe the given sort table in a help buffer. The
- Xequivalence classes are listed one per line in increasing order."
- X (let (
- X e
- X (i 0) ; Current character.
- X j ; Steps through EC.
- X (v (make-vector 256 nil)) ; v[i] is EC containing char i.
- X )
- X (with-output-to-temp-buffer "*Help*"
- X (while (<= i 255)
- X (setq e (get-sort-table-ec-num i st))
- X (aset v e (get-sort-table-ec i st))
- X (setq i (1+ i))
- X )
- X (setq i 0)
- X (setq e (aref v i))
- X (while e
- X (setq j 0)
- X (while (< j (length e))
- X (describe-character (aref e j))
- X (setq j (1+ j))
- X )
- X (princ "\n")
- X (setq i (1+ i))
- X (setq e (aref v i))
- X )
- X (print-help-return-message)
- X )
- X )
- X)
- X
- X(defun expand-sort-table-list (lst)
- X "One argument: a list of elements in increasing order. Each
- Xelement is either a single character, which represents a
- Xsingleton equivalence class, or a pair (lo . hi), which is
- Xshort for all single elements in the range lo .. hi, or a list
- Xof characters, all in the same equivalence class. Returns a
- Xlist suitable for make-sort-table. Checks for errors."
- X (let (
- X c1 ; Current character.
- X c2 ; Last character in dotted pair.
- X ce ; Current element in lst.
- X (cvr (make-vector 256 nil)) ; Flag set when each char covered.
- X (p lst) ; Steps through lst.
- X q1 ; Steps through sublist.
- X z ; Result.
- X )
- X (while p
- X (setq ce (car p))
- X (cond
- X ((numberp ce)
- X (if (aref cvr ce)
- X (message "Attempt to redefine %c (%d)" ce ce)
- X (setq z (cons (list ce) z))
- X (aset cvr ce t)
- X ))
- X ((numberp (cdr ce))
- X (setq c1 (car ce))
- X (setq c2 (cdr ce))
- X (while (<= c1 c2)
- X (if (aref cvr c1)
- X (message "Attempt to redefine %c (%d)" c1 c1)
- X (setq z (cons (list c1) z))
- X (aset cvr c1 t)
- X (setq c1 (1+ c1))
- X )
- X ))
- X (t
- X (setq q1 ce)
- X (while q1
- X (setq c1 (car q1))
- X (if (aref cvr c1)
- X (message "Attempt to redefine %c (%d)" c1 c1)
- X (aset cvr c1 t)
- X )
- X (setq q1 (cdr q1))
- X )
- X (setq z (cons ce z))
- X )
- X )
- X (setq p (cdr p))
- X )
- X (setq c1 0)
- X (while (<= c1 255)
- X (if (null (aref cvr c1))
- X (progn
- X (message "Character %c (%d) uncovered" c1 c1)
- X (sit-for 1)
- X )
- X )
- X (setq c1 (1+ c1))
- X )
- X (reverse z)
- X )
- X)
- X
- X(defun new-sort-table (lst)
- X "Return a new sort table. Argument same as for
- Xexpand-sort-table-list."
- X (make-sort-table (expand-sort-table-list lst))
- X)
- X
- X(provide 'sort-table)
- END_OF_FILE
- if test 4009 -ne `wc -c <'lisp/sort-table.el'`; then
- echo shar: \"'lisp/sort-table.el'\" unpacked with wrong size!
- fi
- # end of 'lisp/sort-table.el'
- fi
- if test -f 'lisp/term/id100.el' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'lisp/term/id100.el'\"
- else
- echo shar: Extracting \"'lisp/term/id100.el'\" \(3213 characters\)
- sed "s/^X//" >'lisp/term/id100.el' <<'END_OF_FILE'
- X;;; Set up ID Systems Corporation ID-100V terminal.
- X
- X(require 'iso8859-1-ascii)
- X(require 'char-table-vt100)
- X(require 'keypad)
- X(require 'vt100-led)
- X
- X(defvar CSI-map nil
- X "The CSI-map maps the CSI function keys on the keyboard.
- XThe CSI keys are the arrow keys.")
- X
- X(if (not CSI-map)
- X (progn
- X (setq CSI-map (lookup-key global-map "\e["))
- X (if (not (keymapp CSI-map))
- X (setq CSI-map (make-sparse-keymap))) ;; <ESC>[ commands
- X (setup-terminal-keymap CSI-map '(
- X ("A" . ?u) ; up arrow
- X ("B" . ?d) ; down-arrow
- X ("C" . ?r) ; right-arrow
- X ("D" . ?l) ; left-arrow
- X ("H" . ?h) ; home
- X))))
- X
- X(defun enable-arrow-keys ()
- X "Enable the use of the ID-100 arrow keys for cursor motion.
- XBecause of the nature of the ID-100, this unavoidably breaks
- Xthe standard Emacs command ESC [; therefore, it is not done by default,
- Xbut only if you give this command."
- X (interactive)
- X (global-set-key "\e[" CSI-map)
- X)
- X
- X(defvar SS3a-map nil
- X "SS3a-map maps the SS3 function keys on the ID-100 keyboard.
- XThe SS3 keys are the numeric keypad keys in keypad application mode
- X\(DECKPAM). SS3 is DEC's name for the sequence <ESC>O which is
- Xthe common prefix of what these keys transmit.")
- X
- X(if (not SS3a-map)
- X (progn
- X (setq SS3a-map (lookup-key global-map "\eO"))
- X (if (not (keymapp SS3a-map))
- X (setq SS3a-map (make-keymap))) ;; <ESC>O commands
- X (setup-terminal-keymap SS3a-map
- X '(("A" . ?u) ; up arrow
- X ("B" . ?d) ; down-arrow
- X ("C" . ?r) ; right-arrow
- X ("D" . ?l) ; left-arrow
- X ("M" . ?e) ; Enter
- X ("P" . ?\C-a) ; PF1
- X ("Q" . ?\C-b) ; PF2
- X ("R" . ?\C-c) ; PF3
- X ("S" . ?\C-d) ; PF4
- X ("l" . ?,) ; ,
- X ("m" . ?-) ; -
- X ("n" . ?.) ; .
- X ("p" . ?0) ; 0
- X ("q" . ?1) ; 1
- X ("r" . ?2) ; 2
- X ("s" . ?3) ; 3
- X ("t" . ?4) ; 4
- X ("u" . ?5) ; 5
- X ("v" . ?6) ; 6
- X ("w" . ?7) ; 7
- X ("x" . ?8) ; 8
- X ("y" . ?9))))) ; 9
- X
- X(defun keypad-application-mode ()
- X "Switch on keypad application mode."
- X (interactive)
- X (send-string-to-terminal "\e=")
- X (global-set-key "\eO" SS3a-map))
- X
- X(defvar SS3n-map nil
- X "SS3n-map maps the SS3 function keys on the ID-100 keyboard.
- XThe SS3 keys are the numeric keypad keys in keypad numeric mode
- X\(DECKPAM). SS3 is DEC's name for the sequence <ESC>O which is
- Xthe common prefix of what these keys transmit.")
- X
- X(if (not SS3n-map)
- X (progn
- X (setq SS3n-map (lookup-key global-map "\eO"))
- X (if (not (keymapp SS3n-map))
- X (setq SS3n-map (make-sparse-keymap))) ;; <ESC>O commands
- X (setup-terminal-keymap SS3n-map '(
- X ("P" . ?\C-a) ; PF1
- X ("Q" . ?\C-b) ; PF2
- X ("R" . ?\C-c) ; PF3
- X ("S" . ?\C-d) ; PF4
- X ))
- X (global-set-key "\eO" SS3n-map)
- X))
- X
- X(standard-char-graphic 176 ?f) ; degree sign
- X(standard-char-graphic 177 ?g) ; plus or minus sign
- X(standard-char-graphic 183 ?~) ; middle dot
- X(standard-frameg-graphic ?x) ; Vertical bar.
- X(standard-truncg-graphic ?t) ; Left T.
- X(standard-wrapg-graphic ?k) ; Upper right corner.
- X
- X(setq start-emphasis "\e[4m") ; Foreground yellow.
- X(setq stop-emphasis "\e[m") ; Foreground white.
- END_OF_FILE
- if test 3213 -ne `wc -c <'lisp/term/id100.el'`; then
- echo shar: \"'lisp/term/id100.el'\" unpacked with wrong size!
- fi
- # end of 'lisp/term/id100.el'
- fi
- if test -f 'lisp/trans-table.el' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'lisp/trans-table.el'\"
- else
- echo shar: Extracting \"'lisp/trans-table.el'\" \(1880 characters\)
- sed "s/^X//" >'lisp/trans-table.el' <<'END_OF_FILE'
- X;; Functions for dealing with trans tables.
- X;; Copyright (C) 1987 Free Software Foundation, Inc.
- X
- X;; This file is part of GNU Emacs.
- X
- X;; GNU Emacs is distributed in the hope that it will be useful,
- X;; but WITHOUT ANY WARRANTY. No author or distributor
- X;; accepts responsibility to anyone for the consequences of using it
- X;; or for whether it serves any particular purpose or works at all,
- X;; unless he says so in writing. Refer to the GNU Emacs General Public
- X;; License for full details.
- X
- X;; Everyone is granted permission to copy, modify and redistribute
- X;; GNU Emacs, but only under the conditions described in the
- X;; GNU Emacs General Public License. A copy of this license is
- X;; supposed to have been given to you along with GNU Emacs so you
- X;; can know your rights and responsibilities. It should be in a
- X;; file named COPYING. Among other things, the copyright notice
- X;; and this notice must be preserved on all copies.
- X
- X
- X;; Written by Howard Gayle. See case-table.el for details.
- X
- X(require 'case-table)
- X
- X(defun describe-downcase-table ()
- X "Describe the downcase table of the current buffer."
- X (interactive)
- X (describe-trans-table (downcase-table))
- X)
- X
- X(defun describe-trans-table (tt)
- X "Describe the given trans table in a help buffer. Don't
- Xmention identity translations."
- X (let (
- X (i 0) ; Current character.
- X j ; Translated character.
- X )
- X (with-output-to-temp-buffer "*Help*"
- X (while (<= i 255)
- X (setq j (get-trans-table-to i tt))
- X (if (not (= i j))
- X (progn
- X (describe-character i)
- X (princ "->")
- X (describe-character j)
- X (princ "\n")
- X )
- X )
- X (setq i (1+ i))
- X )
- X (print-help-return-message)
- X )
- X )
- X)
- X
- X(defun describe-upcase-table ()
- X "Describe the upcase table of the current buffer."
- X (interactive)
- X (describe-trans-table (upcase-table))
- X)
- X
- X(provide 'trans-table)
- END_OF_FILE
- if test 1880 -ne `wc -c <'lisp/trans-table.el'`; then
- echo shar: \"'lisp/trans-table.el'\" unpacked with wrong size!
- fi
- # end of 'lisp/trans-table.el'
- fi
- if test -f 'src/casetab.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/casetab.h'\"
- else
- echo shar: Extracting \"'src/casetab.h'\" \(1965 characters\)
- sed "s/^X//" >'src/casetab.h' <<'END_OF_FILE'
- X/* Declarations for case tables.
- X Copyright (C) 1987, 1990 Free Software Foundation, Inc.
- X
- XThis file is part of GNU Emacs.
- X
- XGNU Emacs is distributed in the hope that it will be useful,
- Xbut WITHOUT ANY WARRANTY. No author or distributor
- Xaccepts responsibility to anyone for the consequences of using it
- Xor for whether it serves any particular purpose or works at all,
- Xunless he says so in writing. Refer to the GNU Emacs General Public
- XLicense for full details.
- X
- XEveryone is granted permission to copy, modify and redistribute
- XGNU Emacs, but only under the conditions described in the
- XGNU Emacs General Public License. A copy of this license is
- Xsupposed to have been given to you along with GNU Emacs so you
- Xcan know your rights and responsibilities. It should be in a
- Xfile named COPYING. Among other things, the copyright notice
- Xand this notice must be preserved on all copies. */
- X
- X/* Written by Howard Gayle. See chartab.c for details. */
- X
- X#define NULL_CASE_TABLE ((struct Lisp_Casetab *) 0)
- X
- X/* The following macros extract case table information: */
- X#define CASETAB_CASE(c,t) (t->cas_case[c])
- X#define CASETAB_ISNOCASE(c,t) (nocase_e == CASETAB_CASE(c,t))
- X#define CASETAB_ISLOWER(c,t) (lowercase_e == CASETAB_CASE(c,t))
- X#define CASETAB_ISUPPER(c,t) (uppercase_e == CASETAB_CASE(c,t))
- X
- X/* Each buffer has an associated case table. The following
- Xmacros use the case table of the current buffer: */
- X#define LOCAL_CASE(c) CASETAB_CASE (c, bf_cur->case_table_v)
- X#define LOCAL_ISNOCASE(c) (nocase_e == LOCAL_CASE(c))
- X#define LOCAL_ISLOWER(c) (lowercase_e == LOCAL_CASE(c))
- X#define LOCAL_ISUPPER(c) (uppercase_e == LOCAL_CASE(c))
- X
- X/* There is also a standard case table, that is used whenever no
- Xbuffer case table is appropriate. The following macros use the
- Xstandard case table: */
- X#define UPPERCASEP(c) (uppercase_e==buffer_defaults.case_table_v->cas_case[c])
- X#define LOWERCASEP(c) (lowercase_e==buffer_defaults.case_table_v->cas_case[c])
- END_OF_FILE
- if test 1965 -ne `wc -c <'src/casetab.h'`; then
- echo shar: \"'src/casetab.h'\" unpacked with wrong size!
- fi
- # end of 'src/casetab.h'
- fi
- if test -f 'src/chartab.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/chartab.h'\"
- else
- echo shar: Extracting \"'src/chartab.h'\" \(2262 characters\)
- sed "s/^X//" >'src/chartab.h' <<'END_OF_FILE'
- X/* Declarations for character tables.
- X Copyright (C) 1987, 1990 Free Software Foundation, Inc.
- X
- XThis file is part of GNU Emacs.
- X
- XGNU Emacs is distributed in the hope that it will be useful,
- Xbut WITHOUT ANY WARRANTY. No author or distributor
- Xaccepts responsibility to anyone for the consequences of using it
- Xor for whether it serves any particular purpose or works at all,
- Xunless he says so in writing. Refer to the GNU Emacs General Public
- XLicense for full details.
- X
- XEveryone is granted permission to copy, modify and redistribute
- XGNU Emacs, but only under the conditions described in the
- XGNU Emacs General Public License. A copy of this license is
- Xsupposed to have been given to you along with GNU Emacs so you
- Xcan know your rights and responsibilities. It should be in a
- Xfile named COPYING. Among other things, the copyright notice
- Xand this notice must be preserved on all copies. */
- X
- X/* Written by Howard Gayle. See chartab.c for details. */
- X
- X/* The following definitions are placed here in order to ease
- Xfuture modifications: */
- X#define HTAB ('\t')
- X#define HYPHEN ('-')
- X#define NEWLINE ('\n')
- X#define SPACE (' ')
- X
- X/* There are two built-in character tables, one that displays
- Xcontrol characters with backslash followed by an octal number,
- Xand one that displays them with ^. Both start off initialized
- Xfor ASCII, but can be modified. */
- Xextern Lisp_Object Vctl_arrow_char_table;
- X
- X#define NULL_CHAR_TABLE ((struct Lisp_Chartab *) 0)
- X
- X/* Each window has a char table. This macro returns the char
- Xtable of the selected window: */
- X#define SELECTED_CHAR_TABLE XCHARTAB ((XWINDOW (selected_window)->window_char_table))
- X
- X/* This macro returns the char table of the given window. */
- X#define WINDOW_CHAR_TABLE(w) XCHARTAB (w->window_char_table)
- X
- XLisp_Object check_char_table ();
- X
- X/* The length of the rope corresponding to character c in char table t: */
- X#define ROPE_LEN(c,t) (t->ct_dispr[c].r_len)
- X
- X/* A glyf is represented as an index in glyf_table[]. The
- Xfirst byte gives the length, followed by the characters in the
- Xglyf. There is no NUL at the end. */
- Xextern char_t *glyf_table;
- X
- X#define SPACEGLYF ((1 << 8) + ' ') /* Glyf for a space. */
- X
- Xint glyf_len(); /* Length of a glyf. */
- Xchar_t *glyf_str(); /* Pointer to first byte in glyf. */
- END_OF_FILE
- if test 2262 -ne `wc -c <'src/chartab.h'`; then
- echo shar: \"'src/chartab.h'\" unpacked with wrong size!
- fi
- # end of 'src/chartab.h'
- fi
- if test -f 'src/sorttab.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/sorttab.h'\"
- else
- echo shar: Extracting \"'src/sorttab.h'\" \(1472 characters\)
- sed "s/^X//" >'src/sorttab.h' <<'END_OF_FILE'
- X/* Declarations for sort tables.
- X Copyright (C) 1987 Free Software Foundation, Inc.
- X
- XThis file is part of GNU Emacs.
- X
- XGNU Emacs is distributed in the hope that it will be useful,
- Xbut WITHOUT ANY WARRANTY. No author or distributor
- Xaccepts responsibility to anyone for the consequences of using it
- Xor for whether it serves any particular purpose or works at all,
- Xunless he says so in writing. Refer to the GNU Emacs General Public
- XLicense for full details.
- X
- XEveryone is granted permission to copy, modify and redistribute
- XGNU Emacs, but only under the conditions described in the
- XGNU Emacs General Public License. A copy of this license is
- Xsupposed to have been given to you along with GNU Emacs so you
- Xcan know your rights and responsibilities. It should be in a
- Xfile named COPYING. Among other things, the copyright notice
- Xand this notice must be preserved on all copies. */
- X
- X/* Written by Howard Gayle. See chartab.c for details. */
- X
- X#define NULL_SORT_TABLE ((struct Lisp_Sorttab *) 0)
- X
- X/* Each buffer has two sort tables: one for use when
- Xcase-fold-search is nil, and another for use when it is not
- Xnil. The following function returns the appropriate sort table: */
- Xstruct Lisp_Sorttab *current_sort_table ();
- X
- X/* Each sort table contains an equivalence class table that
- Xmaps characters to their corresponding equivalence classes.
- XThe following function returns the equivalence class table for
- Xthe current sort table: */
- Xchar_t *current_equiv_class_table ();
- END_OF_FILE
- if test 1472 -ne `wc -c <'src/sorttab.h'`; then
- echo shar: \"'src/sorttab.h'\" unpacked with wrong size!
- fi
- # end of 'src/sorttab.h'
- fi
- if test -f 'src/transtab.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/transtab.h'\"
- else
- echo shar: Extracting \"'src/transtab.h'\" \(1598 characters\)
- sed "s/^X//" >'src/transtab.h' <<'END_OF_FILE'
- X/* Declarations for translate tables.
- X Copyright (C) 1987 Free Software Foundation, Inc.
- X
- XThis file is part of GNU Emacs.
- X
- XGNU Emacs is distributed in the hope that it will be useful,
- Xbut WITHOUT ANY WARRANTY. No author or distributor
- Xaccepts responsibility to anyone for the consequences of using it
- Xor for whether it serves any particular purpose or works at all,
- Xunless he says so in writing. Refer to the GNU Emacs General Public
- XLicense for full details.
- X
- XEveryone is granted permission to copy, modify and redistribute
- XGNU Emacs, but only under the conditions described in the
- XGNU Emacs General Public License. A copy of this license is
- Xsupposed to have been given to you along with GNU Emacs so you
- Xcan know your rights and responsibilities. It should be in a
- Xfile named COPYING. Among other things, the copyright notice
- Xand this notice must be preserved on all copies. */
- X
- X/* Written by Howard Gayle. See chartab.c for details. */
- X
- X#define NULL_TRANS_TABLE ((struct Lisp_Transtab *) 0)
- X
- X/* Associated with each buffer are two trans tables, one for
- Xconversion to lower case and one for upper case. The following
- Xmacros use those tables: */
- X#define LOCAL_TOLOWER(c) (bf_cur->downcase_table_v->trt_to[c])
- X#define LOCAL_TOUPPER(c) (bf_cur->upcase_table_v->trt_to[c])
- X
- X/* There are also standard upper and lower case conversion
- Xtables that are used whenever no buffer trans tables are
- Xappropriate. The following macros use the standard trans tables: */
- X#define DOWNCASE(c) (buffer_defaults.downcase_table_v->trt_to[c])
- X#define UPCASE(c) (buffer_defaults.upcase_table_v->trt_to[c])
- END_OF_FILE
- if test 1598 -ne `wc -c <'src/transtab.h'`; then
- echo shar: \"'src/transtab.h'\" unpacked with wrong size!
- fi
- # end of 'src/transtab.h'
- fi
- echo shar: End of archive 4 \(of 4\).
- cp /dev/null ark4isdone
- MISSING=""
- for I in 1 2 3 4 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 4 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-