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
Free Software Foundation, Inc.
See the end of the file for license conditions.
prepared to sign legal papers to transfer the copyright on your work
to the FSF.
-* Simple tasks. These don't require much emacs knowledge, they are
+* Tentative plan for Emacs-24
+
+** Bidi
+** lexbind: I haven't checked the status of the code recently, so
+ I don't know how realistic it is to include it. But it's been around
+ for a long time, and I trust Miles, so I have hope.
+** concurrency: including it as an "experimental" compile-time option
+ sounds good. Of course there might still be big questions around
+ "which form of concurrency" we'll want.
+** Overhaul of customize: sounds wonderful.
+** some kind of color-theme: agreed.
+** better support for dynamic embedded graphics: I like this idea (my
+ mpc.el code could use it for the volume widget), tho I wonder if the
+ resulting efficiency will be sufficient.
+** Spread Semantic.
+** Improve the "code snippets" support: consolidate skeleton.el, tempo.el,
+ and expand.el (any other?) and then advertise/use/improve it.
+** Improve VC: yes, there's a lot of work to be done there :-(
+ And most of it could/should make it into Emacs-23.3.
+** package manager.
+
+** Random things that cross my mind right now that I'd like to see (some of
+them from my local hacks), but it's not obvious at all whether they'll
+make it.
+*** multiple inheritance for keymaps (to get rid of the
+ fix_submap_inheritance hack and to more cleanly express the
+ relationship between minibuffer-local-*-map): I've had this locally
+ for a long time, but the details of the semantics is somewhat ... delicate.
+*** prog-mode (a parent-mode, like text-mode). Could/should provide
+ a better fill-paragraph default that uses syntax-tables to recognize
+ string/comment boundaries.
+*** provide more completion-at-point-functions. Make existing
+ in-buffer completion use completion-at-point.
+*** "functional" function-key-map that would make it easy to add (and
+ remove) mappings like "FOO-mouse-4 -> FOO-scroll-down",
+ "FOO-tab -> ?\FOO-\t", "uppercase -> lowercase", "[fringe KEY...] ->
+ [KEY]", "H-FOO -> M-FOO", "C-x C-y FOO -> H-FOO", ...
+
+
+* 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, inferior-lisp-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.
** 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
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
** erase-buffer should perhaps disregard read-only properties of text.
-** Make occur correctly handle matches that span more than one line,
- as well as overlapping matches.
-
** Fix the kill/yank treatment of invisible text. At the moment,
invisible text is placed in the kill-ring, so that the contents of
the ring may not correspond to the text as displayed to the user.
** Enhance scroll-bar to handle tall line (similar to line-move).
-** Make occur handle multi-line matches cleanly with context.
-
** In Custom buffers, put the option that turns a mode on or off first,
using a heuristic of some kind?
** 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.
** 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.
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.
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.
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
** 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.
** 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
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
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'.
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
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
* 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.