TODO 6.62 KB
Newer Older
Dave Love's avatar
Dave Love committed
1
                                                                -*-text-*-
Gerd Moellmann's avatar
Gerd Moellmann committed
2 3 4 5

* Port the conservative stack marking code of Emacs' garbage collector
  to more systems, so that we can completely get rid of GCPROs.

Dave Love's avatar
Dave Love committed
6 7
* Program Enriched mode to read and save in RTF.  [Is there actually a
  decent single definition of RTF?]
8 9 10 11 12 13 14 15

* Implement other text formatting properties.
** Footnotes that can appear either in place or at the end of the page.
** text property that says "don't break line in middle of this".
   Don't break the line between two characters that have the
   same value of this property.
** Discretionary hyphens that are not visible when they are at end of line.

Dave Love's avatar
Dave Love committed
16 17
* Implement something better than the current Refill mode.  This
  probably needs some primitive support.
18

Dave Love's avatar
#  
Dave Love committed
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
* Implement a clean way to use different major modes for
  different parts of a buffer.

* Give start-process the ability to direct standard-error
  output to a different filter.

* Make compile.el record the markers that point to error loci
  on text properties in the error message lines.

* Make desktop.el save the "frame configuration" of Emacs (in some
  useful sense).

* Make movemail work with IMAP.

* Add ANSI C prototype forward declarations to the source files,
  so that even the functions used within one file have prototypes.

36 37 38
* Add a way for macro definitions to provide info to edebug
  so it can handle them right.

Dave Love's avatar
#  
Dave Love committed
39
* Replace finder.el with something that generates an Info file
Dave Love's avatar
Dave Love committed
40 41
  which gives the same information through a menu structure.  [Dave
  Love started on this.]
Dave Love's avatar
#  
Dave Love committed
42

