71188
|
1 Emacs TODO List -*-outline-*-
|
|
2
|
100972
|
3 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
75774
|
4 Free Software Foundation, Inc.
|
|
5 See the end of the file for license conditions.
|
|
6
|
33867
|
7
|
45069
|
8 If you are ready to start working on any of these TODO items, we
|
|
9 appreciate your help; please write to emacs-devel@gnu.org so we can be
|
|
10 aware that the problem is being addressed, and talk with you how to do
|
51647
|
11 it best. Since Emacs is an FSF-copyrighted package, please be
|
45069
|
12 prepared to sign legal papers to transfer the copyright on your work
|
|
13 to the FSF.
|
|
14
|
87855
|
15 * Simple tasks. These don't require much emacs knowledge, they are
|
|
16 suitable for anyone from beginners to experts.
|
|
17
|
97313
|
18 ** Convert modes that use view-mode to be derived from special-mode instead.
|
|
19
|
91767
|
20 ** make emacsclient accept -nw as a synonym to -t.
|
|
21
|
|
22 ** Replace some uses of the preprocessor code in Makefile.in with the equivalent autoconf.
|
|
23
|
87855
|
24 ** Major modes should have a menu entry. Examples of modes that do
|
97313
|
25 not have one at the moment and probably should: text-mode, inferior-lisp-mode.
|
87855
|
26
|
93672
|
27 ** Check if all items on the mode-line have a suitable tooltip for all modes.
|
87855
|
28
|
92631
|
29 ** edebug and debugger-mode should have a toolbar.
|
|
30 It can use the same icons as gud.
|
|
31
|
87855
|
32 ** Check what minor modes don't use define-minor-mode and convert them
|
|
33 to use it.
|
|
34
|
93582
|
35 ** Convert all defvars with leading `*' in the doc-strings into defcustoms
|
|
36 of appropriate :type and :group.
|
|
37
|
55090
|
38 * Small but important fixes needed in existing features:
|
43946
|
39
|
93158
|
40 ** Flymake's customization mechanism needs to be both simpler (fewer
|
|
41 levels of indirection) and better documented, so it is easier to
|
|
42 understand. I find it quite hard to figure out what compilation
|
|
43 command it will use.
|
|
44
|
|
45 I suggest totally rewriting that part of Flymake, using the simplest
|
|
46 mechanism that sufficies for the specific needs. That will be easy
|
|
47 for users to customize.
|
|
48
|
84785
|
49 ** Make "emacs --daemon" start emacs without showing any frame.
|
84784
|
50 Use emacsclient later to open frames.
|
|
51
|
84785
|
52 ** Make it possible to reliably turn on minor modes using "mode:" in the local
|
|
53 variables section.
|
84784
|
54
|
81924
|
55 ** "Options -> Save Options" should save the font set via "Set Font/Fontset"
|
|
56 I.e. mouse-set-font should use customize-face.
|
77321
44e4bfbc989d
Add "Fix compilation when Xaw3d libraries are present but libxaw is not".
Chong Yidong <cyd@stupidchicken.com>
diff
changeset
|
57
|
77177
|
58 ** Compute the list of active keymaps *after* reading the first event.
|
|
59
|
70040
|
60 ** Distribute a bar cursor of width > 1 evenly between the two glyphs
|
|
61 on each side of the bar (what to do at the edges?).
|
|
62
|
68286
|
63 ** buffer-offer-save should be a permanent local.
|
|
64
|
67174
|
65 ** revert-buffer should eliminate overlays and the mark.
|
87271
|
66 For related problems consult the thread starting with
|
|
67 http://lists.gnu.org/archive/html/emacs-devel/2005-11/msg01346.html
|
67174
|
68
|
67585
|
69 ** erase-buffer should perhaps disregard read-only properties of text.
|
|
70
|
63608
|
71 ** Make occur correctly handle matches that span more than one line,
|
|
72 as well as overlapping matches.
|
|
73
|
58814
|
74 ** Fix the kill/yank treatment of invisible text. At the moment,
|
52413
|
75 invisible text is placed in the kill-ring, so that the contents of
|
63599
|
76 the ring may not correspond to the text as displayed to the user.
|
|
77 It ought to be possible to omit text which is invisible (due to a
|
52413
|
78 text-property, overlay, or selective display) from the kill-ring.
|
|
79
|
59663
|
80 ** Change the way define-minor-mode handles autoloading.
|
|
81 It should not generate :require. Or :require in defcustom
|
|
82 should not be recorded in the user's custom-set-variables call.
|
|
83
|
72734
|
84 ** Feature to change cursor shape when Emacs is idle (for more than
|
|
85 a specified time).
|
|
86
|
59894
|
87 ** The buttons at the top of a custom buffer should not omit
|
|
88 variables whose values are currently hidden.
|
|
89
|
61602
|
90 ** Clean up the variables in browse-url. Perhaps use a shell command string to
|
|
91 specify the browser instead of the mushrooming set of functions.
|
|
92 See also ESR's proposal for a BROWSER environment variable
|
|
93 <URL:http://www.catb.org/~esr/BROWSER/browse-url.patch>.
|
|
94
|
63726
|
95 ** Enhance scroll-bar to handle tall line (similar to line-move).
|
|
96
|
|
97 ** Make occur handle multi-line matches cleanly with context.
|
|
98
|
67585
|
99 ** In Custom buffers, put the option that turns a mode on or off first,
|
|
100 using a heuristic of some kind?
|
|
101
|
|
102 ** Define recompute-arg and recompute-arg-if for fix_command to use.
|
|
103 See rms message of 11 Dec 05.
|
|
104
|
67533
|
105 ** Height returned by frame-parameter ... and height given to
|
|
106 make-frame does not mean the same thing. The former includes menu and
|
|
107 tool bar lines, the latter don't. frame-parameter should return height
|
|
108 without menu and tool bar lines.
|
|
109
|
67585
|
110 ** In Emacs Info, examples of using Customize should be clickable
|
|
111 and they should create Custom buffers.
|
|
112
|
67679
|
113 ** The toolbar should show keyboard equivalents in its tooltips.
|
|
114
|
75042
|
115 ** Add function to redraw the tool bar.
|
|
116
|
68431
|
117 ** M-! M-n should fetch the buffer-file-name as the default.
|
|
118
|
69393
|
119 ** Redesign the load-history data structure so it can cope better
|
|
120 with evaluating definitions of the same function from different files,
|
|
121 recording which file the latest definition came from.
|
70040
|
122
|
74771
|
123 ** make back_comment use syntax-ppss or equivalent.
|
|
124
|
77386
|
125 ** Consider improving src/sysdep.c's search for a fqdn.
|
|
126 http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00782.html
|
|
127
|
|
128 ** Find a proper fix for rcirc multiline nick adding.
|
|
129 http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00684.html
|
77312
|
130
|
85002
|
131 ** Implement `network-interface-list' and `network-interface-info'
|
|
132 on MS-Windows. Hint: the information is present in the Registry,
|
|
133 under the keys
|
|
134 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage\
|
|
135 and
|
|
136 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<device>\
|
|
137 where <device> is the network device found under the first key.
|
|
138
|
86498
ec825106d4b8
Check for any included packages that define obsolete bug-reporting commands.
Glenn Morris <rgm@gnu.org>
diff
changeset
|
139 ** Check for any included packages that define obsolete bug-reporting commands.
|
ec825106d4b8
Check for any included packages that define obsolete bug-reporting commands.
Glenn Morris <rgm@gnu.org>
diff
changeset
|
140 Change them to use report-emacs-bug.
|
ec825106d4b8
Check for any included packages that define obsolete bug-reporting commands.
Glenn Morris <rgm@gnu.org>
diff
changeset
|
141
|
87646
|
142 ** Allow fringe indicators to display a tooltip (provide a help-echo property?)
|
|
143
|
93833
435ee3b30e0a
** Add a defcustom that supplies a function to name numeric backup files,
Chong Yidong <cyd@stupidchicken.com>
diff
changeset
|
144 ** Add a defcustom that supplies a function to name numeric backup files,
|
435ee3b30e0a
** Add a defcustom that supplies a function to name numeric backup files,
Chong Yidong <cyd@stupidchicken.com>
diff
changeset
|
145 like make-backup-file-name-function for non-numeric backup files.
|
435ee3b30e0a
** Add a defcustom that supplies a function to name numeric backup files,
Chong Yidong <cyd@stupidchicken.com>
diff
changeset
|
146
|
97638
|
147 ** `dired-mode' should specify the semantics of `buffer-modified-p' for
|
|
148 dired buffers and DTRT WRT `auto-revert-mode'.
|
|
149
|
98258
|
150 ** Check uses of prin1 for error-handling.
|
|
151 http://lists.gnu.org/archive/html/emacs-devel/2008-08/msg00456.html
|
|
152
|
55090
|
153 * Important features:
|
43946
|
154
|
93158
|
155 ** Having tabs above a window to switch buffers in it.
|
|
156
|
|
157 ** "Perspectives" are named persistent window configurations. We have
|
|
158 had the window configuration mechanism in GNU Emacs since the
|
|
159 beginning but we have never developed a good user interface to take
|
|
160 advantage of them. Eclipse's user interface seems to be good.
|
|
161
|
|
162 Perspectives work well even if you do the equivalent of C-x 4 C-f
|
|
163 because of the distinction between view windows vs file windows. In
|
|
164 Emacs this is more or less the "dedicated window" feature, but we have
|
|
165 never really made it work for this.
|
|
166
|
|
167 Perspectives also need to interact with the tabs.
|
|
168
|
|
169 ** Imenu could be extended into a file-structure browsing mechanism
|
|
170 using code like that of customize-groups.
|
|
171
|
|
172 ** Display something in the margin on lines that have compilation
|
|
173 errors.
|
|
174
|
|
175 ** Compilation error navigation bar, parallel to the scroll bar,
|
|
176 indicating where in the buffer there are compilation errors.
|
|
177 Perhaps we could arrange to display these error indications on top
|
|
178 of the scroll bar itself. That depends on to what extent toolkit
|
|
179 scroll bars are extensible.
|
|
180
|
55090
|
181 ** Provide user-friendly ways to list all available font families,
|
67679
|
182 list fonts, display a font as a sample, etc. [fx is looking at
|
|
183 multilingual font selection for the Unicode branch of Emacs.]
|
43043
|
184
|
71732
|
185 ** Provide a convenient way to select a color with the mouse.
|
|
186
|
66847
|
187 ** Rewrite the face code to be simpler, clearer and faster.
|
|
188
|
55090
|
189 ** Program Enriched mode to read and save in RTF. [Is there actually a
|
52780
|
190 decent single definition of RTF? Maybe see info at
|
67610
|
191 http://latex2rtf.sourceforge.net/.] This task seems to be addressed
|
|
192 by http://savannah.nongnu.org/projects/emacs-rtf/, which is still in
|
|
193 very early stages.
|
32515
|
194
|
55090
|
195 ** Implement something better than the current Refill mode. This
|
43946
|
196 probably needs some primitive support.
|
|
197
|
65789
|
198 ** Add a command to make a "Local Variables" section in the current buffer
|
63585
|
199 and/or add a variable to the list.
|
|
200
|
55090
|
201 ** Implement primitive and higher-level functions to allow filling
|
43946
|
202 properly with variable-pitch faces.
|
|
203
|
55090
|
204 ** Implement a smoother vertical scroll facility, one that allows
|
58814
|
205 C-v to scroll through a tall image. The primitive operations
|
|
206 posn-at-point and posn-at-x-y should now make it doable in elisp.
|
43946
|
207
|
57466
|
208 ** Implement intelligent search/replace, going beyond query-replace
|
|
209 (see http://graphics.csail.mit.edu/~rcm/chi04.pdf).
|
|
210
|
55090
|
211 ** Implement other text formatting properties.
|
|
212 *** Footnotes that can appear either in place or at the end of the page.
|
|
213 *** text property that says "don't break line in middle of this".
|
32515
|
214 Don't break the line between two characters that have the
|
|
215 same value of this property.
|
55090
|
216 *** Discretionary hyphens that are not visible when they are at end of line.
|
32515
|
217
|
61602
|
218 ** Internationalize Emacs's messages.
|
|
219
|
72495
|
220 ** Set up a facility to save backtraces when errors happen during
|
|
221 specified filters, specified timers, and specified hooks.
|
|
222
|
67149
|
223 ** Install mmc@maruska.dyndns.org's no-flicker change.
|
|
224
|
63585
|
225 ** Add a "current vertical pixel level" value that goes with point,
|
|
226 so that motion commands can also move through tall images.
|
|
227 This value would be to point as window-vscroll is to window-start.
|
|
228
|
61602
|
229 ** Address internationalization of symbols names essentially
|
|
230 as documentation, e.g. in command names and Custom.
|
43990
|
231
|
55090
|
232 ** Make the Lucid menu widget display multilingual text. [This
|
49605
|
233 probably needs to be done from actual Emacs buffers, either directly
|
|
234 in the menu or by rendering in an unmapped window and copying the
|
60719
|
235 pixels. The current code assumes a specific locale; that isn't good
|
|
236 enough even if X can render the arbitrary text] [The gtk
|
51647
|
237 port now displays multilingual text in menus, but only insofar as
|
|
238 Emacs can encode it as utf-8 and gtk can display the result.]
|
60719
|
239 Maybe making Lucid menus work like Gtk's (i.e. just force utf-8) is good
|
|
240 enough now that Emacs can encode most chars into utf-8.
|
43946
|
241
|
55090
|
242 ** Remove the limitation that window and frame widths and heights can
|
43946
|
243 be only full columns/lines.
|
|
244
|
55090
|
245 * Other features we would like:
|
|
246
|
87902
2080d155f7aa
** Make longlines-mode wrap lines based on screen position instead
Chong Yidong <cyd@stupidchicken.com>
diff
changeset
|
247 ** Make longlines-mode wrap lines based on screen position instead
|
2080d155f7aa
** Make longlines-mode wrap lines based on screen position instead
Chong Yidong <cyd@stupidchicken.com>
diff
changeset
|
248 of character position, so that variable-width fonts can be handled
|
2080d155f7aa
** Make longlines-mode wrap lines based on screen position instead
Chong Yidong <cyd@stupidchicken.com>
diff
changeset
|
249 properly.
|
2080d155f7aa
** Make longlines-mode wrap lines based on screen position instead
Chong Yidong <cyd@stupidchicken.com>
diff
changeset
|
250
|
85469
|
251 ** Allow frames(terminals) created by emacsclient to inherit their environment
|
|
252 from the emacsclient process.
|
70722
|
253 ** Remove the default toggling behavior of minor modes when called from elisp
|
|
254 rather than interactively. This a trivial one-liner in easy-mode.el.
|
81122
|
255
|
68572
|
256 ** Create a category of errors called `user-error' for errors which are
|
|
257 typically due to pilot errors and should thus be in debug-ignored-errors.
|
|
258
|
68551
|
259 ** Give Tar mode all the features of Archive mode.
|
|
260
|
64234
|
261 ** Create a category of errors called `process-error'
|
|
262 for some or all errors associated with using subprocesses.
|
|
263
|
64235
|
264 ** Maybe reinterpret `parse-error' as a category of errors
|
|
265 and put some other errors under it.
|
|
266
|
67146
|
267 ** A function to tell you the argument pattern of functions.
|
67610
|
268 See `function-arity' in http://www.loveshack.ukfsn.org/emacs/fx-misc.el.
|
67146
|
269
|
|
270 ** Make byte-compile warn when a doc string is too wide.
|
|
271
|
76964
573d15a35ad6
Make byte-optimization warnings issue accurate line numbers.
Chong Yidong <cyd@stupidchicken.com>
diff
changeset
|
272 ** Make byte-optimization warnings issue accurate line numbers.
|
573d15a35ad6
Make byte-optimization warnings issue accurate line numbers.
Chong Yidong <cyd@stupidchicken.com>
diff
changeset
|
273
|
59672
|
274 ** A function to check for customizable options that have been
|
|
275 set but not saved, and ask the user whether to save them.
|
|
276 This could go in kill-emacs-query-functions, to remind people
|
|
277 to save their changes. If the user says yes, show them
|
|
278 in a Custom buffer using customize-customized.
|
|
279
|
71716
|
280 ** Record the sxhash of the default value for customized variables
|
|
281 and notify the user (maybe by adding a menu item or toolbar button,
|
|
282 as the detection can occur during autoload time) when the default
|
|
283 changes (meaning that new versions of the Lisp source with a changed
|
|
284 default value got installed) and offer ediff on the respective
|
|
285 customization buffers.
|
|
286
|
60573
|
287 ** Emacs Lisp mode could put an overlay on the defun for every
|
71716
|
288 function that has advice. The overlay could have `after-text' like
|
|
289 " [Function has advice]". It might look like (defun foo [Function
|
|
290 has advice] (x y) The overlay could also be a button that you could
|
|
291 use to view the advice.
|
60573
|
292
|
75289
|
293 ** Add a function to get the insertion-type of the markers in an overlay.
|
|
294
|
56722
|
295 ** ange-ftp
|
|
296 *** understand sftp
|
67610
|
297 This is hard to make work because sftp doesn't print status
|
|
298 messages.
|
|
299
|
56722
|
300 *** Use MLS for ange-ftp-insert-directory if a list of files is specified.
|
|
301
|
55090
|
302 ** Ability to map a key, including all modified-combinations.
|
|
303 E.g map mouse-4 to wheel-up as well as M-mouse-4 -> M-wheel-up
|
|
304 M-C-mouse-4 -> M-C-wheel-up, H-S-C-M-s-double-mouse-4 ->
|
|
305 H-S-C-M-s-double-wheel-up, ...
|
43946
|
306
|
55090
|
307 ** Beefed-up syntax-tables.
|
|
308 *** recognize multi-character syntactic entities like `begin' and `end'.
|
|
309 *** nested string-delimiters (for Postscript's (foo(bar)baz) strings).
|
|
310 *** support for infix operators (with precedence).
|
|
311 *** support for the $ (paired delimiter) in parse-partial-sexp.
|
|
312 *** support for hook-chars whose effect on the parsing-state is specified
|
|
313 by elisp code. Thus a char could both close a string and open a comment
|
|
314 at the same time and do it in a context-sensitive way.
|
|
315 *** ability to add mode-specific data to the partial-parse-state.
|
|
316
|
57829
|
317 ** Add a way to convert a keyboard macro to equivalent Lisp code.
|
|
318
|
55090
|
319 ** Have a command suggestion help system that recognizes patterns
|
43946
|
320 of commands which could be replaced with a simpler common command.
|
|
321 It should not make more than one suggestion per 10 minutes.
|
32515
|
322
|
55090
|
323 ** Add a way to define input methods by computing them (when first used)
|
45945
|
324 from other input methods. Then redefine C-x 8 to use a
|
|
325 user-selected input method, with the default being the union of
|
|
326 latin-1-prefix and latin-1-postfix.
|
|
327
|
76958
|
328 ** Switch the Windows port to using Unicode keyboard input (maybe).
|
76912
|
329 Based on http://msdn2.microsoft.com/en-us/library/ms633586.aspx,
|
|
330 this boils down to (1) calling RegisterClassW function to register
|
|
331 Emacs windows, and (2) modifying ALL system messages to use Unicode.
|
|
332 In particular, WM_CHAR messages, which result from keyboard input,
|
76958
|
333 will then come in encoded in UTF-16.
|
76912
|
334
|
|
335 One advantage of switching to Unicode is to toss encoded-kbd usage,
|
|
336 which will solve the problem with binding non-ASCII keys with
|
|
337 modifiers.
|
|
338
|
76958
|
339 Problem: using this on Windows 9x/ME requires installing the
|
|
340 Microsoft Layer for Unicode (MSLU), which might not implement all
|
|
341 the required functionality that is available built-in on Windows XP
|
|
342 and later. We should not make this change if it would pressure
|
|
343 users of unauthorized copies of older versions of Windows to
|
|
344 downgrade to versions that require activation.
|
|
345
|
55090
|
346 ** Implement a clean way to use different major modes for
|
56444
|
347 different parts of a buffer. This could be useful in editing
|
|
348 Bison input files, for instance, or other kinds of text
|
67610
|
349 where one language is embedded in another language. See
|
|
350 http://www.loveshack.ukfsn.org/emacs/multi-mode.el and also
|
98010
|
351 mmm-mode, as reference for approaches taken by others.
|
25853
|
352
|
66448
|
353 ** Arrange a way for an input method to return the first character
|
|
354 immediately, then replace it later. So that C-s a with
|
|
355 input method latin-1-postfix would immediately search for an a.
|
|
356
|
55090
|
357 ** Give start-process the ability to direct standard-error
|
25853
|
358 output to a different filter.
|
|
359
|
55090
|
360 ** Make desktop.el save the "frame configuration" of Emacs (in some
|
25853
|
361 useful sense).
|
|
362
|
55090
|
363 ** Give desktop.el a feature to switch between different named
|
44914
|
364 desktops.
|
|
365
|
55090
|
366 ** Replace finder.el with something that generates an Info file
|
32947
|
367 which gives the same information through a menu structure. [Dave
|
|
368 Love started on this.]
|
25853
|
369
|
64191
|
370 ** Add a cpio mode, more or less like tar mode.
|
|
371
|
56444
|
372 ** Save undo information in special temporary files, and reload it
|
|
373 when needed for undoing. This could extend undo capacity.
|
25853
|
374
|
55090
|
375 ** Change the Windows NT menu code
|
25853
|
376 so that it handles the deep_p argument and avoids
|
|
377 regenerating the whole menu bar menu tree except
|
|
378 when the user tries to use the menubar.
|
|
379
|
|
380 This requires the RIT to forward the WM_INITMENU message to
|
|
381 the main thread, and not return from that message until the main
|
45790
|
382 thread has processed the MENU_BAR_ACTIVATE_EVENT and regenerated
|
25853
|
383 the whole menu bar. In the mean time, it should process other messages.
|
27949
|
384
|
55090
|
385 ** Get some major packages installed: W3 (development version needs
|
86415
|
386 significant work), PSGML, _possibly_ Cedet and ECB.
|
85056
|
387 http://lists.gnu.org/archive/html/emacs-devel/2007-05/msg01493.html
|
|
388 Check the assignments file for other packages which might go in and
|
|
389 have been missed.
|
31733
|
390
|
92396
|
391 ** Possibly install python-mode in place of python.el, or combine the two.
|
|
392 Someone needs to do the work of figuring out who all the non-trivial
|
|
393 python-mode.el contributors are and getting assignments.
|
|
394 http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02156.html
|
|
395 http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02201.html
|
|
396 http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02489.html
|
|
397 http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02234.html
|
|
398
|
55090
|
399 ** Make keymaps a first-class Lisp object (this means a rewrite of
|
33362
|
400 keymap.c). What should it do apart from being opaque ?
|
|
401 multiple inheritance ? faster where-is ? no more fix_submap_inheritance ?
|
|
402 what else ?
|
32947
|
403
|
55090
|
404 ** Provide real menus on ttys. The MS-DOS implementation can serve as
|
76912
|
405 an example how to do part of this; see the XMenu* functions on msdos.c.
|
32947
|
406
|
55090
|
407 ** Implement popular parts of the rest of the CL functions as compiler
|
32947
|
408 macros in cl-macs.
|
|
409
|
58503
|
410 ** Make compiler warnings about functions that might be undefined at run time
|
|
411 smarter, so that they know which files are required by the file being
|
|
412 compiled and don't warn about functions defined in them.
|
|
413
|
55090
|
414 ** Highlight rectangles (`mouse-track-rectangle-p' in XEmacs). Already in CUA,
|
48064
|
415 but it's a valuable feature worth making more general.
|
32947
|
416
|
55090
|
417 ** Provide MIME support for Rmail using the Gnus MIME library. [Maybe
|
49605
|
418 not now feasible, given Gnus maintenance decisions. fx looked at
|
|
419 this and can say where some of the problems are.]
|
32947
|
420
|
55090
|
421 ** Eliminate the storm of warnings concerning char/unsigned char
|
67610
|
422 mismatches that we get with GCC 4.x and proprietary compilers on
|
|
423 various systems. They make it difficult to spot the important
|
|
424 warnings.
|
32947
|
425
|
55090
|
426 ** Fix anything necessary to use `long long' EMACS_INTs with GCC.
|
33076
|
427
|
55090
|
428 ** Split out parts of lisp.h and generate Makefile dependencies
|
33076
|
429 automatically.
|
|
430
|
55090
|
431 ** Update the FAQ.
|
33076
|
432
|
55090
|
433 ** Allow auto-compression-mode to use zlib calls if zlib is available.
|
33253
|
434 [It's required for PNG, so may be linked anyhow.]
|
33471
|
435
|
55090
|
436 ** Add a --pristine startup flag which does -q --no-site-file plus
|
33471
|
437 ignoring X resources (Doze equivalents?) and most of the
|
|
438 environment. What should not be ignored needs consideration.
|
85056
|
439 [Do the existing -Q and -D cover this, or is more needed?]
|
33471
|
440
|
55090
|
441 ** Improve the GC (generational, incremental). (We may be able to use
|
51647
|
442 the Boehm collector.) [See the Boehm-GC branch in CVS for work on
|
|
443 this.]
|
33867
|
444
|
55090
|
445 ** Check what hooks would help Emacspeak -- see the defadvising in W3.
|
34333
|
446
|
71397
|
447 ** Add definitions for symbol properties, for documentation purposes.
|
|
448
|
55090
|
449 ** Add horizontal scroll bars.
|
35157
|
450
|
55090
|
451 ** Provide an optional feature which computes a scroll bar slider's
|
43465
|
452 size and its position from lines instead of characters.
|
|
453
|
55090
|
454 ** Allow unknown image types to be rendered via an external program
|
85056
|
455 converting them to, say, PBM (in the same way as PostScript?). [does
|
|
456 doc-view.el do this, or could it be extended to do this?]
|
75278
|
457
|
55090
|
458 ** Allow displaying an X window from an external program in a buffer,
|
48072
|
459 e.g. to render graphics from Java applets. [gerd and/or wmperry
|
|
460 thought this was feasible.]
|
|
461
|
55090
|
462 ** Allow images (not just text) in the margin to be mouse-sensitive.
|
48072
|
463 (Requires recursing through display properties). Provide some way
|
|
464 to simulate mouse-clicks on marginal text without a mouse.
|
|
465
|
55090
|
466 ** Implement Lisp functions to determine properly whether a character
|
48072
|
467 is displayable (particularly needed in XFree 4, sigh). Use it to
|
|
468 define useful glyphs that may be displayed as images or unicodes
|
|
469 (with ASCIIfied fallback via latin1-disp). Examples include
|
|
470 box-drawing graphics in Custom buffers, W3 rules and tables, and
|
|
471 tree displays generally, mode-line mail indicator. [See work done
|
90104
|
472 already for Emacs 23 and consult fx.]
|
48072
|
473
|
55090
|
474 ** Do something to make rms happy with fx's dynamic loading, and use it
|
48072
|
475 to implement things like auto-loaded buffer parsers and database
|
|
476 access in cases which need more than Lisp.
|
|
477
|
55090
|
478 ** Extend ps-print to deal with multiple font sizes, images, and extra
|
48072
|
479 encodings.
|
|
480
|
55090
|
481 ** Provide portable undumping using mmap (per gerd design).
|
48072
|
482
|
64809
|
483 ** Make byte-compile avoid binding an expanded defsubst's args
|
98010
|
484 when the body only calls primitives.
|
64809
|
485
|
55090
|
486 ** Use the XIE X extension, if available, for image display.
|
48072
|
487
|
55090
|
488 ** Make monochrome images display using the foreground and background
|
50587
|
489 colors of the applicable faces.
|
|
490
|
71620
|
491 ** Make `format-time-string' preserve text properties like `format'.
|
|
492
|
66738
|
493 ** Optionally make the cursor a little thinner at the end of a line
|
|
494 or the end of the buffer.
|
|
495
|
55090
|
496 ** Port the conservative stack marking code of Emacs' garbage collector
|
67610
|
497 to more systems, so that we can completely get rid of GCPROs. Note
|
|
498 that Boehm garbage collector provides this.
|
43043
|
499
|
55090
|
500 ** Reorder defcustom's in each package so that the more important
|
45156
|
501 options come first in the Customize buffers. This could be done by
|
|
502 either rearranging the file (since options are shown in the order
|
|
503 they appear in the *.el files), or by adding a few :set-after
|
|
504 attributes.
|
|
505
|
55090
|
506 ** Maybe document the features of libraries missing from the manual (or
|
43043
|
507 ancillary manuals, including the Lisp manual in some cases).
|
|
508 This is not worth doing for all of these packages and we need not
|
|
509 aim for completeness, but some may be worth documenting.
|
|
510
|
|
511 Here's a list which is probably not complete/correct: align, allout,
|
|
512 artist, ansi-color, array, battery, calculator, cdl, cmuscheme,
|
45163
|
513 completion, cua, delim-col, dirtrack, double, echistory, elide-head,
|
43043
|
514 easymenu, expand, flow-ctrl, format [format-alist],
|
|
515 generic/generic-x [various modes], kermit, log-edit, ledit
|
|
516 [obsolete?], makesum, midnight [other than in Kill Buffer node],
|
|
517 mouse-copy [?], mouse-drag, mouse-sel, net-utils, rcompile,
|
|
518 snmp-mode [?], soundex [should be interactive?], strokes [start from
|
|
519 the web page], talk, thingatpt [interactive functions?], type-break,
|
|
520 vcursor, xscheme, zone-mode [?], mlconvert [?], iso-cvt, iso-swed,
|
|
521 swedish, feedmail [?], uce, bruce, gametree, meese, page-ext,
|
|
522 refbib, refer, scribe, sgml-mode, spell, texinfo, underline,
|
|
523 cmacexp, hideif, mantemp [obsolete?], pcomplete, assoc, xml,
|
|
524 cvs-status (should be described in PCL-CVS manual); other progmodes,
|
|
525 probably in separate manual.
|
48177
|
526
|
55090
|
527 ** Convert the XPM bitmaps to PPM, replace the PBMs with them and scrap
|
96363
|
528 the XPMs so that the color versions work generally. (Requires care
|
|
529 with the color used for the transparent regions.)
|
49605
|
530
|
55090
|
531 ** Convenient access to the `values' variable. It would be nice to have an
|
48177
|
532 interface that would show you the printed reps of the elements of the
|
|
533 list in a menu, let you select one of the values, and put it into some
|
|
534 other variable, without changing the value of `values'.
|
49605
|
535
|
55090
|
536 ** (Controlled by a flag) make open and close syntax match exactly,
|
52780
|
537 i.e. `(' doesn't match `]'.
|
|
538
|
55090
|
539 ** Specify parameter ID-FORMAT in all calls to `file-attributes' and
|
53107
422a00e3d747
Add plans for change of file attributes UID and GID from integer to string.
Lars Hansen <larsh@soem.dk>
diff
changeset
|
540 `directory-files-and-attributes' where attributes UID or GID are used.
|
422a00e3d747
Add plans for change of file attributes UID and GID from integer to string.
Lars Hansen <larsh@soem.dk>
diff
changeset
|
541 Whenever possible, use value 'string.
|
422a00e3d747
Add plans for change of file attributes UID and GID from integer to string.
Lars Hansen <larsh@soem.dk>
diff
changeset
|
542 When done, change meaning of default value from 'integer to 'string.
|
422a00e3d747
Add plans for change of file attributes UID and GID from integer to string.
Lars Hansen <larsh@soem.dk>
diff
changeset
|
543 If value 'integer is used nowhere, remove the parameter ID-FORMAT from
|
422a00e3d747
Add plans for change of file attributes UID and GID from integer to string.
Lars Hansen <larsh@soem.dk>
diff
changeset
|
544 the definition of `file-attributes' and `directory-files-and-attributes'
|
422a00e3d747
Add plans for change of file attributes UID and GID from integer to string.
Lars Hansen <larsh@soem.dk>
diff
changeset
|
545 and from the calls.
|
422a00e3d747
Add plans for change of file attributes UID and GID from integer to string.
Lars Hansen <larsh@soem.dk>
diff
changeset
|
546
|
56410
|
547 ** Make language-info-alist customizable. Currently a user can customize
|
|
548 only the variable `current-language-environment'.
|
|
549
|
|
550 ** Improve language environment handling so that Emacs can fit
|
|
551 better to a users locale. Currently Emacs uses utf-8 language
|
|
552 environment for all utf-8 locales, thus a user in ja_JP.UTF-8 locale
|
|
553 are also put in utf-8 lang. env. In such a case, it is
|
|
554 better to use Japanese lang. env. but prefer utf-8 coding system.
|
56347
|
555
|
67679
|
556 ** Enhance locale handling: handle language, territory and charset
|
|
557 orthogonally and de-emphasize language environments. Use the locale
|
|
558 to set up more things, such as fontsets, the default Ispell
|
|
559 dictionary, diary format, calendar holidays and display, quoting
|
|
560 characters and phrase boundaries, sentence endings, collation for
|
|
561 sorting (at least for unicodes), HTTP Accept-language, patterns for
|
|
562 directory listings and compilation messages, yes-or-no replies,
|
|
563 common menu items when the toolkit supports it ... `locale-info'
|
|
564 needs extending for LC_COLLATE &c. [fx started on this.]
|
|
565
|
56347
|
566 ** Eliminate the current restriction on header printing by ps-print.
|
|
567 Currently, a header can contain only single 1-byte charset in
|
|
568 addition to ASCII.
|
|
569
|
|
570 ** In ps-print, provide an user friendly interface to specify fonts.
|
|
571
|
|
572 ** Enhance word boundary detection for such a script that doesn't use
|
|
573 space at word boundary (e.g. Thai).
|
|
574
|
56410
|
575 ** Implement interface programs with major Japanese conversion server
|
|
576 in lib-src so that they can be used from the input method
|
|
577 "japanese". Currently, most Japanese users are using external
|
|
578 packages (e.g. tamago, anthy) or an input method via XIM.
|
56347
|
579
|
68572
|
580 ** Let LEIM handle the Mode_switch key like XIM does (i.e. a toggle like C-\
|
98010
|
581 but which can also be used as a modifier).
|
68572
|
582
|
67753
|
583 ** Improve Help buffers: Change the face of previously visited links (like
|
98010
|
584 Info, but also with regard to namespace), and give the value of
|
|
585 lisp expressions, e.g auto-mode-alist, the right face.
|
67753
|
586
|
69353
|
587 ** Possibly make `list-holidays' eval items in the calendar-holidays variable.
|
|
588 See thread
|
|
589 <http://lists.gnu.org/archive/html/emacs-devel/2006-02/msg01034.html>.
|
|
590 [rgm@gnu.org will look at this after 22.1]
|
|
591
|
73887
|
592 ** Possibly make cal-dst use the system timezone database directly.
|
|
593 See thread
|
|
594 <http://lists.gnu.org/archive/html/emacs-pretest-bug/2006-11/msg00060.html>
|
|
595
|
85056
|
596 ** Possibly add a "close" button to the modeline.
|
|
597 The idea is to add an "X" of some kind, that when clicked deletes
|
|
598 the window associated with that modeline.
|
|
599 http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg02416.html
|
|
600
|
55090
|
601 * Internal changes
|
|
602
|
77161
|
603 ** Cleanup all the GC_ mark bit stuff -- there is no longer any distinction
|
76474
|
604 since the mark bit is no longer stored in the Lisp_Object itself.
|
|
605
|
81051
|
606 ** Refine the `predicate' arg to read-file-name.
|
|
607 Currently, it mixes up the predicate to apply when doing completion and the
|
|
608 one to use when terminating the selection.
|
|
609
|
74941
|
610 ** Merge ibuffer.el and buff-menu.el.
|
|
611 More specifically do what's needed to make ibuffer.el the default,
|
|
612 or just an extension of buff-menu.el.
|
|
613
|
|
614 ** Use pcomplete by default in shell-mode.
|
|
615 This means to make it behave (by default) more like the current code.
|
|
616 Use it also for read-shell-command, M-x compile, ...
|
|
617
|
|
618 ** Merge sendmail.el and messages.el.
|
|
619 Probably not a complete merge, but at least arrange for messages.el to be
|
|
620 a derived mode of sendmail.el. Or arrange for messages.el to be split
|
|
621 into a small core and "the rest" so that we use less resources as long as
|
|
622 we stick to the features provided in sendmail.el.
|
87271
|
623
|
55090
|
624 ** Replace gmalloc.c with the modified Doug Lea code from the current
|
74941
|
625 GNU libc so that the special mmapping of buffers can be removed --
|
|
626 that apparently loses under Solaris, at least. [fx has mostly done
|
|
627 this.]
|
55090
|
628
|
|
629 ** Rewrite make-docfile to be clean and maintainable.
|
|
630
|
|
631 ** Add an inferior-comint-minor-mode to capture the common set of operations
|
|
632 offered by major modes that offer an associated inferior
|
58814
|
633 comint-derived mode. I.e. basically make cmuscheme.el/inf-lisp.el generic.
|
|
634 For use by sml-mode, python-mode, tex-mode, scheme-mode, lisp-mode,
|
|
635 haskell-mode, tuareg-mode, ...
|
55090
|
636
|
98010
|
637 ** Make SYNC_INPUT the default. [true since 2008-03-11]
|
68433
|
638 All loops using immediate_quit need to be checked to ensure that
|
|
639 C-g can interrupt them, in case of an infinite loop. Once we
|
|
640 switch to using SYNC_INPUT, we can remove the BLOCK_INPUTs in the
|
|
641 allocation functions (allocate_string etc.) without worrying about
|
|
642 data munging.
|
|
643
|
71536
|
644 ** Add "link" button class
|
|
645 Add a standard button-class named "link", and make all other link-like
|
|
646 button classes inherit from it. Set the default face of the "link" button
|
|
647 class to the standard "link" face.
|
|
648
|
63599
|
649 * Other known bugs:
|
|
650
|
85469
|
651 ** `make-frame' forgets unhandled parameters, at least for X11 frames.
|
80873
|
652
|
63599
|
653 ** a two-char comment-starter whose two chars are symbol constituents will
|
|
654 not be noticed if it appears within a word.
|
|
655
|
63585
|
656 ** Fix unexelf.c to handle the .data.rel and .data.rel.local
|
|
657 sections made by GCC 3.4 on IRIX.
|
|
658
|
75774
|
659
|
|
660 This file is part of GNU Emacs.
|
|
661
|
95004
|
662 GNU Emacs is free software: you can redistribute it and/or modify
|
75774
|
663 it under the terms of the GNU General Public License as published by
|
95004
|
664 the Free Software Foundation, either version 3 of the License, or
|
|
665 (at your option) any later version.
|
71188
|
666
|
75774
|
667 GNU Emacs is distributed in the hope that it will be useful,
|
|
668 but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
669 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
670 GNU General Public License for more details.
|
71188
|
671
|
75774
|
672 You should have received a copy of the GNU General Public License
|
95004
|
673 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
71188
|
674
|
52401
|
675 ;;; arch-tag: b0a3e40b-726a-457d-9999-ba848321b036
|