X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/0896d93184a719bc994a3e699de27190aac0acb1..84cb74cf070bd76a81e81f597165d67875fe79a7:/etc/TODO diff --git a/etc/TODO b/etc/TODO index 19a481aabd..058bd6a581 100644 --- a/etc/TODO +++ b/etc/TODO @@ -1,6 +1,6 @@ Emacs TODO List -*-outline-*- -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -12,32 +12,58 @@ it best. Since Emacs is an FSF-copyrighted package, please be prepared to sign legal papers to transfer the copyright on your work to the FSF. +* Simple tasks. These don't require much emacs knowledge, they are +suitable for anyone from beginners to experts. + +** make emacsclient accept -nw as a synonym to -t. + +** Replace some uses of the preprocessor code in Makefile.in with the equivalent autoconf. + +** Major modes should have a menu entry. Examples of modes that do +not have one at the moment and probably should: text-mode, +change-log-mode, texinfo-mode, inferior-lisp-mode. + +** Check if all items on the mode-line have a suitable tooltip for all modes. + +** edebug and debugger-mode should have a toolbar. +It can use the same icons as gud. + +** Check what minor modes don't use define-minor-mode and convert them +to use it. + +** Convert all defvars with leading `*' in the doc-strings into defcustoms +of appropriate :type and :group. + * Small but important fixes needed in existing features: -** "Options -> Save Options" should save the font set via "Set Font/Fontset" -I.e. mouse-set-font should use customize-face. +** Flymake's customization mechanism needs to be both simpler (fewer +levels of indirection) and better documented, so it is easier to +understand. I find it quite hard to figure out what compilation +command it will use. -** Compute the list of active keymaps *after* reading the first event. +I suggest totally rewriting that part of Flymake, using the simplest +mechanism that sufficies for the specific needs. That will be easy +for users to customize. -** Avoid using "iff" in doc strings. +** Make "emacs --daemon" start emacs without showing any frame. +Use emacsclient later to open frames. -** mouse-autoselect-window should wait to select the window until -the mouse is put to rest or after a delay or both, so that moving over -a window doesn't select it. +** Make it possible to reliably turn on minor modes using "mode:" in the local +variables section. + +** "Options -> Save Options" should save the font set via "Set Font/Fontset" +I.e. mouse-set-font should use customize-face. -** In C-x d, the default if you type RET should be the directory name, -but if you type M-n you should get the visited file name of the -current buffer. +** Compute the list of active keymaps *after* reading the first event. ** Distribute a bar cursor of width > 1 evenly between the two glyphs on each side of the bar (what to do at the edges?). -** Make vc-checkin avoid reverting the buffer if has not changed after - the checkin. Comparing (md5 BUFFER) to (md5 FILE) should be enough. - ** buffer-offer-save should be a permanent local. ** revert-buffer should eliminate overlays and the mark. + For related problems consult the thread starting with + http://lists.gnu.org/archive/html/emacs-devel/2005-11/msg01346.html ** erase-buffer should perhaps disregard read-only properties of text. @@ -101,8 +127,50 @@ http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00782.html ** Find a proper fix for rcirc multiline nick adding. http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg00684.html +** Implement `network-interface-list' and `network-interface-info' +on MS-Windows. Hint: the information is present in the Registry, +under the keys +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage\ +and +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\\ +where is the network device found under the first key. + +** Check for any included packages that define obsolete bug-reporting commands. +Change them to use report-emacs-bug. + +** Allow fringe indicators to display a tooltip (provide a help-echo property?) + +** Add a defcustom that supplies a function to name numeric backup files, +like make-backup-file-name-function for non-numeric backup files. + * Important features: +** Having tabs above a window to switch buffers in it. + +** "Perspectives" are named persistent window configurations. We have +had the window configuration mechanism in GNU Emacs since the +beginning but we have never developed a good user interface to take +advantage of them. Eclipse's user interface seems to be good. + +Perspectives work well even if you do the equivalent of C-x 4 C-f +because of the distinction between view windows vs file windows. In +Emacs this is more or less the "dedicated window" feature, but we have +never really made it work for this. + +Perspectives also need to interact with the tabs. + +** Imenu could be extended into a file-structure browsing mechanism +using code like that of customize-groups. + +** Display something in the margin on lines that have compilation +errors. + +** Compilation error navigation bar, parallel to the scroll bar, +indicating where in the buffer there are compilation errors. +Perhaps we could arrange to display these error indications on top +of the scroll bar itself. That depends on to what extent toolkit +scroll bars are extensible. + ** Provide user-friendly ways to list all available font families, list fonts, display a font as a sample, etc. [fx is looking at multilingual font selection for the Unicode branch of Emacs.] @@ -169,6 +237,12 @@ specified filters, specified timers, and specified hooks. * Other features we would like: +** Make longlines-mode wrap lines based on screen position instead + of character position, so that variable-width fonts can be handled + properly. + +** Allow frames(terminals) created by emacsclient to inherit their environment +from the emacsclient process. ** Remove the default toggling behavior of minor modes when called from elisp rather than interactively. This a trivial one-liner in easy-mode.el. @@ -308,8 +382,18 @@ typically due to pilot errors and should thus be in debug-ignored-errors. the whole menu bar. In the mean time, it should process other messages. ** Get some major packages installed: W3 (development version needs - significant work), PSGML. Check the assignments file for other - packages which might go in and have been missed. + significant work), PSGML, _possibly_ Cedet and ECB. + http://lists.gnu.org/archive/html/emacs-devel/2007-05/msg01493.html + Check the assignments file for other packages which might go in and + have been missed. + +** Possibly install python-mode in place of python.el, or combine the two. +Someone needs to do the work of figuring out who all the non-trivial +python-mode.el contributors are and getting assignments. +http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02156.html +http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02201.html +http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02489.html +http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02234.html ** Make keymaps a first-class Lisp object (this means a rewrite of keymap.c). What should it do apart from being opaque ? @@ -329,9 +413,6 @@ typically due to pilot errors and should thus be in debug-ignored-errors. ** Highlight rectangles (`mouse-track-rectangle-p' in XEmacs). Already in CUA, but it's a valuable feature worth making more general. -** Support simultaneous tty and X frames. [See the multi-tty branch of Emacs - at http://lorentey.hu/project/emacs.] - ** Provide MIME support for Rmail using the Gnus MIME library. [Maybe not now feasible, given Gnus maintenance decisions. fx looked at this and can say where some of the problems are.] @@ -354,6 +435,7 @@ typically due to pilot errors and should thus be in debug-ignored-errors. ** Add a --pristine startup flag which does -q --no-site-file plus ignoring X resources (Doze equivalents?) and most of the environment. What should not be ignored needs consideration. + [Do the existing -Q and -D cover this, or is more needed?] ** Improve the GC (generational, incremental). (We may be able to use the Boehm collector.) [See the Boehm-GC branch in CVS for work on @@ -368,11 +450,9 @@ typically due to pilot errors and should thus be in debug-ignored-errors. ** Provide an optional feature which computes a scroll bar slider's size and its position from lines instead of characters. -** Add support for SVG (Scalable Vector Graphics) rendering to - Emacs. - ** Allow unknown image types to be rendered via an external program - converting them to, say, PBM (in the same way as PostScript?). + converting them to, say, PBM (in the same way as PostScript?). [does + doc-view.el do this, or could it be extended to do this?] ** Allow displaying an X window from an external program in a buffer, e.g. to render graphics from Java applets. [gerd and/or wmperry @@ -388,7 +468,7 @@ typically due to pilot errors and should thus be in debug-ignored-errors. (with ASCIIfied fallback via latin1-disp). Examples include box-drawing graphics in Custom buffers, W3 rules and tables, and tree displays generally, mode-line mail indicator. [See work done - already for Emacs 22 and consult fx.] + already for Emacs 23 and consult fx.] ** Do something to make rms happy with fx's dynamic loading, and use it to implement things like auto-loaded buffer parsers and database @@ -414,9 +494,6 @@ when the body only calls primitives. ** Optionally make the cursor a little thinner at the end of a line or the end of the buffer. -** Add support for rendering antialiased text, probably using - XRender/Freetype. - ** Port the conservative stack marking code of Emacs' garbage collector to more systems, so that we can completely get rid of GCPROs. Note that Boehm garbage collector provides this. @@ -500,12 +577,6 @@ when the body only calls primitives. ** In ps-print, provide an user friendly interface to specify fonts. -** OpenType font support for various complex scripts (e.g. Devanagari). - As X protocal doesn't provide a way to access OpenType Layout Tables - in a OpenType font of a server side, we need a way to utilize local - fonts (perhaps by directly using the Freetype library or indirectly - via Xft library). - ** Enhance word boundary detection for such a script that doesn't use space at word boundary (e.g. Thai). @@ -532,6 +603,11 @@ but which can also be used as a modifier). See thread +** Possibly add a "close" button to the modeline. + The idea is to add an "X" of some kind, that when clicked deletes + the window associated with that modeline. + http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg02416.html + * Internal changes ** Cleanup all the GC_ mark bit stuff -- there is no longer any distinction @@ -554,7 +630,7 @@ but which can also be used as a modifier). a derived mode of sendmail.el. Or arrange for messages.el to be split into a small core and "the rest" so that we use less resources as long as we stick to the features provided in sendmail.el. - + ** Replace gmalloc.c with the modified Doug Lea code from the current GNU libc so that the special mmapping of buffers can be removed -- that apparently loses under Solaris, at least. [fx has mostly done @@ -582,6 +658,7 @@ but which can also be used as a modifier). * Other known bugs: +** `make-frame' forgets unhandled parameters, at least for X11 frames. ** The \\{...} keymap dump output does not correctly remove shadowed entries: From: "Drew Adams"