Mercurial > emacs
annotate etc/=TO-DO @ 9704:39b34bbe59c9
(x_catch_errors, x_check_errors, x_had_errors_p)
(x_uncatch_errors): Make the argument a display, not a frame.
(XTread_socket_fake_io_error): New variable.
(XTread_socket): Obey XTread_socket_fake_io_error.
(x_initialize): Init x_noop_count, x_focus_frame
and x_highlight_frame here.
(x_term_init): Not here.
(x_term_init): Open the connection first thing;
if that fails, don't allocate dpyinfo.
(x_delete_display): New function.
(x_connection_closed): New args dpyinfo and error_message.
Delete all frames on the dead display
and all frames using them for minibuffers.
Call x_delete_display.
Maybe signal a Lisp error.
(x_term_init): Don't report error here--just return 0.
(x_scroll_bar_report_motion): Store proper value in
*bar_window (the Emacs window, not the X window number).
(x_scroll_bar_report_motion): Don't clear *fp.
(x_wm_set_icon_pixmap): Use x_bitmap_pixmap.
(show_mouse_face): New arg dpyinfo. All callers changed.
(clear_mouse_face): New arg dpyinfo. All callers changed.
(scratch_cursor_gc): Variable deleted.
(dumpglyphs): Use scratch_cursor_gc in x_display_info.
(syms_of_xterm): Don't staticpro mouse_face_window.
(expose_all_windows, expose_all_icons): Variables deleted.
(BLOCK_INPUT_mask): Variable deleted.
(x_term_init): Set up x_id_name field.
(x_id_name): Variable deleted.
(x_font_table, x_font_table_size, x_n_fonts): Vars deleted.
(x_new_font): Use new fields.
(warp_mouse_on_deiconify): Unused variable deleted.
(x_term_init): Set up dpyinfo->xrdb.
Set up dpyinfo->vertical_scroll_bar_cursor.
(x_scroll_bar_create): Use vertical_scroll_bar_cursor slot.
(x_vertical_scroll_bar_cursor): Variable deleted.
(x_term_init): Really return dpyinfo.
(x_term_init): Call add_keyboard_wait_descriptor,
not change_keyboard_wait_descriptor.
(x_term_init): Pass new arg to init_sigio.
Don't set old_fcntl_owner.
Don't call change_input_fd.
(XTread_socket): Loop over displays and process input from each.
(x_display_name_list): New variable.
(syms_of_xterm): staticpro it.
Don't staticpro slots in the_x_screen.
(x_term_init): Update x_display_name_list along with x_display_list.
Actually malloc the x_display_info.
(the_x_screen): Variable deleted.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 26 Oct 1994 09:26:40 +0000 |
parents | 59c8668f70c7 |
children |
rev | line source |
---|---|
2251 | 1 Things useful to do for GNU Emacs: |
2 | |
3 * Primitive for random access insertion of part of a file. | |
4 | |
5 * Making I/O streams for files, so that read and prin1 can | |
6 be used on files directly. The I/O stream itself would | |
7 serve as a function to read or write one character. | |
8 | |
9 * If a file you can't write is in a directory you can write, | |
10 make sure it works to modify and save this file. | |
11 | |
12 * Make dired's commands handle correctly the case where | |
13 ls has listed several subdirectories' contents. | |
14 It needs to be able to tell which directory each file | |
15 is really in, by searching backward for the line | |
16 which identifies the start of a directory. | |
17 | |
18 * Add more dired commands, such as sorting (use the | |
19 sort utility through call-process-region). | |
20 | |
21 * Make display.c record inverse-video-ness on | |
22 a character by character basis. Then make non-full-screen-width | |
23 mode lines inverse video, and display the marked location in | |
24 inverse video. | |
25 | |
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 |