* Use Scintilla focus object instead of notebook document to fix
splitwindow behaviour for cut, copy, paste and delete callbacks.
* move else-if to same line (style)
Fixing this is however only theoretically useful, as:
* no actual code paths can currently lead to it;
* even if the code actually ended up reading the uninitialized value,
it would still have a fully defined behavior as the result of the
check is irrelevant in the only case the uninitialized read can
happen.
Anyway, fix this to avoid any possible bad surprises in the future.
We assume that the GTK 2.24 API docs will remain online in the long-term
so there is no reason why we should self-host those docs any longer.
This is the last missing bit of #245.
This seems necessary to properly display version information
in the Windows Explorer file properties dialog.
I think it worked on older Windows versions without but
at least on Windows 7 this seems necessary.
Under OSX, after child death, the read watches receive input
conditions instead of error conditions, so we convert the termination
statuses (ERROR and EOF) into their respective conditions. Should not
hurt the other OS.
libtool apparently builds every object twice by default when shared and
static objects need to be build differently. As we never use the
statically linked objects, avoid building them at all.
When mac integration or binary relocation are disabled, the compiled
object file contains no symbols because the guards in the source files
hide all code. On OS X there's a warning during compilation saying:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
file: .libs/libgeany.a(libgeany_la-prefix.o) has no symbols
If these features are disabled, don't compile the corresponding
sources to avoid the warnings.
Interestingly, waf compilation works without warnings - it appears
linking is done through g++ which doesn't produce these warnings.
On OS X signallist.i is always rebuilt because waf looks for it in the build
tree but generates it inside the source tree for some reason so it's
always missing in the build tree. Set the target explicitly to the
build tree to fix the problem.
Similarly, set the target for geany.html to the build tree. Thanks to this
waf also creates the 'doc' directory in the build tree which is otherwise
missing and the cwd command fails for this reason (e.g. when the
_build_ directory is removed).
These two task generators are the only ones that don't use the 'features'
parameter - the features in the other task generators should already
handle the source/build tree problems for us (see the Waf Book section
6.3.3. Nodes, tasks, and task generators).
When doing "./waf install" and some source files are modified
so they need to be rebuilt, the build and install phase can be
interleaved so one thread is still performing build while other
thread is already performing install tasks.
This appears to be a problem (at least on OS X) when some of
the Geany plugins are still being built and libgeany is already
being installed in parallel.
Create a separate group for the install phase to eliminate the
problem.
This is useful for plugins to be able to subclass the ScintillaObject
and use its full GObject features. The Overview plugin is one known
plugin that needs this.
Also update scintilla_changes.patch by running update-scintilla.sh
script with patch application commented-out and generating a reverse
diff using `git -R`, and manually remove `a/` and `b/` prefixes from
the resulting diff so it can be used with update-scintilla.sh script.
geanyfunctions.h used to bring all function declarations, and some
plugins depend on this side effect instead of properly including
geanyplugin.h directly. So, reintroduce the behavior for
compatibility with those plugins.