Mercurial > emacs
annotate lisp/disp-table.el @ 4413:5a00cec8e9b0
(fill-region-as-paragraph): When we take one word
after the fill column, don't stop at period with just one space.
When checking whether at beginning of line, if no fill prefix,
ignore intervening whitespace.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 02 Aug 1993 05:55:56 +0000 |
parents | 1e0f5fb4fcf1 |
children | 35e9402cb6bf |
rev | line source |
---|---|
662
8a533acedb77
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
584
diff
changeset
|
1 ;;; disp-table.el --- functions for dealing with char tables. |
8a533acedb77
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
584
diff
changeset
|
2 |
845 | 3 ;; Copyright (C) 1987 Free Software Foundation, Inc. |
4 | |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
696
diff
changeset
|
5 ;; Author: Howard Gayle |
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
696
diff
changeset
|
6 ;; Maintainer: FSF |
3012
d4b85bbedee8
Change "i14n" keyword to "i18n".
Jim Blandy <jimb@redhat.com>
parents:
2628
diff
changeset
|
7 ;; Keywords: i18n |
36 | 8 |
9 ;; This file is part of GNU Emacs. | |
10 | |
11 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
12 ;; it under the terms of the GNU General Public License as published by | |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
696
diff
changeset
|
13 ;; the Free Software Foundation; either version 2, or (at your option) |
36 | 14 ;; any later version. |
15 | |
16 ;; GNU Emacs is distributed in the hope that it will be useful, | |
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 ;; GNU General Public License for more details. | |
20 | |
21 ;; You should have received a copy of the GNU General Public License | |
22 ;; along with GNU Emacs; see the file COPYING. If not, write to | |
23 ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
24 | |
807
4f28bd14272c
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
696
diff
changeset
|
25 ;;; Code: |
36 | 26 |
2072 | 27 (defun describe-display-table (dt) |
584 | 28 "Describe the display table DT in a help buffer." |
36 | 29 (with-output-to-temp-buffer "*Help*" |
696
904853a03d9a
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
662
diff
changeset
|
30 (princ "\nTruncation glyph: ") |
36 | 31 (prin1 (aref dt 256)) |
696
904853a03d9a
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
662
diff
changeset
|
32 (princ "\nWrap glyph: ") |
36 | 33 (prin1 (aref dt 257)) |
696
904853a03d9a
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
662
diff
changeset
|
34 (princ "\nEscape glyph: ") |
36 | 35 (prin1 (aref dt 258)) |
696
904853a03d9a
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
662
diff
changeset
|
36 (princ "\nCtrl glyph: ") |
36 | 37 (prin1 (aref dt 259)) |
2628
6b17fe69a82f
* disp-table.el (describe-display-table): Don't use the term
Jim Blandy <jimb@redhat.com>
parents:
2523
diff
changeset
|
38 (princ "\nSelective display glyph sequence: ") |
2072 | 39 (prin1 (aref dt 260)) |
2628
6b17fe69a82f
* disp-table.el (describe-display-table): Don't use the term
Jim Blandy <jimb@redhat.com>
parents:
2523
diff
changeset
|
40 (princ "\nCharacter display glyph sequences:\n") |
36 | 41 (let ((vector (make-vector 256 nil)) |
42 (i 0)) | |
43 (while (< i 256) | |
2072 | 44 (aset vector i (aref dt i)) |
36 | 45 (setq i (1+ i))) |
46 (describe-vector vector)) | |
47 (print-help-return-message))) | |
48 | |
2072 | 49 ;;;###autoload |
36 | 50 (defun describe-current-display-table () |
584 | 51 "Describe the display table in use in the selected window and buffer." |
36 | 52 (interactive) |
53 (describe-display-table | |
54 (or (window-display-table (selected-window)) | |
55 buffer-display-table | |
56 standard-display-table))) | |
57 | |
2072 | 58 ;;;###autoload |
36 | 59 (defun make-display-table () |
2072 | 60 "Return a new, empty display table." |
36 | 61 (make-vector 261 nil)) |
62 | |
2072 | 63 ;;;###autoload |
36 | 64 (defun standard-display-8bit (l h) |
584 | 65 "Display characters in the range L to H literally." |
36 | 66 (while (<= l h) |
67 (if (and (>= l ?\ ) (< l 127)) | |
68 (if standard-display-table (aset standard-display-table l nil)) | |
69 (or standard-display-table | |
70 (setq standard-display-table (make-vector 261 nil))) | |
2628
6b17fe69a82f
* disp-table.el (describe-display-table): Don't use the term
Jim Blandy <jimb@redhat.com>
parents:
2523
diff
changeset
|
71 (aset standard-display-table l (vector l))) |
36 | 72 (setq l (1+ l)))) |
73 | |
2072 | 74 ;;;###autoload |
3033
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
75 (defun standard-display-default (l h) |
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
76 "Display characters in the range L to H using the default notation." |
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
77 (while (<= l h) |
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
78 (if (and (>= l ?\ ) (< l 127)) |
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
79 (if standard-display-table (aset standard-display-table l nil)) |
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
80 (or standard-display-table |
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
81 (setq standard-display-table (make-vector 261 nil))) |
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
82 (aset standard-display-table l nil)) |
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
83 (setq l (1+ l)))) |
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
84 |
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
85 ;;;###autoload |
36 | 86 (defun standard-display-ascii (c s) |
87 "Display character C using string S." | |
88 (or standard-display-table | |
89 (setq standard-display-table (make-vector 261 nil))) | |
2523
76685b00c607
Use `vector', not `make-rope'.
Richard M. Stallman <rms@gnu.org>
parents:
2072
diff
changeset
|
90 (aset standard-display-table c (apply 'vector (append s nil)))) |
36 | 91 |
2072 | 92 ;;;###autoload |
36 | 93 (defun standard-display-g1 (c sc) |
94 "Display character C as character SC in the g1 character set." | |
95 (or standard-display-table | |
96 (setq standard-display-table (make-vector 261 nil))) | |
97 (aset standard-display-table c | |
2523
76685b00c607
Use `vector', not `make-rope'.
Richard M. Stallman <rms@gnu.org>
parents:
2072
diff
changeset
|
98 (vector (create-glyph (concat "\016" (char-to-string sc) "\017"))))) |
36 | 99 |
2072 | 100 ;;;###autoload |
36 | 101 (defun standard-display-graphic (c gc) |
102 "Display character C as character GC in graphics character set." | |
103 (or standard-display-table | |
104 (setq standard-display-table (make-vector 261 nil))) | |
105 (aset standard-display-table c | |
2523
76685b00c607
Use `vector', not `make-rope'.
Richard M. Stallman <rms@gnu.org>
parents:
2072
diff
changeset
|
106 (vector (create-glyph (concat "\e(0" (char-to-string gc) "\e(B"))))) |
36 | 107 |
2072 | 108 ;;;###autoload |
36 | 109 (defun standard-display-underline (c uc) |
110 "Display character C as character UC plus underlining." | |
111 (or standard-display-table | |
112 (setq standard-display-table (make-vector 261 nil))) | |
113 (aset standard-display-table c | |
2523
76685b00c607
Use `vector', not `make-rope'.
Richard M. Stallman <rms@gnu.org>
parents:
2072
diff
changeset
|
114 (vector (create-glyph (concat "\e[4m" (char-to-string uc) "\e[m"))))) |
36 | 115 |
696
904853a03d9a
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
662
diff
changeset
|
116 ;; Allocate a glyph code to display by sending STRING to the terminal. |
2072 | 117 ;;;###autoload |
696
904853a03d9a
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
662
diff
changeset
|
118 (defun create-glyph (string) |
904853a03d9a
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
662
diff
changeset
|
119 (if (= (length glyph-table) 65536) |
904853a03d9a
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
662
diff
changeset
|
120 (error "No free glyph codes remain")) |
904853a03d9a
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
662
diff
changeset
|
121 (setq glyph-table (vconcat glyph-table (list string))) |
904853a03d9a
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
662
diff
changeset
|
122 (1- (length glyph-table))) |
36 | 123 |
3061
1e0f5fb4fcf1
* disp-table.el (standard-display-european): Doc fix. Make
Jim Blandy <jimb@redhat.com>
parents:
3033
diff
changeset
|
124 ;;;###autoload |
3033
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
125 (defun standard-display-european (arg) |
3061
1e0f5fb4fcf1
* disp-table.el (standard-display-european): Doc fix. Make
Jim Blandy <jimb@redhat.com>
parents:
3033
diff
changeset
|
126 "Toggle display of European characters encoded with ISO 8859. |
1e0f5fb4fcf1
* disp-table.el (standard-display-european): Doc fix. Make
Jim Blandy <jimb@redhat.com>
parents:
3033
diff
changeset
|
127 When enabled, characters in the range of 160 to 255 display not |
1e0f5fb4fcf1
* disp-table.el (standard-display-european): Doc fix. Make
Jim Blandy <jimb@redhat.com>
parents:
3033
diff
changeset
|
128 as octal escapes, but as accented characters. |
1e0f5fb4fcf1
* disp-table.el (standard-display-european): Doc fix. Make
Jim Blandy <jimb@redhat.com>
parents:
3033
diff
changeset
|
129 With prefix argument, enable European character display iff arg is positive." |
3033
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
130 (interactive "P") |
3061
1e0f5fb4fcf1
* disp-table.el (standard-display-european): Doc fix. Make
Jim Blandy <jimb@redhat.com>
parents:
3033
diff
changeset
|
131 (if (or (< (prefix-numeric-value arg) 0) |
1e0f5fb4fcf1
* disp-table.el (standard-display-european): Doc fix. Make
Jim Blandy <jimb@redhat.com>
parents:
3033
diff
changeset
|
132 (and (null arg) |
1e0f5fb4fcf1
* disp-table.el (standard-display-european): Doc fix. Make
Jim Blandy <jimb@redhat.com>
parents:
3033
diff
changeset
|
133 (vectorp standard-display-table) |
1e0f5fb4fcf1
* disp-table.el (standard-display-european): Doc fix. Make
Jim Blandy <jimb@redhat.com>
parents:
3033
diff
changeset
|
134 (>= (length standard-display-table) 161) |
1e0f5fb4fcf1
* disp-table.el (standard-display-european): Doc fix. Make
Jim Blandy <jimb@redhat.com>
parents:
3033
diff
changeset
|
135 (equal (aref standard-display-table 160) [160]))) |
1e0f5fb4fcf1
* disp-table.el (standard-display-european): Doc fix. Make
Jim Blandy <jimb@redhat.com>
parents:
3033
diff
changeset
|
136 (standard-display-default 160 255) |
3033
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
137 (standard-display-8bit 160 255))) |
8bf84289be17
* disp-table.el (standard-display-default): New function.
Jim Blandy <jimb@redhat.com>
parents:
3012
diff
changeset
|
138 |
36 | 139 (provide 'disp-table) |
662
8a533acedb77
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
584
diff
changeset
|
140 |
8a533acedb77
*** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
584
diff
changeset
|
141 ;;; disp-table.el ends here |