Add 2011 to FSF/AIST copyright years.
[bpt/emacs.git] / etc / TODO
index 73578be..4bd8cac 100644 (file)
--- a/etc/TODO
+++ b/etc/TODO
@@ -1,6 +1,6 @@
 Emacs TODO List                                                   -*-outline-*-
 
-Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
   Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
@@ -15,13 +15,12 @@ to the FSF.
 * 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.
+** Convert modes that use view-mode to be derived from special-mode instead.
 
 ** 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, texinfo-mode.
+not have one at the moment and probably should: text-mode, inferior-lisp-mode.
 
 ** Check if all items on the mode-line have a suitable tooltip for all modes.
 
@@ -34,6 +33,15 @@ to use it.
 ** Convert all defvars with leading `*' in the doc-strings into defcustoms
 of appropriate :type and :group.
 
+** Remove any leading `*'s from defcustom doc-strings.
+
+** Remove unnecessary autoload cookies from defcustoms.
+This needs a bit of care, since often people have become used to
+expecting such variables to always be defined, eg when they modify
+things in their .emacs.
+
+** See if other files can use generated-autoload-file (see eg ps-print).
+
 * Small but important fixes needed in existing features:
 
 ** Flymake's customization mechanism needs to be both simpler (fewer
@@ -45,15 +53,6 @@ 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.
-
-** Make it possible to reliably turn on minor modes using "mode:" in the local 
-variables section.
-
-** "Options -> Save Options" should save the font set via "Set Font/Fontset"
-I.e. mouse-set-font should use customize-face.
-
 ** Compute the list of active keymaps *after* reading the first event.
 
 ** Distribute a bar cursor of width > 1 evenly between the two glyphs
@@ -113,8 +112,6 @@ I.e. mouse-set-font should use customize-face.
 
 ** Add function to redraw the tool bar.
 
-** M-! M-n should fetch the buffer-file-name as the default.
-
 ** Redesign the load-history data structure so it can cope better
   with evaluating definitions of the same function from different files,
   recording which file the latest definition came from.
@@ -143,6 +140,12 @@ Change them to use report-emacs-bug.
 ** Add a defcustom that supplies a function to name numeric backup files,
 like make-backup-file-name-function for non-numeric backup files.
 
+** `dired-mode' should specify the semantics of `buffer-modified-p' for
+dired buffers and DTRT WRT `auto-revert-mode'. 
+
+** Check uses of prin1 for error-handling.
+http://lists.gnu.org/archive/html/emacs-devel/2008-08/msg00456.html
+
 * Important features:
 
 ** Having tabs above a window to switch buffers in it.
@@ -185,12 +188,6 @@ scroll bars are extensible.
   by http://savannah.nongnu.org/projects/emacs-rtf/, which is still in
   very early stages.
 
-** Implement something better than the current Refill mode.  This
-  probably needs some primitive support.
-
-** Add a command to make a "Local Variables" section in the current buffer
-  and/or add a variable to the list.
-
 ** Implement primitive and higher-level functions to allow filling
   properly with variable-pitch faces.
 
@@ -199,7 +196,7 @@ scroll bars are extensible.
   posn-at-point and posn-at-x-y should now make it doable in elisp.
 
 ** Implement intelligent search/replace, going beyond query-replace
-  (see http://graphics.csail.mit.edu/~rcm/chi04.pdf).
+  (see http://groups.csail.mit.edu/uid/projects/clustering/chi04.pdf).
 
 ** Implement other text formatting properties.
 *** Footnotes that can appear either in place or at the end of the page.
@@ -341,7 +338,7 @@ typically due to pilot errors and should thus be in debug-ignored-errors.
   Bison input files, for instance, or other kinds of text
   where one language is embedded in another language.  See
   http://www.loveshack.ukfsn.org/emacs/multi-mode.el and also
-  mmm-mode, as reference for approaches took by others.
+  mmm-mode, as reference for approaches taken by others.
 
 ** Arrange a way for an input method to return the first character
   immediately, then replace it later.  So that C-s a with
@@ -356,18 +353,8 @@ typically due to pilot errors and should thus be in debug-ignored-errors.
 ** 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.]
-
 ** Add a cpio mode, more or less like tar mode.
 
-** Implement a variant of uncompress.el or jka-compr.el that works with
-  GNU Privacy Guard for encryption.  [Code exists but isn't assigned.
-  See the Gnus development sources for assigned code concerning GPG
-  use with mail, which is probably a good start.]  See also
-  http://www.loveshack.ukfsn.org/emacs/auto-crypt.tgz.
-
 ** Save undo information in special temporary files, and reload it
   when needed for undoing.  This could extend undo capacity.
 
@@ -382,7 +369,7 @@ typically due to pilot errors and should thus be in debug-ignored-errors.
   the whole menu bar.  In the mean time, it should process other messages.
 
 ** Get some major packages installed: W3 (development version needs
-  significant work), PSGML, _possibly_ Cedet and ECB.
+  significant work), PSGML, _possibly_ ECB.
   http://lists.gnu.org/archive/html/emacs-devel/2007-05/msg01493.html
   Check the assignments file for other packages which might go in and
   have been missed.
@@ -480,15 +467,13 @@ http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg02234.html
 ** Provide portable undumping using mmap (per gerd design).
 
 ** Make byte-compile avoid binding an expanded defsubst's args
-when the body only calls primitives.
+  when the body only calls primitives.
 
 ** Use the XIE X extension, if available, for image display.
 
 ** Make monochrome images display using the foreground and background
   colors of the applicable faces.
 
-** Face remapping.
-
 ** Make `format-time-string' preserve text properties like `format'.
 
 ** Optionally make the cursor a little thinner at the end of a line
