1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-20 01:54:46 +02:00

Compare commits

..

1 Commits

Author SHA1 Message Date
Sébastien Helleu 97aeed7165 irc: always send message with BATCH when multiline is enabled
The BATCH is now always used if multiline is enabled, even if there's no
newline in the message sent.
2024-05-25 20:13:07 +02:00
24 changed files with 233 additions and 126 deletions
+2 -3
View File
@@ -206,10 +206,9 @@ if(ENABLE_LARGEFILE)
endif()
# Check for libgcrypt
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt)
find_package(GCRYPT REQUIRED)
add_definitions(-DHAVE_GCRYPT)
include_directories(${LIBGCRYPT_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBGCRYPT_LDFLAGS})
list(APPEND EXTRA_LIBS ${GCRYPT_LDFLAGS})
# Check for GnuTLS
find_package(GnuTLS REQUIRED)
+1 -27
View File
@@ -8,25 +8,8 @@
:see-release-notes: If you are upgrading: please see release notes.
:breaking: pass:quotes[*[breaking]*]
[[v4.3.1]]
== Version 4.3.1 (2024-05-31)
[[v4.3.1_fixed]]
=== Fixed
* irc: close /list buffer when the server buffer is closed (issue #2121)
* xfer: fix send of data on the DCC chat buffer after `/upgrade` if the buffer was opened before the upgrade (issue #2092)
* php: fix return value of function hdata_longlong
* tcl: fix return value of function hdata_longlong (issue #2119)
* core: fix detection of libgcrypt ≥ 1.11 (debian #1071960)
* core, relay: fix include directory of libcjson and libzstd
* tests: fix relay tests on s390x (issue #2118)
* tests: fix check of php plugin (issue #2117)
* tests: fix compilation of tests on Fedora 40 (issue #2116)
* tests: fix compilation of tests on Rocky 9.4
[[v4.3.0]]
== Version 4.3.0 (2024-05-26)
== Version 4.3.0 (under dev)
{see-release-notes}
@@ -106,15 +89,6 @@
* tcl: fix truncation of long integer returned by function hdata_long
* trigger: fix memory leak when adding a new trigger with `/trigger` command
[[v4.2.3]]
== Version 4.2.3 (2024-05-31)
Bug fixes::
* xfer: fix send of data on the DCC chat buffer after `/upgrade` if the buffer was opened before the upgrade (issue #2092)
* irc: fix crash in split of IRC message containing a newline if the server is not given
* core, relay: fix include directory of libzstd
[[v4.2.2]]
== Version 4.2.2 (2024-04-07)
+1 -41
View File
@@ -11,43 +11,8 @@ It is recommended to read it when upgrading to a new stable version. +
For a complete list of changes, please look at ChangeLog.
[[v4.3.1]]
== Version 4.3.1 (2024-05-31)
[[v4.3.1_libgcrypt]]
=== Detection of libgcrypt
The detection of libgcrypt has been fixed to properly detect libgcrypt >= 1.11. +
As a consequence, the detection of an old version of libgcrypt is failing if the
file `libgcrypt.pc` is not found. +
This affects old distributions like Debian Buster and Ubuntu Bionic.
[[v4.3.0]]
== Version 4.3.0 (2024-05-26)
[[v4.3.0_relay_options]]
=== Relay options
The following relay options have been renamed:
* relay.color.status_waiting_auth -> relay.color.status_authenticating
* relay.weechat.commands -> relay.network.commands (new default value: `*,!quit`)
[[v4.3.0_lag_in_buflist]]
=== Lag in buflist
The lag is now stored in all IRC buffers: server (like it always has been),
channels and private buffers.
Consequently, if you use `${format_lag}` in buflist options, this lag will be
displayed on server and all channels and private buffers.
If you want to display the lag only on server buffer in buflist, you can use
such format:
----
${if:${type}==server?${format_lag}}
----
== Version 4.3.0 (under dev)
[[v4.3.0_irc_color_channel_modes]]
=== Color of IRC channel modes
@@ -77,11 +42,6 @@ the keys with the following commands:
/reset weechat.key_mouse.@chat(script.scripts):wheelup
----
[[v4.2.3]]
== Version 4.2.3 (2024-05-31)
No release notes.
[[v4.2.2]]
== Version 4.2.2 (2024-04-07)
+53
View File
@@ -0,0 +1,53 @@
#
# Copyright (C) 2003-2024 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Gcrypt
# This module finds if libgcrypt is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# GCRYPT_CFLAGS = cflags to use to compile
# GCRYPT_LDFLAGS = ldflags to use to compile
#
find_program(LIBGCRYPT_CONFIG_EXECUTABLE NAMES libgcrypt-config)
set(GCRYPT_LDFLAGS)
set(GCRYPT_CFLAGS)
if(LIBGCRYPT_CONFIG_EXECUTABLE)
execute_process(COMMAND ${LIBGCRYPT_CONFIG_EXECUTABLE} --libs RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE GCRYPT_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
execute_process(COMMAND ${LIBGCRYPT_CONFIG_EXECUTABLE} --cflags RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE GCRYPT_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
if(NOT DEFINED ${GCRYPT_CFLAGS})
set(GCRYPT_CFLAGS " ")
endif()
endif()
# handle the QUIETLY and REQUIRED arguments and set GCRYPT_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GCRYPT REQUIRED_VARS GCRYPT_LDFLAGS GCRYPT_CFLAGS)
if(GCRYPT_FOUND)
mark_as_advanced(GCRYPT_CFLAGS GCRYPT_LDFLAGS)
endif()
+2 -2
View File
@@ -92,11 +92,11 @@ include_directories(${GNUTLS_INCLUDE_PATH})
include_directories(${CURL_INCLUDE_DIRS})
if(ENABLE_ZSTD)
include_directories(${LIBZSTD_INCLUDE_DIRS})
include_directories(${ZSTD_INCLUDE_DIRS})
endif()
if(ENABLE_CJSON)
include_directories(${LIBCJSON_INCLUDE_DIRS})
include_directories(${CJSON_INCLUDE_DIRS})
endif()
include_directories("${CMAKE_BINARY_DIR}")
+1 -1
View File
@@ -56,7 +56,7 @@ set(LINK_LIBS)
include_directories(${GNUTLS_INCLUDE_PATH})
list(APPEND LINK_LIBS ${GNUTLS_LIBRARY})
list(APPEND LINK_LIBS ${LIBGCRYPT_LDFLAGS})
list(APPEND LINK_LIBS ${GCRYPT_LDFLAGS})
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# link with resolv lib on macOS
-4
View File
@@ -244,10 +244,6 @@ irc_buffer_close_cb (const void *pointer, void *data,
*/
irc_buffer_close_server_channels (ptr_server);
/* close list buffer */
if (ptr_server->list->buffer)
weechat_buffer_close (ptr_server->list->buffer);
ptr_server->buffer = NULL;
}
else if (ptr_server && (ptr_server->list->buffer == buffer))
-1
View File
@@ -1671,7 +1671,6 @@ irc_message_split (struct t_irc_server *server, const char *message)
&& ((weechat_strcasecmp (command, "privmsg") == 0)
|| (weechat_strcasecmp (command, "notice") == 0))
&& message
&& strchr (message, '\n')
&& (index_args + 1 <= argc - 1)
&& (weechat_strncmp (argv[index_args + 1], "\01", 1) != 0)
&& (weechat_strncmp (argv[index_args + 1], ":\01", 2) != 0)
+1 -2
View File
@@ -81,7 +81,6 @@
RETURN_STRING("");
#define API_RETURN_INT(__int) RETURN_LONG(__int)
#define API_RETURN_LONG(__long) RETURN_LONG(__long)
#define API_RETURN_LONGLONG(__longlong) RETURN_DOUBLE(__longlong)
#define weechat_php_get_function_name(__zfunc, __str) \
const char *(__str); \
do \
@@ -5546,7 +5545,7 @@ API_FUNC(hdata_longlong)
result = weechat_hdata_longlong (hdata, pointer, (const char *)name);
API_RETURN_LONGLONG(result);
API_RETURN_LONG(result);
}
API_FUNC(hdata_string)
+3 -3
View File
@@ -63,17 +63,17 @@ set(LINK_LIBS)
include_directories(${GNUTLS_INCLUDE_PATH})
list(APPEND LINK_LIBS ${GNUTLS_LIBRARY})
list(APPEND LINK_LIBS ${LIBGCRYPT_LDFLAGS})
list(APPEND LINK_LIBS ${GCRYPT_LDFLAGS})
list(APPEND LINK_LIBS ${ZLIB_LIBRARY})
if(ENABLE_ZSTD)
include_directories(${LIBZSTD_INCLUDE_DIRS})
include_directories(${ZSTD_INCLUDE_DIRS})
list(APPEND LINK_LIBS ${LIBZSTD_LDFLAGS})
endif()
if(ENABLE_CJSON)
include_directories(${LIBCJSON_INCLUDE_DIRS})
include_directories(${CJSON_INCLUDE_DIRS})
list(APPEND LINK_LIBS ${LIBCJSON_LDFLAGS})
endif()
+2 -2
View File
@@ -24,8 +24,8 @@ struct t_relay_client;
enum t_relay_status;
#define RELAY_API_VERSION_MAJOR 0
#define RELAY_API_VERSION_MINOR 1
#define RELAY_API_VERSION_PATCH 0
#define RELAY_API_VERSION_MINOR 0
#define RELAY_API_VERSION_PATCH 1
#define RELAY_API_VERSION_NUMBER \
((RELAY_API_VERSION_MAJOR << 16) \
+ (RELAY_API_VERSION_MINOR << 8) \
+1 -1
View File
@@ -13,7 +13,7 @@ info:
license:
name: CC BY-NC-SA 4.0
url: https://creativecommons.org/licenses/by-nc-sa/4.0/
version: 0.1.0
version: 0.0.1
externalDocs:
url: https://weechat.org/doc/
+1 -6
View File
@@ -125,11 +125,6 @@
Tcl_SetObjResult (interp, Tcl_NewLongObj (__long)); \
return TCL_OK; \
}
#define API_RETURN_LONGLONG(__longlong) \
{ \
Tcl_SetObjResult (interp, Tcl_NewWideIntObj (__longlong)); \
return TCL_OK; \
}
#define API_RETURN_OBJ(__obj) \
{ \
Tcl_SetObjResult (interp, __obj); \
@@ -5373,7 +5368,7 @@ API_FUNC(hdata_longlong)
API_STR2PTR(pointer),
name);
API_RETURN_LONGLONG(result);
API_RETURN_LONG(result);
}
API_FUNC(hdata_string)
+1 -1
View File
@@ -34,7 +34,7 @@ set_target_properties(xfer PROPERTIES PREFIX "")
set(LINK_LIBS)
list(APPEND LINK_LIBS ${LIBGCRYPT_LDFLAGS})
list(APPEND LINK_LIBS ${GCRYPT_LDFLAGS})
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# link with resolv lib on macOS
-5
View File
@@ -22,11 +22,6 @@
extern void xfer_chat_sendf (struct t_xfer *xfer, const char *format, ...);
extern int xfer_chat_recv_cb (const void *pointer, void *data, int fd);
extern int xfer_chat_buffer_input_cb (const void *pointer, void *data,
struct t_gui_buffer *buffer,
const char *input_data);
extern int xfer_chat_buffer_close_cb (const void *pointer, void *data,
struct t_gui_buffer *buffer);
extern void xfer_chat_open_buffer (struct t_xfer *xfer);
#endif /* WEECHAT_PLUGIN_XFER_CHAT_H */
+2 -14
View File
@@ -26,7 +26,6 @@
#include "xfer.h"
#include "xfer-upgrade.h"
#include "xfer-buffer.h"
#include "xfer-chat.h"
/*
@@ -81,7 +80,6 @@ xfer_upgrade_set_buffer_callbacks ()
{
struct t_infolist *infolist;
struct t_gui_buffer *ptr_buffer;
const char *type;
infolist = weechat_infolist_get ("buffer", NULL, NULL);
if (infolist)
@@ -91,22 +89,12 @@ xfer_upgrade_set_buffer_callbacks ()
if (weechat_infolist_pointer (infolist, "plugin") == weechat_xfer_plugin)
{
ptr_buffer = weechat_infolist_pointer (infolist, "pointer");
type = weechat_buffer_get_string (ptr_buffer, "localvar_type");
weechat_buffer_set_pointer (ptr_buffer, "close_callback", &xfer_buffer_close_cb);
weechat_buffer_set_pointer (ptr_buffer, "input_callback", &xfer_buffer_input_cb);
if (strcmp (weechat_infolist_string (infolist, "name"),
XFER_BUFFER_NAME) == 0)
{
xfer_buffer = ptr_buffer;
weechat_buffer_set_pointer (
ptr_buffer, "close_callback", &xfer_buffer_close_cb);
weechat_buffer_set_pointer (
ptr_buffer, "input_callback", &xfer_buffer_input_cb);
}
else if (type && (strcmp (type, "private") == 0))
{
weechat_buffer_set_pointer (
ptr_buffer, "close_callback", &xfer_chat_buffer_close_cb);
weechat_buffer_set_pointer (
ptr_buffer, "input_callback", &xfer_chat_buffer_input_cb);
}
}
}
-4
View File
@@ -22,10 +22,6 @@ enable_language(CXX)
remove_definitions(-DHAVE_CONFIG_H)
include_directories(${CPPUTEST_INCLUDE_DIRS} ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR})
if(NOT CYGWIN)
add_definitions(-fPIC)
endif()
if(ENABLE_PYTHON)
add_definitions(-DHAVE_PYTHON)
endif()
+1 -1
View File
@@ -153,7 +153,7 @@ TEST(Scripts, API)
#ifdef HAVE_JAVASCRIPT
{ "javascript", "js" },
#endif
#ifdef HAVE_PHP
#ifdef HAVE_PYTHON
{ "php", "php" },
#endif
{ NULL, NULL }
@@ -25,7 +25,6 @@
extern "C"
{
#include <string.h>
#include <cjson/cJSON.h>
#include "src/core/core-config-file.h"
#include "src/plugins/relay/relay.h"
@@ -26,7 +26,6 @@ extern "C"
#include <time.h>
#include <sys/time.h>
#include <cjson/cJSON.h>
#include "src/core/core-hdata.h"
#include "src/core/core-util.h"
#include "src/gui/gui-buffer.h"
#include "src/gui/gui-chat.h"
@@ -503,7 +502,6 @@ TEST(RelayApiMsg, HotlistToJson)
{
char str_date[128];
cJSON *json, *json_obj, *json_count;
time_t time_value;
struct timeval tv;
struct tm gm_time;
@@ -528,10 +526,9 @@ TEST(RelayApiMsg, HotlistToJson)
CHECK(json);
CHECK(cJSON_IsObject (json));
WEE_CHECK_OBJ_NUM(GUI_HOTLIST_HIGHLIGHT, json, "priority");
time_value = hdata_time (relay_hdata_hotlist, gui_hotlist, "time");
gmtime_r (&time_value, &gm_time);
gmtime_r (&(gui_hotlist->creation_time.tv_sec), &gm_time);
tv.tv_sec = mktime (&gm_time);
tv.tv_usec = hdata_integer (relay_hdata_hotlist, gui_hotlist, "time_usec");
tv.tv_usec = gui_hotlist->creation_time.tv_usec;
util_strftimeval (str_date, sizeof (str_date), "%FT%T.%fZ", &tv);
WEE_CHECK_OBJ_STR(str_date, json, "date");
WEE_CHECK_OBJ_NUM(gui_buffers->id, json, "buffer_id");
@@ -0,0 +1,50 @@
diff --git a/debian-devel/control b/debian-devel/control
index a5d24b6a8..edae1ec5e 100644
--- a/debian-devel/control
+++ b/debian-devel/control
@@ -14,7 +14,7 @@ Build-Depends:
libaspell-dev,
liblua5.3-dev,
tcl8.6-dev,
- guile-3.0-dev,
+ guile-2.2-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
diff --git a/debian-devel/rules b/debian-devel/rules
index cab713c93..d2756333b 100755
--- a/debian-devel/rules
+++ b/debian-devel/rules
@@ -8,6 +8,7 @@ override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
+ -DENABLE_CJSON:BOOL=OFF \
-DENABLE_DOC:BOOL=ON \
-DENABLE_MAN:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
diff --git a/debian-stable/control b/debian-stable/control
index a75e6fee5..50c4f69a8 100644
--- a/debian-stable/control
+++ b/debian-stable/control
@@ -14,7 +14,7 @@ Build-Depends:
libaspell-dev,
liblua5.3-dev,
tcl8.6-dev,
- guile-3.0-dev,
+ guile-2.2-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
diff --git a/debian-stable/rules b/debian-stable/rules
index cab713c93..d2756333b 100755
--- a/debian-stable/rules
+++ b/debian-stable/rules
@@ -8,6 +8,7 @@ override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
+ -DENABLE_CJSON:BOOL=OFF \
-DENABLE_DOC:BOOL=ON \
-DENABLE_MAN:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
+1
View File
@@ -0,0 +1 @@
weechat_debian_buster.patch
@@ -0,0 +1,106 @@
diff --git a/debian-devel/compat b/debian-devel/compat
index 48082f72f..b4de39476 100644
--- a/debian-devel/compat
+++ b/debian-devel/compat
@@ -1 +1 @@
-12
+11
diff --git a/debian-devel/control b/debian-devel/control
index a5d24b6a8..81ae98045 100644
--- a/debian-devel/control
+++ b/debian-devel/control
@@ -5,24 +5,23 @@ Maintainer: Sébastien Helleu <flashcode@flashtux.org>
Build-Depends:
asciidoctor (>= 1.5.4),
ruby-pygments.rb,
- debhelper (>= 12),
+ debhelper (>= 11),
cmake, pkg-config,
- libncurses-dev,
+ libncursesw5-dev,
gem2deb,
libperl-dev,
python3-dev,
libaspell-dev,
liblua5.3-dev,
tcl8.6-dev,
- guile-3.0-dev,
- php-dev, libphp-embed, libargon2-dev, libsodium-dev,
+ guile-2.2-dev,
+ php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
- zlib1g-dev,
- libcjson-dev
+ zlib1g-dev
Standards-Version: 4.6.2
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
diff --git a/debian-devel/rules b/debian-devel/rules
index cab713c93..d2756333b 100755
--- a/debian-devel/rules
+++ b/debian-devel/rules
@@ -8,6 +8,7 @@ override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
+ -DENABLE_CJSON:BOOL=OFF \
-DENABLE_DOC:BOOL=ON \
-DENABLE_MAN:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
diff --git a/debian-stable/compat b/debian-stable/compat
index 48082f72f..b4de39476 100644
--- a/debian-stable/compat
+++ b/debian-stable/compat
@@ -1 +1 @@
-12
+11
diff --git a/debian-stable/control b/debian-stable/control
index a75e6fee5..b39bf88dc 100644
--- a/debian-stable/control
+++ b/debian-stable/control
@@ -5,24 +5,23 @@ Maintainer: Emmanuel Bouthenot <kolter@debian.org>
Build-Depends:
asciidoctor (>= 1.5.4),
ruby-pygments.rb,
- debhelper (>= 12),
+ debhelper (>= 11),
cmake, pkg-config,
- libncurses-dev,
+ libncursesw5-dev,
gem2deb,
libperl-dev,
python3-dev,
libaspell-dev,
liblua5.3-dev,
tcl8.6-dev,
- guile-3.0-dev,
- php-dev, libphp-embed, libargon2-dev, libsodium-dev,
+ guile-2.2-dev,
+ php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
libgcrypt20-dev,
libgnutls28-dev,
libzstd-dev,
- zlib1g-dev,
- libcjson-dev
+ zlib1g-dev
Standards-Version: 4.6.2
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
diff --git a/debian-stable/rules b/debian-stable/rules
index cab713c93..d2756333b 100755
--- a/debian-stable/rules
+++ b/debian-stable/rules
@@ -8,6 +8,7 @@ override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
+ -DENABLE_CJSON:BOOL=OFF \
-DENABLE_DOC:BOOL=ON \
-DENABLE_MAN:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
+2 -2
View File
@@ -39,8 +39,8 @@
# devel-number the devel version as hex number ("0x04010000" for "4.1.0-dev")
#
weechat_stable="4.3.1"
weechat_devel="4.3.1"
weechat_stable="4.2.2"
weechat_devel="4.3.0-dev"
stable_major=$(echo "${weechat_stable}" | cut -d"." -f1)
stable_minor=$(echo "${weechat_stable}" | cut -d"." -f2)