annotate etc/=TO-DO @ 35926:d2997845573f

(hi-lock-mode): Toggling hi-lock-mode now affects all buffers. When hi-lock turned on rather than only checking current buffer for regexps, all buffers are checked. Moved activation of font-lock to hi-lock-refontify. When font-lock turned off rather than removing added highlighting just in current buffer, remove it in all buffers. Changed edit menu text from "Automatic Highlighting" to "Regexp Highlighting" Documentation for highlighting phrases, minor documentation changes. (hi-lock-set-file-patterns): Execute only if there are new or existing file patterns. (hi-lock-refontify): Assume font-lock-fontify-buffer will first unfontify and, if a support mode is active, will not refontify the whole buffer. If necessary, turn on font lock. (Removed font-lock-unfontify and font-lock support-mode-specific calls, such as lazy-lock-fontify-window.) (hi-lock-find-patterns): Do not turn on hi-lock-mode even if patterns are found. Not useful now since find-file-hook is removed if hi-lock is off, but may be needed for per-buffer hi-lock activation. (hi-lock-face-phrase-buffer): New function. Also added related menu item and keybinding. (highlight-phrase): New alias, to hi-lock-face-phrase-buffer. (hi-lock-process-phrase): New function. (hi-lock-line-face-buffer): Doc fixes. (hi-lock-face-buffer): Doc fixes. (hi-lock-unface-buffer): Doc fixes.
author Gerd Moellmann <gerd@gnu.org>
date Tue, 06 Feb 2001 15:43:37 +0000
parents 59c8668f70c7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2251
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
1 Things useful to do for GNU Emacs:
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
2
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
3 * Primitive for random access insertion of part of a file.
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
4
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
5 * Making I/O streams for files, so that read and prin1 can
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
6 be used on files directly. The I/O stream itself would
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
7 serve as a function to read or write one character.
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
8
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
9 * If a file you can't write is in a directory you can write,
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
10 make sure it works to modify and save this file.
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
11
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
12 * Make dired's commands handle correctly the case where
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
13 ls has listed several subdirectories' contents.
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
14 It needs to be able to tell which directory each file
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
15 is really in, by searching backward for the line
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
16 which identifies the start of a directory.
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
17
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
18 * Add more dired commands, such as sorting (use the
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
19 sort utility through call-process-region).
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
20
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
21 * Make display.c record inverse-video-ness on
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
22 a character by character basis. Then make non-full-screen-width
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
23 mode lines inverse video, and display the marked location in
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
24 inverse video.
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
25
216f86e5891d Initial revision
Eric S. Raymond <esr@snark.thyrsus.com>
parents:
diff changeset
26 * VMS code to list a file directory. Make dired work.
2306
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
27
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
28 Long range:
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
29
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
30 Ideas for extending GNU Emacs to deal with arbitrary character sets.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
31
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
32 I would like GNU Emacs to be extended to handle all the world's alphabets
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
33 and word signs. I don't expect to have time to do such a thing in the next
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
34 few years, so here are my ideas on the best way to do it.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
35
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
36 * Each graphic is represented by a sequence of ordinary 8-bit characters.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
37
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
38 * All the characters that make up such a sequence have codes >= 0200.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
39
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
40 * The first character of such a sequence is between 0200 and 0237.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
41
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
42 * The remaining characters of such a sequence are all 0240 or higher.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
43
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
44 * The first character of the sequence determines the number of characters
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
45 in the sequence. Thus, 0200...0207 could start two-character sequences,
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
46 0210...0227 could start three-character sequences, and 0230 could start
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
47 four-character sequences. (Codes 0231...0237 would be reserved.)
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
48
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
49 * Several common alphabets, and some mathematical symbols, would get
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
50 two-character sequences. (Probably Greek, Russian, Hebrew(?), Arabic(?),
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
51 Korean, and Japanese kana). The remaining alphabets, and some versions of
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
52 Chinese, would get three-character sequences. Other sets of Chinese
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
53 characters would get four-character sequences.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
54
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
55 Each country that uses Chinese characters has its own standard character
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
56 set, and it is not easy to correlate them to avoid overlap. So there may
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
57 need to be several sets of Chinese characters. That is why they need so
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
58 much code space.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
59
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
60 True support for Hebrew and Arabic requires dealing with the problem of
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
61 writing direction for mixed text; I don't know what to do for that.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
62
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
63 * The functions that use syntax table would determine the
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
64 syntax of a sequence from its first character.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
65
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
66 * Functions in indent.c for computing widths and columns would
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
67 determine the width of a sequence from its first character.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
68 So would display routines.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
69
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
70 * Only a few other editing routines would need any change. In
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
71 particular, searching and regexp matching might not need any change.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
72
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
73 * Most of the work required would be in redisplay. The only case that
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
74 needs to be supported is with X windows, since ordinary terminals
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
75 can't display all these characters anyway.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
76
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
77 * There might need to be code to translate files from this format
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
78 to whatever format is typically stored on disk.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
79
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
80
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
81 I would be very unhappy with half-measures, such as support for
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
82 Japanese only.
59c8668f70c7 Merged in CHARACTERS
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 2251
diff changeset
83