@@ -526,8 +511,8 @@ when the body only calls primitives.
   probably in separate manual.
 
 ** Convert the XPM bitmaps to PPM, replace the PBMs with them and scrap
-  the XPMs so that the colour versions work generally.  (Requires care
-  with the colour used for the transparent regions.)
+  the XPMs so that the color versions work generally.  (Requires care
+  with the color used for the transparent regions.)
 
 ** Convenient access to the `values' variable.  It would be nice to have an
   interface that would show you the printed reps of the elements of the
@@ -545,13 +530,6 @@ when the body only calls primitives.
   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'.
 
@@ -586,13 +564,11 @@ when the body only calls primitives.
   packages (e.g. tamago, anthy) or an input method via XIM.
 
 ** 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).
+   but which can also be used as a modifier).
 
 ** 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
-   e.g auto-mode-alist, the right face. [nickrob@snap.net.nz has a patch
-   for this for inclusion after 22.1].
+   Info, but also with regard to namespace), and give the value of
+   lisp expressions, e.g auto-mode-alist, the right face.
 
 ** Possibly make `list-holidays' eval items in the calendar-holidays variable.
    See thread
@@ -644,7 +620,7 @@ but which can also be used as a modifier).
    For use by sml-mode, python-mode, tex-mode, scheme-mode, lisp-mode,
    haskell-mode, tuareg-mode, ...
 
-** Make SYNC_INPUT the default.
+** Make SYNC_INPUT the default. [true since 2008-03-11]
    All loops using immediate_quit need to be checked to ensure that
    C-g can interrupt them, in case of an infinite loop.  Once we
    switch to using SYNC_INPUT, we can remove the BLOCK_INPUTs in the
@@ -659,32 +635,6 @@ but which can also be used as a modifier).
 * Other known bugs:
 
 ** `make-frame' forgets unhandled parameters, at least for X11 frames.
-** The \\{...} keymap dump output does not correctly remove shadowed entries:
-From: "Drew Adams" <drew.adams@oracle.com>
-
-(define-key minibuffer-local-map [(control ?=)] 'foo)
-(define-key minibuffer-local-completion-map [(control ?=)] 'foo)
-
-(defun toto () "\\{minibuffer-local-completion-map}"  4)
-
-C-h f toto shows a duplicate entry for C-=:
-
-toto is a Lisp function.
-(toto)
-
-key             binding
-- ---             -------
-
-C-g            abort-recursive-edit
-TAB            minibuffer-complete
-C-j            exit-minibuffer
-RET            exit-minibuffer
-ESC            Prefix Command
-SPC            minibuffer-complete-word
-?              minibuffer-completion-help
-C-=            foo
-C-=            foo
-...
 
 ** a two-char comment-starter whose two chars are symbol constituents will
 not be noticed if it appears within a word.
@@ -695,10 +645,10 @@ not be noticed if it appears within a word.
 \f
 This file is part of GNU Emacs.
 
-GNU Emacs is free software; you can redistribute it and/or modify
+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.
+the Free Software Foundation, either version 3 of the License, 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
@@ -706,8 +656,6 @@ 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.
+along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; arch-tag: b0a3e40b-726a-457d-9999-ba848321b036