256 colour patch is cleaned up and the remaining cases are made work,
this includes especially Theme support, which was not implemented
before. Changes not related to colours were reverted again, making a
review of the two patches against master easier to follow.
As a byproduct of the Hex-colour code parser, the 24bit colours are
also implemented. Actually using them in the terminal is guarded by a
compile time switch (as well as a run time switch), as it breaks the
existing colour protocol and requires additional storage.
To make a seamless usage, down-conversion is provided for 8 and 16
colours.
Diverging from Tom's approach, the colour protocol is reverted back to
the original one. Unfortunately, the changes required in the Theme
engine will break the API.
For more details, please refer to the patch documentation at either
http://irssi-docs.wikispaces.com/Notes-256-Colour or
https://github.com/shabble/irssi-docs/wiki/Notes-256-Colour
Further to pull #49 this is the result of an audit of the use of perl
stack macros. There were several cases where PUTBACK was being called
where the stack pointer could be out-of-date.
Also some misc. cleanup where the macros were used needlessly.
PUTBACK was being called even for the error path which didn't use the
stack. Emitting the "script error" signal can involve running Perl code
(Irssi:core::destroy) therefore the stack can be reallocated. This
can result in the perl stack being corrupted because the local stack
pointer is out of date (although as it's use of freed memory the crash
is not always instant).
This removes the calls to Perl_get_context() that get automatically
added to XS code for ancient source code compatibility reasons.
The result is about a ~60K size reduction in the binary (based on
comparing two 64-bit stripped irssi binaries compiled
--with-perl-staticlib).
Passing this option will force Irssi to not execute the content of the
autosendcmd chatnet-setting upon connect.
Fixes: #738
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5209 dbcabf3a-b0e7-0310-adc4-f8d773084564
when attempting to automatically use chat_protocol perl modules. This
fixes the automatic calling of "use Irssi::Irc" when the Irssi perl modules
have been installed in a location outside of perl's site/vendor hierarchy.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5197 dbcabf3a-b0e7-0310-adc4-f8d773084564
"nicklist new" signal.
Fixes the nicklist sorting on xirssi.
Patch by nenolod.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5184 dbcabf3a-b0e7-0310-adc4-f8d773084564
In particular, this includes the "beep" signal.
Submitted by Matt Sparks
Bug #674
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5100 dbcabf3a-b0e7-0310-adc4-f8d773084564
Use g_string_printf() instead of g_string_sprintf() (which is considered deprecated.)
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5004 dbcabf3a-b0e7-0310-adc4-f8d773084564
Use g_string_append_printf() instead of g_string_sprintfa() (which is considered deprecated.)
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5003 dbcabf3a-b0e7-0310-adc4-f8d773084564
This fixes perl crashes on startup on some machines.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4989 dbcabf3a-b0e7-0310-adc4-f8d773084564
printformat_module_dest_args and use it in printformat_perl to remove code
duplication.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4979 dbcabf3a-b0e7-0310-adc4-f8d773084564
position where to draw a new line and if the view is at the bottom of the
textbuffer, but the same information can be computed more easily by other
means.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4964 dbcabf3a-b0e7-0310-adc4-f8d773084564
api to add/remove lines, scripts should be fine using Window::print_after and
TextBufferView::remove_line.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4963 dbcabf3a-b0e7-0310-adc4-f8d773084564
gui_printtext_after but which also expands formats and forces a full
line.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4962 dbcabf3a-b0e7-0310-adc4-f8d773084564
Don't leak local variables to eval'd code.
Set filename/line number to get better error messages from perl.
Use three-arg open and lexical filehandles to avoid surprises.
Include error reason in message for unopenable scripts.
Don't wrap script code in sub handler { } - this avoids spurious warnings and
should at least allow __END__ to work properly.
Patch by Lukas Mai.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4961 dbcabf3a-b0e7-0310-adc4-f8d773084564
and make Irssi::signal_emit/Irssi::signal_continue use it. Also make
perl_call_signal() turn NULLs into undef, so we can recover them in
perl_signal_args_to_c(), which is its inverse operation.
Patch by Lukas Mai.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4953 dbcabf3a-b0e7-0310-adc4-f8d773084564