Commit | Line | Data |
---|---|---|
e39fc314 | 1 | -*-text-*- |
19cc91fb | 2 | |
2255d5b4 RS |
3 | If you are ready to start working on any of these TODO items, we |
4 | appreciate your help; please write to emacs-devel@gnu.org so we can be | |
5 | aware that the problem is being addressed, and talk with you how to do | |
6 | it best. Since Emacs is an FSF-copyrighted packages, please be | |
7 | prepared to sign legal papers to transfer the copyright on your work | |
8 | to the FSF. | |
9 | ||
10 | Small but important fixes needed in existing features: | |
a9c1a157 | 11 | |
2cce20c0 RS |
12 | * Bring back the feature of showing the part of the buffer that is a problem |
13 | for the use of the preferred coding systems. | |
14 | ||
a9c1a157 RS |
15 | * Make compile.el record the markers that point to error loci |
16 | on text properties in the error message lines. | |
17 | ||
18 | Important features: | |
19 | ||
657c5358 KS |
20 | * Write an INTRO_CVS file with basic instructions how to build emacs |
21 | from CVS (make bootstrap), some information on how the config | |
22 | and build system is tied together, and all sorts of tips and tricks | |
23 | (FAQ) which may be of interest to new (and old) emacs hackers. | |
24 | ||
5e101746 RS |
25 | * Provide user-friendly ways to list all available font families, |
26 | display a font as a sample, etc. | |
27 | ||
00a18b59 DL |
28 | * Program Enriched mode to read and save in RTF. [Is there actually a |
29 | decent single definition of RTF?] | |
6165b6e3 | 30 | |
a9c1a157 RS |
31 | * Implement something better than the current Refill mode. This |
32 | probably needs some primitive support. | |
33 | ||
34 | * Implement primitive and higher-level functions to allow filling | |
35 | properly with variable-pitch faces. | |
36 | ||
37 | * Implement a smoother vertical scroll facility. | |
38 | ||
6165b6e3 EZ |
39 | * Implement other text formatting properties. |
40 | ** Footnotes that can appear either in place or at the end of the page. | |
41 | ** text property that says "don't break line in middle of this". | |
42 | Don't break the line between two characters that have the | |
43 | same value of this property. | |
44 | ** Discretionary hyphens that are not visible when they are at end of line. | |
45 | ||
a9c1a157 RS |
46 | * Make movemail work with IMAP. |
47 | ||
6147334f RS |
48 | * Internationalize Emacs's messages. |
49 | ||
a9c1a157 RS |
50 | * Port Emacs to GTK+. (Relevant work has been done already.) |
51 | ||
52 | * Make the Lucid menu widget display multilingual text. | |
53 | ||
54 | * Remove the limitation that window and frame widths and heights can | |
55 | be only full columns/lines. | |
56 | ||
657c5358 KS |
57 | * Move fringe to be displayed between display margins and text area. |
58 | [KFS is looking into this]. | |
59 | ||
60 | * Set fringe widths per-window/per-buffer. | |
61 | ||
62 | * Make fringe bitmaps user configurable. Maybe add ability to add | |
63 | additional bitmaps to the fringe from lisp. | |
64 | ||
a9c1a157 RS |
65 | Other features we would like: |
66 | ||
67 | * Have a command suggestion help system that recognizes patterns | |
68 | of commands which could be replaced with a simpler common command. | |
69 | It should not make more than one suggestion per 10 minutes. | |
6165b6e3 | 70 | |
a933dad1 DL |
71 | * Implement a clean way to use different major modes for |
72 | different parts of a buffer. | |
73 | ||
74 | * Give start-process the ability to direct standard-error | |
75 | output to a different filter. | |
76 | ||
a933dad1 DL |
77 | * Make desktop.el save the "frame configuration" of Emacs (in some |
78 | useful sense). | |
79 | ||
8ba148c7 RS |
80 | * Give desktop.el a feature to switch between different named |
81 | desktops. | |
82 | ||
a933dad1 | 83 | * Replace finder.el with something that generates an Info file |
e39fc314 DL |
84 | which gives the same information through a menu structure. [Dave |
85 | Love started on this.] | |
a933dad1 | 86 | |
e39fc314 DL |
87 | * Implement a variant of uncompress.el or jka-compr.el that works with |
88 | GNU Privacy Guard for encryption. [Code exists but isn't assigned.] | |
a933dad1 DL |
89 | |
90 | * Save undo information in files, and reload it when needed | |
91 | for undoing. | |
92 | ||
7665519d RS |
93 | * Merge the Emacs regex.c with the Glibc regex.c. |
94 | They split off a few years ago through negligance. | |
95 | ||
a933dad1 DL |
96 | * Change the Windows NT menu code |
97 | so that it handles the deep_p argument and avoids | |
98 | regenerating the whole menu bar menu tree except | |
99 | when the user tries to use the menubar. | |
100 | ||
101 | This requires the RIT to forward the WM_INITMENU message to | |
102 | the main thread, and not return from that message until the main | |
0245b3ef | 103 | thread has processed the MENU_BAR_ACTIVATE_EVENT and regenerated |
a933dad1 | 104 | the whole menu bar. In the mean time, it should process other messages. |
d054101f | 105 | |
e39fc314 DL |
106 | * Get some major packages installed: W3/url (development version needs |
107 | significant work), PSGML, Mule-UCS, Tramp (?). Check the | |
108 | assignments file for other packages which might go in and have been | |
109 | missed. | |
110 | ||
111 | * Make keymaps a first-class Lisp object (this means a rewrite of | |
5dd31b13 SM |
112 | keymap.c). What should it do apart from being opaque ? |
113 | multiple inheritance ? faster where-is ? no more fix_submap_inheritance ? | |
114 | what else ? | |
e39fc314 DL |
115 | |
116 | * Provide real menus on ttys. The MS-DOS implementation can serve as | |
117 | an example how to do part of this. | |
118 | ||
119 | * Implement popular parts of the rest of the CL functions as compiler | |
120 | macros in cl-macs. | |
121 | ||
122 | * Highlight rectangles (`mouse-track-rectangle-p' in XEmacs). | |
123 | ||
124 | * Support simultaneous tty and X frames. | |
125 | ||
e39fc314 DL |
126 | * Provide MIME support for Rmail using the Gnus MIME library. |
127 | ||
128 | * Eliminate the storm of warnings concerning char/unsigned char | |
129 | mismatches that we get with proprietary compilers on various systems. | |
130 | They make it difficult to spot the important warnings. | |
131 | ||
132 | * Fix anything necessary to use `long long' EMACS_INTs with GCC. | |
eaf67bae DL |
133 | |
134 | * Split out parts of lisp.h and generate Makefile dependencies | |
135 | automatically. | |
136 | ||
137 | * Update the FAQ. | |
138 | ||
b04f7626 DL |
139 | * Allow auto-compression-mode to use zlib calls if zlib is available. |
140 | [It's required for PNG, so may be linked anyhow.] | |
1265b539 DL |
141 | |
142 | * Add a --pristine startup flag which does -q --no-site-file plus | |
143 | ignoring X resources (Doze equivalents?) and most of the | |
144 | environment. What should not be ignored needs consideration. | |
145 | ||
cf56d05f DL |
146 | * Investigate using the language environment (or locale?) to set up |
147 | more things, such as the default Ispell dictionary, calendar | |
6147334f | 148 | holidays, quoting characters?,... |
34f70eda DL |
149 | |
150 | * Improve the GC (generational, incremental). (We may be able to use | |
151 | the Boehm collector.) | |
19cc91fb | 152 | |
4dd4cc14 | 153 | * Check what hooks would help Emacspeak -- see the defadvising in W3. |
e2849090 DL |
154 | |
155 | * Implement some variety of (non-gtk) drag-and-drop support under X. | |
52d8e4ff GM |
156 | Using libdnd might be a good start. |
157 | ||
03ff8aab | 158 | * Add horizontal scroll bars. |
00a18b59 | 159 | |
e4ded23c GM |
160 | * Provide an optional feature which computes a scroll bar slider's |
161 | size and its position from lines instead of characters. | |
c0460c17 | 162 | |
3a84ed60 RS |
163 | * Integrate Vroonhof's Custom themes code and make it do useful |
164 | things. [The integration is partly done.] | |
165 | ||
c0460c17 | 166 | * Adapt the gnuserv/gnudoit features for server/emacsclient. |
b09646e3 | 167 | |
ad99b6d7 KS |
168 | * Re-implement emacs-server in lisp as an internal server using |
169 | make-network-process instead of using an external program. | |
170 | ||
8d57a345 | 171 | * Investigate using GNU Lightning or similar system for incremental |
5dcdd840 DL |
172 | compilation of selected bytecode functions to subrs. Converting CCL |
173 | programs to native code is probably the first thing to try, though. | |
b14b5f08 EZ |
174 | |
175 | * Add a feature to Info similar to "info --apropos SUBJECT". | |
8bd6307f GM |
176 | |
177 | * If you do an insert-file and that file is currently modified in | |
178 | another buffer but not written yet, print a warning. | |
179 | ||
296808a5 GM |
180 | * Add support for SVG (Scalable Vector Graphics) rendering to |
181 | Emacs. | |
6add099c GM |
182 | |
183 | * Use the XIE X extension, if available, for image display. | |
e641b454 | 184 | |
2a573e69 CW |
185 | * Add support for rendering antialiased text, probably using |
186 | XRender/Freetype. | |
c5020b5b | 187 | |
e641b454 | 188 | * Rewrite make-docfile to something sane. |
5e101746 RS |
189 | |
190 | * Port the conservative stack marking code of Emacs' garbage collector | |
191 | to more systems, so that we can completely get rid of GCPROs. | |
192 | ||
5005a9c0 EZ |
193 | * Reorder defcustom's in each package so that the more important |
194 | options come first in the Customize buffers. This could be done by | |
195 | either rearranging the file (since options are shown in the order | |
196 | they appear in the *.el files), or by adding a few :set-after | |
197 | attributes. | |
198 | ||
5e101746 RS |
199 | * Maybe document the features of libraries missing from the manual (or |
200 | ancillary manuals, including the Lisp manual in some cases). | |
201 | This is not worth doing for all of these packages and we need not | |
202 | aim for completeness, but some may be worth documenting. | |
203 | ||
204 | Here's a list which is probably not complete/correct: align, allout, | |
205 | artist, ansi-color, array, battery, calculator, cdl, cmuscheme, | |
657c5358 | 206 | completion, cua, delim-col, dirtrack, double, echistory, elide-head, |
5e101746 RS |
207 | easymenu, expand, flow-ctrl, format [format-alist], |
208 | generic/generic-x [various modes], kermit, log-edit, ledit | |
209 | [obsolete?], makesum, midnight [other than in Kill Buffer node], | |
210 | mouse-copy [?], mouse-drag, mouse-sel, net-utils, rcompile, | |
211 | snmp-mode [?], soundex [should be interactive?], strokes [start from | |
212 | the web page], talk, thingatpt [interactive functions?], type-break, | |
213 | vcursor, xscheme, zone-mode [?], mlconvert [?], iso-cvt, iso-swed, | |
214 | swedish, feedmail [?], uce, bruce, gametree, meese, page-ext, | |
215 | refbib, refer, scribe, sgml-mode, spell, texinfo, underline, | |
216 | cmacexp, hideif, mantemp [obsolete?], pcomplete, assoc, xml, | |
217 | cvs-status (should be described in PCL-CVS manual); other progmodes, | |
218 | probably in separate manual. |