Commit | Line | Data |
---|---|---|
309920fa EZ |
1 | Emacs TODO List -*-outline-*- |
2 | ||
3 | Copyright (c) 2003, 2004, 2005, 2006 | |
4 | Free software Foundation, Inc. | |
5 | See the end of the file for copying permissions. | |
19cc91fb | 6 | |
2255d5b4 RS |
7 | If you are ready to start working on any of these TODO items, we |
8 | appreciate your help; please write to emacs-devel@gnu.org so we can be | |
9 | aware that the problem is being addressed, and talk with you how to do | |
7bea57c9 | 10 | it best. Since Emacs is an FSF-copyrighted package, please be |
2255d5b4 RS |
11 | prepared to sign legal papers to transfer the copyright on your work |
12 | to the FSF. | |
13 | ||
ba1c68de | 14 | * Small but important fixes needed in existing features: |
a9c1a157 | 15 | |
988ff018 KS |
16 | ** mouse-autoselect-window should wait to select the window until |
17 | the mouse is put to rest or after a delay or both, so that moving over | |
18 | a window doesn't select it. | |
19 | ||
55815819 RS |
20 | ** In C-x d, the default if you type RET should be the directory name, |
21 | but if you type M-n you should get the visited file name of the | |
22 | current buffer. | |
23 | ||
8a8a1cbb DN |
24 | ** whitespace-cleanup should work only on the region if the region is active. |
25 | ||
046ece71 KS |
26 | ** Distribute a bar cursor of width > 1 evenly between the two glyphs |
27 | on each side of the bar (what to do at the edges?). | |
28 | ||
e008f665 DN |
29 | ** Make vc-checkin avoid reverting the buffer if has not changed after |
30 | the checkin. Comparing (md5 BUFFER) to (md5 FILE) should be enough. | |
31 | ||
d322eb9b RS |
32 | ** buffer-offer-save should be a permanent local. |
33 | ||
125fbe81 RS |
34 | ** revert-buffer should eliminate overlays and the mark. |
35 | ||
f98abf6d RS |
36 | ** erase-buffer should perhaps disregard read-only properties of text. |
37 | ||
30c56b97 LT |
38 | ** Make occur correctly handle matches that span more than one line, |
39 | as well as overlapping matches. | |
40 | ||
d3a403e5 | 41 | ** Fix the kill/yank treatment of invisible text. At the moment, |
b9e6b498 | 42 | invisible text is placed in the kill-ring, so that the contents of |
2345130a SM |
43 | the ring may not correspond to the text as displayed to the user. |
44 | It ought to be possible to omit text which is invisible (due to a | |
b9e6b498 GM |
45 | text-property, overlay, or selective display) from the kill-ring. |
46 | ||
6f771c32 RS |
47 | ** Change the way define-minor-mode handles autoloading. |
48 | It should not generate :require. Or :require in defcustom | |
49 | should not be recorded in the user's custom-set-variables call. | |
50 | ||
4e07258f RS |
51 | ** The buttons at the top of a custom buffer should not omit |
52 | variables whose values are currently hidden. | |
53 | ||
ec0cf966 RS |
54 | ** Clean up the variables in browse-url. Perhaps use a shell command string to |
55 | specify the browser instead of the mushrooming set of functions. | |
56 | See also ESR's proposal for a BROWSER environment variable | |
57 | <URL:http://www.catb.org/~esr/BROWSER/browse-url.patch>. | |
58 | ||
528b6abc RS |
59 | ** Enhance scroll-bar to handle tall line (similar to line-move). |
60 | ||
61 | ** Make occur handle multi-line matches cleanly with context. | |
62 | ||
f98abf6d RS |
63 | ** In Custom buffers, put the option that turns a mode on or off first, |
64 | using a heuristic of some kind? | |
65 | ||
66 | ** Define recompute-arg and recompute-arg-if for fix_command to use. | |
67 | See rms message of 11 Dec 05. | |
68 | ||
7c14546c JD |
69 | ** Height returned by frame-parameter ... and height given to |
70 | make-frame does not mean the same thing. The former includes menu and | |
71 | tool bar lines, the latter don't. frame-parameter should return height | |
72 | without menu and tool bar lines. | |
73 | ||
f98abf6d RS |
74 | ** In Emacs Info, examples of using Customize should be clickable |
75 | and they should create Custom buffers. | |
76 | ||
321e4870 RS |
77 | ** The toolbar should show keyboard equivalents in its tooltips. |
78 | ||
d322eb9b RS |
79 | ** Modify allout.el to use overlays, like outline.el. |
80 | ||
a9b6d67e RS |
81 | ** M-! M-n should fetch the buffer-file-name as the default. |
82 | ||
5a893bff RS |
83 | ** Redesign the load-history data structure so it can cope better |
84 | with evaluating definitions of the same function from different files, | |
85 | recording which file the latest definition came from. | |
046ece71 | 86 | |
ba1c68de | 87 | * Important features: |
a9c1a157 | 88 | |
ba1c68de | 89 | ** Provide user-friendly ways to list all available font families, |
321e4870 RS |
90 | list fonts, display a font as a sample, etc. [fx is looking at |
91 | multilingual font selection for the Unicode branch of Emacs.] | |
5e101746 | 92 | |
09d04fb3 RS |
93 | ** Rewrite the face code to be simpler, clearer and faster. |
94 | ||
ba1c68de | 95 | ** Program Enriched mode to read and save in RTF. [Is there actually a |
c51b37fd | 96 | decent single definition of RTF? Maybe see info at |
1b2105d9 EZ |
97 | http://latex2rtf.sourceforge.net/.] This task seems to be addressed |
98 | by http://savannah.nongnu.org/projects/emacs-rtf/, which is still in | |
99 | very early stages. | |
6165b6e3 | 100 | |
ba1c68de | 101 | ** Implement something better than the current Refill mode. This |
a9c1a157 RS |
102 | probably needs some primitive support. |
103 | ||
ba6be78d | 104 | ** Add a command to make a "Local Variables" section in the current buffer |
07ff1e4b RS |
105 | and/or add a variable to the list. |
106 | ||
ba1c68de | 107 | ** Implement primitive and higher-level functions to allow filling |
a9c1a157 RS |
108 | properly with variable-pitch faces. |
109 | ||
ba1c68de | 110 | ** Implement a smoother vertical scroll facility, one that allows |
d3a403e5 SM |
111 | C-v to scroll through a tall image. The primitive operations |
112 | posn-at-point and posn-at-x-y should now make it doable in elisp. | |
a9c1a157 | 113 | |
6ca1c497 RS |
114 | ** Implement intelligent search/replace, going beyond query-replace |
115 | (see http://graphics.csail.mit.edu/~rcm/chi04.pdf). | |
116 | ||
ba1c68de SM |
117 | ** Implement other text formatting properties. |
118 | *** Footnotes that can appear either in place or at the end of the page. | |
119 | *** text property that says "don't break line in middle of this". | |
6165b6e3 EZ |
120 | Don't break the line between two characters that have the |
121 | same value of this property. | |
ba1c68de | 122 | *** Discretionary hyphens that are not visible when they are at end of line. |
6165b6e3 | 123 | |
ec0cf966 RS |
124 | ** Internationalize Emacs's messages. |
125 | ||
49322539 RS |
126 | ** Install mmc@maruska.dyndns.org's no-flicker change. |
127 | ||
07ff1e4b RS |
128 | ** Add a "current vertical pixel level" value that goes with point, |
129 | so that motion commands can also move through tall images. | |
130 | This value would be to point as window-vscroll is to window-start. | |
131 | ||
ec0cf966 RS |
132 | ** Address internationalization of symbols names essentially |
133 | as documentation, e.g. in command names and Custom. | |
a9c1a157 | 134 | |
ba1c68de | 135 | ** Make the Lucid menu widget display multilingual text. [This |
bf6394a6 DL |
136 | probably needs to be done from actual Emacs buffers, either directly |
137 | in the menu or by rendering in an unmapped window and copying the | |
f677a3a3 SM |
138 | pixels. The current code assumes a specific locale; that isn't good |
139 | enough even if X can render the arbitrary text] [The gtk | |
7bea57c9 DL |
140 | port now displays multilingual text in menus, but only insofar as |
141 | Emacs can encode it as utf-8 and gtk can display the result.] | |
f677a3a3 SM |
142 | Maybe making Lucid menus work like Gtk's (i.e. just force utf-8) is good |
143 | enough now that Emacs can encode most chars into utf-8. | |
a9c1a157 | 144 | |
ba1c68de | 145 | ** Remove the limitation that window and frame widths and heights can |
a9c1a157 RS |
146 | be only full columns/lines. |
147 | ||
ba1c68de SM |
148 | * Other features we would like: |
149 | ||
a37288ad SM |
150 | ** Remove the default toggling behavior of minor modes when called from elisp |
151 | rather than interactively. This a trivial one-liner in easy-mode.el. | |
a53e64cc SM |
152 | ** Create a category of errors called `user-error' for errors which are |
153 | typically due to pilot errors and should thus be in debug-ignored-errors. | |
154 | ||
39eadb4a RS |
155 | ** Give Tar mode all the features of Archive mode. |
156 | ||
9b8453da RS |
157 | ** Create a category of errors called `process-error' |
158 | for some or all errors associated with using subprocesses. | |
159 | ||
51f74c37 RS |
160 | ** Maybe reinterpret `parse-error' as a category of errors |
161 | and put some other errors under it. | |
162 | ||
1a500a73 | 163 | ** A function to tell you the argument pattern of functions. |
1b2105d9 | 164 | See `function-arity' in http://www.loveshack.ukfsn.org/emacs/fx-misc.el. |
1a500a73 RS |
165 | |
166 | ** Make byte-compile warn when a doc string is too wide. | |
167 | ||
f95a20e7 RS |
168 | ** A function to check for customizable options that have been |
169 | set but not saved, and ask the user whether to save them. | |
170 | This could go in kill-emacs-query-functions, to remind people | |
171 | to save their changes. If the user says yes, show them | |
172 | in a Custom buffer using customize-customized. | |
173 | ||
e0402468 RS |
174 | ** Emacs Lisp mode could put an overlay on the defun for every |
175 | function that has advice. The overlay could have `after-text' like " | |
176 | [Function has advice]". It might look like | |
046ece71 | 177 | (defun foo [Function has advice] (x y) |
e0402468 RS |
178 | The overlay could also be a button that you could use to view the advice. |
179 | ||
9c9c88db SM |
180 | ** ange-ftp |
181 | *** understand sftp | |
1b2105d9 EZ |
182 | This is hard to make work because sftp doesn't print status |
183 | messages. | |
184 | ||
9c9c88db SM |
185 | *** Use MLS for ange-ftp-insert-directory if a list of files is specified. |
186 | ||
ba1c68de SM |
187 | ** Ability to map a key, including all modified-combinations. |
188 | E.g map mouse-4 to wheel-up as well as M-mouse-4 -> M-wheel-up | |
189 | M-C-mouse-4 -> M-C-wheel-up, H-S-C-M-s-double-mouse-4 -> | |
190 | H-S-C-M-s-double-wheel-up, ... | |
a9c1a157 | 191 | |
ba1c68de SM |
192 | ** Beefed-up syntax-tables. |
193 | *** recognize multi-character syntactic entities like `begin' and `end'. | |
194 | *** nested string-delimiters (for Postscript's (foo(bar)baz) strings). | |
195 | *** support for infix operators (with precedence). | |
196 | *** support for the $ (paired delimiter) in parse-partial-sexp. | |
197 | *** support for hook-chars whose effect on the parsing-state is specified | |
198 | by elisp code. Thus a char could both close a string and open a comment | |
199 | at the same time and do it in a context-sensitive way. | |
200 | *** ability to add mode-specific data to the partial-parse-state. | |
201 | ||
2d1ef312 RS |
202 | ** Add a way to convert a keyboard macro to equivalent Lisp code. |
203 | ||
ba1c68de | 204 | ** Have a command suggestion help system that recognizes patterns |
a9c1a157 RS |
205 | of commands which could be replaced with a simpler common command. |
206 | It should not make more than one suggestion per 10 minutes. | |
6165b6e3 | 207 | |
ba1c68de | 208 | ** Add a way to define input methods by computing them (when first used) |
30a2aafd RS |
209 | from other input methods. Then redefine C-x 8 to use a |
210 | user-selected input method, with the default being the union of | |
211 | latin-1-prefix and latin-1-postfix. | |
212 | ||
ba1c68de | 213 | ** Implement a clean way to use different major modes for |
06382b71 RS |
214 | different parts of a buffer. This could be useful in editing |
215 | Bison input files, for instance, or other kinds of text | |
1b2105d9 EZ |
216 | where one language is embedded in another language. See |
217 | http://www.loveshack.ukfsn.org/emacs/multi-mode.el and also | |
218 | mmm-mode, as reference for approaches took by others. | |
a933dad1 | 219 | |
b76781cd RS |
220 | ** Arrange a way for an input method to return the first character |
221 | immediately, then replace it later. So that C-s a with | |
222 | input method latin-1-postfix would immediately search for an a. | |
223 | ||
ba1c68de | 224 | ** Give start-process the ability to direct standard-error |
a933dad1 DL |
225 | output to a different filter. |
226 | ||
ba1c68de | 227 | ** Make desktop.el save the "frame configuration" of Emacs (in some |
a933dad1 DL |
228 | useful sense). |
229 | ||
ba1c68de | 230 | ** Give desktop.el a feature to switch between different named |
8ba148c7 RS |
231 | desktops. |
232 | ||
ba1c68de | 233 | ** Replace finder.el with something that generates an Info file |
e39fc314 DL |
234 | which gives the same information through a menu structure. [Dave |
235 | Love started on this.] | |
a933dad1 | 236 | |
10bb671b RS |
237 | ** Add a cpio mode, more or less like tar mode. |
238 | ||
ba1c68de | 239 | ** Implement a variant of uncompress.el or jka-compr.el that works with |
2794f7ab DL |
240 | GNU Privacy Guard for encryption. [Code exists but isn't assigned. |
241 | See the Gnus development sources for assigned code concerning GPG | |
1b2105d9 EZ |
242 | use with mail, which is probably a good start.] See also |
243 | http://www.loveshack.ukfsn.org/emacs/auto-crypt.tgz. | |
a933dad1 | 244 | |
06382b71 RS |
245 | ** Save undo information in special temporary files, and reload it |
246 | when needed for undoing. This could extend undo capacity. | |
a933dad1 | 247 | |
ba1c68de | 248 | ** Change the Windows NT menu code |
a933dad1 DL |
249 | so that it handles the deep_p argument and avoids |
250 | regenerating the whole menu bar menu tree except | |
251 | when the user tries to use the menubar. | |
252 | ||
253 | This requires the RIT to forward the WM_INITMENU message to | |
254 | the main thread, and not return from that message until the main | |
0245b3ef | 255 | thread has processed the MENU_BAR_ACTIVATE_EVENT and regenerated |
a933dad1 | 256 | the whole menu bar. In the mean time, it should process other messages. |
d054101f | 257 | |
ba1c68de | 258 | ** Get some major packages installed: W3 (development version needs |
2794f7ab | 259 | significant work), PSGML. Check the assignments file for other |
a52ce7f8 | 260 | packages which might go in and have been missed. |
e39fc314 | 261 | |
ba1c68de | 262 | ** Make keymaps a first-class Lisp object (this means a rewrite of |
5dd31b13 SM |
263 | keymap.c). What should it do apart from being opaque ? |
264 | multiple inheritance ? faster where-is ? no more fix_submap_inheritance ? | |
265 | what else ? | |
e39fc314 | 266 | |
ba1c68de | 267 | ** Provide real menus on ttys. The MS-DOS implementation can serve as |
e39fc314 DL |
268 | an example how to do part of this. |
269 | ||
ba1c68de | 270 | ** Implement popular parts of the rest of the CL functions as compiler |
e39fc314 DL |
271 | macros in cl-macs. |
272 | ||
261b01c6 RS |
273 | ** Make compiler warnings about functions that might be undefined at run time |
274 | smarter, so that they know which files are required by the file being | |
275 | compiled and don't warn about functions defined in them. | |
276 | ||
ba1c68de | 277 | ** Highlight rectangles (`mouse-track-rectangle-p' in XEmacs). Already in CUA, |
a52ce7f8 | 278 | but it's a valuable feature worth making more general. |
e39fc314 | 279 | |
046ece71 | 280 | ** Support simultaneous tty and X frames. [See the multi-tty branch of Emacs |
4e8b322f | 281 | at http://lorentey.hu/project/emacs.] |
e39fc314 | 282 | |
ba1c68de | 283 | ** Provide MIME support for Rmail using the Gnus MIME library. [Maybe |
bf6394a6 DL |
284 | not now feasible, given Gnus maintenance decisions. fx looked at |
285 | this and can say where some of the problems are.] | |
e39fc314 | 286 | |
ba1c68de | 287 | ** Eliminate the storm of warnings concerning char/unsigned char |
1b2105d9 EZ |
288 | mismatches that we get with GCC 4.x and proprietary compilers on |
289 | various systems. They make it difficult to spot the important | |
290 | warnings. | |
e39fc314 | 291 | |
ba1c68de | 292 | ** Fix anything necessary to use `long long' EMACS_INTs with GCC. |
eaf67bae | 293 | |
ba1c68de | 294 | ** Split out parts of lisp.h and generate Makefile dependencies |
eaf67bae DL |
295 | automatically. |
296 | ||
ba1c68de | 297 | ** Update the FAQ. |
eaf67bae | 298 | |
ba1c68de | 299 | ** Allow auto-compression-mode to use zlib calls if zlib is available. |
b04f7626 | 300 | [It's required for PNG, so may be linked anyhow.] |
1265b539 | 301 | |
ba1c68de | 302 | ** Add a --pristine startup flag which does -q --no-site-file plus |
1265b539 DL |
303 | ignoring X resources (Doze equivalents?) and most of the |
304 | environment. What should not be ignored needs consideration. | |
305 | ||
ba1c68de | 306 | ** Improve the GC (generational, incremental). (We may be able to use |
7bea57c9 DL |
307 | the Boehm collector.) [See the Boehm-GC branch in CVS for work on |
308 | this.] | |
19cc91fb | 309 | |
ba1c68de | 310 | ** Check what hooks would help Emacspeak -- see the defadvising in W3. |
e2849090 | 311 | |
a5bd14d3 RS |
312 | ** Add definitions for symbol properties, for documentation purposes. |
313 | ||
ba1c68de | 314 | ** Add horizontal scroll bars. |
00a18b59 | 315 | |
ba1c68de | 316 | ** Provide an optional feature which computes a scroll bar slider's |
e4ded23c | 317 | size and its position from lines instead of characters. |
c0460c17 | 318 | |
ba1c68de | 319 | ** Add support for SVG (Scalable Vector Graphics) rendering to |
296808a5 | 320 | Emacs. |
6add099c | 321 | |
ba1c68de | 322 | ** Allow unknown image types to be rendered via an external program |
d1c3f6b6 RS |
323 | converting them to, say, PBM (in the same way as PostScript?). |
324 | ||
ba1c68de | 325 | ** Allow displaying an X window from an external program in a buffer, |
d1c3f6b6 RS |
326 | e.g. to render graphics from Java applets. [gerd and/or wmperry |
327 | thought this was feasible.] | |
328 | ||
ba1c68de | 329 | ** Allow images (not just text) in the margin to be mouse-sensitive. |
d1c3f6b6 RS |
330 | (Requires recursing through display properties). Provide some way |
331 | to simulate mouse-clicks on marginal text without a mouse. | |
332 | ||
ba1c68de | 333 | ** Implement Lisp functions to determine properly whether a character |
d1c3f6b6 RS |
334 | is displayable (particularly needed in XFree 4, sigh). Use it to |
335 | define useful glyphs that may be displayed as images or unicodes | |
336 | (with ASCIIfied fallback via latin1-disp). Examples include | |
337 | box-drawing graphics in Custom buffers, W3 rules and tables, and | |
338 | tree displays generally, mode-line mail indicator. [See work done | |
339 | already for Emacs 22 and consult fx.] | |
340 | ||
ba1c68de | 341 | ** Do something to make rms happy with fx's dynamic loading, and use it |
d1c3f6b6 RS |
342 | to implement things like auto-loaded buffer parsers and database |
343 | access in cases which need more than Lisp. | |
344 | ||
ba1c68de | 345 | ** Extend ps-print to deal with multiple font sizes, images, and extra |
d1c3f6b6 RS |
346 | encodings. |
347 | ||
ba1c68de | 348 | ** Provide portable undumping using mmap (per gerd design). |
d1c3f6b6 | 349 | |
48b194fd RS |
350 | ** Make byte-compile avoid binding an expanded defsubst's args |
351 | when the body only calls primitives. | |
352 | ||
ba1c68de | 353 | ** Use the XIE X extension, if available, for image display. |
e641b454 | 354 | |
ba1c68de | 355 | ** Make monochrome images display using the foreground and background |
51fe665a RS |
356 | colors of the applicable faces. |
357 | ||
d101bf56 RS |
358 | ** Face remapping. |
359 | ||
fda12b27 RS |
360 | ** Optionally make the cursor a little thinner at the end of a line |
361 | or the end of the buffer. | |
362 | ||
ba1c68de | 363 | ** Add support for rendering antialiased text, probably using |
2a573e69 | 364 | XRender/Freetype. |
c5020b5b | 365 | |
ba1c68de | 366 | ** Port the conservative stack marking code of Emacs' garbage collector |
1b2105d9 EZ |
367 | to more systems, so that we can completely get rid of GCPROs. Note |
368 | that Boehm garbage collector provides this. | |
5e101746 | 369 | |
ba1c68de | 370 | ** Reorder defcustom's in each package so that the more important |
5005a9c0 EZ |
371 | options come first in the Customize buffers. This could be done by |
372 | either rearranging the file (since options are shown in the order | |
373 | they appear in the *.el files), or by adding a few :set-after | |
374 | attributes. | |
375 | ||
ba1c68de | 376 | ** Maybe document the features of libraries missing from the manual (or |
5e101746 RS |
377 | ancillary manuals, including the Lisp manual in some cases). |
378 | This is not worth doing for all of these packages and we need not | |
379 | aim for completeness, but some may be worth documenting. | |
380 | ||
381 | Here's a list which is probably not complete/correct: align, allout, | |
382 | artist, ansi-color, array, battery, calculator, cdl, cmuscheme, | |
657c5358 | 383 | completion, cua, delim-col, dirtrack, double, echistory, elide-head, |
5e101746 RS |
384 | easymenu, expand, flow-ctrl, format [format-alist], |
385 | generic/generic-x [various modes], kermit, log-edit, ledit | |
386 | [obsolete?], makesum, midnight [other than in Kill Buffer node], | |
387 | mouse-copy [?], mouse-drag, mouse-sel, net-utils, rcompile, | |
388 | snmp-mode [?], soundex [should be interactive?], strokes [start from | |
389 | the web page], talk, thingatpt [interactive functions?], type-break, | |
390 | vcursor, xscheme, zone-mode [?], mlconvert [?], iso-cvt, iso-swed, | |
391 | swedish, feedmail [?], uce, bruce, gametree, meese, page-ext, | |
392 | refbib, refer, scribe, sgml-mode, spell, texinfo, underline, | |
393 | cmacexp, hideif, mantemp [obsolete?], pcomplete, assoc, xml, | |
394 | cvs-status (should be described in PCL-CVS manual); other progmodes, | |
395 | probably in separate manual. | |
758830ba | 396 | |
ba1c68de | 397 | ** Convert the XPM bitmaps to PPM, replace the PBMs with them and scrap |
bf6394a6 DL |
398 | the XPMs so that the colour versions work generally. (Requires care |
399 | with the colour used for the transparent regions.) | |
400 | ||
ba1c68de | 401 | ** Convenient access to the `values' variable. It would be nice to have an |
758830ba JB |
402 | interface that would show you the printed reps of the elements of the |
403 | list in a menu, let you select one of the values, and put it into some | |
404 | other variable, without changing the value of `values'. | |
bf6394a6 | 405 | |
ba1c68de | 406 | ** (Controlled by a flag) make open and close syntax match exactly, |
c51b37fd DL |
407 | i.e. `(' doesn't match `]'. |
408 | ||
ba1c68de | 409 | ** Specify parameter ID-FORMAT in all calls to `file-attributes' and |
9ac8c83b LH |
410 | `directory-files-and-attributes' where attributes UID or GID are used. |
411 | Whenever possible, use value 'string. | |
412 | When done, change meaning of default value from 'integer to 'string. | |
413 | If value 'integer is used nowhere, remove the parameter ID-FORMAT from | |
414 | the definition of `file-attributes' and `directory-files-and-attributes' | |
415 | and from the calls. | |
416 | ||
cf4c9271 KH |
417 | ** Make language-info-alist customizable. Currently a user can customize |
418 | only the variable `current-language-environment'. | |
419 | ||
420 | ** Improve language environment handling so that Emacs can fit | |
421 | better to a users locale. Currently Emacs uses utf-8 language | |
422 | environment for all utf-8 locales, thus a user in ja_JP.UTF-8 locale | |
423 | are also put in utf-8 lang. env. In such a case, it is | |
424 | better to use Japanese lang. env. but prefer utf-8 coding system. | |
1f724d55 | 425 | |
321e4870 RS |
426 | ** Enhance locale handling: handle language, territory and charset |
427 | orthogonally and de-emphasize language environments. Use the locale | |
428 | to set up more things, such as fontsets, the default Ispell | |
429 | dictionary, diary format, calendar holidays and display, quoting | |
430 | characters and phrase boundaries, sentence endings, collation for | |
431 | sorting (at least for unicodes), HTTP Accept-language, patterns for | |
432 | directory listings and compilation messages, yes-or-no replies, | |
433 | common menu items when the toolkit supports it ... `locale-info' | |
434 | needs extending for LC_COLLATE &c. [fx started on this.] | |
435 | ||
1f724d55 KH |
436 | ** Eliminate the current restriction on header printing by ps-print. |
437 | Currently, a header can contain only single 1-byte charset in | |
438 | addition to ASCII. | |
439 | ||
440 | ** In ps-print, provide an user friendly interface to specify fonts. | |
441 | ||
442 | ** OpenType font support for various complex scripts (e.g. Devanagari). | |
443 | As X protocal doesn't provide a way to access OpenType Layout Tables | |
444 | in a OpenType font of a server side, we need a way to utilize local | |
445 | fonts (perhaps by directly using the Freetype library or indirectly | |
446 | via Xft library). | |
447 | ||
448 | ** Enhance word boundary detection for such a script that doesn't use | |
449 | space at word boundary (e.g. Thai). | |
450 | ||
cf4c9271 KH |
451 | ** Implement interface programs with major Japanese conversion server |
452 | in lib-src so that they can be used from the input method | |
453 | "japanese". Currently, most Japanese users are using external | |
454 | packages (e.g. tamago, anthy) or an input method via XIM. | |
1f724d55 | 455 | |
a53e64cc SM |
456 | ** Let LEIM handle the Mode_switch key like XIM does (i.e. a toggle like C-\ |
457 | but which can also be used as a modifier). | |
458 | ||
d87fbfb0 NR |
459 | ** Provide the toolbar on ttys. This could map a bit like tmm-menubar |
460 | for the menubar and buttons could look a bit like those used by customize. | |
461 | ||
d59e3c42 NR |
462 | ** Improve Help buffers: Change the face of previously visited links (like |
463 | Info, but also with regard to namespace), add a forward button to make the | |
464 | Help buffer more browser like and gives the value of lisp expressions | |
465 | e.g auto-mode-alist, the right face. [nickrob@snap.net.nz has a patch | |
466 | for this for inclusion after 22.1]. | |
467 | ||
5a473319 GM |
468 | ** Possibly make `list-holidays' eval items in the calendar-holidays variable. |
469 | See thread | |
470 | <http://lists.gnu.org/archive/html/emacs-devel/2006-02/msg01034.html>. | |
471 | [rgm@gnu.org will look at this after 22.1] | |
472 | ||
ba1c68de SM |
473 | * Internal changes |
474 | ||
475 | ** Replace gmalloc.c with the modified Doug Lea code from the current | |
476 | GNU libc so that the special mmapping of buffers can be removed -- | |
5a473319 | 477 | that apparently loses under Solaris, at least. [fx has mostly done |
ba1c68de SM |
478 | this.] |
479 | ||
480 | ** Rewrite make-docfile to be clean and maintainable. | |
481 | ||
482 | ** Add an inferior-comint-minor-mode to capture the common set of operations | |
483 | offered by major modes that offer an associated inferior | |
d3a403e5 SM |
484 | comint-derived mode. I.e. basically make cmuscheme.el/inf-lisp.el generic. |
485 | For use by sml-mode, python-mode, tex-mode, scheme-mode, lisp-mode, | |
486 | haskell-mode, tuareg-mode, ... | |
ba1c68de | 487 | |
7cef6228 CY |
488 | ** Make SYNC_INPUT the default. |
489 | All loops using immediate_quit need to be checked to ensure that | |
490 | C-g can interrupt them, in case of an infinite loop. Once we | |
491 | switch to using SYNC_INPUT, we can remove the BLOCK_INPUTs in the | |
492 | allocation functions (allocate_string etc.) without worrying about | |
493 | data munging. | |
494 | ||
2345130a SM |
495 | * Other known bugs: |
496 | ||
497 | ** a two-char comment-starter whose two chars are symbol constituents will | |
498 | not be noticed if it appears within a word. | |
499 | ||
07ff1e4b RS |
500 | ** Fix unexelf.c to handle the .data.rel and .data.rel.local |
501 | sections made by GCC 3.4 on IRIX. | |
502 | ||
309920fa EZ |
503 | COPYING PERMISSIONS: |
504 | ||
505 | Permission is hereby granted, free of charge, to any person obtaining | |
506 | a copy of this file, to deal in the file without restriction, including | |
507 | without limitation the rights to use, copy, modify, merge, publish, | |
508 | distribute, sublicense, and/or sell copies of the file, and to | |
509 | permit persons to whom the file is furnished to do so, subject to | |
510 | the following condition: | |
511 | ||
512 | The above copyright notice and this permission notice shall be | |
513 | included in all copies or substantial portions of the file. | |
514 | ||
ab5796a9 | 515 | ;;; arch-tag: b0a3e40b-726a-457d-9999-ba848321b036 |