TODO 6.16 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 36
* 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.

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

Dave Love's avatar
Dave Love committed
40 41
* 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
42 43 44 45 46 47 48 49 50 51 52 53 54

* 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
55 56

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

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

Dave Love's avatar
Dave Love committed
60 61
* 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
62
  a list which is probably not complete/correct: align, allout, artist,
Dave Love's avatar
Dave Love committed
63 64 65 66 67 68 69 70 71 72 73
  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
74 75
  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
76 77 78 79 80 81 82

* 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
83 84 85
  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
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

* 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
107 108 109 110 111 112 113 114

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

* Update the FAQ.

* Support dynamically-loadable primitive support using libtool and
  support similarly to Guile.  [Some work has been done.]
Dave Love's avatar
Dave Love committed
115 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 130 131 132 133

* Implement variable aliases, i.e. a `defvaralias' analogous to the
  `defalias' for functions.  The implementation should not slow down
  Emacs, and it shouldn't use additional memory, at least not much. 

Dave Love's avatar
Dave Love committed
134
* Port Emacs to GTK+.  (Relevant work has been done already.)
Gerd Moellmann's avatar
Gerd Moellmann committed
135 136 137 138 139 140

* 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
141
* Check what hooks would help Emacspeak -- see the defadvising in W3.
Dave Love's avatar
Dave Love committed
142 143

* Implement some variety of (non-gtk) drag-and-drop support under X.
Gerd Moellmann's avatar
Gerd Moellmann committed
144 145 146 147
  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
148 149

* Add horizontal scroll bars.
Dave Love's avatar
Dave Love committed
150 151

* Integrate Vroonhof's Custom themes code and make it do useful
Dave Love's avatar
Dave Love committed
152
  things.  [The integration is partly done.]
153 154 155

* 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
156 157

* Adapt the gnuserv/gnudoit features for server/emacsclient.