aboutsummaryrefslogtreecommitdiffhomepage
path: root/TODO
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2015-03-17 05:49:18 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2015-03-17 05:49:18 +0100
commit910a5913bf94793eee603f2ab397b52142b99295 (patch)
tree70a347d59cc7b9dd1401ba50b9823c85c264cf80 /TODO
parent052dd8e639b4805e4b1c30a28be8f7b8e7601dff (diff)
downloadsciteco-910a5913bf94793eee603f2ab397b52142b99295.tar.gz
updated TODO
Diffstat (limited to 'TODO')
-rw-r--r--TODO34
1 files changed, 34 insertions, 0 deletions
diff --git a/TODO b/TODO
index d7e4bea..bfd9aad 100644
--- a/TODO
+++ b/TODO
@@ -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,