mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-29 07:58:28 +00:00
224 lines
8.6 KiB
Plaintext
224 lines
8.6 KiB
Plaintext
-*-text-*-
|
|
|
|
If you are ready to start working on any of these TODO items, we
|
|
appreciate your help; please write to emacs-devel@gnu.org so we can be
|
|
aware that the problem is being addressed, and talk with you how to do
|
|
it best. Since Emacs is an FSF-copyrighted packages, please be
|
|
prepared to sign legal papers to transfer the copyright on your work
|
|
to the FSF.
|
|
|
|
Small but important fixes needed in existing features:
|
|
|
|
* Bring back the feature of showing the part of the buffer that is a problem
|
|
for the use of the preferred coding systems.
|
|
|
|
* Make compile.el record the markers that point to error loci
|
|
on text properties in the error message lines.
|
|
|
|
Important features:
|
|
|
|
* Write an INTRO_CVS file with basic instructions how to build emacs
|
|
from CVS (make bootstrap), some information on how the config
|
|
and build system is tied together, and all sorts of tips and tricks
|
|
(FAQ) which may be of interest to new (and old) emacs hackers.
|
|
|
|
* Provide user-friendly ways to list all available font families,
|
|
display a font as a sample, etc.
|
|
|
|
* Program Enriched mode to read and save in RTF. [Is there actually a
|
|
decent single definition of RTF?]
|
|
|
|
* Implement something better than the current Refill mode. This
|
|
probably needs some primitive support.
|
|
|
|
* Implement primitive and higher-level functions to allow filling
|
|
properly with variable-pitch faces.
|
|
|
|
* Implement a smoother vertical scroll facility.
|
|
|
|
* 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.
|
|
|
|
* Make movemail work with IMAP.
|
|
|
|
* Internationalize Emacs's messages.
|
|
|
|
* Port Emacs to GTK+. (Relevant work has been done already.)
|
|
|
|
* Make the Lucid menu widget display multilingual text.
|
|
|
|
* Remove the limitation that window and frame widths and heights can
|
|
be only full columns/lines.
|
|
|
|
* Move fringe to be displayed between display margins and text area.
|
|
[KFS is looking into this].
|
|
|
|
* Set fringe widths per-window/per-buffer.
|
|
|
|
* Make fringe bitmaps user configurable. Maybe add ability to add
|
|
additional bitmaps to the fringe from lisp.
|
|
|
|
Other features we would like:
|
|
|
|
* Have a command suggestion help system that recognizes patterns
|
|
of commands which could be replaced with a simpler common command.
|
|
It should not make more than one suggestion per 10 minutes.
|
|
|
|
* Add a way to define input methods by computing them (when first used)
|
|
from other input methods. Then redefine C-x 8 to use a
|
|
user-selected input method, with the default being the union of
|
|
latin-1-prefix and latin-1-postfix.
|
|
|
|
* 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 desktop.el save the "frame configuration" of Emacs (in some
|
|
useful sense).
|
|
|
|
* Give desktop.el a feature to switch between different named
|
|
desktops.
|
|
|
|
* Replace finder.el with something that generates an Info file
|
|
which gives the same information through a menu structure. [Dave
|
|
Love started on this.]
|
|
|
|
* Implement a variant of uncompress.el or jka-compr.el that works with
|
|
GNU Privacy Guard for encryption. [Code exists but isn't assigned.]
|
|
|
|
* Save undo information in files, and reload it when needed
|
|
for undoing.
|
|
|
|
* Merge the Emacs regex.c with the Glibc regex.c.
|
|
They split off a few years ago through negligance.
|
|
|
|
* 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.
|
|
|
|
* 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
|
|
keymap.c). What should it do apart from being opaque ?
|
|
multiple inheritance ? faster where-is ? no more fix_submap_inheritance ?
|
|
what else ?
|
|
|
|
* 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.
|
|
|
|
* 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.
|
|
|
|
* Split out parts of lisp.h and generate Makefile dependencies
|
|
automatically.
|
|
|
|
* Update the FAQ.
|
|
|
|
* Allow auto-compression-mode to use zlib calls if zlib is available.
|
|
[It's required for PNG, so may be linked anyhow.]
|
|
|
|
* 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.
|
|
|
|
* Investigate using the language environment (or locale?) to set up
|
|
more things, such as the default Ispell dictionary, calendar
|
|
holidays, quoting characters?,...
|
|
|
|
* Improve the GC (generational, incremental). (We may be able to use
|
|
the Boehm collector.)
|
|
|
|
* Check what hooks would help Emacspeak -- see the defadvising in W3.
|
|
|
|
* Implement some variety of (non-gtk) drag-and-drop support under X.
|
|
Using libdnd might be a good start.
|
|
|
|
* Add horizontal scroll bars.
|
|
|
|
* Provide an optional feature which computes a scroll bar slider's
|
|
size and its position from lines instead of characters.
|
|
|
|
* Integrate Vroonhof's Custom themes code and make it do useful
|
|
things. [The integration is partly done.]
|
|
|
|
* Adapt the gnuserv/gnudoit features for server/emacsclient.
|
|
|
|
* Re-implement emacs-server in lisp as an internal server using
|
|
make-network-process instead of using an external program.
|
|
|
|
* Investigate using GNU Lightning or similar system for incremental
|
|
compilation of selected bytecode functions to subrs. Converting CCL
|
|
programs to native code is probably the first thing to try, though.
|
|
|
|
* Add a feature to Info similar to "info --apropos SUBJECT".
|
|
|
|
* If you do an insert-file and that file is currently modified in
|
|
another buffer but not written yet, print a warning.
|
|
|
|
* Add support for SVG (Scalable Vector Graphics) rendering to
|
|
Emacs.
|
|
|
|
* Use the XIE X extension, if available, for image display.
|
|
|
|
* Add support for rendering antialiased text, probably using
|
|
XRender/Freetype.
|
|
|
|
* Rewrite make-docfile to something sane.
|
|
|
|
* Port the conservative stack marking code of Emacs' garbage collector
|
|
to more systems, so that we can completely get rid of GCPROs.
|
|
|
|
* Reorder defcustom's in each package so that the more important
|
|
options come first in the Customize buffers. This could be done by
|
|
either rearranging the file (since options are shown in the order
|
|
they appear in the *.el files), or by adding a few :set-after
|
|
attributes.
|
|
|
|
* Maybe document the features of libraries missing from the manual (or
|
|
ancillary manuals, including the Lisp manual in some cases).
|
|
This is not worth doing for all of these packages and we need not
|
|
aim for completeness, but some may be worth documenting.
|
|
|
|
Here's a list which is probably not complete/correct: align, allout,
|
|
artist, ansi-color, array, battery, calculator, cdl, cmuscheme,
|
|
completion, cua, 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?], pcomplete, assoc, xml,
|
|
cvs-status (should be described in PCL-CVS manual); other progmodes,
|
|
probably in separate manual.
|