* 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, conf-*-mode.
+change-log-mode, texinfo-mode.
+
+** Check if all items on the mode-line have a suitable tooltip for all modes.
-** Change the text for the mode-line tooltips to not use things like C-x 0.
-In general make sure that tooltips have obvious meanings. Check if
-all items on the mode-line have a suitable tooltip.
+** 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:
+** 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.
+
+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.
+
** Make "emacs --daemon" start emacs without showing any frame.
Use emacsclient later to open frames.
** 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.
** 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.]
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 ?
multiple inheritance ? faster where-is ? no more fix_submap_inheritance ?
** 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.
** 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).