Dave Love's avatar
Dave Love committed
43 44
* Implement a variant of uncompress.el or jka-compr.el that works with
  GNU Privacy Guard for encryption.  [Code exists but isn't assigned.]
Dave Love's avatar
#  
Dave Love committed
45 46 47 48 49 50 51 52 53 54 55 56 57

* Save undo information in files, and reload it when needed
  for undoing.

* Change the Windows NT menu code
  so that it handles the deep_p argument and avoids
  regenerating the whole menu bar menu tree except
  when the user tries to use the menubar.

  This requires the RIT to forward the WM_INITMENU message to
  the main thread, and not return from that message until the main
  thread has processed the menu_bar_activate_event and regenerated
  the whole menu bar.  In the mean time, it should process other messages.
Gerd Moellmann's avatar
Gerd Moellmann committed
58 59

* Make Emacs work as a Java Bean.
Gerd Moellmann's avatar
Gerd Moellmann committed
60

Dave Love's avatar
Dave Love committed
61
* Implement the design for Unicode-based internal encoding for Mule.
Gerd Moellmann's avatar
Gerd Moellmann committed
62

Dave Love's avatar
Dave Love committed
63 64
* Document the features of libraries missing from the manual (or
  ancillary manuals, including the Lisp manual in some cases).  Here's
Dave Love's avatar
Dave Love committed
65
  a list which is probably not complete/correct: align, allout, artist,
Dave Love's avatar
Dave Love committed
66 67 68 69 70 71 72 73 74 75 76
  ansi-color, array, battery, calculator, cdl, cmuscheme, completion,
  delim-col, dirtrack, double, echistory, elide-head, easymenu,
  expand, flow-ctrl, format [format-alist], generic/generic-x [various
  modes], kermit, log-edit, ledit [obsolete?], makesum, midnight
  [other than in Kill Buffer node], mouse-copy [?], mouse-drag,
  mouse-sel, net-utils, rcompile, snmp-mode [?], soundex [should be
  interactive?], strokes [start from the web page], talk, thingatpt
  [interactive functions?], type-break, vcursor, xscheme, zone-mode
  [?], mlconvert [?], iso-cvt, iso-swed, swedish, feedmail [?], uce,
  bruce, gametree, meese, page-ext, refbib, refer, scribe, sgml-mode,
  spell, texinfo, underline, cmacexp, hideif, mantemp [obsolete?],
Stefan Monnier's avatar
Stefan Monnier committed
77 78
  pcomplete, assoc, xml, cvs-status (should be described in PCL-CVS manual);
  other progmodes, probably in separate manual.
Dave Love's avatar
Dave Love committed
79 80 81 82 83 84 85

* Get some major packages installed: W3/url (development version needs
  significant work), PSGML, Mule-UCS, Tramp (?).  Check the
  assignments file for other packages which might go in and have been
  missed.

* Make keymaps a first-class Lisp object (this means a rewrite of
Stefan Monnier's avatar
Stefan Monnier committed
86 87 88
  keymap.c).  What should it do apart from being opaque ?
  multiple inheritance ?  faster where-is ?  no more fix_submap_inheritance ?
  what else ?
Dave Love's avatar
Dave Love committed
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109

* Provide real menus on ttys.  The MS-DOS implementation can serve as
  an example how to do part of this.

* Implement popular parts of the rest of the CL functions as compiler
  macros in cl-macs.

* Highlight rectangles (`mouse-track-rectangle-p' in XEmacs).

* Support simultaneous tty and X frames.

* Implement primitive and higher-level functions to allow filling
  properly with variable-pitch faces.

* Provide MIME support for Rmail using the Gnus MIME library.

* Eliminate the storm of warnings concerning char/unsigned char
  mismatches that we get with proprietary compilers on various systems.
  They make it difficult to spot the important warnings.

* Fix anything necessary to use `long long' EMACS_INTs with GCC.
Dave Love's avatar
Dave Love committed
110 111 112 113 114 115

* Split out parts of lisp.h and generate Makefile dependencies
  automatically.

* Update the FAQ.

Dave Love's avatar
Dave Love committed
116 117
* Allow auto-compression-mode to use zlib calls if zlib is available.
  [It's required for PNG, so may be linked anyhow.]
Dave Love's avatar
Dave Love committed
118 119 120 121 122

* 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.

Dave Love's avatar
Dave Love committed
123 124 125
* Investigate using the language environment (or locale?) to set up
  more things, such as the default Ispell dictionary, calendar
  holidays...
Dave Love's avatar
Dave Love committed
126 127 128

* Improve the GC (generational, incremental).  (We may be able to use
  the Boehm collector.)
Gerd Moellmann's avatar
Gerd Moellmann committed
129

Dave Love's avatar
Dave Love committed
130
* Port Emacs to GTK+.  (Relevant work has been done already.)
Gerd Moellmann's avatar
Gerd Moellmann committed
131 132 133 134 135 136

* Make the Lucid menu widget display multilingual text.

* Implement, in C, a ``focus follows mouse'' mode that selects a window
  when the mouse enters it.

Dave Love's avatar
Dave Love committed
137
* Check what hooks would help Emacspeak -- see the defadvising in W3.
Dave Love's avatar
Dave Love committed
138 139

* Implement some variety of (non-gtk) drag-and-drop support under X.
Gerd Moellmann's avatar
Gerd Moellmann committed
140 141 142 143
  Using libdnd might be a good start.

* Remove the limitation that window and frame widths and heights can
  be only full columns/lines.
Gerd Moellmann's avatar
Gerd Moellmann committed
144 145

* Add horizontal scroll bars.
Dave Love's avatar
Dave Love committed
146 147

* Integrate Vroonhof's Custom themes code and make it do useful
Dave Love's avatar
Dave Love committed
148
  things.  [The integration is partly done.]
149 150 151

* Provide an optional feature which computes a scroll bar slider's
  size and its position from lines instead of characters.
Dave Love's avatar
Dave Love committed
152 153

* Adapt the gnuserv/gnudoit features for server/emacsclient.
154 155 156

* Remove the special treatment of binary files by DOS and Windows ports.
  They should use find-file-literally and `no-conversion' instead.
Dave Love's avatar
Dave Love committed
157 158

* Investigate using GNU Lightning or similar system for incremental
Dave Love's avatar
Dave Love committed
159 160
  compilation of selected bytecode functions to subrs.  Converting CCL
  programs to native code is probably the first thing to try, though.
161 162

* Add a feature to Info similar to "info --apropos SUBJECT".
Gerd Moellmann's avatar
Gerd Moellmann committed
163 164 165 166

* If you do an insert-file and that file is currently modified in
  another buffer but not written yet, print a warning.

Gerd Moellmann's avatar
Gerd Moellmann committed
167 168
* Add support for SVG (Scalable Vector Graphics) rendering to 
  Emacs.
Gerd Moellmann's avatar
Gerd Moellmann committed
169 170

* Use the XIE X extension, if available, for image display.
Gerd Moellmann's avatar
Gerd Moellmann committed
171 172

* Rewrite make-docfile to something sane.