- -*-outline-*-
+Emacs TODO List -*-outline-*-
+
+Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ Free Software Foundation, Inc.
+See the end of the file for license conditions.
+
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
* Small but important fixes needed in existing features:
+** Fix compilation when Xaw3d libraries are present but libxaw is not.
+In new X11 versions, xaw3dg-dev does not depend on libxaw-dev, so the
+latter need not be installed. As a result, all the source files that
+look for include files in X11/Xaw should look in X11/Xaw3d if we are
+using Xaw3d.
+
+** Compute the list of active keymaps *after* reading the first event.
+
+** 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.
+
+** 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.
+
+** describe-face should show an example of text in the face.
+
** 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.
-** Make vc-annotate show place the cursor in the annotate buffer at the
- same line as the current buffer.
-
** buffer-offer-save should be a permanent local.
** revert-buffer should eliminate overlays and the mark.
It should not generate :require. Or :require in defcustom
should not be recorded in the user's custom-set-variables call.
+** Feature to change cursor shape when Emacs is idle (for more than
+ a specified time).
+
** The buttons at the top of a custom buffer should not omit
variables whose values are currently hidden.
** The toolbar should show keyboard equivalents in its tooltips.
-** Modify allout.el to use overlays, like outline.el.
+** Add function to redraw the tool bar.
** M-! M-n should fetch the buffer-file-name as the default.
with evaluating definitions of the same function from different files,
recording which file the latest definition came from.
+** make back_comment use syntax-ppss or equivalent.
+
+** Improve configure's treatment of NON_GNU_CPP on Solaris.
+(patch available for after Emacs 22)
+
+** Consider improving src/sysdep.c's search for a fqdn.
+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
+
* Important features:
** 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.]
+** Provide a convenient way to select a color with the mouse.
+
** Rewrite the face code to be simpler, clearer and faster.
** Program Enriched mode to read and save in RTF. [Is there actually a
** Internationalize Emacs's messages.
+** Set up a facility to save backtraces when errors happen during
+specified filters, specified timers, and specified hooks.
+
** Install mmc@maruska.dyndns.org's no-flicker change.
** Add a "current vertical pixel level" value that goes with point,
* Other features we would like:
+** Remove the default toggling behavior of minor modes when called from elisp
+rather than interactively. This a trivial one-liner in easy-mode.el.
** Create a category of errors called `user-error' for errors which are
typically due to pilot errors and should thus be in debug-ignored-errors.
** Make byte-compile warn when a doc string is too wide.
+** Make byte-optimization warnings issue accurate line numbers.
+
** A function to check for customizable options that have been
set but not saved, and ask the user whether to save them.
This could go in kill-emacs-query-functions, to remind people
to save their changes. If the user says yes, show them
in a Custom buffer using customize-customized.
+** Record the sxhash of the default value for customized variables
+ and notify the user (maybe by adding a menu item or toolbar button,
+ as the detection can occur during autoload time) when the default
+ changes (meaning that new versions of the Lisp source with a changed
+ default value got installed) and offer ediff on the respective
+ customization buffers.
+
** Emacs Lisp mode could put an overlay on the defun for every
- function that has advice. The overlay could have `after-text' like "
- [Function has advice]". It might look like
- (defun foo [Function has advice] (x y)
- The overlay could also be a button that you could use to view the advice.
+ function that has advice. The overlay could have `after-text' like
+ " [Function has advice]". It might look like (defun foo [Function
+ has advice] (x y) The overlay could also be a button that you could
+ use to view the advice.
+
+** Add a function to get the insertion-type of the markers in an overlay.
** ange-ftp
*** understand sftp
user-selected input method, with the default being the union of
latin-1-prefix and latin-1-postfix.
+** Switch the Windows port to using Unicode keyboard input (maybe).
+ Based on http://msdn2.microsoft.com/en-us/library/ms633586.aspx,
+ this boils down to (1) calling RegisterClassW function to register
+ Emacs windows, and (2) modifying ALL system messages to use Unicode.
+ In particular, WM_CHAR messages, which result from keyboard input,
+ will then come in encoded in UTF-16.
+
+ One advantage of switching to Unicode is to toss encoded-kbd usage,
+ which will solve the problem with binding non-ASCII keys with
+ modifiers.
+
+ Problem: using this on Windows 9x/ME requires installing the
+ Microsoft Layer for Unicode (MSLU), which might not implement all
+ the required functionality that is available built-in on Windows XP
+ and later. We should not make this change if it would pressure
+ users of unauthorized copies of older versions of Windows to
+ downgrade to versions that require activation.
+
** Implement a clean way to use different major modes for
different parts of a buffer. This could be useful in editing
Bison input files, for instance, or other kinds of text
what else ?
** Provide real menus on ttys. The MS-DOS implementation can serve as
- an example how to do part of this.
+ an example how to do part of this; see the XMenu* functions on msdos.c.
** Implement popular parts of the rest of the CL functions as compiler
macros in cl-macs.
** Check what hooks would help Emacspeak -- see the defadvising in W3.
+** Add definitions for symbol properties, for documentation purposes.
+
** Add horizontal scroll bars.
** Provide an optional feature which computes a scroll bar slider's
** Allow unknown image types to be rendered via an external program
converting them to, say, PBM (in the same way as PostScript?).
+** Display images with alpha channels, such as png, with the current
+background color of whatever frame it is displayed in. Currently, we
+use the default background color if specified in the png file, or, if
+that is unspecified, the background color of the frame in which the
+image was first created. Ideally, the image should display the
+background color of whichever frame it is being displayed in. The
+main complication is that this will require the loading of a new image
+object for each different background color.
+
** Allow displaying an X window from an external program in a buffer,
e.g. to render graphics from Java applets. [gerd and/or wmperry
thought this was feasible.]
** Face remapping.
+** Make `format-time-string' preserve text properties like `format'.
+
** Optionally make the cursor a little thinner at the end of a line
or the end of the buffer.
the definition of `file-attributes' and `directory-files-and-attributes'
and from the calls.
+** Modify the emulation of `stat' for MS-Windows to support large files.
+ The current version uses the stock Windows definition of `struct
+ stat', where the file's size is returned as a 32-bit integer. That
+ overflows for files larger than 4GB. To fix, modify `stat' to use
+ 64-bit size, and use a declaration of `struct stat' that supports
+ such sizes.
+
** Make language-info-alist customizable. Currently a user can customize
only the variable `current-language-environment'.
** Let LEIM handle the Mode_switch key like XIM does (i.e. a toggle like C-\
but which can also be used as a modifier).
-** Provide the toolbar on ttys. This could map a bit like tmm-menubar
- for the menubar and buttons could look a bit like those used by customize.
-
** Improve Help buffers: Change the face of previously visited links (like
Info, but also with regard to namespace), add a forward button to make the
Help buffer more browser like and gives the value of lisp expressions
<http://lists.gnu.org/archive/html/emacs-devel/2006-02/msg01034.html>.
[rgm@gnu.org will look at this after 22.1]
+** Possibly make cal-dst use the system timezone database directly.
+ See thread
+ <http://lists.gnu.org/archive/html/emacs-pretest-bug/2006-11/msg00060.html>
+
* Internal changes
+** Cleanup all the GC_ mark bit stuff -- there is no longer any distinction
+ since the mark bit is no longer stored in the Lisp_Object itself.
+
+** Merge ibuffer.el and buff-menu.el.
+ More specifically do what's needed to make ibuffer.el the default,
+ or just an extension of buff-menu.el.
+
+** Use pcomplete by default in shell-mode.
+ This means to make it behave (by default) more like the current code.
+ Use it also for read-shell-command, M-x compile, ...
+
+** Merge sendmail.el and messages.el.
+ Probably not a complete merge, but at least arrange for messages.el to be
+ 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
- this.]
+ GNU libc so that the special mmapping of buffers can be removed --
+ that apparently loses under Solaris, at least. [fx has mostly done
+ this.]
** Rewrite make-docfile to be clean and maintainable.
allocation functions (allocate_string etc.) without worrying about
data munging.
+** Add "link" button class
+ Add a standard button-class named "link", and make all other link-like
+ button classes inherit from it. Set the default face of the "link" button
+ class to the standard "link" face.
+
* Other known bugs:
** a two-char comment-starter whose two chars are symbol constituents will
** Fix unexelf.c to handle the .data.rel and .data.rel.local
sections made by GCC 3.4 on IRIX.
+\f
+This file is part of GNU Emacs.
+
+GNU Emacs is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Emacs; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
+
;;; arch-tag: b0a3e40b-726a-457d-9999-ba848321b036