In glib v2.49.3, an optimization was made to eliminate certain
unnecessary wakeups. (The specific change was made in
e4ee3079c5afc3c1c3d2415f20c3e8605728f074). Before this change, the
first call to g_main_iteration would always complete immediately.
In Irssi, this effectively reversed the order of the main loop, causing
the reload_config check and the dirty_check to run *before* the first
blocking call to g_main_iteration.
With the new logic, the first g_main_iteration call now blocks,
preventing the screen from being refreshed until the user starts typing
or a timer goes off. (It also delays processing of SIGHUP, but I
expect that is not a common situation.)
This commit reorders the main loop to wait at the end of the loop,
rather than the beginning, addressing the problem.
(This closes Debian bug #856201.)
By temporarily raising the fatal log level to critical during irssi
start-up, we make it fail when the config file is broken. This is then
re-set so that /reload of a broken config file will not crash irssi and
just report the errors and gracefully continue instead.
It's tricky to make the banner show first in all cases and it's unlikely
to be seen if someone is connecting to a server already, so just don't
show it.
recode after expand_emphasis
remove the redundant call to setlocale(LC_CTYPE, )
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4038 dbcabf3a-b0e7-0310-adc4-f8d773084564
objects now set the C pointer to NULL once they're done with it, so this
might just work without leaking..
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3101 dbcabf3a-b0e7-0310-adc4-f8d773084564
used. This also enables an extra check for perl library to verify scripts
aren't using objects that have already been free'd - while not a fully safe
solution it's much better than before :)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3063 dbcabf3a-b0e7-0310-adc4-f8d773084564
rest of it. It doesn't really work, you can make irssi detached but you
can't attach to it anymore :)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2268 dbcabf3a-b0e7-0310-adc4-f8d773084564
isn't closed but irssi thinks its disconnected, then it quits irssi, and as
the last command executes the new irssi. This way we get clean
deinitialization so irssi can close log files, destroy scripts, etc.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2114 dbcabf3a-b0e7-0310-adc4-f8d773084564
~/.irssi/startup file does something that wants to change the prompt it
would work..
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2089 dbcabf3a-b0e7-0310-adc4-f8d773084564
server connections to the new irssi process, but that should be enough to
never quit from IRC again :)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2070 dbcabf3a-b0e7-0310-adc4-f8d773084564
bind protocol-specific commands. Added #define command_bind_irc() for easier
access. CMD_IRC_SERVER(server) check should be done at the beginning of each
command requiring IRC server as active server, it handles it correctly the
cases when it is not. Did some other cleanups as well.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1955 dbcabf3a-b0e7-0310-adc4-f8d773084564
long words (URLs mostly) that get split into two lines, selects the word
fully.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1929 dbcabf3a-b0e7-0310-adc4-f8d773084564