diff options
| -rw-r--r-- | TODO | 34 | 
1 files changed, 34 insertions, 0 deletions
| @@ -1,3 +1,9 @@ + * submit patch for Scintilla and libglib (initialization when +   linking statically with win32 threads - see glib/glib-init.c). +   Also gspawn helpers should probably link with -all-static when compiling +   a static glib. Why would be build a static glib but have the programs +   depend on other libraries? +  Known Bugs:   * Null-byte in strings not always handled transparently   * Saving another user's file will only preserve the user when run as root. @@ -8,6 +14,14 @@ Known Bugs:   * crashes on large files: S^EM^X$ (regexp: .*)   * the glib allocators are fundamentally broken:     throwing exceptions is unsafe from C-linkage callbacks. + * Batch mode is broken in PDCurses/win32. Apparently, there is no +   way to initialize curses without clearing the screen. + * PDCurses/win32a defines a default function key CTRL+V that +   pastes the clipboard into the keyboard queue. +   Unfortunately, the declarations for turning off that feature +   are in the internal pdcwin.h. +   Also batch mode is broken in PDCurses/win32 - endwin() does not +   work.  Features:   * Support loading from stdin (--stdin) and writing to @@ -80,15 +94,35 @@ Features:     Each Scintilla view could then be associated with at most     one curses screen.     GTK+ would simply manage a list of windows. + * Add a command for manipulating the clipboard. +   Can be done with ECxclip$ on Unix, but other platforms have +   better methods (e.g. PDCurses has clipboard extensions, GTK+ +   has native clipboard support). On ncurses/UNIX we can fall back +   to spawning xclip or copy xclip's functionality. +   This will also allow us to reverse clipboard modifications. + * Program termination should be handled more elaborately. +   We should register a SIGTERM handler and react window close +   button presses. PDCurses/win32a allows that by defining a +   "SHUT_DOWN" function key (see pdcwin.h).  Optimizations:   * Curses UI: Command line window can be modelled as a pad     instead of a window. This simplifies things. + * Instead of using RTTI to implement the immediate editing command +   behaviours in Cmdline::process_edit_cmd() depending on the current +   state, this could be modelled via virtual methods in State. +   This would almost eradicate Cmdline::process_edit_cmd() and the +   huge switch-case statement, would be more efficient (but who cares +   in this case?) and would allow us to -fno-rtti saving a few bytes. +   However, this would mean to make some more Cmdline methods public and +   it distributes command line behaviour all over SciTECO instead of +   concentrating it in the Cmdline class...   * C++14 is supported by GCC 5 and supports new() and delete()     operators with a size argument. Replacing these operators     with versions using g_slice_alloc() and g_slice_free() should     speed up things, especially Q-Register handling and the undo     stack. +   This compiler capability should be checked by the build system.   * Scintilla: SETDOCPOINTER resets representations, so we     have to set SciTECO representations up again often   * commonly used (special) Q-Registers could be cached, | 
