* Small but important fixes needed in existing features:
-** Fix the kill/yank treatment of invisible text. At the moment,
+** 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
+ 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.
+
* Important features:
** Provide user-friendly ways to list all available font families,
- display a font as a sample, etc. [fx is looking at multilingual
- font selection for Emacs 22.]
+ list fonts, display a font as a sample, etc. [fx is looking at
+ multilingual font selection for Emacs 22.]
+
+** 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
** 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.
+ 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.
** Make movemail work with IMAP.
-** Internationalize Emacs's messages. [Note that this is of limited
- use until the menus can display multilingual text. It also doesn't
- address important issues like using the names of symbols essentially
- as documentation, e.g. in command names and Custom. -- fx]
+** Internationalize Emacs's messages.
+
+** 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. Note that the relevant Xlib functions assume a specific
- locale; that isn't good enough even if X can render the arbitrary
- text, which it often can't as far as I can tell. -- fx] [The gtk
+ 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:
+** 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 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.
+
+** 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
+*** 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 ->
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.
latin-1-prefix and latin-1-postfix.
** Implement a clean way to use different major modes for
- different parts of a buffer.
+ 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.
+
+** 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.
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.]
-** 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 negligence.
+** 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
** 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.
** Investigate using the language environment (or locale?) to set up
more things, such as the default Ispell dictionary, calendar
- holidays, quoting characters?,...
+ holidays, quoting characters, space after periods and colons, ...
** Improve the GC (generational, incremental). (We may be able to use
the Boehm collector.) [See the Boehm-GC branch in CVS for work on
** Provide an optional feature which computes a scroll bar slider's
size and its position from lines instead of characters.
-** Make the Custom themes support do useful things.
-
-** 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 support for SVG (Scalable Vector Graphics) rendering to
Emacs.
** 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.
+
+** 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.
list in a menu, let you select one of the values, and put it into some
other variable, without changing the value of `values'.
-** Fix skip-chars-{for,back}ward to allow character classes.
-
** (Controlled by a flag) make open and close syntax match exactly,
i.e. `(' doesn't match `]'.
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.
+
+** 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.
+
+** 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.
+
* Internal changes
** Replace gmalloc.c with the modified Doug Lea code from the current
** 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 generic.
- For use by sml-mode, python-mode, tex-mode, scheme-mode, ...
+ 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, ...
+
+* 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.
;;; arch-tag: b0a3e40b-726a-457d-9999-ba848321b036