* bindings.el: Give mode-line-format, mode-line-modes, and
[bpt/emacs.git] / etc / TODO
dissimilarity index 61%
index 826987d..de0097c 100644 (file)
--- a/etc/TODO
+++ b/etc/TODO
-                                                                -*-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.
+Emacs TODO List                                                   -*-outline-*-
+
+Copyright (c) 2003, 2004, 2005, 2006
+Free software Foundation, Inc.
+See the end of the file for copying permissions.
+
+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 package, 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:
+
+** 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.
+
+** whitespace-cleanup should work only on the region if the region is active.
+
+** 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.
+
+** buffer-offer-save should be a permanent local.
+
+** revert-buffer should eliminate overlays and the mark.
+
+** 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.
+  It ought to be possible to omit text which is invisible (due to a
+  text-property, overlay, or selective display) from the kill-ring.
+
+** Change the way define-minor-mode handles autoloading.
+  It should not generate :require.  Or :require in defcustom
+  should not be recorded in the user's custom-set-variables call.
+
+** The buttons at the top of a custom buffer should not omit
+  variables whose values are currently hidden.
+
+** Clean up the variables in browse-url.  Perhaps use a shell command string to
+  specify the browser instead of the mushrooming set of functions.
+  See also ESR's proposal for a BROWSER environment variable
+  <URL:http://www.catb.org/~esr/BROWSER/browse-url.patch>.
+
+** 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?
+
+** Define recompute-arg and recompute-arg-if for fix_command to use.
+  See rms message of 11 Dec 05.
+
+** Height returned by frame-parameter ... and height given to
+   make-frame does not mean the same thing.  The former includes menu and
+   tool bar lines, the latter don't.  frame-parameter should return height
+   without menu and tool bar lines.
+
+** In Emacs Info, examples of using Customize should be clickable
+   and they should create Custom buffers.
+
+** The toolbar should show keyboard equivalents in its tooltips.
+
+** Modify allout.el to use overlays, like outline.el.
+
+** 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.
+
+* 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
+  decent single definition of RTF?  Maybe see info at
+  http://latex2rtf.sourceforge.net/.]  This task seems to be addressed
+  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.
+
+** Implement a smoother vertical scroll facility, one that allows
+  C-v to scroll through a tall image.  The primitive operations
+  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).
+
+** 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.
+
+** Internationalize Emacs's messages.
+
+** Install mmc@maruska.dyndns.org's no-flicker change.
+
+** Add a "current vertical pixel level" value that goes with point,
+  so that motion commands can also move through tall images.
+  This value would be to point as window-vscroll is to window-start.
+
+** Address internationalization of symbols names essentially
+  as documentation, e.g. in command names and Custom.
+
+** Make the Lucid menu widget display multilingual text.  [This
+  probably needs to be done from actual Emacs buffers, either directly
+  in the menu or by rendering in an unmapped window and copying the
+  pixels.  The current code assumes a specific locale; that isn't good
+  enough even if X can render the arbitrary text] [The gtk
+  port now displays multilingual text in menus, but only insofar as
+  Emacs can encode it as utf-8 and gtk can display the result.]
+  Maybe making Lucid menus work like Gtk's (i.e. just force utf-8) is good
+  enough now that Emacs can encode most chars into utf-8.
+
+** Remove the limitation that window and frame widths and heights can
+  be only full columns/lines.
+
+* 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.
+
+** Give Tar mode all the features of Archive mode.
+
+** Create a category of errors called `process-error'
+  for some or all errors associated with using subprocesses.
+
+** Maybe reinterpret `parse-error' as a category of errors
+  and put some other errors under it.
+
+** A function to tell you the argument pattern of functions.
+  See `function-arity' in http://www.loveshack.ukfsn.org/emacs/fx-misc.el.
+
+** Make byte-compile warn when a doc string is too wide.
+
+** 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.
+
+** ange-ftp
+*** understand sftp
+   This is hard to make work because sftp doesn't print status
+   messages.
+
+*** Use MLS for ange-ftp-insert-directory if a list of files is specified.
+
+** Ability to map a key, including all modified-combinations.
+   E.g map mouse-4 to wheel-up as well as M-mouse-4 -> M-wheel-up
+   M-C-mouse-4 -> M-C-wheel-up, H-S-C-M-s-double-mouse-4 ->
+   H-S-C-M-s-double-wheel-up, ...
+
+** Beefed-up syntax-tables.
+*** recognize multi-character syntactic entities like `begin' and `end'.
+*** nested string-delimiters (for Postscript's (foo(bar)baz) strings).
+*** support for infix operators (with precedence).
+*** support for the $ (paired delimiter) in parse-partial-sexp.
+*** support for hook-chars whose effect on the parsing-state is specified
+       by elisp code.  Thus a char could both close a string and open a comment
+       at the same time and do it in a context-sensitive way.
+*** ability to add mode-specific data to the partial-parse-state.
+
+** Add a way to convert a keyboard macro to equivalent Lisp code.
+
+** 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.  This could be useful in editing
+  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.
+
+** Arrange a way for an input method to return the first character
+  immediately, then replace it later.  So that C-s a with
+  input method latin-1-postfix would immediately search for an a.
+
+** 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.]
+
+** 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.
+
+** 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 (development version needs
+  significant work), PSGML.  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.
+
+** Make compiler warnings about functions that might be undefined at run time
+ smarter, so that they know which files are required by the file being
+ compiled and don't warn about functions defined in them.
+
+** Highlight rectangles (`mouse-track-rectangle-p' in XEmacs).  Already in CUA,
+  but it's a valuable feature worth making more general.
+
+** Support simultaneous tty and X frames.  [See the multi-tty branch of Emacs
+  at http://lorentey.hu/project/emacs.]
+
+** Provide MIME support for Rmail using the Gnus MIME library.  [Maybe
+  not now feasible, given Gnus maintenance decisions.  fx looked at
+  this and can say where some of the problems are.]
+
+** Eliminate the storm of warnings concerning char/unsigned char
+  mismatches that we get with GCC 4.x and 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.
+
+** Improve the GC (generational, incremental).  (We may be able to use
+  the Boehm collector.)  [See the Boehm-GC branch in CVS for work on
+  this.]
+
+** 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
+  size and its position from lines instead of characters.
+
+** Add support for SVG (Scalable Vector Graphics) rendering to
+  Emacs.
+
+** Allow unknown image types to be rendered via an external program
+  converting them to, say, PBM (in the same way as PostScript?).
+
+** 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.]
+
+** Allow images (not just text) in the margin to be mouse-sensitive.
+  (Requires recursing through display properties).  Provide some way
+  to simulate mouse-clicks on marginal text without a mouse.
+
+** Implement Lisp functions to determine properly whether a character
+  is displayable (particularly needed in XFree 4, sigh).  Use it to
+  define useful glyphs that may be displayed as images or unicodes
+  (with ASCIIfied fallback via latin1-disp).  Examples include
+  box-drawing graphics in Custom buffers, W3 rules and tables, and
+  tree displays generally, mode-line mail indicator.  [See work done
+  already for Emacs 22 and consult fx.]
+
+** Do something to make rms happy with fx's dynamic loading, and use it
+  to implement things like auto-loaded buffer parsers and database
+  access in cases which need more than Lisp.
+
+** Extend ps-print to deal with multiple font sizes, images, and extra
+  encodings.
+
+** Provide portable undumping using mmap (per gerd design).
+
+** Make byte-compile avoid binding an expanded defsubst's args
+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
+  or the end of the buffer.
+
+** Add support for rendering antialiased text, probably using
+  XRender/Freetype.
+
+** Port the conservative stack marking code of Emacs' garbage collector
+  to more systems, so that we can completely get rid of GCPROs.  Note
+  that Boehm garbage collector provides this.
+
+** 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.
+
+** 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.)
+
+** 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
+  list in a menu, let you select one of the values, and put it into some
+  other variable, without changing the value of `values'.
+
+** (Controlled by a flag) make open and close syntax match exactly,
+  i.e. `(' doesn't match `]'.
+
+** Specify parameter ID-FORMAT in all calls to `file-attributes' and
+  `directory-files-and-attributes' where attributes UID or GID are used.
+  Whenever possible, use value 'string.
+  When done, change meaning of default value from 'integer to 'string.
+  If value 'integer is used nowhere, remove the parameter ID-FORMAT from
+  the definition of `file-attributes' and `directory-files-and-attributes'
+  and from the calls.
+
+** Make language-info-alist customizable.  Currently a user can customize
+  only the variable `current-language-environment'.
+
+** Improve language environment handling so that Emacs can fit
+  better to a users locale.  Currently Emacs uses utf-8 language
+  environment for all utf-8 locales, thus a user in ja_JP.UTF-8 locale
+  are also put in utf-8 lang. env.  In such a case, it is
+  better to use Japanese lang. env. but prefer utf-8 coding system.
+
+** Enhance locale handling:  handle language, territory and charset
+  orthogonally and de-emphasize language environments.  Use the locale
+  to set up more things, such as fontsets, the default Ispell
+  dictionary, diary format, calendar holidays and display, quoting
+  characters and phrase boundaries, sentence endings, collation for
+  sorting (at least for unicodes), HTTP Accept-language, patterns for
+  directory listings and compilation messages, yes-or-no replies,
+  common menu items when the toolkit supports it ...  `locale-info'
+  needs extending for LC_COLLATE &c.  [fx started on this.]
+
+** Eliminate the current restriction on header printing by ps-print.
+  Currently, a header can contain only single 1-byte charset in
+  addition to ASCII.
+
+** In ps-print, provide an user friendly interface to specify fonts.
+
+** OpenType font support for various complex scripts (e.g. Devanagari).
+  As X protocal doesn't provide a way to access OpenType Layout Tables
+  in a OpenType font of a server side, we need a way to utilize local
+  fonts (perhaps by directly using the Freetype library or indirectly
+  via Xft library).
+
+** Enhance word boundary detection for such a script that doesn't use
+  space at word boundary (e.g. Thai).
+
+** Implement interface programs with major Japanese conversion server
+  in lib-src so that they can be used from the input method
+  "japanese".  Currently, most Japanese users are using external
+  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).
+
+** 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
+   e.g auto-mode-alist, the right face. [nickrob@snap.net.nz has a patch
+   for this for inclusion after 22.1].
+
+** Possibly make `list-holidays' eval items in the calendar-holidays variable.
+   See thread
+   <http://lists.gnu.org/archive/html/emacs-devel/2006-02/msg01034.html>.
+   [rgm@gnu.org will look at this after 22.1]
+
+* Internal changes
+
+** 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.]
+
+** Rewrite make-docfile to be clean and maintainable.
+
+** Add an inferior-comint-minor-mode to capture the common set of operations
+   offered by major modes that offer an associated inferior
+   comint-derived mode.  I.e. basically make cmuscheme.el/inf-lisp.el generic.
+   For use by sml-mode, python-mode, tex-mode, scheme-mode, lisp-mode,
+   haskell-mode, tuareg-mode, ...
+
+** Make SYNC_INPUT the default.
+   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
+   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
+not be noticed if it appears within a word.
+
+** Fix unexelf.c to handle the .data.rel and .data.rel.local
+   sections made by GCC 3.4 on IRIX.
+
+COPYING PERMISSIONS:
+
+    Permission is hereby granted, free of charge, to any person obtaining
+    a copy of this file, to deal in the file without restriction, including
+    without limitation the rights to use, copy, modify, merge, publish,
+    distribute, sublicense, and/or sell copies of the file, and to
+    permit persons to whom the file is furnished to do so, subject to
+    the following condition:
+
+    The above copyright notice and this permission notice shall be
+    included in all copies or substantial portions of the file.
+
+;;; arch-tag: b0a3e40b-726a-457d-9999-ba848321b036