* 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.]
** 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.
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
** Save undo information in special temporary files, and reload it
when needed for undoing. This could extend undo capacity.
-** Merge the Emacs regex.c with the Glibc regex.c.
- They split off a few years ago through negligence.
-
** Change the Windows NT menu code
so that it handles the deep_p argument and avoids
regenerating the whole menu bar menu tree except
** 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.
-
** 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.
+
** 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 `]'.
"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