X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/b2ea4639b0a9df9f8bda38da95b4eae04b0bb8da..fad0a15014e52cb27cfa6e986e8eccd76719af34:/etc/TODO diff --git a/etc/TODO b/etc/TODO index 532c2b5e36..34b79f7869 100644 --- a/etc/TODO +++ b/etc/TODO @@ -9,12 +9,31 @@ to the FSF. * 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 + . + +** 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, @@ -28,11 +47,18 @@ to the FSF. ** Implement something better than the current Refill mode. This probably needs some primitive support. +** Add a command to make a local variables list 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. @@ -43,28 +69,44 @@ to the FSF. ** 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: +** 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 -*** ignore some irrelevant errors (like IPv6 and kerberos thingies). *** Use MLS for ange-ftp-insert-directory if a list of files is specified. ** Ability to map a key, including all modified-combinations. @@ -82,6 +124,8 @@ to the FSF. 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. @@ -117,9 +161,6 @@ to the FSF. ** 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 @@ -145,6 +186,10 @@ to the FSF. ** 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. @@ -225,6 +270,8 @@ to the FSF. ** 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. @@ -307,6 +354,9 @@ to the FSF. "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 @@ -318,7 +368,16 @@ to the FSF. ** 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