commit weechat for openSUSE:Factory
Hello community, here is the log from the commit of package weechat for openSUSE:Factory checked in at 2015-02-24 13:02:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/weechat (Old) and /work/SRC/openSUSE:Factory/.weechat.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "weechat" Changes: -------- --- /work/SRC/openSUSE:Factory/weechat/weechat.changes 2015-02-05 11:01:05.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.weechat.new/weechat.changes 2015-02-24 13:07:11.000000000 +0100 @@ -1,0 +2,12 @@ +Mon Feb 16 16:44:46 UTC 2015 - tchvatal@suse.com + +- Version bump to 1.1.1: + * core: fix random error when creating symbolic link weechat-curses on make install with cmake (bug #40313) + * core: fix crash when a root bar has conditions different from active/inactive/nicklist (closes #317) + * irc: don’t close channel buffer on second /part when option irc.look.part_closes_buffer is off (closes #313) + * irc: fix /join on a channel buffer opened with autojoin but which failed to join + * irc: send QUIT to server and no PART for channels when the server buffer is closed (closes #294) + * irc: fix order of channel buffers opened when option irc.look.server_buffer is set to "independent", irc.look.buffer_open_before_autojoin to "on" and irc.look.new_channel_position to "near_server" (closes #303) + * irc: fix crash in buffer close when server name is the same as a channel name (closes #305) + +------------------------------------------------------------------- Old: ---- weechat-1.1.tar.bz2 New: ---- weechat-1.1.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ weechat.spec ++++++ --- /var/tmp/diff_new_pack.0SE7k8/_old 2015-02-24 13:07:11.000000000 +0100 +++ /var/tmp/diff_new_pack.0SE7k8/_new 2015-02-24 13:07:11.000000000 +0100 @@ -17,13 +17,13 @@ Name: weechat -Version: 1.1 +Version: 1.1.1 Release: 0 Summary: Portable, Fast, Light and Extensible Chat Client License: GPL-3.0+ Group: Productivity/Networking/IRC Url: http://www.weechat.org -Source: http://www.weechat.org/files/src/weechat-%{version}.tar.bz2 +Source: http://www.weechat.org/files/src/%{name}-%{version}.tar.bz2 Source1: weechat.desktop # PATCH-FIX-UPSTREAM weechat-capath.patch https://savannah.nongnu.org/patch/index.php?8153 lnussel@suse.de -- use system's default certificate store Patch0: weechat-capath.patch @@ -171,10 +171,6 @@ %install %cmake_install -# due to an unknown race condition cmake does not always create a compatibility -# symlink -ln -sf %{_bindir}/weechat %{buildroot}%{_bindir}/weechat-curses - install -D -m 0644 "%{SOURCE1}" "%{buildroot}%{_datadir}/applications/%{name}.desktop" %suse_update_desktop_file -r "%{name}" Network IRCClient ++++++ weechat-1.1.tar.bz2 -> weechat-1.1.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/weechat-1.1/CMakeLists.txt new/weechat-1.1.1/CMakeLists.txt --- old/weechat-1.1/CMakeLists.txt 2015-01-11 09:39:40.000000000 +0100 +++ new/weechat-1.1.1/CMakeLists.txt 2015-01-25 08:40:23.000000000 +0100 @@ -35,7 +35,7 @@ # version set(VERSION_MAJOR "1") set(VERSION_MINOR "1") -set(VERSION_PATCH "") +set(VERSION_PATCH "1") if(VERSION_PATCH STREQUAL "") set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}) else() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/weechat-1.1/ChangeLog.asciidoc new/weechat-1.1.1/ChangeLog.asciidoc --- old/weechat-1.1/ChangeLog.asciidoc 2015-01-11 09:39:40.000000000 +0100 +++ new/weechat-1.1.1/ChangeLog.asciidoc 2015-01-25 08:40:23.000000000 +0100 @@ -13,6 +13,26 @@ (file 'ReleaseNotes.asciidoc' in sources). +== Version 1.1.1 (2015-01-25) + +=== Bugs fixed + +* core: fix random error when creating symbolic link weechat-curses on + make install with cmake (bug #40313) +* core: fix crash when a root bar has conditions different from + active/inactive/nicklist (closes #317) +* irc: don't close channel buffer on second /part when option + irc.look.part_closes_buffer is off (closes #313) +* irc: fix /join on a channel buffer opened with autojoin but which failed to + join +* irc: send QUIT to server and no PART for channels when the server buffer + is closed (closes #294) +* irc: fix order of channel buffers opened when option irc.look.server_buffer + is set to "independent", irc.look.buffer_open_before_autojoin to "on" and + irc.look.new_channel_position to "near_server" (closes #303) +* irc: fix crash in buffer close when server name is the same as a channel name + (closes #305) + == Version 1.1 (2015-01-11) === New features diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/weechat-1.1/ReleaseNotes.asciidoc new/weechat-1.1.1/ReleaseNotes.asciidoc --- old/weechat-1.1/ReleaseNotes.asciidoc 2015-01-11 09:39:40.000000000 +0100 +++ new/weechat-1.1.1/ReleaseNotes.asciidoc 2015-01-25 08:40:23.000000000 +0100 @@ -15,6 +15,10 @@ (file 'ChangeLog.asciidoc' in sources). +== Version 1.1.1 (2015-01-25) + +Bug fix and maintenance release. + == Version 1.1 (2015-01-11) === New format for regex replacement in triggers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/weechat-1.1/configure.ac new/weechat-1.1.1/configure.ac --- old/weechat-1.1/configure.ac 2015-01-11 09:39:40.000000000 +0100 +++ new/weechat-1.1.1/configure.ac 2015-01-25 08:40:23.000000000 +0100 @@ -24,7 +24,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.56) -AC_INIT(WeeChat, 1.1, flashcode@flashtux.org) +AC_INIT(WeeChat, 1.1.1, flashcode@flashtux.org) AC_CONFIG_SRCDIR([configure.ac]) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE([foreign]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/weechat-1.1/src/core/wee-util.c new/weechat-1.1.1/src/core/wee-util.c --- old/weechat-1.1/src/core/wee-util.c 2015-01-11 09:39:40.000000000 +0100 +++ new/weechat-1.1.1/src/core/wee-util.c 2015-01-25 08:40:23.000000000 +0100 @@ -659,6 +659,9 @@ FILE *f; size_t count, fp; + if (!filename) + return NULL; + buffer = NULL; fp = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/weechat-1.1/src/gui/curses/CMakeLists.txt new/weechat-1.1.1/src/gui/curses/CMakeLists.txt --- old/weechat-1.1/src/gui/curses/CMakeLists.txt 2015-01-11 09:39:40.000000000 +0100 +++ new/weechat-1.1.1/src/gui/curses/CMakeLists.txt 2015-01-25 08:40:23.000000000 +0100 @@ -84,15 +84,23 @@ # Due to circular references, we must link two times with libweechat_core.a target_link_libraries(${EXECUTABLE} ${STATIC_LIBS} weechat_gui_curses ${EXTRA_LIBS} ${STATIC_LIBS}) -install(TARGETS ${EXECUTABLE} RUNTIME DESTINATION bin) - # Create a symbolic link weechat-curses -> weechat # This link is created for compatibility with old versions on /upgrade. # It may be removed in future. -install(CODE " - EXECUTE_PROCESS( - COMMAND ${CMAKE_COMMAND} -E remove -f \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/weechat-curses${CMAKE_EXECUTABLE_SUFFIX}\" - COMMAND ${CMAKE_COMMAND} -E create_symlink weechat${CMAKE_EXECUTABLE_SUFFIX} \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/weechat-curses${CMAKE_EXECUTABLE_SUFFIX}\" +add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} + COMMAND ${CMAKE_COMMAND} -E remove -f "weechat-curses${CMAKE_EXECUTABLE_SUFFIX}" + COMMAND ${CMAKE_COMMAND} -E create_symlink "weechat${CMAKE_EXECUTABLE_SUFFIX}" "weechat-curses${CMAKE_EXECUTABLE_SUFFIX}" + DEPENDS ${EXECUTABLE} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Creating symbolic link ${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX}" ) - LIST(APPEND CMAKE_INSTALL_MANIFEST_FILES \"${CMAKE_INSTALL_PREFIX}/bin/weechat-curses${CMAKE_EXECUTABLE_SUFFIX}\") -") +add_custom_target(${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} ALL + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} +) +add_dependencies(${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} ${EXECUTABLE}) +list(APPEND CMAKE_INSTALL_MANIFEST_FILES "${CMAKE_INSTALL_PREFIX}/bin/weechat-curses${CMAKE_EXECUTABLE_SUFFIX}") + +# Install executable and symbolic link +install(TARGETS ${EXECUTABLE} RUNTIME DESTINATION bin) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE}-curses${CMAKE_EXECUTABLE_SUFFIX} DESTINATION bin) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/weechat-1.1/src/gui/gui-bar.c new/weechat-1.1.1/src/gui/gui-bar.c --- old/weechat-1.1/src/gui/gui-bar.c 2015-01-11 09:39:40.000000000 +0100 +++ new/weechat-1.1.1/src/gui/gui-bar.c 2015-01-25 08:40:23.000000000 +0100 @@ -402,7 +402,7 @@ } else if (string_strcasecmp (conditions, "nicklist") == 0) { - if (window->buffer && !window->buffer->nicklist) + if (window && window->buffer && !window->buffer->nicklist) return 0; } else if (conditions[0]) @@ -415,7 +415,8 @@ if (pointers) { hashtable_set (pointers, "window", window); - hashtable_set (pointers, "buffer", window->buffer); + if (window) + hashtable_set (pointers, "buffer", window->buffer); } extra_vars = hashtable_new (32, WEECHAT_HASHTABLE_STRING, @@ -429,7 +430,7 @@ hashtable_set (extra_vars, "inactive", (gui_current_window && (gui_current_window != window)) ? "1" : "0"); hashtable_set (extra_vars, "nicklist", - (window->buffer && window->buffer->nicklist) ? "1" : "0"); + (window && window->buffer && window->buffer->nicklist) ? "1" : "0"); } options = hashtable_new (32, WEECHAT_HASHTABLE_STRING, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/weechat-1.1/src/plugins/irc/irc-buffer.c new/weechat-1.1.1/src/plugins/irc/irc-buffer.c --- old/weechat-1.1/src/plugins/irc/irc-buffer.c 2015-01-11 09:39:40.000000000 +0100 +++ new/weechat-1.1.1/src/plugins/irc/irc-buffer.c 2015-01-25 08:40:23.000000000 +0100 @@ -141,16 +141,20 @@ { if (ptr_server) { - /* send PART on all channels for server, then disconnect from server */ + if (!ptr_server->disconnected) + { + /* send QUIT to server, then disconnect */ + irc_command_quit_server (ptr_server, NULL); + irc_server_disconnect (ptr_server, 0, 0); + } ptr_channel = ptr_server->channels; while (ptr_channel) { next_channel = ptr_channel->next_channel; - weechat_buffer_close (ptr_channel->buffer); + if (ptr_channel->buffer != buffer) + weechat_buffer_close (ptr_channel->buffer); ptr_channel = next_channel; } - if (!ptr_server->disconnected) - irc_server_disconnect (ptr_server, 0, 0); ptr_server->buffer = NULL; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/weechat-1.1/src/plugins/irc/irc-channel.c new/weechat-1.1.1/src/plugins/irc/irc-channel.c --- old/weechat-1.1/src/plugins/irc/irc-channel.c 2015-01-11 09:39:40.000000000 +0100 +++ new/weechat-1.1.1/src/plugins/irc/irc-channel.c 2015-01-25 08:40:23.000000000 +0100 @@ -76,59 +76,69 @@ int number, number_channel, number_last_channel, number_last_private; int number_found; char str_number[32]; - struct t_irc_channel *ptr_channel; + const char *ptr_type, *ptr_server_name; + struct t_hdata *hdata_buffer; + struct t_gui_buffer *ptr_buffer; number = weechat_buffer_get_integer (buffer, "number"); number_last_channel = 0; number_last_private = 0; number_found = 0; - if (server->channels) + hdata_buffer = weechat_hdata_get ("buffer"); + ptr_buffer = weechat_hdata_get_list (hdata_buffer, "gui_buffers"); + while (ptr_buffer) { - /* search last channel/pv number for server */ - for (ptr_channel = server->channels; ptr_channel; - ptr_channel = ptr_channel->next_channel) + if ((ptr_buffer != buffer) + && (weechat_buffer_get_pointer (ptr_buffer, + "plugin") == weechat_irc_plugin)) { - if (ptr_channel->buffer) + ptr_type = weechat_buffer_get_string (ptr_buffer, + "localvar_type"); + ptr_server_name = weechat_buffer_get_string (ptr_buffer, + "localvar_server"); + number_channel = weechat_buffer_get_integer (ptr_buffer, + "number"); + if (ptr_type && ptr_type[0] + && ptr_server_name && ptr_server_name[0] + && (strcmp (ptr_server_name, server->name) == 0)) { - number_channel = weechat_buffer_get_integer ( - ptr_channel->buffer, "number"); - switch (ptr_channel->type) + if (strcmp (ptr_type, "channel") == 0) { - case IRC_CHANNEL_TYPE_CHANNEL: - if (number_channel > number_last_channel) - number_last_channel = number_channel; - break; - case IRC_CHANNEL_TYPE_PRIVATE: - if (number_channel > number_last_private) - number_last_private = number_channel; - break; + if (number_channel > number_last_channel) + number_last_channel = number_channel; + } + else if (strcmp (ptr_type, "private") == 0) + { + if (number_channel > number_last_private) + number_last_private = number_channel; } } } + /* move to next buffer */ + ptr_buffer = weechat_hdata_move (hdata_buffer, ptr_buffer, 1); + } - /* use last channel/pv number + 1 */ - switch (channel_type) - { - case IRC_CHANNEL_TYPE_CHANNEL: - if (number_last_channel > 0) - number_found = number_last_channel + 1; - break; - case IRC_CHANNEL_TYPE_PRIVATE: - if (number_last_private > 0) - number_found = number_last_private + 1; - else if (number_last_channel > 0) - number_found = number_last_channel + 1; - break; - } + /* use last channel/pv number + 1 */ + switch (channel_type) + { + case IRC_CHANNEL_TYPE_CHANNEL: + if (number_last_channel > 0) + number_found = number_last_channel + 1; + break; + case IRC_CHANNEL_TYPE_PRIVATE: + if (number_last_private > 0) + number_found = number_last_private + 1; + else if (number_last_channel > 0) + number_found = number_last_channel + 1; + break; } - else + + if ((number_found == 0) + && (weechat_config_integer (irc_config_look_server_buffer) == + IRC_CONFIG_LOOK_SERVER_BUFFER_INDEPENDENT)) { - if (weechat_config_integer (irc_config_look_server_buffer) == - IRC_CONFIG_LOOK_SERVER_BUFFER_INDEPENDENT) - { - number_found = weechat_buffer_get_integer (server->buffer, "number") + 1; - } + number_found = weechat_buffer_get_integer (server->buffer, "number") + 1; } /* switch to number found */ @@ -169,12 +179,12 @@ */ struct t_gui_buffer * -irc_channel_search_buffer (struct t_irc_server *server, +irc_channel_search_buffer (struct t_irc_server *server, int channel_type, const char *channel_name) { struct t_hdata *hdata_buffer; struct t_gui_buffer *ptr_buffer; - const char *ptr_server_name, *ptr_channel_name; + const char *ptr_type, *ptr_server_name, *ptr_channel_name; hdata_buffer = weechat_hdata_get ("buffer"); ptr_buffer = weechat_hdata_get_list (hdata_buffer, "gui_buffers"); @@ -184,12 +194,18 @@ if (weechat_buffer_get_pointer (ptr_buffer, "plugin") == weechat_irc_plugin) { + ptr_type = weechat_buffer_get_string (ptr_buffer, "localvar_type"); ptr_server_name = weechat_buffer_get_string (ptr_buffer, "localvar_server"); ptr_channel_name = weechat_buffer_get_string (ptr_buffer, "localvar_channel"); - if (ptr_server_name && ptr_server_name[0] + if (ptr_type && ptr_type[0] + && ptr_server_name && ptr_server_name[0] && ptr_channel_name && ptr_channel_name[0] + && (((channel_type == IRC_CHANNEL_TYPE_CHANNEL) + && (strcmp (ptr_type, "channel") == 0)) + || ((channel_type == IRC_CHANNEL_TYPE_PRIVATE) + && (strcmp (ptr_type, "private") == 0))) && (strcmp (ptr_server_name, server->name) == 0) && ((irc_server_strcasecmp (server, ptr_channel_name, channel_name) == 0))) @@ -227,9 +243,12 @@ buffer_name = irc_buffer_build_name (server->name, channel_name); - ptr_buffer = irc_channel_search_buffer (server, channel_name); + ptr_buffer = irc_channel_search_buffer (server, channel_type, + channel_name); if (ptr_buffer) + { weechat_nicklist_remove_all (ptr_buffer); + } else { ptr_buffer_for_merge = NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/weechat-1.1/src/plugins/irc/irc-command.c new/weechat-1.1.1/src/plugins/irc/irc-command.c --- old/weechat-1.1/src/plugins/irc/irc-command.c 2015-01-11 09:39:40.000000000 +0100 +++ new/weechat-1.1.1/src/plugins/irc/irc-command.c 2015-01-25 08:40:23.000000000 +0100 @@ -2330,6 +2330,7 @@ char **argv, char **argv_eol) { int i, arg_channels, noswitch; + const char *ptr_type, *ptr_server_name, *ptr_channel_name; IRC_BUFFER_GET_SERVER_CHANNEL(buffer); @@ -2363,6 +2364,18 @@ } } + if (!ptr_server) + { + if ((weechat_buffer_get_pointer (buffer, + "plugin") == weechat_irc_plugin)) + { + ptr_server_name = weechat_buffer_get_string (buffer, + "localvar_server"); + if (ptr_server_name) + ptr_server = irc_server_search (ptr_server_name); + } + } + IRC_COMMAND_CHECK_SERVER("join", 1); if (arg_channels < argc) @@ -2379,7 +2392,21 @@ 1, noswitch); } else - WEECHAT_COMMAND_ERROR; + { + ptr_type = weechat_buffer_get_string (buffer, "localvar_type"); + ptr_channel_name = weechat_buffer_get_string (buffer, + "localvar_channel"); + if ((weechat_buffer_get_pointer (buffer, + "plugin") == weechat_irc_plugin) + && ptr_type && ptr_channel_name + && (strcmp (ptr_type, "channel") == 0)) + { + irc_command_join_server (ptr_server, ptr_channel_name, + 1, noswitch); + } + else + WEECHAT_COMMAND_ERROR; + } } return WEECHAT_RC_OK; @@ -3623,6 +3650,7 @@ { if (irc_channel_is_channel (ptr_server, argv[1])) { + ptr_channel = irc_channel_search (ptr_server, argv[1]); channel_name = argv[1]; pos_args = argv_eol[2]; } @@ -3652,13 +3680,18 @@ weechat_prefix ("error"), IRC_PLUGIN_NAME, "part"); return WEECHAT_RC_OK; } - if (!ptr_channel->nicks) + channel_name = ptr_channel->name; + pos_args = NULL; + } + + if (ptr_channel && !ptr_channel->nicks) + { + if ((ptr_channel->type == IRC_CHANNEL_TYPE_PRIVATE) + || weechat_config_boolean (irc_config_look_part_closes_buffer)) { weechat_buffer_close (ptr_channel->buffer); - return WEECHAT_RC_OK; } - channel_name = ptr_channel->name; - pos_args = NULL; + return WEECHAT_RC_OK; } irc_command_part_channel (ptr_server, channel_name, pos_args); -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de