14 KiB
- Needed for release version 5
- basic: indent-rigidly
- basic: minibuffer completion -> bad return on C-x C-f . SPC qe SPC RET
- basic: scripting
- basic: handle chinese encodings
- basic: handle euc-kr
- basic: autodetect sjis, euc-jp…
- basic: fix colors, default schemes…
- basic: fix behaviour on overlong lines
- c-mode: fix c indentation inside comments
- c-mode: fix c indentation inside struct, array and enum initializers
- dired: fix layout mess when dired/bufed side window loses focus
- dired: keep dired current file upon: RET C-x C-k RET
- doc: migrate coding-rules.html to pandoc markdown
- doc: move doc and TODO to markdown format
- doc: rewrite TODO file with more sections and explanations
- files: minibuffer-electric-yank in minibuffer to fix pathname
- files: minibuffer input ~ should not kill http: prefix
- files: check file date to detect asynchronous modifications on disk
- files: fix s->offset reset to 0 upon C-x C-f newfile ENT C-x 2 C-x b ENT
- files: insert-file: load via separate buffer with charset conversion
- files: reload-file on C-x C-r
- html-src/xml: fix colorizer for multi-line tags and attributes
- modes: header-line format
- modes: mode-line format
- modes: split modes into colorizers, interaction, io, charset, eoltype
- modes: major and minor modes
- search: hex search broken for non ASCII bytes
- search: incremental-search should not center window, many redundant matches
- search: pass unicode buffer in search/replace
- search: tab in incremental search
- search: yank in incremental search
- shell: fix crash bug when invoking qemacs recursively in the terminal
- shell: set current directory of new shell buffer to that of current window
- shell: set qemacs default directory to that of shell window upon cd command
- shell: yank at shell prompt
- undo: undo should handle sequence of undo records upto tagged start.
- x11: handle X11 window manager close window event and exit cleanly
- html: merge xml / htmlsrc modes
- basic: indent-region
- basic: untabify-region, untabify-buffer
- basic: indent on TAB according to indent-width and indent-with-tabs
- c-mode: fix c-mode tab on line with excess indentation
- c-mode: fix c indentation bug on lines with ternary operator
- files: http / ftp / https protocols via wget -q -O - URL
- Basic stuff
- crash bug on johnmacfarlane.net/texmath.xhtml
- abbreviate lines in file completion list popup
- wrap long lines past line numbers column
- tty_put_char should convert charsets
- current path in compile set to current buffer path
- avoid error in new file
- check file permissions.
- add custom memory handling functions.
- use failsafe memory allocator and longjmp recover.
- redefine KEY_Fx to make them sequential
- move ungot_key to key_context
- use trick for entering spaces in filename prompts without completion
- static init_call stuff ?
- add default for new buffer creation, set that to utf8
- splitting pages should fall on 32 bit boundaries (difficult)
- handle broken charset sequences across page boundaries
- add command help/description in declarations
- make command declaration macros standalone
- expression evaluator
- allow recursive main loop, and remove input callbacks
- fix column computation based on display properties:
- undo: limit size of undo buffers
- undo: add undo records for styles, modes…
- undo: disable undo for archive parse and uncompress phases
- synced virtual buffers with restricted range
- unsynced virtual buffers with restricted range and specific mode/charset
- spell checker
- printing support
- bfs: built in file system for embedded extensions and files
- session history
- notes
- C-x x next-buffer ??? Move to the next buffer.
- abbreviation mode
- qe_realloc -> typed and clear reallocated area
- timers for esc key disambiguation
- ftp: / http: support
- set-auto-mode: reselect best mode
- set-next-mode: select nth best mode
- handle \r\n as a minor charset mode
- eb_printf return value
- do_fill_paragraph for wide char buffers
- add auto close buffer flag (for list mode)
- add raw|none|binary encoding
- simplify paragraph stuff with eb_is_blank_line
- show-bindings fails if binding is redefined (eg: M-q)
- set-fill-column
- fill-column variable
- Moving / Editing
- ESC left/right -> descrease/increase-width in hex / binary / unihex modes
- remote editing
- blink-and-insert on ) } ] >
- fix scroll up/down to move point if already at end
- move by paragraph on M-[ and M-]
- scroll horizontally on M-{ and M-}
- scroll up/down with argument should scroll by screen row.
- simplify C-z A-z accordingly
- accented letters on OS/X
- combining unicode glyphs produce bogus cursor positions
- deal with accents in filenames (OS/X uses separate utf8 accents)
- stats command for word count and mode specific stats
- 256 color mode
- auto-fill-mode
- auto-revert-mode, global-auto-revert-mode, auto-revert-tail-mode
- extend hex mode to support 16,32,64 words as little and big endian
- rectangular regions, cut/paste
- Windowing / Display
- window scrolling not emulated in tty (check ^Z in recursive eps)
- multiple frames
- lingering windows
- cursor not found on doc/256colors.raw if truncate-lines=1
- enlarge-window-interactively
- enlarge-window-horizontally
- enlarge-window
- tab cursor displayed size
- improve speed of text renderer / improve truncate mode
- display alternate cursor in non active column in hex mode.
- fix crash bug on fragments longer than MAX_SCREEN_WIDTH.
- vertical scroll bar
- menu / context-menu / toolbars / dialogs
- improve layout scheme for better scalability.
- scrolling by window size should position cursor differently
- emulation mode to use line-drawing characters for window borders
- Clean window deletion mess:
- Search / Replace
- Unicode / bidir
- X11 display / graphics
- move -nw cmd line option to tty.c and make term_probe return better score
- remember X11 window positions and restore layout ?
- improve image viewer.
- faster video handling (generalize invalidate region system)
- integrate tinySVG renderer based on the new libraster.
- implement wheel mode in CSS display.
- fix configure for missing support: x11 xv png …
- add configure –disable-graphics
- dpy_open_font should never return NULL, must have a system font.
- Outline / Org mode
- C mode
- HTML mode
- distribute libqhtml as a separate project
- OPTIMIZE eb_nextc et al or always duplicate box content (big speed improvement).
- polish end of line offset/cursor displacement support.
- handle implicit TR
- add file referencing (<?xml-stylesheet type="text/css" href="xxx"?>, <link>, etc…)
- fix LI numbering with VALUE attribute (cannot use CSS). Verify counter-reset semantics.
- (z-index) floats must be displayed after all other stuff.
- <NOBR> is sometimes incorrect.
- more font style synthesis in html2ppm.
- add xml CDATA parsing
- Shell
- fix bof/eof shell mode
- allow quoting of special keys : let do_char insert xterm/vt100
- fix terminal size inside shell window ?
- cmdline arg to force lines and columns to test shell.
- toggling interactive shell mode is not automatic enough
- man pager -> more bindings, such as RET -> push-button (jump to map page)
- accented letter input in shell mode
- transcode between tty charset and shell buffer charset
- track unsupported escapes in shell buffer
- doctor command should create and show trace buffer, remove eb_new kludge
- use colorized buffer for trace buffer to flag tty input, shell output, supported and unsupported escapes.
- telnet-mode -> Connect to a remote computer using telnet
- Bufed
- Dired
- use buffer specific load functions
- separate buffer for each directory
- adjust dired gutter width for max name length
- snap dired left window horiz scroll
- make dired left window temporary popleft window
- dired left window delete sometimes doesn't fix layout.
- improve dired (file commands, nicer display)
- make archive mode use dired commands
- Modes
- compress mode file save to compressed format
- auto-compression-mode
- rethink mode specific commands -> add inheritance for all commands ?
- mode inheritance
- calculator / spreadsheet mode
- calendar mode
- email reader mode: mail / rmail
- news reader mode
- irc client mode
- ispell
- rss
- set-gosmacs-bindings
- wikipedia mode
- info-mode -> unix info mode
- improve latex-mode
- vim mode.
- minor modes with key override such as "preview" mode
- merge hex-mode and binary-mode
- mode for undo buffers
- visual-diff-mode -> Use color-coding to compare two buffers.
- improve existing language modes:
- ada-mode ->
- asm-mode: handle various assembly styles
- calc-mode: fix syntax, disable C++ comments
- cobol-mode ->
- css-mode ->
- erlang-mode ->
- fcl-mode ->
- forth-mode ->
- fortran-mode ->
- haskell-mode ->
- html-mode: support hex entities
- julia-mode ->
- lisp-mode ->
- lua-mode ->
- makefile-mode: Gnu and other makefiles.
- markdown-mode: syntax modes for toml, bash (bash output), sh, text, txt
- ocaml-mode ->
- pascal-mode ->
- perl-mode ->
- php-mode ->
- postscript-mode: more restrictive match
- python-mode ->
- R-mode ->
- ruby-mode ->
- scheme-mode ->
- scilab-mode ->
- sh-mode: Handle here documents
- sh-mode: Handle multiline strings
- sh-mode: shell script files
- sql-mode ->
- vbasic-mode: more restrictive matcher because .cls files may be latex
- missing languages:
- asp-mode ->
- automake-mode ->
- batch-mode -> Windows Batch files.
- bennugd-mode ->
- bluespec-mode ->
- boo-mode ->
- cg-mode ->
- changelog-mode ->
- chdr-mode ->
- cmake-mode ->
- conf-mode -> configuration files.
- cuda-mode ->
- DCL mode
- def-mode ->
- desktop-mode ->
- diff-mode ->
- doc-mode ->
- docbook-mode ->
- dosbatch-mode ->
- dot-mode ->
- dpatch-mode ->
- dtd-mode ->
- eiffel-mode ->
- exelis-mode ->
- fsharp-mode ->
- gams-mode -> GAMS files.
- gap-mode ->
- glsl-mode ->
- gtkrc-mode ->
- haddock-mode ->
- imagej-mode ->
- ini-mode -> Windows .ini files.
- j-mode ->
- language-mode ->
- libtool-mode ->
- literate-mode ->
- log-mode ->
- m4-mode -> M4 macro processor files
- maildrop-mode (a direct descendent of C mode) for .mailfilter
- mallard-mode ->
- matlab-mode ->
- mediawiki-mode ->
- modelica-mode ->
- mxml-mode ->
- nemerle-mode ->
- netrexx-mode ->
- nroff-mode
- nsis-mode ->
- objj-mode ->
- ocl-mode ->
- octave-mode ->
- ooc-mode ->
- opal-mode ->
- opencl-mode ->
- patch-mode ->
- pkgconfig-mode ->
- po-mode -> translation files
- prolog-mode ->
- protobuf-mode ->
- puppet-mode ->
- rpmspec-mode ->
- sml-mode ->
- sparql-mode ->
- systemverilog-mode ->
- t2t-mode ->
- tcl-mode -< Tcl files.
- texinfo-mode ->
- vala-mode ->
- vbnet-mode ->
- verilog-mode ->
- vhdl-mode -> VHDL files.
- xslt-mode ->
- Ideas from other editors
- <enter> to exit browse mode
- prevent edit in browse mode
- dynamic project based settings, include, exclude patterns…
- electric-c-mode
- http request with headings
- save file to non existent path -> create path.
- dired view with outline and expand/collapse
- dired view with generalized file matcher
- open file with fuzzy search
- execute command with fuzzy search
- find-file: gist:snippet
- new flavor for GoogleClosureCompiler
; TODO list for qemacs ; ; Author: Charles Gordon ; Date: 2014-03-22
Needed for release version 5
basic: indent-rigidly
basic: minibuffer completion -> bad return on C-x C-f . SPC qe SPC RET
basic: scripting
basic: handle chinese encodings
basic: handle euc-kr
basic: autodetect sjis, euc-jp…
basic: fix colors, default schemes…
basic: fix behaviour on overlong lines
c-mode: fix c indentation inside comments
c-mode: fix c indentation inside struct, array and enum initializers
dired: fix layout mess when dired/bufed side window loses focus
dired: keep dired current file upon: RET C-x C-k RET
doc: migrate coding-rules.html to pandoc markdown
doc: move doc and TODO to markdown format
doc: rewrite TODO file with more sections and explanations
files: minibuffer-electric-yank in minibuffer to fix pathname
files: minibuffer input ~ should not kill http: prefix
files: check file date to detect asynchronous modifications on disk
files: fix s->offset reset to 0 upon C-x C-f newfile ENT C-x 2 C-x b ENT
files: insert-file: load via separate buffer with charset conversion
files: reload-file on C-x C-r
html-src/xml: fix colorizer for multi-line tags and attributes
modes: header-line format
modes: mode-line format
modes: split modes into colorizers, interaction, io, charset, eoltype
modes: major and minor modes
search: hex search broken for non ASCII bytes
search: incremental-search should not center window, many redundant matches
search: pass unicode buffer in search/replace
search: tab in incremental search
search: yank in incremental search
shell: fix crash bug when invoking qemacs recursively in the terminal
shell: set current directory of new shell buffer to that of current window
shell: set qemacs default directory to that of shell window upon cd command
shell: yank at shell prompt
undo: undo should handle sequence of undo records upto tagged start.
x11: handle X11 window manager close window event and exit cleanly
html: merge xml / htmlsrc modes
DONE basic: indent-region
DONE basic: untabify-region, untabify-buffer
DONE basic: indent on TAB according to indent-width and indent-with-tabs
DONE c-mode: fix c-mode tab on line with excess indentation
DONE c-mode: fix c indentation bug on lines with ternary operator
DONE files: http / ftp / https protocols via wget -q -O - URL
Basic stuff
crash bug on johnmacfarlane.net/texmath.xhtml
abbreviate lines in file completion list popup
wrap long lines past line numbers column
tty_put_char should convert charsets
current path in compile set to current buffer path
avoid error in new file
check file permissions.
add custom memory handling functions.
use failsafe memory allocator and longjmp recover.
redefine KEY_Fx to make them sequential
move ungot_key to key_context
use trick for entering spaces in filename prompts without completion
static init_call stuff ?
add default for new buffer creation, set that to utf8
splitting pages should fall on 32 bit boundaries (difficult)
handle broken charset sequences across page boundaries
add command help/description in declarations
make command declaration macros standalone
expression evaluator
allow recursive main loop, and remove input callbacks
fix column computation based on display properties:
(variable pitch, tabs, ^x and \uxxxx stuff – emacs behaviour) ?
undo: limit size of undo buffers
undo: add undo records for styles, modes…
undo: disable undo for archive parse and uncompress phases
synced virtual buffers with restricted range
unsynced virtual buffers with restricted range and specific mode/charset
spell checker
printing support
bfs: built in file system for embedded extensions and files
Jasspa bfs is way too complicated, make simpler system
session history
notes
C-x x next-buffer ??? Move to the next buffer.
abbreviation mode
qe_realloc -> typed and clear reallocated area
DONE timers for esc key disambiguation
DONE ftp: / http: support
DONE set-auto-mode: reselect best mode
DONE set-next-mode: select nth best mode
DONE handle \r\n as a minor charset mode
DONE eb_printf return value
DONE do_fill_paragraph for wide char buffers
DONE add auto close buffer flag (for list mode)
DONE add raw|none|binary encoding
DONE simplify paragraph stuff with eb_is_blank_line
DONE show-bindings fails if binding is redefined (eg: M-q)
DONE set-fill-column
DONE fill-column variable
Moving / Editing
ESC left/right -> descrease/increase-width in hex / binary / unihex modes
remote editing
blink-and-insert on ) } ] >
fix scroll up/down to move point if already at end
move by paragraph on M-[ and M-]
scroll horizontally on M-{ and M-}
scroll up/down with argument should scroll by screen row.
simplify C-z A-z accordingly
accented letters on OS/X
combining unicode glyphs produce bogus cursor positions
example: V M-' this problem occurs if no combined glyph exists. qemacs does not take into account combination performed by the terminal. Terminal glyph width of 0 should be supported.
deal with accents in filenames (OS/X uses separate utf8 accents)
stats command for word count and mode specific stats
256 color mode
auto-fill-mode
auto-revert-mode, global-auto-revert-mode, auto-revert-tail-mode
extend hex mode to support 16,32,64 words as little and big endian
rectangular regions, cut/paste
Windowing / Display
window scrolling not emulated in tty (check ^Z in recursive eps)
multiple frames
lingering windows
cursor not found on doc/256colors.raw if truncate-lines=1
enlarge-window-interactively
enlarge-window-horizontally
enlarge-window
tab cursor displayed size
improve speed of text renderer / improve truncate mode
merge some good parts with CSS renderer ?. Suppress CRC hack (not reliable).
display alternate cursor in non active column in hex mode.
fix crash bug on fragments longer than MAX_SCREEN_WIDTH.
vertical scroll bar
menu / context-menu / toolbars / dialogs
improve layout scheme for better scalability.
scrolling by window size should position cursor differently
emulation mode to use line-drawing characters for window borders
Clean window deletion mess:
avoid problems with popups (kill_buffer, delete_window, split_window)
detach window from tree and keep attached to buffer if last
detach window from tree and put in delayed free tree otherwise
edit_close(s) do_delete_window(s) bufed_select(s) if vertical split dired_select(s) if vertical split do_less_quit(s) do_delete_other_windows(s) deletes other windows (!) do_minibuffer_exit(s) also deletes completion_popup insert_window_left() deletes some left-most windows do_list_buffers() do_dired()
Search / Replace
unihex search broken for non ASCII chars
query_replace_replace for non utf8 buffers
regex search/replace (use glibc 2.1 regex.c file)
search replace across multiple files
faster search
is->dir fixup in incremental search
query-replace options: u -> undo last change
Unicode / bidir
set_input_method() and set_buffer_file_coding_system() in config file.
fix kana input method
charset: add JIS missing encoding functions
add JIS charset probing functions
test Hebrew keymap support.
X11 display / graphics
move -nw cmd line option to tty.c and make term_probe return better score
remember X11 window positions and restore layout ?
improve image viewer.
faster video handling (generalize invalidate region system)
integrate tinySVG renderer based on the new libraster.
implement wheel mode in CSS display.
fix configure for missing support: x11 xv png …
add configure –disable-graphics
dpy_open_font should never return NULL, must have a system font.
Outline / Org mode
outline styles
implement hide / show regions
C mode
c-indent
indent-with-tabs
stats command for slcc
add TAGS support:
recursive search of QTAGS file.
C decl parser
global QTAGS file indexed with global includes
see if java/javascript/c++ is OK.
autocomplete keyword, function, variable, member names
automatic indentation detection
c-mode descendants:
as-mode: ActionStript files
awk-mode
C++ mode
objc-mode: Objective C
csharp-mode: C#
d-mode
java-mode
javascript-mode, js-mode -> javascript files
json-mode
scala-mode
yacc-mode
go-mode
idl-mode
HTML mode
distribute libqhtml as a separate project
OPTIMIZE eb_nextc et al or always duplicate box content (big speed improvement).
polish end of line offset/cursor displacement support.
handle implicit TR
add file referencing (<?xml-stylesheet type="text/css" href="xxx"?>, <link>, etc…)
fix LI numbering with VALUE attribute (cannot use CSS). Verify counter-reset semantics.
(z-index) floats must be displayed after all other stuff.
<NOBR> is sometimes incorrect.
more font style synthesis in html2ppm.
add xml CDATA parsing
Shell
fix bof/eof shell mode
allow quoting of special keys : let do_char insert xterm/vt100
key sequence to allow typing special keys into shell process