1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-12 22:24:47 +02:00

Compare commits

...

4973 Commits

Author SHA1 Message Date
Sébastien Helleu bd6455d07f Version 4.9.2 2026-06-07 09:25:09 +02:00
Sébastien Helleu 8d3180fa78 tests: increase buffer size for injection of fake IRC message 2026-06-07 08:48:47 +02:00
aizu-m 519ab4e7bb relay: fix out-of-bounds read in relay_http_print_log_request (#2324) 2026-06-06 11:20:05 +02:00
Sébastien Helleu 3c36fd7412 relay: limit size of partial message received while reading an HTTP request to prevent memory exhaustion
A relay client could send data with no end-of-line (an unterminated method
or header line) and dribble its payload, making WeeChat accumulate it in the
partial message buffer that grew without limit, until all memory was
exhausted. This path is reachable before authentication during websocket
initialization with the "weechat" and "irc" protocols.

The accumulated partial message is now bounded by
RELAY_HTTP_PARTIAL_MESSAGE_MAX_LENGTH: once the limit is reached, the extra
data is ignored.
2026-06-06 09:38:55 +02:00
Sébastien Helleu b62c97dbe3 core: add links to issues in ChangeLog (#2321, #2322) 2026-06-06 07:25:19 +02:00
aizu-m f91f92b48f xfer: fix out-of-bounds read in xfer_chat_recv_cb on empty line (#2323) 2026-06-06 07:21:55 +02:00
aizu-m 30529057c8 irc: fix out-of-bounds read in DCC command with quoted filename 2026-06-04 23:20:59 +02:00
Sébastien Helleu a69f356182 tests: add tests on function xfer_file_find_filename 2026-06-04 23:20:26 +02:00
aizu-m 1438255a87 xfer: replace directory separator in remote nick by underscore in download filename 2026-06-04 23:20:08 +02:00
Sébastien Helleu d15ce789a0 api: fix infinite loop in function string_replace when the search string is empty 2026-06-03 21:17:32 +02:00
Sébastien Helleu 377b6da43d relay: limit size of received websocket frame and HTTP body to prevent memory exhaustion
A relay client could announce a huge websocket frame (or HTTP body via
"Content-Length") and dribble its payload, making WeeChat accumulate it
in a buffer that grew without limit, until all memory was exhausted. The
websocket frame path is reachable before authentication with the
"weechat" and "irc" protocols.

The announced websocket frame length and HTTP "Content-Length" are now
bounded by WEBSOCKET_FRAME_MAX_LENGTH and RELAY_HTTP_BODY_MAX_LENGTH: an
oversized websocket frame closes the connection, and an oversized body is
rejected.
2026-06-01 22:09:27 +02:00
Sébastien Helleu 8b1b06a407 irc: limit size of data received from the server to prevent memory exhaustion
A malicious or compromised IRC server could send data with no end-of-line
(or a flood of "005" messages), making WeeChat accumulate it in a buffer
that grew without limit, until all memory was exhausted.

The unterminated received message and the accumulated "005" (ISUPPORT)
data are now bounded by IRC_SERVER_RECV_MSG_MAX_LENGTH and
IRC_SERVER_ISUPPORT_MAX_LENGTH: extra data is ignored once the limit is
reached.
2026-06-01 22:08:39 +02:00
Sébastien Helleu c09c1bf2fc ci: enable ruby 3.3 module on Rocky Linux 9 2026-05-31 15:19:37 +02:00
Sébastien Helleu c83afb9a06 ci: install dnf-plugins-core on Rocky Linux 9 for dnf config-manager 2026-05-31 15:18:42 +02:00
Sébastien Helleu ed9535a43f Version 4.9.2-dev 2026-05-31 13:50:17 +02:00
Sébastien Helleu 2148829ebe Version 4.9.1 2026-05-31 13:46:04 +02:00
Sébastien Helleu 1ca2a00255 core: fix timing attack on TOTP validation (GHSA-vhv8-g2r9-cwcc)
weecrypto_totp_validate compared the generated and client-supplied OTPs
with strcmp and broke out of the time-window loop on the first match.
Both choices leaked information via response timing: strcmp leaked the
expected OTP digit-by-digit (shrinking the brute-force search from
~10^digits to a handful of guesses within the 30-second window), and
the early break leaked which window offset matched.

Compare in constant time with string_memcmp_constant_time and always
iterate the full window, OR-ing the result into otp_ok without an
early exit.

This affects both relay protocols (which call totp_validate via the
public info hook) and any other caller of the info hook.
2026-05-31 09:14:24 +02:00
Sébastien Helleu c737373d17 relay/irc: fix timing attack on PASS command (GHSA-vhv8-g2r9-cwcc)
The IRC relay protocol's PASS handler compared the server password with
the client-supplied value using strcmp, leaking the password byte-by-byte
via response timing. This is the same class of bug fixed for the api and
weechat protocols, on a separate code path that did not go through
relay_auth_check_password_plain.

Extract the HMAC-then-constant-time-compare logic from
relay_auth_check_password_plain into relay_auth_password_equals, then
use it in both the plain-auth wrapper and the IRC PASS handler.
2026-05-31 09:12:09 +02:00
Sébastien Helleu 30230498b2 relay: fix timing attack on password authentication (GHSA-vhv8-g2r9-cwcc)
The relay authentication used non-constant-time comparisons (strcasecmp,
strcmp) to verify password hashes and plaintext passwords, allowing an
attacker to derive the expected hash byte-by-byte from response timing
and then authenticate without knowing the password.

- SHA/PBKDF2 hex hash comparisons: normalize the client-supplied hash to
  uppercase and compare in constant time over the fixed expected length.
- Plaintext password comparison: HMAC-SHA256 both passwords with a fresh
  per-call random key and compare the fixed-size MACs in constant time,
  hiding both per-byte timing and the password length.

Add string_memcmp_constant_time helper in core, exposed via the plugin
API. Bump WEECHAT_PLUGIN_API_VERSION accordingly.
2026-05-31 09:11:53 +02:00
Sébastien Helleu 35699ea802 relay: limit size of decompressed websocket frame to prevent memory exhaustion (GHSA-v2v4-45wm-5cr3)
An authenticated relay client using the permessage-deflate websocket
extension could send a small compressed frame that decompresses to an
unbounded amount of data, exhausting all memory and crashing WeeChat.

The output buffer in relay_websocket_inflate is now capped to
WEBSOCKET_INFLATE_MAX_SIZE: frames decompressing beyond this limit are
rejected and the connection is closed.
2026-05-31 09:07:23 +02:00
Sébastien Helleu 5e4c165dad ci: bump poexam to version 0.0.10 2026-05-31 08:32:59 +02:00
Sébastien Helleu 23fb6bfe88 core: fix option weechat.look.color_real_white not applied when color is "white" on 16+ colors terminals (issue #1742) 2026-05-23 13:41:40 +02:00
Sébastien Helleu ec03437f9e irc: fix tag in message with list of names when joining a channel
The message with list of nicks on the channel has now tag irc_353 instead of
irc_366.
2026-05-23 13:22:33 +02:00
Sébastien Helleu 564ad2d5cd core: set max curl version to 8.21.0 for symbol CURLAUTH_DIGEST_IE 2026-05-23 13:20:58 +02:00
Sébastien Helleu f935aa3f9f ci: bump Lua from 5.3 to 5.4 2026-05-23 13:20:44 +02:00
Sébastien Helleu 76a7d5d3bd debian: bump Lua from 5.3 to 5.4 2026-05-23 13:20:43 +02:00
Luc Schrijvers f0f77e1bd9 Build fix for Haiku 2026-05-23 13:19:08 +02:00
LuK1337 8c0a3b4d81 cmake: enable position independent code (PIE)
Fixes the following build error when compiling Fedora 45 RPM:

/usr/bin/ld.bfd: tests/unit/CMakeFiles/tests.dir/tests.cpp.o: relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld.bfd: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

See: https://cmake.org/cmake/help/latest/prop_tgt/POSITION_INDEPENDENT_CODE.html
     https://cmake.org/cmake/help/latest/policy/CMP0083.html
2026-05-23 12:40:20 +02:00
Sébastien Helleu a4a06f255a Version 4.9.1-dev 2026-05-23 12:40:02 +02:00
Sébastien Helleu 5969f9faf6 Version 4.9.0 2026-03-29 10:20:23 +02:00
Sébastien Helleu b70b484f5f debian: update changelog 2026-03-28 22:31:27 +01:00
Sébastien Helleu b250d71608 debian: remove redundant priority optional field from control 2026-03-28 22:29:00 +01:00
Sébastien Helleu 94457f8313 debian: bump Standards-Version to 4.7.3 2026-03-28 22:27:09 +01:00
Sébastien Helleu 0cd0e7be6a core: remove link to Diaspora* from README 2026-03-27 19:22:37 +01:00
Sébastien Helleu 2ececc1184 core: remove link to Slant from README 2026-03-27 19:21:55 +01:00
Sébastien Helleu b8bef1c3e1 irc: fix display of CTCP query sent multiple times to the same user when capability echo-message is enabled (closes #2309) 2026-03-27 18:32:31 +01:00
Sébastien Helleu d9e56c3df8 ci: add check of gettext files with poexam 2026-03-25 21:49:02 +01:00
Emir SARI dc28050b8b core: update Turkish translations 2026-03-25 08:46:52 +01:00
Sébastien Helleu f53e7fb9ef core, plugins: fix typos in comments on functions, use imperative 2026-03-23 20:45:36 +01:00
Sébastien Helleu d34eb40187 core: set max curl version to 8.20.0 for RTMP symbols
rtmp support has been dropped in curl, see:
https://github.com/curl/curl/commit/ceae02db040de3cf7ae4c3f8ec99e8286b568c2e
2026-03-21 17:59:48 +01:00
Sébastien Helleu 2cbbb677f3 core: replace "motdepasse" by "mot_de_passe" in French translations and docs 2026-03-21 17:30:12 +01:00
Sébastien Helleu f7267bc992 core: replace "mypassword" by "my_password" in /help secure 2026-03-21 17:27:02 +01:00
Sébastien Helleu 147d5b3f88 core: replace "mynick" by "andrew" in /help secure 2026-03-21 17:22:20 +01:00
Sébastien Helleu da4881959e core: replace "proxyname" by "proxy_name" in /help proxy 2026-03-21 13:28:38 +01:00
Sébastien Helleu 5e963c7546 core: replace "barname" by "bar_name" in /help bar 2026-03-21 13:23:55 +01:00
Sébastien Helleu 41d8e06394 ci: fix branch for Homebrew/actions/setup-homebrew 2026-03-21 12:01:08 +01:00
Sébastien Helleu 52d1245bad ci: bump actions/checkout to v6 2026-03-21 11:46:30 +01:00
Sébastien Helleu 961dc515a0 ci: add new job "checks" to check gettext files, shell and Python scripts, Python stub file and Curl symbols 2026-03-21 11:44:24 +01:00
Sébastien Helleu 73ec7c0641 ci: reorder and rename jobs 2026-03-21 11:28:11 +01:00
Sébastien Helleu c60a5fde14 ci: remove temporary fix for brew install 2026-03-21 10:15:14 +01:00
Eli Schwartz 0bbae498c9 python: fix archaic and soft-deprecated use of raw cmake vars
In commit 9a9a262ea1 we moved from
pkg-config to find_package() to work around a deficiency in the pkgsrc
package manager, which does not ship pkg-config files as intended by
CPython.

Modern CMake discourages use of "FOO_LIBRARIES" in all cases, when
imported "interface" libraries can and should be used instead. The meson
equivalent is `dependency()` versus `cc.find_library()`, so this is
certainly a general trend among modern build systems.

An imported interface target, such as the previous PkgConfig::PYTHON,
carries with it the various internal properties such as DEFINITIONS,
INCLUDE_DIRS, or LIBRARIES, and batch applies them. It also avoids
leaking across cmake 2.x style whole-directory scopes.

Use the documented cmake imported interface target for embedding Python
and avoid `add_definitions(${Python_DEFINITIONS})` and similar. As a
bonus, it's also shorter and more concise.

Fixes: 9a9a262ea1
Fixes: https://github.com/weechat/weechat/pull/2251
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
2026-03-21 08:53:48 +01:00
Eli Schwartz 4c79e870af python: fix broken usage of FindPython.cmake breaking python selection
In commit 9a9a262ea1 we moved from
pkg-config to find_package() to work around a deficiency in the pkgsrc
package manager, which does not ship pkg-config files as intended by
CPython. In the process, Gentoo and other platforms that, unlike pkgsrc,
publicly support multiple versions of python installed in parallel, had
python version selection broken. Consequently, weechat linked to the
wrong python, which happened to be installed in build chroots but was
not the versioned python package that the weechat package listed as a
dependency. Attempting to install weechat then broke on some systems
(which installed one version of python as a dependency but actually
linked to a totally different one).

This happens due to a design bug in upstream CMake. It is never
conceptually reasonable to use

```
find_package(Python COMPONENTS ...)
```

and omit the "Interpreter" component; if you do, CMake will ignore its
own documentation on how to control the build to use a specific python,
and choose one randomly (== "latest version available"). If, and only
if, the Interpreter component is checked, the development headers /
libraries for python will be guaranteed consistent with the documented
lookup variables from FindPython.cmake's documentation.

Bug: https://bugs.gentoo.org/968814
Fixes: 9a9a262ea1
Fixes: https://github.com/weechat/weechat/pull/2251
Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
2026-03-21 08:29:54 +01:00
weechatter dc4df8b9aa core: update German translations 2026-03-19 11:10:26 +01:00
Sébastien Helleu 6bc11571b5 xfer: evaluate option xfer.network.own_ip 2026-03-18 18:26:06 +01:00
Sébastien Helleu d1b71a8562 core: fix typo in German translation 2026-03-17 23:26:27 +01:00
weechatter 19a6591410 core: update German translations 2026-03-17 16:28:04 +01:00
Sébastien Helleu 25e0809c55 doc/user: fix French translation of title 2026-03-16 21:20:51 +01:00
Sébastien Helleu e8d0399623 irc: fix translations of /help irc.look.list_buffer_sort 2026-03-16 13:23:52 +01:00
Sébastien Helleu c41d73e417 irc: fix typo on field name in /help irc.look.list_buffer_sort 2026-03-16 13:16:44 +01:00
Sébastien Helleu 1532efea6d core: fix style in ChangeLog 2026-03-14 00:12:17 +01:00
Sébastien Helleu 9bf2d51493 core: add option -e to evaluate all commands before executing them in command /eval 2026-03-14 00:03:27 +01:00
Sébastien Helleu 27ae6ca789 core: fix crash with /eval when the current buffer is closed in a command 2026-03-13 23:11:00 +01:00
Sébastien Helleu 916c59d8f0 doc/faq: fix key to search text in current buffer
Since WeeChat 4.2.0, Ctrl+r has been replaced by Ctrl+s.
2026-03-13 21:57:12 +01:00
Sébastien Helleu 37bdf6586b core: remove extra pipe in German translation 2026-03-12 20:38:54 +01:00
Sébastien Helleu 13e9381e19 core: fix typo in French translation: "repertoire" -> "répertoire" 2026-03-12 20:31:40 +01:00
Sébastien Helleu b94e4af67e core: fix typo in French translation: "attentus" -> "attendus" 2026-03-12 20:29:51 +01:00
Sébastien Helleu 431d9ad64a irc: fix typo: "acknowledgement" -> "acknowledgment" 2026-03-12 20:26:22 +01:00
Sébastien Helleu f5bbe35cfb irc, relay: replace "cancelled" by "canceled" in auto-reconnection message 2026-03-12 20:24:53 +01:00
Sébastien Helleu b82ce33c6c core: fix quotes in upgrade error message 2026-03-12 20:16:49 +01:00
Sébastien Helleu 87a683ebdb typing: add option typing.look.item_text (closes #2305) 2026-03-09 23:58:11 +01:00
Sébastien Helleu f048ea9eac relay: add missing info in French translation of /help relay 2026-03-09 23:31:19 +01:00
Sébastien Helleu fc0fb05ec0 irc: add missing angle brackets in French translation of /help cycle and /help part 2026-03-09 23:28:26 +01:00
Sébastien Helleu 835e0b9549 irc: replace simple by double quotes in French translation of /help server 2026-03-09 23:25:56 +01:00
Sébastien Helleu 507f172dae fset: fix French help on parameter "-format" in /help fset 2026-03-09 23:24:39 +01:00
Sébastien Helleu fc595afd08 irc: add missing double quotes in French error message 2026-03-09 23:21:54 +01:00
Sébastien Helleu 2f5305dc82 core: fix French translation of /help upgrade 2026-03-09 23:17:21 +01:00
Sébastien Helleu 9f2b9c4ea9 core: fix double quote in French output of /sys get rlimit 2026-03-09 23:15:11 +01:00
Sébastien Helleu aea8421e49 core: add missing "(by default)" in French translation of /help weechat.look.buffer_position 2026-03-09 23:11:09 +01:00
Sébastien Helleu 81834c45ae core: add missing "raw" parameter in French translation of /help window 2026-03-09 23:07:03 +01:00
Sébastien Helleu 01d2887b13 core: replace ellipsis by "etc." in /help secure 2026-03-09 23:01:29 +01:00
Sébastien Helleu 8b30d9a7d7 core: add missing double quotes in French translation of /help secure 2026-03-09 22:59:02 +01:00
Sébastien Helleu 92327871d2 core: add missing info in French translation of /help secure 2026-03-09 22:57:17 +01:00
Sébastien Helleu b2556f99f4 core: add missing key context "default" in French translations 2026-03-09 22:54:48 +01:00
Sébastien Helleu ec6372f4df core: add missing double quote in /help hotlist 2026-03-09 22:51:20 +01:00
Sébastien Helleu abb74ac178 core: add missing double quote in French translation of /help buffer 2026-03-09 22:47:46 +01:00
Sébastien Helleu 71329fd595 core: remove double quotes around buffer number in error message 2026-03-09 22:45:30 +01:00
Sébastien Helleu 106fe6ca7c core: update copyright dates 2026-03-08 10:37:15 +01:00
Sébastien Helleu 630f2e2e7c core: translate command line options separately in output of weechat --help 2026-03-08 09:10:29 +01:00
Sébastien Helleu eb0b01f62a core: move functions on command-line arguments to a separate source 2026-03-07 12:47:11 +01:00
Sébastien Helleu fb00b7055c core: add "noqa" on Japanese translation reusing multiple times the same format string 2026-03-07 09:09:11 +01:00
Sébastien Helleu 58b1f5c62b core: add "noqa" on Polish translations where extra backslashes are used 2026-03-07 09:08:37 +01:00
Sébastien Helleu d663070b02 core: fix punctuation errors in translations 2026-03-07 08:56:19 +01:00
Sébastien Helleu 8ff7d63744 core: fix "noqa" markers in Turkish translations 2026-03-07 08:55:27 +01:00
Sébastien Helleu 5eb3bca47b core: add version 4.8.2 2026-03-07 08:19:52 +01:00
Sébastien Helleu d0478bdc04 core: update copyright date 2026-03-07 00:02:34 +01:00
Krzysztof Korościk d7fc65e282 doc: updated Polish translation 2026-03-06 21:56:05 +01:00
Krzysztof Korościk 0d737349be core: updated Polish translation 2026-03-04 23:50:47 +01:00
Sébastien Helleu dc94251b33 core: disable "fuzzing" phase in schemathesis config 2026-02-21 21:40:58 +01:00
Sébastien Helleu 306155aa48 relay/api: fix memory leak in receive of message from remote WeeChat 2026-02-16 18:57:14 +01:00
Sébastien Helleu 238f8cbc7e relay/api: fix memory leaks in resources "ping" and "sync" 2026-02-16 18:33:03 +01:00
Sébastien Helleu fa043644cb core: add missing pipes in translations 2026-02-09 21:37:22 +01:00
Sébastien Helleu e06b3c1d7e core: add missing closing parenthesis in /help buflist 2026-02-07 22:09:16 +01:00
Sébastien Helleu 5b052532ec core: remove double spaces in translations 2026-02-07 21:55:49 +01:00
Sébastien Helleu 18bce9e8c4 core: remove trailing backslash in German translation of /help buflist.look.add_newline 2026-02-04 23:06:22 +01:00
Sébastien Helleu 886042a875 core: replace real tab by \t in German translation of /help filter
This was causing a display issue because the tab char is used to separate
prefix from message.
2026-02-04 23:05:00 +01:00
Sébastien Helleu fca4ee28e0 core: update German translations 2026-02-04 23:00:48 +01:00
Emil Velikov 7c37eced93 cmake: plugins: remove no longer used include()s
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov a413d16038 cmake: plugins: simplify dependency handling
Move the requirement checks within the respective plugin cmakefile.
Use REQUIRED instead of the manual FOUND check and error handling.

Note: the tcl check was only moved, since using REQUIRED  explodes in
CI.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov 440907e1cd cmake: simplify tests handling
Move the requirement checking and the dummy test where they are used.
Use REQUIRED instead of the manual FOUND check and error handling.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov cb08473bdc cmake: remove explicit fPIC handling
With CMP0083 introduced with cmake 3.14, as we set the variable
CMAKE_POSITION_INDEPENDENT_CODE we can rely on the build system to do
the correct thing, across all the targets.

Since we require 3.18 (or 3.16 in the patched Debian/Ubuntu version),
which sets the policy to NEW we're all set.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov 71ef7e286c cmake: remove implicitly enabled cmake policy handling
Whenever cmake_minimum_required() is used, all the policies available in
the specified version are toggled to NEW. Thus we no longer need to
manually change them.

The highest policy - CMP0017 - has been around circa cmake 2.8.4, while
we require 3.x.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov 2a234b3bfe cmake: reuse CMAKE_DL_LIBS
The token has been available since cmake 3.0 (at least), so might as
well use it instead of our ad-hoc check.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov 6442b938eb cmake: move zstd/cjson include handling
Move the respective include_directories() stansas to the top-level
cmakefile. While this technically adds them to targets where they are
not needed, there is no harm is having them.

This maskes the find_dependency/use_includes/use_libs more consistent
across the board and helps it stand out where it's forgotten. Fixes for
which will be coming at a later date.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov c8d2b4448a cmake: inline a few variables as needed
Avoid creating/appending variables and effectively deviating from the
style used across the project.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov 3918efd8e9 cmake: remove CMAKE_REQUIRED_* instances
The tcl ones has not been required for over a decade since commit
ffdba5b24 ("Remove check of Tcl_CreateNamespace in cmake build (not used
any more) (bug #27119)").

While the top-level one, with the EXTRA_LIBS reshuffle/consolidation a
few commits ago.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov 4decd2c386 cmake: remove Darwin/resolv quirks
Since commit e98a32373 ("core: check if res_init requires linking with
libresolv") we detect if/when we should be linking against libresolv.

The detection seems a bit clunky (to me), although it's better to keep
things consolidated/consistent across tree. Swap the Darwin checks with
the new token LIBRESOLV_HAS_RES_INIT.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov 323ab8810e cmake: consolidate non-linux library handling
Move the handling to the top-level, adding it _once_ to EXTRA_LIBS.
Thus avoiding some duplication across the board.

Note that final handling varies a bit, namely:
 - OpenBSD/intl should be handled via the existing cmake/FindGettext.cmake
 - Darwin/resolv should not be needed since commit e98a32373 ("core: check
   if res_init requires linking with libresolv")
 - the backtrace/execinfo handling has been consolidated and moved

In the unlikely case of unwanted over-linking, the platforms can add
`-Wl,--as-needed` to their linker flags. Something which is strongly
encouraged and has been the default across multiple (linux) distros for
years.

Alternatively, if move quirks are needed they should be handled in a
single place.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov fc6003c74e cmake: consolidate libm library handling
Move the handling to the top-level, adding it _once_ to EXTRA_LIBS.
Thus avoiding some duplication across the board.

This change technically adds an extra link for the unit tests, which
seemingly was omitted by mistake. Alternatively, the extra over-linking
won't be an issue in practise.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:26 +01:00
Emil Velikov ae54c3ef65 cmake: consolidate iconv/gettext library handling
Move the handling to the top-level, adding it _once_ to EXTRA_LIBS.
Thus avoiding some duplication across the board.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:25 +01:00
Emil Velikov b38c00bb0d cmake: consolidate zlib/zstd library handling
Move the handling to the top-level, adding it _once_ to EXTRA_LIBS.
Thus avoiding some duplication across the board.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:25 +01:00
Emil Velikov 20a7affb70 cmake: remove unnecessary add_dependencies()
In a handful of places we explicitly use add_dependencies() where the
exact same libraries are also (implicitly) added as dependencies via
target_link_libraries().

Remove the folder, which helps us remove some duplication with follow-up
patches.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2026-02-04 22:21:25 +01:00
Ivan Pešić 150e6ecd82 core: update Serbian translation 2026-02-03 13:46:22 +01:00
weechatter 87ef578ad2 core: update German translations 2026-02-03 10:59:40 +01:00
Sébastien Helleu ef5f197a4a irc: fix unit of server option anti_flood from seconds to milliseconds in output of /server listfull 2026-01-30 13:49:23 +01:00
Sébastien Helleu 250db946b0 core: fix typos in French translation of /help weechat.look.hotlist_add_conditions 2026-01-21 21:23:02 +01:00
Sébastien Helleu f0160bf5ab core: add missing context in English message when a key is added with /key missing 2026-01-21 20:53:25 +01:00
Sébastien Helleu 7d51a1331b core: fix typos in /help allchan, /help allpv and /help allserv 2026-01-21 20:38:37 +01:00
Sébastien Helleu 22b335ce86 core: fix typo in /help help 2026-01-21 20:28:07 +01:00
Sébastien Helleu f26f73f283 core: fix line wrapping in German translations 2026-01-21 20:24:55 +01:00
Sébastien Helleu 323c9e2bfe core: remove obsolete comments in Polish translations 2026-01-21 20:24:42 +01:00
Sébastien Helleu 894df0e9e6 core: fix typo in French translation of /help remote 2026-01-19 23:56:32 +01:00
Sébastien Helleu ead76532de core: fix typo in French and Polish translations of /help exec 2026-01-19 23:54:10 +01:00
Sébastien Helleu da2f506f2e core: fix typo in French and Serbian translations of /help plugin 2026-01-19 23:46:46 +01:00
Sébastien Helleu e42e811c95 core: fix typo in French translation of /help filter 2026-01-19 23:39:16 +01:00
Sébastien Helleu 889450fb31 core: fix typos in translations of /help buffer 2026-01-16 13:41:30 +01:00
Ivan Pešić 3c11e09c30 core/doc: update Serbian translation 2026-01-16 13:39:36 +01:00
Sébastien Helleu 616daecdd0 core: fix typos in French translations 2025-12-21 12:07:50 +01:00
Sébastien Helleu 9b4fd66de7 irc: ignore self join if the channel is already joined (closes #2291)
There is an issue with some IRC servers that may send a JOIN with self nick
once already on the channel, this results in a clear of the nicklist on the
second JOIN received.

This fix silently ignores the second self JOIN if the channel is already
joined (with at least one nick).
2025-12-14 14:29:47 +01:00
Sébastien Helleu b42f7a400e ci: remove useless install of msgcheck in CodeQL analysis 2025-12-07 16:24:14 +01:00
Sébastien Helleu 9e814860ae ci: switch from bandit/flake8/pylint to ruff in CI for Python scripts 2025-12-07 16:24:14 +01:00
Sébastien Helleu a2a71b4d33 tests: improve concatenation of Python lists 2025-12-07 09:37:40 +01:00
weechatter 7d6b8f6943 core: update German translations 2025-12-06 00:33:30 +01:00
Krzysztof Korościk 3b4a5bbb09 core: updated Polish translation 2025-12-02 21:49:13 +01:00
Krzysztof Korościk 58b7ec59e9 core: updated Polish translation 2025-12-02 00:59:57 +01:00
Sébastien Helleu 518b9ab381 core: add version 4.8.1 2025-12-01 20:17:07 +01:00
Sébastien Helleu a9e48d33c6 core: add IRC SASL EXTERNAL in upgrade guidelines for version 4.8.0 2025-12-01 18:01:33 +01:00
Sébastien Helleu 1ff001994c irc: fix creation of irc.msgbuffer option without a server name
The regression was introduced by commit
1b669cd13c, which allowed a server name with
upper case but rejected a name or alias with upper case.

This commit fixed the creation of the option when the server name is not given,
so this command works again:

  /set irc.msgbuffer.whois current
2025-12-01 07:48:58 +01:00
Sébastien Helleu 234a37df6f ci: add build with type "Release" and gcc hardened options in matrix 2025-11-30 13:53:44 +01:00
Sébastien Helleu 6bcc6ef65f core: update ChangeLog (issue #2289) 2025-11-30 13:34:05 +01:00
Sébastien Helleu d5e6c94246 core: fix compiler warning on possible buffer overflow in function util_parse_time (closes #2289) 2025-11-30 11:21:42 +01:00
Sébastien Helleu 63b6dee311 core: fix order of sections in ChangeLog 2025-11-30 09:16:42 +01:00
Sébastien Helleu 34697cf5ce Version 4.9.0-dev 2025-11-30 09:11:53 +01:00
Sébastien Helleu 2534976281 Version 4.8.0 2025-11-30 09:09:35 +01:00
Sébastien Helleu c3f2252385 core: add missing links to upgrade guidelines in ChangeLog 2025-11-30 09:00:26 +01:00
Sébastien Helleu 83e3e6973c debian: update changelog 2025-11-30 08:32:23 +01:00
Sébastien Helleu c56389d12e debian: update watch to version 5 2025-11-30 08:29:10 +01:00
Sébastien Helleu 12717ff689 core: add upgrade guidelines for version 4.8.0 2025-11-30 08:23:56 +01:00
Sébastien Helleu d8569ffe27 buflist: add variable ${index_displayed} 2025-11-28 18:45:22 +01:00
Sébastien Helleu 62c99f8938 core: update translations 2025-11-28 18:40:59 +01:00
Sébastien Helleu a3f733d29a core: fix styles in ChangeLog 2025-11-28 17:36:30 +01:00
Ivan Pešić c9c402d202 core/doc: update Serbian translation 2025-11-24 11:40:36 +01:00
Krzysztof Korościk 7ce1e8c05f core: updated Polish translation 2025-11-24 00:16:02 +01:00
Krzysztof Korościk 0be2d45f6a doc: updated Polish translations 2025-11-23 23:58:06 +01:00
Sébastien Helleu 4e0cc14b79 ci: disable schemathesis output sanitization 2025-11-23 15:01:34 +01:00
Sébastien Helleu c18d8ecc1d core: add version 4.7.2 2025-11-23 14:17:25 +01:00
Sébastien Helleu dd454dfc50 tests: merge tests of buffer set functions into gui_buffer_set 2025-11-23 10:36:21 +01:00
Sébastien Helleu 1f0d8d3849 core: add condition on new_tags in functions gui_buffer_set_highlight_tags_restrict and gui_buffer_set_highlight_tags 2025-11-23 10:36:21 +01:00
Sébastien Helleu c248aa42ce core: simplify code in gui_buffer_set functions 2025-11-23 10:36:21 +01:00
Sébastien Helleu 2832ef333e core: do not add/remove highlight words if value is empty in call to gui_buffer_set() 2025-11-23 10:36:21 +01:00
Sébastien Helleu 5543bc236b tests: add tests on gui buffer set functions 2025-11-23 10:35:43 +01:00
Sébastien Helleu 953ede1200 irc: add tags "irc_cap" and "log3" in client capability request and SASL not supported messages 2025-11-22 16:00:32 +01:00
Sébastien Helleu c2ff484995 core, irc, relay: add tag "tls" in gnutls messages 2025-11-22 14:52:02 +01:00
Sébastien Helleu b8048b1666 irc: fix reset of color when multiple modes are set with command /mode 2025-11-22 12:31:37 +01:00
Sébastien Helleu e33ed57b47 irc: fix colors in MODE message (issue #2286) 2025-11-22 10:32:44 +01:00
Sébastien Helleu 790ce13843 tests: add colors in username for tests of messages 367 and 728 2025-11-22 10:32:44 +01:00
Emir SARI 4ecf2cb6b8 Update Turkish translations
Signed-off-by: Emir SARI <emir_sari@icloud.com>
2025-11-22 10:14:22 +01:00
Sébastien Helleu d23a7a6105 irc: fix colors in ban mask (message 367) and quiet mask (message 728) (closes #2286) 2025-11-22 10:02:47 +01:00
Sébastien Helleu da12df6b73 core: free highlight_disable_regex if the regex is invalid in function gui_buffer_set_highlight_disable_regex 2025-11-18 22:27:15 +01:00
Sébastien Helleu 3176e2a6b7 core: free highlight_regex if the regex is invalid in function gui_buffer_set_highlight_regex 2025-11-18 22:27:15 +01:00
Sébastien Helleu 4555f9a58a core: fix typo in comment 2025-11-15 20:15:32 +01:00
Sébastien Helleu e261cadce3 doc/api: add "error_code" and "error_code_pthread" in hook_url output hashtable (issue #2284) 2025-11-15 17:29:08 +01:00
Sébastien Helleu 3e49b73117 api: fix file descriptor leak in hook_url (closes #2284)
This can happen after a timeout or if the hook is removed during the transfer.
2025-11-15 17:28:44 +01:00
Sébastien Helleu 898213b4f2 relay/api: return HTTP error 400 in case of invalid body in resource ping 2025-11-13 20:35:58 +01:00
Sébastien Helleu e6646d1ef1 relay/api: return HTTP error 404 instead of 400 when the buffer is not found in resources completion and input 2025-11-13 07:12:55 +01:00
Sébastien Helleu 69d47b68f5 core: update ChangeLog 2025-11-13 07:08:23 +01:00
Sébastien Helleu 48d2c5fd01 core: update translations 2025-11-12 20:44:24 +01:00
Sébastien Helleu 1c53d3d466 api: add functions to parse integer numbers
New functions:

- util_parse_int
- util_parse_long
- util_parse_longlong
2025-11-12 20:24:00 +01:00
Sébastien Helleu 4ab11b7705 tests: add unit tests on command /window 2025-11-12 20:20:04 +01:00
Sébastien Helleu 8032ca1433 core: display an error message in case of invalid size with commands /window splith and /window splitv 2025-11-12 07:26:01 +01:00
Sébastien Helleu ac69288ed7 core: display an error message in case of invalid size with command /window resize 2025-11-12 07:22:12 +01:00
Sébastien Helleu 0930976456 core: display an error if parameters are missing in command /window resize 2025-11-12 07:18:06 +01:00
Sébastien Helleu d5bfe35245 core: display an error if parameters are missing or if the buffer is not with "free content" in command /window scroll_horiz 2025-11-12 07:12:00 +01:00
Sébastien Helleu 90a42ee213 core: display an error if parameters are missing in command /window scroll 2025-11-12 07:08:33 +01:00
Sébastien Helleu 6981f9f204 core: display an error message if the window number is not found with command /window xxx -window N 2025-11-12 07:05:56 +01:00
Sébastien Helleu b9f1145d03 core: fix screen size in macro getmaxyx when using fake ncurses 2025-11-12 13:45:27 +01:00
Sébastien Helleu f3a8068109 core: fix use of window->coords by checking size of array before using it 2025-11-12 13:45:27 +01:00
Sébastien Helleu 1ffc96955e tests: add unit tests on command /sys 2025-11-12 13:45:27 +01:00
Sébastien Helleu 8316745061 tests: add unit tests on command /repeat 2025-11-12 13:45:27 +01:00
Sébastien Helleu b18190b4c0 doc/quickstart: add link to key bindings in user's guide 2025-11-12 13:35:52 +01:00
Sébastien Helleu 753475f530 tests: add unit tests on command /proxy 2025-11-11 11:27:34 +01:00
Sébastien Helleu 237b07575b core: fix typo in comment 2025-11-11 10:57:51 +01:00
Sébastien Helleu dacd29b1d7 tests: add unit tests on command /print 2025-11-11 10:57:51 +01:00
Sébastien Helleu cfcadd155d core: display an error message if the date can not be parsed with command /print -date 2025-11-11 10:41:55 +01:00
Sébastien Helleu e5285c5545 tests: remove duplicate test 2025-11-11 10:39:30 +01:00
Sébastien Helleu 538b95d405 core: fix typo in French translation of /help debug 2025-11-10 20:54:30 +01:00
Sébastien Helleu 1bfd744249 tests: add unit tests on command /hotlist 2025-11-10 20:48:24 +01:00
Sébastien Helleu cd20c0e843 tests: add unit tests on command /history 2025-11-10 15:06:44 +01:00
Sébastien Helleu 16245f44ae tests: add unit tests on command /help 2025-11-10 15:06:44 +01:00
Sébastien Helleu 2f8393d504 tests: add unit tests on command /filter 2025-11-10 15:06:44 +01:00
Sébastien Helleu d0298b4738 core: display a message with command /filter toggle
The command has now the same output as `/filter enable` or `/filter disable`:

  /filter toggle  =>  "Message filtering disabled"
  /filter toggle  =>  "Message filtering enabled"
2025-11-10 15:06:44 +01:00
Sébastien Helleu c34d26dd70 tests: add unit tests on command /eval 2025-11-10 15:06:44 +01:00
Sébastien Helleu 96e225ac39 tests: add unit tests on command /debug 2025-11-10 15:06:44 +01:00
Sébastien Helleu e570d76c53 tests: add macros to search messages using a regex 2025-11-10 15:06:44 +01:00
Sébastien Helleu 5f0eebc0df tests: add a function to search a message displayed with a regex 2025-11-10 15:06:44 +01:00
Sébastien Helleu 3a3dec985d tests: add missing include of string.h 2025-11-10 13:39:03 +01:00
Sébastien Helleu 7051dd4351 tests: add unit tests on command /cursor 2025-11-10 09:05:36 +01:00
Sébastien Helleu c0116febe5 core: display an error message in case of invalid parameters with command /cursor 2025-11-10 09:05:36 +01:00
Sébastien Helleu 1094e70de2 tests: add unit tests on command /command 2025-11-10 09:04:13 +01:00
Sébastien Helleu 08545facb6 tests: add unit tests on command /color 2025-11-10 09:04:13 +01:00
Sébastien Helleu 2c4ede614e tests: add unit tests on command /buffer 2025-11-10 09:04:13 +01:00
Sébastien Helleu 8c6e6bb383 core: display full buffer name in output of command /buffer listvar 2025-11-10 09:04:13 +01:00
Sébastien Helleu c9d4dd48a0 core: display an error message if the buffer is not found with command /buffer listvar 2025-11-10 09:04:13 +01:00
Sébastien Helleu af41184889 core: fix return code of command /buffer renumber when the start number is invalid 2025-11-10 09:04:13 +01:00
Sébastien Helleu a89d5302fd tests: add unit tests on command /bar 2025-11-10 09:04:13 +01:00
Sébastien Helleu b61dca7d2d tests: add unit tests on command /allbuf 2025-11-10 09:04:13 +01:00
Sébastien Helleu 4232123ca3 tests: add macros to test errors with commands 2025-11-10 09:04:13 +01:00
Sébastien Helleu 6d7dd46015 core: display an error message if the bar is not found with command /bar scroll 2025-11-10 09:04:13 +01:00
Sébastien Helleu 93c0ee57c8 plugins: move description of weechat-plugin.h below the copyright and license 2025-11-09 13:02:08 +01:00
weechatter 5433d25889 doc: update German documentation 2025-11-09 11:23:44 +01:00
weechatter 3ed6726625 core: update German translations 2025-11-09 11:01:20 +01:00
Sébastien Helleu 8143d44e44 buflist: replace hardcoded "buflist" by constant in error message 2025-11-01 16:10:11 +01:00
Sébastien Helleu 0dab9b9257 irc: display a warning for each unknown or invalid server option in commands /connect and /server 2025-11-01 16:02:53 +01:00
Sébastien Helleu 07ef353b1b irc: remove temporary servers and option irc.look.temporary_servers 2025-11-01 09:15:54 +01:00
Ivan Pešić 234244f8d5 core: update Serbian translation 2025-10-31 23:17:49 +01:00
Sébastien Helleu 063aa86978 core: disable "stateful" phase in schemathesis config 2025-10-26 20:23:58 +01:00
Sébastien Helleu 93d73d234f relay/api: consider boolean/long query string parameters as invalid if they are empty 2025-10-26 18:12:02 +01:00
Sébastien Helleu df3232fc80 core: move entries in ChangeLog 2025-10-26 18:11:39 +01:00
Sébastien Helleu d05b83d03f relay/api: return an error 401 when header "x-weechat-totp" is received with empty value 2025-10-26 10:11:10 +01:00
Sébastien Helleu 0009732f78 relay/api: return an error 401 when header "x-weechat-totp" has an invalid value 2025-10-26 09:19:43 +01:00
Sébastien Helleu e637e0de1c relay/api: return an error 400 when URL parameters "nicks", "lines" and "lines_free" have an invalid value 2025-10-26 08:07:23 +01:00
Sébastien Helleu 58c873809b relay/api: return an error 400 when URL parameter "colors" has an invalid value 2025-10-26 07:22:10 +01:00
weechatter 8eed89c43c core: update German translations 2025-10-24 18:20:06 +02:00
Sébastien Helleu 1b669cd13c irc: fix warning on creation of irc.msgbuffer option when the server name contains upper case letters (closes #2281)
Now the following command is OK without warning:

  /set irc.msgbuffer.TEST.notice current

And the following command returns an error instead of a warning (that means the
option is NOT created):

  /set irc.msgbuffer.TEST.NOTICE current
2025-10-14 22:56:41 +02:00
Sébastien Helleu f854db17ff core: add hdata for hooks
New hooks:

- hook
- hook_command
- hook_command_run
- hook_completion
- hook_config
- hook_connect
- hook_fd
- hook_focus
- hook_hdata
- hook_hsignal
- hook_info
- hook_info_hashtable
- hook_infolist
- hook_line
- hook_modifier
- hook_print
- hook_process
- hook_signal
- hook_timer
- hook_url

New lists (for hooks of type "hook"):

- weechat_hooks_command, last_weechat_hook_command
- weechat_hooks_command_run, last_weechat_hook_command_run
- weechat_hooks_completion, last_weechat_hook_completion
- weechat_hooks_config, last_weechat_hook_config
- weechat_hooks_connect, last_weechat_hook_connect
- weechat_hooks_fd, last_weechat_hook_fd
- weechat_hooks_focus, last_weechat_hook_focus
- weechat_hooks_hdata, last_weechat_hook_hdata
- weechat_hooks_hsignal, last_weechat_hook_hsignal
- weechat_hooks_info, last_weechat_hook_info
- weechat_hooks_info_hashtable, last_weechat_hook_info_hashtable
- weechat_hooks_infolist, last_weechat_hook_infolist
- weechat_hooks_line, last_weechat_hook_line
- weechat_hooks_modifier, last_weechat_hook_modifier
- weechat_hooks_print, last_weechat_hook_print
- weechat_hooks_process, last_weechat_hook_process
- weechat_hooks_signal, last_weechat_hook_signal
- weechat_hooks_timer, last_weechat_hook_timer
- weechat_hooks_url, last_weechat_hook_url
2025-10-12 17:37:24 +02:00
Sébastien Helleu 72b2242135 irc: send SASL username with mechanism EXTERNAL (closes #2270)
The SASL username is sent if set, otherwise "+" is still sent.
2025-10-12 16:11:33 +02:00
Sébastien Helleu b066f713d7 tests: fix memory leak in tests on SASL PLAIN authentication mechanism 2025-10-12 16:07:52 +02:00
Sébastien Helleu 63313468c9 xfer: add buffer local variable "server" in DCC CHAT buffers 2025-10-04 13:19:01 +02:00
Sébastien Helleu d9ba00223b irc: request and perform SASL authentication when the server advertises SASL support with message "CAP NEW" (closes #2277)
The SASL authentication is done only if not already authenticated with SASL.
2025-10-03 10:26:04 +02:00
Ivan Pešić ae5b74549c core: update Serbian translations
Update Serbian messages and documentation translations.
2025-09-23 12:46:01 +02:00
Sébastien Helleu 222cb4876e core: set max version for Curl symbol CURLOPT_KRBLEVEL 2025-09-23 12:13:33 +02:00
Sébastien Helleu dc22d70dd4 core: fix style in ChangeLog 2025-09-20 10:45:32 +02:00
weechatter 949f860267 core: update German translations 2025-09-16 21:08:27 +02:00
Sébastien Helleu e2ae308e3b core: add option weechat.completion.cycle 2025-09-11 21:10:52 +02:00
Sébastien Helleu 767ea84909 core: add issue #886 in ChangeLog 2025-09-02 23:02:17 +02:00
Sébastien Helleu 665773b119 doc/api: add supported date/time format in function util_parse_time 2025-08-31 12:15:33 +02:00
Sébastien Helleu 21a958423e logger: change default time format to "%@%F %T.%fZ" (UTC) 2025-08-31 12:15:33 +02:00
Sébastien Helleu 1c09118fe1 api: allow lower characters "t" and "z" in function util_parse_time
The following dates are now parsed with the same result:

  2025-08-30T20:12:55.866643Z
  2025-08-30t20:12:55.866643z
2025-08-31 12:15:33 +02:00
Sébastien Helleu 47c1128fb9 logger: improve parsing of date/time in log files to display backlog
The function `util_parse_time` is now first used to parse the date/time,
allowing to auto-detect the format (not based on the option
logger.file.time_format).

If the parsing fails, then we fallback on the call to `strptime`, using the
format in option logger.file.time_format (legacy behavior).

This allows to change the option logger.file.time_format without impact on the
display of the backlog.
2025-08-31 12:15:33 +02:00
Sébastien Helleu 1038f0de24 logger: remove unused include 2025-08-31 12:15:33 +02:00
Sébastien Helleu 5acbfe9b7d api: fix parsing of date/times with timezone offset in function util_parse_time 2025-08-31 12:15:33 +02:00
Sébastien Helleu 7980a6d100 api: add support of date like ISO 8601 but with spaces in function util_parse_time
So for example the format "2024-01-04 22:01:02.123456 +0100" is supported in
addition to ""2024-01-04T22:01:02.123456+0100".
2025-08-31 12:15:33 +02:00
Sébastien Helleu f630c36af0 core: remove obsolete Curl options CURLOPT_SOCKS5_GSSAPI_SERVICE and CURLOPT_HTTPPOST (issue #2268) 2025-08-31 12:14:50 +02:00
Sébastien Helleu 8e4ce78c97 core: update ChangeLog (issue #2268) 2025-08-31 11:58:53 +02:00
Emil Velikov b2d9ad9e22 Bump required enchant to v2, use pkg_check_modules()
Bump the requirement to v2, which means we can remove the
HAVE_ENCHANT_GET_VERSION workaround.

It was released over 8 years ago, with 8 new feature releases since
then and dozens of bugfix releases throughout.

The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 2.2.8 and 2.2.15 respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2025-08-31 10:36:20 +02:00
Emil Velikov c48485bc46 Bump required lua to v5.3
Bump the requirement to v5.3, which means we can remove all the ifdef
guards.

It was released over 10 years ago, with 2 new feature releases since
then and half a dozen of bugfix releases in the 5.3 branch.

The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 5.3.3 and 5.4.2 respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2025-08-31 10:36:20 +02:00
Emil Velikov f48e6ee81d Bump required (lib)gcrypt to v1.8.0
Bump the requirement to v1.8.0, which means we can remove ~70% of the
ifdef guard.

It was released over 8 years ago, with 3 new feature releases since
then and dozen of bugfix releases in the 1.8 branch.

The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 1.8.5 and 1.8.7 respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2025-08-31 10:36:20 +02:00
Emil Velikov 87eb6cc7e1 Bump required gnutls to v3.6.3
Bump the requirement to v3.6.3, which means we can remove the final
ifdef guard and all the builds have TLS 1.3 support.

It was released over 7 years ago, with 2 new feature releases since
then and dozen of bugfix releases in the 3.6 branch.

The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 3.6.13 and 3.7.1 respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2025-08-31 10:36:20 +02:00
Emil Velikov 8c372c0c01 Bump required (lib)curl to v7.68.0
Bump the requirement to v7.68.0, which means we can remove ~70% of the
ifdef guards. It was released over 5 years ago, with 30+ new curl
releases since then and dozens of CVEs fixed.

The oldest distributions we target Ubuntu 20.04 and Debian Bullseye,
have 7.68.0 and 7.74.0 respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2025-08-31 10:36:20 +02:00
Sébastien Helleu def60c1e1c core: cast Curl proxy port option to long
This fixes this warning with clang:

src/core/core-url.c:1017:5: warning: call to '_curl_easy_setopt_err_long' declared with 'warning' attribute: curl_easy_setopt expects a long argument [-Wattribute-warning]
 1017 |     curl_easy_setopt (curl, CURLOPT_PROXYPORT,
      |     ^
/usr/include/x86_64-linux-gnu/curl/typecheck-gcc.h:50:15: note: expanded from macro 'curl_easy_setopt'
   50 |               _curl_easy_setopt_err_long();                             \
      |               ^
2025-08-31 10:10:15 +02:00
Sébastien Helleu 08651ba820 core: add version 4.7.1 2025-08-16 22:00:21 +02:00
Sébastien Helleu bff910cae3 relay/api: fix crash when an invalid HTTP request is received from a client
When invalid data is received (not an HTTP request), client->http_req->method
is NULL, so we have to check it's not NULL before comparing it to the supported
methods.

This fixes a regression introduced in commit
93ec10b563.
2025-08-16 21:19:43 +02:00
Sébastien Helleu 0861716ae1 core: fix link to issue in ChangeLog 2025-07-19 12:22:46 +02:00
Sébastien Helleu 627862218a Version 4.8.0-dev 2025-07-19 12:05:24 +02:00
Sébastien Helleu 285a6b8ce4 Version 4.7.0 2025-07-19 12:01:43 +02:00
Ivan Pešić be8e94f3cd core: update Serbian translations 2025-07-13 22:19:17 +02:00
Emir SARI db7ecc1af1 core: Update Turkish translations
Signed-off-by: Emir SARI <emir_sari@icloud.com>
2025-07-13 22:18:39 +02:00
Sébastien Helleu 74a4b3e249 core: move parameter "continue-on-failure" on the global level in schemathesis config 2025-07-02 22:53:00 +02:00
Sébastien Helleu be78d185ea relay/api: bump API version to 0.4.1 2025-07-02 20:52:42 +02:00
Sébastien Helleu 58067431de relay/api: process HTTP request received as soon as a NULL char is received
This fixes the API probe made by schemathesis, so it detects immediately that
such NULL byte is not allowed by WeeChat, instead of timing out after 10
seconds:

   API capabilities:

     Supports NULL byte in headers:    ✘
2025-07-02 20:32:09 +02:00
Sébastien Helleu 87e84d9053 ci: replace script tools/test_relay_api.sh by configuration file schemathesis.toml 2025-07-02 20:32:09 +02:00
Sébastien Helleu 902332c3e6 relay/api: move resource bodies into their paths in OpenAPI document 2025-07-02 20:32:09 +02:00
Sébastien Helleu 0b82429b39 relay/api: add example of value for the parameter buffer_id in OpenAPI document 2025-07-02 20:32:09 +02:00
Sébastien Helleu 8b2165d441 relay/api: fix example of ping data in OpenAPI document 2025-07-02 20:32:09 +02:00
Sébastien Helleu fca2412424 relay/api: fix example of completion list in OpenAPI document 2025-07-02 20:32:09 +02:00
Sébastien Helleu d279a80733 relay/api: remove extra double quote in example of line date (OpenAPI document) 2025-07-02 20:32:09 +02:00
Sébastien Helleu 4444addf4d relay/api: fix operationId of completion resource in OpenAPI document 2025-07-02 20:32:09 +02:00
Sébastien Helleu 4ce74403dc relay/api: fix typo in OpenAPI document 2025-07-02 20:32:09 +02:00
Sébastien Helleu 1db29cb1ed relay/api: reject any invalid or unknown password hash algorithm in handshake resource 2025-07-02 20:32:09 +02:00
Sébastien Helleu d8baabd250 relay/api: use "buffer_name" first if received, then "buffer_id" in completion and input resources
This fixes some tests done by shemathesis, which sends "buffer_id" to
0 (unknown buffer) and "buffer_name" to a valid buffer name.
2025-07-02 20:32:09 +02:00
Sébastien Helleu 4348036e2e tests: remove duplicated "HTTP/1.1" in some relay API tests 2025-07-02 20:32:09 +02:00
Sébastien Helleu 93ec10b563 relay/api: return HTTP error 405 (Method Not Allowed) when the method received is not allowed 2025-07-02 20:32:09 +02:00
Sébastien Helleu cd0486d5bb ci: set password hash iterations to 100 for API tests
This is much faster than the default number of iterations which is 100000).
2025-07-02 20:32:09 +02:00
Sébastien Helleu b4f28ed2d4 ci: set unlimited number of relay clients for API tests 2025-07-02 20:32:09 +02:00
Sébastien Helleu 323f80e914 core: add option weechat.completion.partial_completion_auto_expand (closes #2253) 2025-06-30 18:52:58 +02:00
Sébastien Helleu 56903738b5 core: always enable partial completion for templates in option weechat.completion.partial_completion_templates (issue #2253)
Previous behavior was to reverse the partial completion, which was confusing
when option like weechat.completion.partial_completion_command_arg was enabled
as well.
2025-06-30 18:52:58 +02:00
Sébastien Helleu 6d45a69f39 core: set max version for Curl symbol CURLOPT_SSL_FALSESTART 2025-06-21 20:30:05 +02:00
Sébastien Helleu 34f2e6cdd0 core: add script name in output of /debug hooks <plugin> 2025-06-08 16:36:46 +02:00
Sébastien Helleu a6e859b7ff tests: add test with a float number using a lot of decimals in calculation of expression
This test validates the fix made in commit
5b4820ab06 and will prevent regression with such
numbers.
2025-06-07 09:45:15 +02:00
Sébastien Helleu 103bddcc50 core: add issue number in ChangeLog 2025-05-25 09:59:17 +02:00
Sébastien Helleu 76a64e1280 core: update ChangeLog (issue #2251) 2025-05-25 09:55:01 +02:00
Sébastien Helleu 75c01e8c8d core: fix build on FreeBSD (issue #2251)
Check if the resolv library is found before checking if it has res_init.
2025-05-25 09:44:06 +02:00
Albert Lee e8ce75f20c core: avoid dynamic format strings for Clang -Werror=format-security 2025-05-25 09:26:10 +02:00
Albert Lee 47f7518c1f gui: use NCURSES_CFLAGS if available 2025-05-25 09:26:08 +02:00
Albert Lee 9a9a262ea1 python: use built-in CMake FindPython module from CMake 3.12 or higher 2025-05-25 09:19:05 +02:00
Albert Lee 7fb3ca6686 core: always define _XPG4_2 and __EXTENSIONS__ on Solaris/illumos 2025-05-25 09:06:51 +02:00
Albert Lee e98a32373e core: check if res_init requires linking with libresolv 2025-05-25 09:05:42 +02:00
Albert Lee 69d3787b5e core: improve support for non-macro htonll and htobe64 2025-05-25 09:03:48 +02:00
Sébastien Helleu aa6cbf911e tests/fuzz: add link option -fsanitize=fuzzer-no-link when fuzzer sanitizer is used 2025-05-24 08:27:05 +02:00
Albert Lee cf1c4a689d core: use same msgfmt invocation to perform checks and create weechat.mo
On Illumos, msgfmt aborts when `--output-file=/dev/null` is used.
2025-05-22 21:03:03 +02:00
Albert Lee 48568edfe0 lua: use LUA_CFLAGS from pkg-config 2025-05-22 21:02:58 +02:00
Albert Lee d7b26e88b8 core: include pthread.h for pthread types 2025-05-22 21:02:53 +02:00
Sébastien Helleu 0407a08888 doc/api: fix invalid cross references 2025-05-20 20:56:02 +02:00
Sébastien Helleu ff3fd38086 doc/user: fix invalid cross references 2025-05-20 20:53:56 +02:00
Sébastien Helleu 847208f196 core: add verbose flag in asciidoctor
This allows asciidoctor to display important messages, for example invalid
references like this one:

  asciidoctor: INFO: possible invalid reference: compile_with_cmake
2025-05-20 20:51:26 +02:00
Sébastien Helleu f6ef908740 core: add contributor (issue #2252) 2025-05-20 10:16:26 +02:00
Caleb Josue Ruiz Torres f2bd5d773b core: update Spanish translations 2025-05-20 10:12:34 +02:00
Sébastien Helleu 6cbb35c644 core: fix typo in ChangeLog 2025-05-18 22:32:40 +02:00
Sébastien Helleu 372e7306bc core: update ChangeLog 2025-05-18 22:28:02 +02:00
Sébastien Helleu 927a50e366 core, plugins: replace "%p" by "%lx" in calls to sscanf 2025-05-18 22:17:29 +02:00
Sébastien Helleu d0c00f7db2 Revert "core, plugins: replace "%lx" by "%p" in calls to sscanf"
This reverts commit e64ab3c675.

This was causing incorrect conversion of strings "0x..." to pointers on systems
like Solaris/illumos.

And as a side effect, buffers were sometimes empty in weechat relay clients
like glowing-bear.
2025-05-18 22:17:16 +02:00
Sébastien Helleu 9783256649 relay/api: use specifier %@ for times formatted by util_strftimeval 2025-05-18 22:15:39 +02:00
Sébastien Helleu 8106db400d core: add support of specifier %@ for UTC time in function util_strftimeval 2025-05-18 22:15:06 +02:00
Sébastien Helleu 4d617d0e01 tests/fuzz: ignore huge data in fuzz testing of calculation functions 2025-05-18 17:22:10 +02:00
Sébastien Helleu acbf1ddfcf tests/fuzz: ignore empty or huge data in fuzz testing of secured data functions 2025-05-18 17:20:49 +02:00
Sébastien Helleu 999262cbf2 core: add version 4.6.3 2025-05-11 11:47:01 +02:00
Sébastien Helleu 7b674c2618 core: add extra checks in function eval_string_range_chars
This is done in addition to changes made in commit
d475c16671 to fix the buffer overflow, caused by
the call to function utf8_next_char.
2025-05-11 10:26:17 +02:00
Sébastien Helleu 1efa9d6b08 core: reactivate CMake tests in root build directory (issue #1462)
This fixes the command `ctest` executed in the root build directory.
It was removed by accident in commit 68d87f2b80.
2025-05-11 10:15:08 +02:00
Sébastien Helleu 1fe23d9233 core: add API functions utf8_next_char, utf8_char_size and util_version_number in upgrade guidelines 2025-05-11 07:54:55 +02:00
Sébastien Helleu 5cfee46b59 tests/fuzz: add fuzz testing on evaluation functions (issue #1462) 2025-05-10 21:21:35 +02:00
Sébastien Helleu 75195d32da tests/fuzz: fix fuzz testing on function secure_derive_key (issue #1462) 2025-05-10 21:21:33 +02:00
Sébastien Helleu d475c16671 core: fix buffer overflow in function utf8_next_char and return NULL for empty string
Now the function utf8_next_char with an empty string returns NULL instead of
the next char, which is most of the time after an allocated buffer.

And the function utf8_char_size with an empty string now returns 0 instead of
1.

This indirectly fixes a buffer overflow in function eval_string_range_chars
when the input string is empty (for example when doing `/eval -n ${chars:}`).
2025-05-10 20:53:04 +02:00
Sébastien Helleu 6ecd9e66bf core: fix buffer overflow in function eval_string_base_encode 2025-05-10 15:28:41 +02:00
Sébastien Helleu 9d37159a6b core: use dynamic string in function string_replace_with_callback 2025-05-10 15:26:12 +02:00
Sébastien Helleu aa54d3653c core: fix buffer overflow in function eval_syntax_highlight_colorize 2025-05-10 15:26:09 +02:00
Sébastien Helleu b32f8662bc doc/dev: split components for tests: tests/fuzz and tests/unit 2025-05-09 08:15:28 +02:00
Sébastien Helleu f9520b971e tests/fuzz: add fuzz testing on secured data functions (issue #1462) 2025-05-09 08:15:28 +02:00
Sébastien Helleu 776b908431 tests/fuzz: remove unnecessary malloc 2025-05-08 20:54:38 +02:00
Sébastien Helleu 58a4dc757d doc/dev: add missing test files 2025-05-08 20:49:04 +02:00
Sébastien Helleu 229259b8c2 tests: add fuzz testing on some core util functions (issue #1462) 2025-05-08 20:43:24 +02:00
Sébastien Helleu 1d808a1f1c core: fix buffer overflow in function util_parse_time 2025-05-08 19:09:18 +02:00
Sébastien Helleu 2bc290b6ed core: fix integer overflow and return "unsigned long" in function util_version_number 2025-05-08 18:45:39 +02:00
Sébastien Helleu f6cace609c core: fix memory leak in function util_parse_delay 2025-05-08 18:12:11 +02:00
Sébastien Helleu 1da89711a7 tests/fuzz: increase code covered by string tests 2025-05-08 17:04:23 +02:00
Sébastien Helleu 675c3279ac tests/fuzz: initialize gettext before UTF-8 tests 2025-05-08 17:02:37 +02:00
Sébastien Helleu 7341d670b3 tests: add build script for OSS-Fuzz (issue #1462) 2025-05-07 21:38:37 +02:00
Sébastien Helleu 38bf51ccfb tests: convert fuzzing sources to C++ 2025-05-07 21:15:51 +02:00
Sébastien Helleu d74fc99fe1 core: write configuration files on disk only if there are changes (closes #2250) 2025-05-07 20:44:54 +02:00
Sébastien Helleu 51d24fd2da api: add function file_compare (issue #2250) 2025-05-07 20:44:48 +02:00
Sébastien Helleu 9a661aecd0 tests: move fuzzing dict to core directory 2025-05-07 13:21:47 +02:00
Sébastien Helleu 85f565f6c1 core: add appropriate compiler/linker options for code coverage with clang 2025-05-07 13:20:44 +02:00
Sébastien Helleu 7cae4b276d tests: remove useless variable rc 2025-05-06 07:13:38 +02:00
Sébastien Helleu 8e390939f9 core: fix typo in ChangeLog 2025-05-06 07:59:49 +02:00
Sébastien Helleu ca6035f754 core: fix integer overflow in base32 encoding/decoding 2025-05-05 20:43:21 +02:00
Sébastien Helleu 5b4820ab06 core: fix integer overflow with decimal numbers in calculation of expression 2025-05-05 20:25:41 +02:00
Sébastien Helleu 68d87f2b80 tests: add fuzz testing on core functions (issue #1462)
This commit introduces fuzz testing, for now on core functions, with 4 new
targets that are built on demand with CMake option `ENABLE_FUZZ` (build of
these tests is disabled by default):

- weechat_core_calc_fuzzer
- weechat_core_crypto_fuzzer
- weechat_core_string_fuzzer
- weechat_core_utf8_fuzzer
2025-05-05 19:12:00 +02:00
Sébastien Helleu ceb6a007ff core: add missing empty line 2025-05-05 13:18:35 +02:00
Sébastien Helleu 59b06c96de doc/dev: add missing tests directories and sources 2025-05-05 13:18:35 +02:00
Sébastien Helleu a1cbe63a42 tests: move CMake file, main C++/headers for tests and scripts to unit directory 2025-05-05 13:18:34 +02:00
Nils Görs e15b369aa7 core: update German translations 2025-05-05 09:28:15 +02:00
Sébastien Helleu 9f4cbe599b ci: add variable JOBS in script build_test.sh 2025-05-04 20:45:29 +02:00
Sébastien Helleu 8b6480272a ci: replace variable BUILDARGS by command line arguments 2025-05-04 20:19:54 +02:00
Sébastien Helleu 84c526ac20 ci: use script build_test.sh in macOS CI 2025-05-04 16:15:25 +02:00
Sébastien Helleu f08b6beeda ci: add variable "RUN_TESTS" in script build_test.sh
When set to "0", the tests are not executed after the build.
2025-05-04 16:15:21 +02:00
Sébastien Helleu 4116f62dd8 ci: split jobs config on multiple lines 2025-05-04 16:10:05 +02:00
Sébastien Helleu 5b62cb6451 buflist: add variables ${number_zero} and ${number_zero2} (zero-padded buffer number) 2025-05-04 09:28:03 +02:00
Sébastien Helleu 36be7ac1ff doc: update header in custom styles for asciidoctor 2025-04-26 14:56:35 +02:00
Sébastien Helleu ac04215164 core: move copyright/license header at the top of the cmake file 2025-04-26 14:55:02 +02:00
Sébastien Helleu 4d130d6b06 doc: move copyright/license headers at the top of the asciidoctor attributes files 2025-04-26 14:54:26 +02:00
Sébastien Helleu 44197397ef tests: remove obsolete coding charset in Python scripts 2025-04-26 14:52:39 +02:00
Sébastien Helleu b2a5d5995b doc: move copyright/license headers at the top of the files 2025-04-26 14:10:48 +02:00
Sébastien Helleu 683fa2f585 irc: add support of strikethrough color attribute (using half bright) (closes #2248)
As ncurses doesn't support strikethrough, the text is rendered as half
bright (WeeChat color: "dim").
2025-04-26 14:10:43 +02:00
Sébastien Helleu a008e8a423 core: move some copyrights and licenses from REUSE config into the files 2025-04-25 18:16:02 +02:00
Sébastien Helleu 0e777fef4e core: update example in /help key 2025-04-25 18:12:59 +02:00
Sébastien Helleu da4c24152b core: add option "precedence" in REUSE configuration 2025-04-22 20:54:51 +02:00
Sébastien Helleu 32e3e76dd3 doc/dev: add REUSE ignore tags 2025-04-22 20:54:33 +02:00
Sébastien Helleu a336a26fc6 doc/man: add REUSE ignore tags 2025-04-22 20:53:50 +02:00
Sébastien Helleu be3e487bd6 ci: replace TCL 8.7 by 8.6 in FreeBSD CI 2025-04-21 08:40:45 +02:00
Sébastien Helleu e282f77eee core: add parameter --show-trace in the call to schemathesis
This displays a complete traceback information in case of internal error.
2025-04-20 09:07:45 +02:00
Ivan Pešić 286122b0c3 doc: update Serbian documentation 2025-04-19 13:53:32 +02:00
Sébastien Helleu 7a28bb95e2 core: add version 4.6.2 2025-04-18 20:47:09 +02:00
Sébastien Helleu a215a4581c debian: update changelog 2025-04-18 20:44:58 +02:00
Sébastien Helleu 86a910884b debian: bump Standards-Version to 4.7.2 2025-04-18 20:44:57 +02:00
Sébastien Helleu 41f96c6494 core: fix write of weechat.log to stdout with weechat-headless --stdout (closes #2247) 2025-04-15 08:11:39 +02:00
Sébastien Helleu 0835d043de doc/api: fix typo in description of function hook_url 2025-04-12 12:20:59 +02:00
Sébastien Helleu d0babe8679 core: add refresh of window title on buffer switch, when option weechat.look.window_title is set 2025-04-11 19:30:32 +02:00
Sébastien Helleu 61ce24cf46 core: add version 4.6.1 2025-04-09 14:09:29 +02:00
Sébastien Helleu cf2e7f4691 core: fix REUSE configuration 2025-04-05 17:19:10 +02:00
Sébastien Helleu 86d68a87d5 core: rename issue templates 2025-04-05 17:16:47 +02:00
Sébastien Helleu 0c3eaa9ba2 ci: add separate GitHub actions workflow for the REUSE compliance check 2025-04-05 17:16:43 +02:00
Sébastien Helleu 5e47c6453e ci: add copyright and license in GitHub Actions CI workflow 2025-04-05 16:53:28 +02:00
Sébastien Helleu 5ccbdca0c9 core: consider all keys are safe in cursor context (closes #2244) 2025-04-04 18:52:58 +02:00
Sébastien Helleu ea90809e6c core: update ChangeLog (issue #2243) 2025-04-02 22:59:55 +02:00
Alvar Penning d4b8685551 perl: fix build when multiplicity is not available
Building WeeChat 4.6.0 on OpenBSD failed with the following error.

> /usr/ports/pobj/weechat-4.6.0/weechat-4.6.0/src/plugins/perl/weechat-perl.c:356:13: error: expected ')'
>             function) < 0)
>             ^
> /usr/ports/pobj/weechat-4.6.0/weechat-4.6.0/src/plugins/perl/weechat-perl.c:352:9: note: to match this '('
>     if (weechat_asprintf (
>         ^
> /usr/ports/pobj/weechat-4.6.0/weechat-4.6.0/src/plugins/perl/../weechat-plugin.h:1312:31: note: expanded from macro 'weechat_asprintf'
>     (weechat_plugin->asprintf)(__result, __fmt, ##__argz)

On further inspection, the line in question was recently altered in
099e11d7b8, where a comma was forgotten in the
else branch of the MULTIPLICITY ifdef.

After adding the comma, WeeChat builds as usual.
2025-04-02 22:58:10 +02:00
Sébastien Helleu 5ba7a72d90 ci: add build without perl multiplicity 2025-04-02 22:54:21 +02:00
Sébastien Helleu db5afcde92 core: add REUSE badge in README 2025-03-31 20:59:59 +02:00
Sébastien Helleu b0cfdeff94 doc/dev: add copyright and license information (SPDX / REUSE) 2025-03-31 12:09:21 +02:00
Sébastien Helleu ff9d580ef5 ci: add reuse lint 2025-03-31 11:47:49 +02:00
Sébastien Helleu 2475f20cb7 all: move description of C files below the copyright and license 2025-03-31 11:47:49 +02:00
Sébastien Helleu 3a6ac9ee76 all: add SPDX license tag 2025-03-31 07:49:26 +02:00
Sébastien Helleu 4ab35ad44a core: add REUSE configuration file 2025-03-30 14:47:12 +02:00
Sébastien Helleu 55d936d63a relay: add SPDX copyright tag in relay OpenAPI document 2025-03-30 14:47:12 +02:00
Sébastien Helleu 0a5222f5d6 php: add SPDX copyright tag in PHP stub file 2025-03-30 14:47:12 +02:00
Sébastien Helleu f4b29093ca python: add SPDX copyright tag in Python stub file 2025-03-30 14:47:12 +02:00
Sébastien Helleu cf3e24cda8 doc: add SPDX copyright tag in docs 2025-03-30 14:47:12 +02:00
Sébastien Helleu d8987a1678 all: replace Copyright lines by SPDX copyright tag 2025-03-30 14:47:12 +02:00
Sébastien Helleu 8260963932 core: remove file FindPkgConfig.cmake
Rely on the file provided by CMake itself.
2025-03-30 14:05:51 +02:00
Sébastien Helleu 45c8bab9b8 irc: display nick changes and quit messages when option irc.look.ignore_tag_messages is enabled (closes #2241) 2025-03-28 12:08:40 +01:00
Sébastien Helleu 768534c606 core: add upgrade note in version 4.6.0 2025-03-28 12:07:53 +01:00
Ivan Pešić 7ca62883cf core: update Serbian translation 2025-03-28 07:50:16 +01:00
Sébastien Helleu 8ab1825b80 core: remove unused file FindZLIB.cmake 2025-03-24 18:31:55 +01:00
Sébastien Helleu 369917f1bc core: remove unused file CMakeParseArguments.cmake 2025-03-24 18:25:11 +01:00
Sébastien Helleu 7370e04017 Version 4.7.0-dev 2025-03-23 10:45:42 +01:00
Sébastien Helleu 9663f79746 Version 4.6.0 2025-03-23 10:42:41 +01:00
Sébastien Helleu e0b7d2a645 core: update ChangeLog 2025-03-21 07:53:29 +01:00
Nils Görs 99bb1454a4 core: update German translations 2025-03-17 11:03:14 +01:00
Sébastien Helleu caa7af253a tests: add tests on function util_strftimeval with microseconds < 0 or > 999999 2025-03-17 08:12:33 +01:00
Sébastien Helleu 36300c763d core: update ChangeLog (issue #1174) 2025-03-16 15:58:30 +01:00
Sébastien Helleu e3ffef457f core: add contributor (issue #1174) 2025-03-16 15:58:30 +01:00
Sébastien Helleu 6d11468059 spell: rename variable "broker" to "spell_enchant_broker" 2025-03-16 15:58:30 +01:00
Joe Hermaszewski 6b19987e7f spell: allow overriding dictionaries locations
Works for aspell and myspell (hunspell) when using enchant.
2025-03-16 15:58:23 +01:00
Sébastien Helleu d91039ebd0 core: update ChangeLog 2025-03-16 15:11:41 +01:00
Sébastien Helleu 2e6249588f core: update ChangeLog (issue #665) 2025-03-16 15:01:17 +01:00
Sébastien Helleu 847ce17718 xfer: replace "ETA" by "time left" 2025-03-16 15:01:17 +01:00
Andrew Potter 15e2da3aac xfer: compute speed and ETA with microsecond precision 2025-03-16 15:01:17 +01:00
Sébastien Helleu ca22e49041 core, irc: replace "long" by "long long" to store seconds in timeval structure 2025-03-16 14:05:11 +01:00
Sébastien Helleu 764b309e92 core, irc, relay: fix formatting of seconds and microseconds 2025-03-16 14:04:28 +01:00
Sébastien Helleu c0402bce52 core: fix formatting of microseconds in function util_strftimeval 2025-03-16 14:01:04 +01:00
Sébastien Helleu 9fe5fa23a0 core: convert "long long" to "unsigned long long" in functions util_get_microseconds_string and util_parse_delay 2025-03-16 11:13:25 +01:00
Nils Görs e8a335a3e3 core: update German translations 2025-03-16 10:42:23 +01:00
Sébastien Helleu e9983821e7 buflist: fix typo in help on option buflist.look.nick_prefix_empty 2025-03-16 10:36:23 +01:00
Sébastien Helleu b25a9b11a0 buflist: apply option buflist.look.nick_prefix_empty also on private and list buffers 2025-03-15 19:19:19 +01:00
Aaron Jones f5038bccbc Fix function prototypes for list of arguments
At the moment, building WeeChat triggers several thousand -Wstrict-prototypes
diagnostics.  This is due to its source code using an empty argument list for
functions and function pointers that take no arguments, instead of explicitly
declaring that they take no arguments by using a void list.

This commit replaces all empty argument lists with a void list.

Note that Ruby's headers also suffer the same problem, which WeeChat can't
do anything to fix.  Thus, building WeeChat with the Ruby plugin enabled
will still issue approximately 30 such diagnostics.
2025-03-10 08:16:52 +01:00
Nils Görs 20b2bdedc2 core: update German translations 2025-03-09 11:25:46 +01:00
Sébastien Helleu 95366c37b7 doc/api: add reference to function hook_process 2025-03-09 09:40:46 +01:00
Sébastien Helleu 80bb54fed8 doc/api: add difference between hook_url and hook_process_hashtable 2025-03-09 09:31:36 +01:00
Sébastien Helleu 68d452b559 core: improve help on option weechat.completion.nick_ignore_words 2025-03-09 08:26:09 +01:00
Nils Görs 357b7e0d55 core: update German translations 2025-03-08 09:33:15 +01:00
Krzysztof Korościk d8106f863a doc: updated polish translation 2025-03-03 22:43:55 +01:00
Sébastien Helleu 2e570c599b core: add option weechat.completion.nick_ignore_words (closes #1143) 2025-03-03 08:27:22 +01:00
Sébastien Helleu 8280a3b65b api: return input string in function string_iconv_from_internal when current locale is wrong
This fixes a bug when writing configuration files with a wrong locale: now
UTF-8 is kept and written in files instead of string converted using a wrong
charset.
2025-03-01 16:44:22 +01:00
Sébastien Helleu f7cf044f33 core: add version 4.5.2 2025-02-20 23:56:38 +01:00
Sébastien Helleu 98aca3343a debian: update changelog 2025-02-20 23:05:06 +01:00
Sébastien Helleu d9ee4a3c13 core: update ChangeLog 2025-02-20 22:54:37 +01:00
Nils Görs 19d84e975e core: update German translations 2025-02-19 08:28:08 +01:00
Sébastien Helleu c33a28cfca core: add contributor (issue #2234) 2025-02-18 22:11:27 +01:00
Sébastien Helleu 145423c11f core: update ChangeLog (issue #2234) 2025-02-18 22:11:23 +01:00
Sébastien Helleu 4865fe07e2 core: update translations (issue #2234) 2025-02-18 22:11:19 +01:00
Daniel Lublin cc163a0e7e irc: add option -connected in command /server list|listfull 2025-02-18 22:09:24 +01:00
Nils Görs 17e7796669 core: update German translations 2025-02-16 10:35:55 +01:00
Sébastien Helleu 83c4b940a6 tests: fix long lines in Python test script 2025-02-16 00:08:30 +01:00
Sébastien Helleu 8c1379e820 tests: fix indentation in Python test script 2025-02-16 00:08:15 +01:00
Sébastien Helleu e86e558f3f xfer: keep spaces at the end of /me command arguments 2025-02-15 23:42:29 +01:00
Sébastien Helleu 718a317cfb alias: keep spaces at the end of aliases commands arguments 2025-02-15 23:37:06 +01:00
Sébastien Helleu c275f9d994 alias: keep spaces at the end of /alias command arguments 2025-02-15 23:36:53 +01:00
Sébastien Helleu 9285afc3e2 irc: keep spaces at the end of /topic command arguments 2025-02-15 23:32:33 +01:00
Sébastien Helleu c7d21a3ea6 api: add function completion_set 2025-02-15 23:22:44 +01:00
Sébastien Helleu 1b54cd24ed irc: remove extra empty line 2025-02-15 21:14:10 +01:00
Sébastien Helleu d3a9e4e74b core: add extra check of string length on whitespace char options 2025-02-15 20:59:22 +01:00
Sébastien Helleu 8fd4a80af8 irc: keep spaces at the end of some command arguments
The following commands are now preserving trailing spaces in arguments
received: action, allchan, allpv, allserv, away, ctcp, me, msg, notice, query,
quote, saquit, squery, wallchops, wallops.
2025-02-15 20:54:24 +01:00
Sébastien Helleu 091a17b138 core: keep spaces at the end of some command arguments
The following commands are now preserving trailing spaces in arguments
received: allbuf, command, eval, mute, pipe, print, quit, repeat, wait.
2025-02-15 20:54:24 +01:00
Sébastien Helleu e89d6d69ad api: add property keep_spaces_right in function hook_set to keep trailing spaces in command arguments 2025-02-15 20:54:24 +01:00
Sébastien Helleu 3c9eb6dcac core: add option whitespace in command /debug (closes #947)
New options are added to configure the chars displayed for spaces and
tabulations:

- weechat.look.whitespace_char: char for spaces
- weechat.look.tab_whitespace_char: first char for tabulations
2025-02-15 20:54:14 +01:00
Ivan Pešić 8e9692809d core: update Serbian translations 2025-02-12 16:10:38 +01:00
Sébastien Helleu 6388d36858 core: remove unnecessary null check 2025-02-11 21:38:24 +01:00
Nils Görs 8198aade2e core: update German translations 2025-02-10 10:22:43 +01:00
Sébastien Helleu ca6e483cdc relay/api: add a way to toggle between remote and local command execution on remote buffers (issue #2148)
New default key:

- Alt+Ctrl+l (L): toggle execution of commands: remote/local

New options:

- relay.api.remote_input_cmd_local: text displayed for command executed locally
- relay.api.remote_input_cmd_remote: text displayed for command executed on the
  remote WeeChat
2025-02-09 18:31:37 +01:00
Sébastien Helleu 547e2b934e core: update copyright dates 2025-02-01 23:13:18 +01:00
Nils Görs 07deaf97ec core: update German translations 2025-02-01 10:36:31 +01:00
Sébastien Helleu daef5971ae core: add option -color in command /pipe 2025-02-01 09:37:22 +01:00
LuK1337 04aea1bcb5 core: use <stdbool.h> instead of typedef in ncurses-fake.h
Fixes the following error when building in Fedora rawhide:
error: ‘bool’ cannot be defined via ‘typedef’.

Likely GCC 15 related.
2025-01-26 08:54:55 +01:00
Sébastien Helleu 4b7be27028 core: add parameter name in signal handler functions 2025-01-26 08:49:15 +01:00
LuK1337 68c70e5538 core: add int arg for all sigaction.sa_handler functions
src/gui/curses/gui-curses-main.c: In function ‘gui_main_loop’:
src/gui/curses/gui-curses-main.c:399:33: error: passing argument 2 of ‘signal_catch’ from incompatible pointer type [-Wincompatible-pointer-types]
  399 |         signal_catch (SIGWINCH, &gui_main_signal_sigwinch);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                 |
      |                                 void (*)(void)
In file included from src/gui/curses/gui-curses-main.c:38:
src/gui/curses/../../core/core-signal.h:33:46: note: expected ‘void (*)(int)’ but argument is of type ‘void (*)(void)’
   33 | extern void signal_catch (int signum, void (*handler)(int));
      |                                       ~~~~~~~^~~~~~~~~~~~~
2025-01-26 08:46:04 +01:00
Nils Görs 865dd61d31 core: update German translations 2025-01-25 21:30:47 +01:00
Sébastien Helleu b53f3c2db8 core: add tags of lines in hsignal sent with command /pipe 2025-01-25 17:06:10 +01:00
Ivan Pešić 56698151db core: update Serbian translations 2025-01-21 15:58:16 +01:00
Nils Görs 1285a7d391 core: update German translations 2025-01-08 21:47:01 +01:00
Sébastien Helleu 36b62cfc5e core: add option -v to display upgrades in command /version
The number of upgrades is also displayed on startup after at least one
`/upgrade`.
2025-01-07 20:35:35 +01:00
Nils Görs d97fed80cb core: update German translations 2025-01-07 19:24:18 +01:00
Sébastien Helleu 80ca209e70 Revert "core: check "weechat" binary with command /upgrade"
This reverts commit d665e2d489.

The fix is not working when WeeChat is not executed with an absolute path.
2025-01-07 17:37:07 +01:00
Sébastien Helleu d302294723 relay/api: always return a body with field "error" in error responses 2025-01-07 07:52:09 +01:00
Sébastien Helleu 60422ca6b1 relay: remove extra space in JSON authentication error 2025-01-07 07:28:45 +01:00
Sébastien Helleu 9d3388b09e relay/api: use cjson lib to return errors 2025-01-07 07:23:55 +01:00
Sébastien Helleu d10af1037b relay/api: use cjson lib to build JSON body of handshake request 2025-01-07 07:18:01 +01:00
Sébastien Helleu 10b4fffaca relay/api: fix return code when buffer is not found in completion resource callback 2025-01-07 07:12:37 +01:00
Sébastien Helleu c48dee3211 relay/api: add schema for errors returned in OpenAPI document 2025-01-06 07:45:02 +01:00
Sébastien Helleu cf726265d1 core: fix typo in ChangeLog 2025-01-06 07:40:53 +01:00
Sébastien Helleu 8b2cdf3032 core: update ChangeLog (issue #2207) 2025-01-05 15:05:47 +01:00
Sébastien Helleu 3523b5e4e2 doc/relay/api: add doc on resource /api/completion 2025-01-05 15:03:35 +01:00
Nils c6c420c698 relay: add completion resource 2025-01-05 14:54:07 +01:00
Sébastien Helleu cfe34388fb relay/api: bump version in OpenAPI document 2025-01-05 13:05:58 +01:00
Sébastien Helleu 3eaa1a3a6e relay/api: fix name of body field "buffer_name" in doc of POST /api/input 2025-01-05 10:36:04 +01:00
Sébastien Helleu de88cd3b58 core: fix typo in /help bar 2025-01-05 10:16:51 +01:00
Sébastien Helleu b88582c7ec core: update ChangeLog (issue #2222) 2025-01-05 10:03:26 +01:00
Trygve Aaberge cab9496a70 python: define constants using PyModule_Add...Constant
This follows the recommendation from Pythons documentation for
PyModule_GetDict where it says:

    It is recommended extensions use other PyModule_* and PyObject_*
    functions rather than directly manipulate a module’s __dict__.
2025-01-05 10:03:07 +01:00
Trygve Aaberge c0c837b1be python: set m_size for created modules to 0
This value determines the size of the per-module memory area. Setting
this value to -1 as it was before this change means that the module has
global state and therefore does not support subinterpreters.

However, subinterpreters are used to run the Python scripts, so the
weechat module has to support subinterpreters. Therefore we should set
this value to 0 as no per-module memory is required.

This seems to fix the crash reported in #2046 without the need for the
workaround added in commit 85c7494dc (it does for me when testing with
Python 3.12.0 at least).

This change came up as a suggestion in cpython's issue tracker where it
was pointed out that using modules with m_size set to -1 is not
supported in subinterpreters. See these two comments:

https://github.com/python/cpython/issues/116510#issuecomment-2377915771
https://github.com/python/cpython/issues/116510#issuecomment-2389485369

It's not completely clear to me what is required for a module to support
subinterpreters and re-initialization (which is required for setting
m_size to 0), but https://peps.pythondiscord.com/pep-0489/ says:

    A simple rule of thumb is: Do not define any static data, except
    built-in types with no mutable or user-settable class attributes.

The only static data we define is of type int and str, so I think it
should be fine.
2025-01-05 09:27:38 +01:00
Emir SARI 7c30dbcf05 core: update Turkish translations 2025-01-04 18:22:08 +01:00
Sébastien Helleu d665e2d489 core: check "weechat" binary with command /upgrade
Always check that "weechat" binary exists and is executable with command
`/upgrade`, even when the path to binary is not given.
2025-01-04 18:08:19 +01:00
Nils Görs 16346255f1 core: update German translations 2024-12-23 12:47:01 +01:00
Sébastien Helleu 2a7f557f05 core: add version 4.5.1 2024-12-23 08:56:34 +01:00
Sébastien Helleu 8e8e982af6 core: fix typo in ChangeLog 2024-12-23 08:38:20 +01:00
Sébastien Helleu 883c12dec2 relay: fix description of relay clients after /upgrade 2024-12-22 19:31:06 +01:00
Sébastien Helleu ad5fde5966 relay: fix crash after /upgrade when relay clients are connected 2024-12-22 19:31:04 +01:00
Sébastien Helleu 119664d090 api: allow to add empty buffer with function infolist_new_var_buffer
This fixes the following error with `/upgrade` command when relay clients are
connected:

  relay: failed to save upgrade data
2024-12-22 19:05:52 +01:00
Sébastien Helleu 97ede70307 Revert "ci: fix macOS CI"
Remove workaround for https://github.com/actions/runner-images/issues/10984

This reverts commit 2555c378a2.
2024-12-22 10:51:52 +01:00
Sébastien Helleu c26ff6c51b core: fix detection of dl library (closes #2218)
This fixes the linking to curl and ncurses on macOS.
2024-12-21 18:06:59 +01:00
Sébastien Helleu 9e34a0e917 core: add option POST_BUILD in add_custom_command
This fixes the following CMake warning:

CMake Warning (dev) at src/gui/curses/normal/CMakeLists.txt:73 (add_custom_command):
  Exactly one of PRE_BUILD, PRE_LINK, or POST_BUILD must be given.  Assuming
  POST_BUILD to preserve backward compatibility.

  Policy CMP0175 is not set: add_custom_command() rejects invalid arguments.
  Run "cmake --help-policy CMP0175" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.
2024-12-21 18:02:43 +01:00
Sébastien Helleu befcd09d63 logger: fix path displayed when the logs directory can not be created 2024-12-21 17:15:38 +01:00
Sébastien Helleu 8aba934c50 xfer: replace calls to malloc by weechat_asprintf 2024-12-21 15:31:39 +01:00
Sébastien Helleu 3b88065266 trigger: replace calls to malloc by weechat_asprintf 2024-12-21 15:31:39 +01:00
Sébastien Helleu ce2c4b74a2 spell: replace calls to malloc by weechat_asprintf 2024-12-21 15:31:39 +01:00
Sébastien Helleu d3d0948e2e script: replace calls to malloc by weechat_asprintf 2024-12-21 15:31:39 +01:00
Sébastien Helleu 68dce2b47a ruby: replace call to malloc by weechat_asprintf 2024-12-21 15:31:39 +01:00
Sébastien Helleu b45d2105a5 relay: replace calls to malloc by weechat_asprintf 2024-12-21 15:31:39 +01:00
Sébastien Helleu 74c63c0541 python: replace calls to malloc by weechat_asprintf 2024-12-21 15:31:39 +01:00
Sébastien Helleu 770d87c3d6 plugin/script: replace calls to malloc by weechat_asprintf 2024-12-21 15:31:39 +01:00
Sébastien Helleu 099e11d7b8 perl: replace calls to malloc by weechat_asprintf 2024-12-21 15:12:33 +01:00
Sébastien Helleu 8af3a4cef8 lua: replace call to malloc by weechat_asprintf 2024-12-21 15:12:33 +01:00
Sébastien Helleu 7226b005e9 logger: replace calls to malloc by weechat_asprintf 2024-12-21 15:12:33 +01:00
Sébastien Helleu 45509e1cd1 irc: replace calls to malloc by weechat_asprintf 2024-12-21 15:12:33 +01:00
Sébastien Helleu cdb4823fad guile: replace call to malloc by weechat_asprintf 2024-12-21 15:12:33 +01:00
Sébastien Helleu 82f0b3b121 fset: replace calls to malloc by weechat_asprintf 2024-12-21 15:12:33 +01:00
Sébastien Helleu e6409355b6 fifo: replace call to malloc by weechat_asprintf 2024-12-21 15:12:33 +01:00
Sébastien Helleu e2675f5afe exec: replace calls to malloc by weechat_asprintf 2024-12-21 15:12:33 +01:00
Sébastien Helleu e6388c1d1a charset: replace call to malloc by weechat_asprintf 2024-12-21 15:12:33 +01:00
Sébastien Helleu 9779f56125 alias: replace calls to malloc by weechat_asprintf 2024-12-21 15:12:33 +01:00
Sébastien Helleu 818a4c95a9 core: replace calls to malloc by string_asprintf 2024-12-21 15:12:33 +01:00
Sébastien Helleu 8f43dceedf core: update ChangeLog 2024-12-20 07:36:15 +01:00
zeromind 05c60a2292 perl: set locale only on supported Perl versions
restrict setting the locale only if the Perl version supports it (>=5.27.9)

fixes #2219
2024-12-20 07:34:20 +01:00
Sébastien Helleu 798c7a5262 core: fix parsing of command in /pipe command 2024-12-17 23:22:29 +01:00
Sébastien Helleu 732f24b6ba core: add command /pipe 2024-12-16 13:39:14 +01:00
Sébastien Helleu 0fc0071297 Version 4.6.0-dev 2024-12-15 09:07:29 +01:00
Sébastien Helleu e8b73aa711 Version 4.5.0 2024-12-15 09:02:38 +01:00
Sergey Fedorov 33232f3f05 core-crypto.c: fix htobe64 for Darwin (closes #2216) 2024-12-13 13:04:37 +01:00
Sébastien Helleu 5e5278b6a3 php: add detection of PHP 8.3 and 8.4 2024-12-04 17:52:26 +01:00
Sébastien Helleu eee806370b core: add version 4.4.4 2024-11-30 10:46:03 +01:00
Sébastien Helleu f8b2e1d525 debian: update changelog 2024-11-30 10:44:28 +01:00
Nils Görs 82a2f764bc core: update German translations 2024-11-26 10:44:44 +01:00
Sébastien Helleu 680e7dc95f core: update ChangeLog (issue #2214, issue #2215) 2024-11-25 23:02:59 +01:00
Trygve Aaberge a0b7220d23 script: don't try to display the old line if it's NULL
This fixes a crash which would happen if you scrolled the script buffer
and then did a search which got fewer search results than the index of
the selected line before the search. E.g. press page down to go to the
second page and then search for `test`.
2024-11-25 23:00:44 +01:00
Sébastien Helleu 48a92276e5 core: fix includes of wchar.h 2024-11-25 22:32:18 +01:00
Sébastien Helleu e483113345 perl: add midding #define of __USE_XOPEN to call wcwidth defined in wchar.h 2024-11-25 22:32:18 +01:00
Sébastien Helleu ea11623793 core: update ChangeLog (issue #2213) 2024-11-25 21:29:27 +01:00
Trygve Aaberge 107650d7d7 perl: only set Perl locale if the locale is broken
It turns out that Debian has reverted the commit in Perl that broke the
locale in their 5.38 branch, so it did not have the issue. However, the
workaround we added to fix the locale apparently makes the version
Debian/Ubuntu has crash on perl_destruct. I'm not sure why it makes it
crash, but since it doesn't crash on newer Perl versions, I'm assuming
that it's another bug with the locale handling in that Perl version.

To avoid the crash, make sure to only set the locale if we detect that
it has been broken by Perl. We do this by checking if the value returned
by wcwidth (160) (the first non-ascii printable character) has changed.
If this value is not the same after the call to perl_construct, the
locale has been broken.

I moved the call to Perl_setlocale to right after perl_construct, as the
call to perl_construct is what breaks the locale.
2024-11-25 21:22:21 +01:00
Sébastien Helleu 2555c378a2 ci: fix macOS CI
This is a workaround for https://github.com/actions/runner-images/issues/10984
2024-11-24 18:35:34 +01:00
Sébastien Helleu 6e7df56592 core: update ChangeLog (issue #2209) 2024-11-24 16:23:38 +01:00
Trygve Aaberge 9250d769fd Fix crash when unloading Perl scripts with Perl 5.38
Apparently the issue with the locale being reset with Perl 5.38 can
cause a crash when unloading the scripts on some systems (at least
Ubuntu 24.04). There was a workaround added in commit f4b9cad72, but it
doesn't work to avoid the crash. However if we set LC_ALL instead of
LC_CTYPE the crash doesn't occur.

Fixes #2187
2024-11-24 16:21:32 +01:00
Sébastien Helleu 5bdbcae892 core: update ChangeLog (issue #2206) 2024-11-24 16:16:53 +01:00
Trygve Aaberge 11faf85402 tests: add test for combining request headers 2024-11-24 16:15:35 +01:00
Trygve Aaberge ca07c03bf3 relay/api: combine request headers with the same name
If a request repeats the same header name multiple times, merge the
header values into a comma separated string. Previously, only the last
header specified would be used.

For header fields that are defined as a comma-separated list, a client
may choose to send it as multiple headers instead of one header with
comma-separated values. The specification says that these are
equivalent, so we can therefore join the headers into a comma-separated
string.

This is specified at https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.2
which says:

    A sender MUST NOT generate multiple header fields with the same field
    name in a message unless either the entire field value for that
    header field is defined as a comma-separated list [i.e., #(values)]
    or the header field is a well-known exception (as noted below).

    A recipient MAY combine multiple header fields with the same field
    name into one "field-name: field-value" pair, without changing the
    semantics of the message, by appending each subsequent field value to
    the combined field value in order, separated by a comma.  The order
    in which header fields with the same field name are received is
    therefore significant to the interpretation of the combined field
    value; a proxy MUST NOT change the order of these field values when
    forwarding a message.
2024-11-24 16:15:35 +01:00
Sébastien Helleu 18364586d9 core: update ChangeLog (issue #2205) 2024-11-24 16:08:58 +01:00
Sébastien Helleu 669f1894e6 doc/relay/api: add French documentation for auth via Sec-WebSocket-Protocol 2024-11-24 16:05:50 +01:00
Trygve Aaberge 45a1b9b20e doc/relay/api: add documentation for auth via Sec-WebSocket-Protocol 2024-11-24 16:05:40 +01:00
Trygve Aaberge a414fb9da5 tests: add tests for auth via Sec-WebSocket-Protocol 2024-11-24 16:00:25 +01:00
Trygve Aaberge bd7c503e7b relay/api: support passing auth in sub protocol header
The API for connecting to WebSockets in browsers unfortunately doesn't
support setting any Authorization header. This means that before this
commit it was impossible to connect to the API relay from a web browser.
The only thing that can be set apart from the URL is the
Sec-WebSocket-Protocol header. Therefore this allows you to send the
auth token in this header.

This is a weird way to send auth, but it seems to be the best one that
makes it possible for browsers to connect. Kubernetes also does it this
way: https://github.com/kubernetes/kubernetes/pull/47740

Here is a post describing the different ways to make it possible for a
browser to authenticate against a websocket connection, and it also
recommends doing it this way:
https://stackoverflow.com/questions/4361173/http-headers-in-websockets-client-api/77060459#77060459

Note that when this header is used to pass auth, the client also needs
to specify the `api.weechat` sub protocol. This is because the client
and server have to agree on a sub protocol when this header is
specified, and in order to not send the fake protocol used for auth back
to the client, we require specifying the protocol `api.weechat`, which
the server then returns to the client. This is only necessary when the
Sec-WebSocket-Protocol header is used. If the Authorization header is
used for auth as before, nothing changes.
2024-11-24 16:00:25 +01:00
Sébastien Helleu eaace4acdb core: update ChangeLog 2024-11-24 11:23:36 +01:00
Sébastien Helleu 328aa8f202 core, plugins: abort upgrade immediately if any upgrade file fails to be written
Detail of changes:

- the save of upgrade files in plugins is now done as soon as the "upgrade"
  signal is received, and not when the plugin is unloaded (it was too late to
  detect any problem and prevent the upgrade to happen)
- if the write of an upgrade file fails, the signal callback in plugin now
  returns WEECHAT_RC_ERROR and WeeChat checks this code to stop the upgrade as
  soon as this return code is received
- a new flag is added in plugin structure: unload_with_upgrade, it is set to 1
  before unloading all plugins when upgrade will happen (all *.upgrade files
  are then already successfully written).
2024-11-24 10:29:32 +01:00
Sébastien Helleu 244595d94f api: add support of flags in functions hook_signal_send and hook_hsignal_send
For now the only supported flag is:

- "stop_on_error": stop execution of callbacks immediately after an
  error (ie return code of callback is WEECHAT_RC_ERROR) and return this code
  (by default execute all callbacks and return the last return code, or return
  WEECHAT_RC_EAT immediately if a callback returns this)

Example:

  hook_signal_send("[flags:stop_on_error]my_signal", WEECHAT_HOOK_SIGNAL_STRING, "test");
2024-11-24 10:29:32 +01:00
Sébastien Helleu 61d7a4c678 core: add message with /debug hooks command when /upgrade is not possible due to running hooks 2024-11-24 09:59:34 +01:00
Nils Görs 3e579c94f6 core: update German translations 2024-11-21 09:26:45 +01:00
Sébastien Helleu 7184d34371 irc: add infos "irc_ptr_server", "irc_ptr_channel" and "irc_ptr_nick" 2024-11-20 21:53:29 +01:00
Sébastien Helleu 9a8010eead core: fix translation of keys in options
This fixes French description of key options in docs.
2024-11-20 18:23:49 +01:00
Sébastien Helleu 3fd298bfbe doc/user: update command to enable download of scripts 2024-11-16 22:41:56 +01:00
Sébastien Helleu 7c1586e8ff doc/user: translate example of script buffer 2024-11-16 22:41:56 +01:00
Sébastien Helleu 1c30fe9b0a doc/user: translate example of fset buffer 2024-11-16 22:41:56 +01:00
Sébastien Helleu 9c016af6fb doc/user: fix options displayed in /fset libera 2024-11-16 22:41:56 +01:00
Sébastien Helleu 08d5839fa1 doc/user: remove default port and option -tls from example of command /server add 2024-11-16 22:41:56 +01:00
Ivan Pešić b11e2b82f4 doc: update Serbian documentation 2024-11-16 09:29:24 +01:00
Ivan Pešić 85b9d72e37 core: update Serbian messages translation 2024-11-16 09:29:24 +01:00
Nils Görs 4511996b84 core: update German translations 2024-11-14 10:07:16 +01:00
Sébastien Helleu 93646c0b24 core: add optional hook types in command /debug hooks 2024-11-13 07:35:02 +01:00
Sébastien Helleu 5ddd786332 core: add completion "hook_types" 2024-11-12 22:15:16 +01:00
LuK1337 9731f5a8e6 tests: migrate away from removed ast features
See https://github.com/python/cpython/pull/119563.
2024-11-04 18:48:44 +01:00
Sébastien Helleu 6e19e9d8b2 core: remove use of arraylist in function gui_buffer_merge 2024-11-04 18:39:54 +01:00
Sébastien Helleu 9f6caa4e03 core: send signal "buffer_moved" only when the buffer number changes (issue #2097) 2024-11-04 18:00:59 +01:00
Sébastien Helleu 74cc16ef07 core: fix too many sorts of hotlist when buffers are moved (issue #2097)
A performance issue was happening when buffers are moved to another position
and when the hotlist contains a lot of buffers: each time a signal
"buffer_moved" is sent, the hotlist is sorted again.

This fix delays the resort of hotlist after all the moves are done using a
timer with a very small delay (one millisecond).
2024-11-03 23:42:57 +01:00
Sébastien Helleu 1fc8c551d8 core: add property hotlist_conditions in completion for /buffer set 2024-11-03 22:47:37 +01:00
Sébastien Helleu 764fb7c4ad doc: remove trailing spaces in Serbian docs 2024-11-03 21:08:52 +01:00
Sébastien Helleu c1b34b0ff5 irc: remove trailing space in /help list 2024-11-03 09:46:10 +01:00
Sébastien Helleu 328fc3845e relay, xfer: update hotlist only if items are actually removed when purging list on relay/xfer buffer 2024-10-31 22:09:38 +01:00
Sébastien Helleu 524c813485 relay, xfer: check hotlist add conditions when adding the relay/xfer buffer in hotlist 2024-10-31 22:09:07 +01:00
Sébastien Helleu 2dea224a38 api: add property hotlist_conditions in function buffer_set 2024-10-31 22:08:13 +01:00
Sébastien Helleu 84f65e1339 relay, xfer: fix letters with actions displayed on top of buffer
Since WeeChat 4.0.0, the actions are now case sensitive and must be typed as
lower case.

This fixes the help line displayed on top of relay and xfer buffers: letters
for actions are now displayed with lower case instead of upper case.
2024-10-31 18:17:59 +01:00
Sébastien Helleu 24fbeaf36e core: add version 4.4.3 2024-10-30 12:48:47 +01:00
Sébastien Helleu d1013b31bd build: fix check of WeeChat git repository
The `.git` directory can also be a regular file in a git worktree.
2024-10-30 08:08:34 +01:00
Sébastien Helleu 945782195f doc: replace some "warning" by "caution" 2024-10-30 00:30:19 +01:00
Sébastien Helleu 06771e66fb debian: update changelog 2024-10-30 00:12:05 +01:00
Sébastien Helleu d83167b586 doc: replace font-awesome icons by translated captions
This removes use of a remote CDN (Cloudflare), as font-awesome is no longer
used.
2024-10-30 00:06:22 +01:00
Sébastien Helleu cd4d958e82 debian: bump Standards-Version to 4.7.0 2024-10-29 22:55:25 +01:00
Sébastien Helleu 254ecbf4c6 debian: add file CHANGELOG.md in weechat-core.docs 2024-10-29 22:51:47 +01:00
Sébastien Helleu ad6ec011bd relay/api: reply HTTP 400 (Bad Request) when the body received is not a dict in websocket data 2024-10-29 22:38:28 +01:00
Sébastien Helleu 26e16fdea7 tests: add extra tests on function string_split
New tests:

- split empty string
- standard split with only separators in string
- standard split with only separators in string and strip separators
2024-10-21 08:23:55 +02:00
Sébastien Helleu 50a9c88b79 core: check that version is not NULL or empty string in function util_version_number 2024-10-21 08:23:55 +02:00
Sébastien Helleu 97e81e197d core: add contributor (issue #2202) 2024-10-20 08:39:11 +02:00
Sébastien Helleu 488b3f8e7b core: reload all plugins with command /plugin reload * 2024-10-20 08:38:19 +02:00
James C. Morey 3160d2accd core: simplify plugin callback by refactoring if statements 2024-10-20 08:35:24 +02:00
Sébastien Helleu fea5b868ee ci: switch from macOS 12 to 14 2024-10-19 11:35:37 +02:00
Sébastien Helleu 6dccc3181a build: remove our own Ruby detection and rely on CMake detection, require CMake 3.18 (issue #1156)
This fixes the detection of Ruby on macOS 14.
2024-10-19 11:35:30 +02:00
Sébastien Helleu 16dac7193b ci: switch from Ubuntu 22.04 to 24.04 2024-10-16 21:41:14 +02:00
Sébastien Helleu 4503dbb013 doc: rename git branch master to main in URLs 2024-10-15 16:54:16 +02:00
Sébastien Helleu fb57abbadf tests: fix URL to Python unparser 2024-10-15 07:55:59 +02:00
Sébastien Helleu bc675bd270 exec: fix execution of command with /exec -pipe (issue #2199) 2024-10-14 13:31:50 +02:00
Sébastien Helleu 0f8fede68a core: add include directories for gettext libintl
This fixes the macOS build in CI, failing on missing header `libintl.h`.
2024-10-13 17:06:34 +02:00
Sébastien Helleu 958863b4a8 core: update translations 2024-10-13 16:57:32 +02:00
Sébastien Helleu d9e1b545b4 core: add minimal GnuTLS version in ChangeLog (issue #2193) 2024-10-13 14:07:02 +02:00
Sébastien Helleu 1bf4e466f9 core: add minimal Curl version in ChangeLog (issue #2195) 2024-10-13 14:04:53 +02:00
Emil Velikov de4231c842 Bump required gnutls to v3.3.0
Bump the requirement to v3.3.0 as available in Ubuntu 16.04 (3.4.10) and
Debian 10 (3.6.7). It was released around 10 years ago and any remotely
supported distribution has newer version.

As result, we can remove hundred+ lines of #ifdef spaghetti code.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-13 13:55:16 +02:00
Emil Velikov 19cb459685 cmake: use pkg_check_modules() for GnuTLS
Remove the local cmake file and associated hacks used to manage GnuTLS.
This gives us less build-system glue code and makes it easier to enforce
a minimum version for GnuTLS.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-13 13:55:12 +02:00
Emil Velikov 51dfb1fb78 Bump required (lib)curl to v7.47.0
Bump the requirement to v7.47.0 as available in Ubuntu 16.04 (7.47.0)
and Debian 10 (7.64.0). It was released around 9 years ago and any
remotely supported distribution has newer version.

As result we can adjust the tools/check_curl_symbols.py script to omit
the ~70% of the guards and simplify the code base.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-13 13:33:47 +02:00
Emil Velikov fec71ae30c cmake: use pkg_check_modules() for cURL
The cURL project has provided a pkg-config file for well over a decade
now. Just use that instead of the cmake one, since the latter also
checks for misc curl components, unusual library names (libcurl_imp)
which is not something we need.

In addition, this will make enforcing minimum version much easier.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-13 13:33:47 +02:00
Emil Velikov 99b4f9a98d tools/check_curl_symbols.py: add max version (only) handling
With a later commit, some options will have only a max version so ensure
we handle those cases.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-13 13:33:47 +02:00
Emil Velikov 17fc815da9 core: add curl 8.2 MAIL_RCPT_ALLOWFAILS
With the 8.2 version upstream has fixed the typo in the option name.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-13 13:33:47 +02:00
Emil Velikov ba746dcb1b tools/check_curl_symbols.py: fix CURLOPT handling
The curl option handling seems to be non-functional since it suffers
from two distinct issues. The regular expression tries to match options
that we're not interested in and the symbol name is lacking the proper
prefix.

Adjust to match only on what we need and construct the name
appropriately... Fix the issues flagged by the updated script.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-13 13:33:47 +02:00
Sébastien Helleu 90c23ef418 exec: fix unexpected execution of command with /exec -o when the command starts with two command chars (closes #2199) 2024-10-13 11:15:19 +02:00
Sébastien Helleu bca7c7438a api: add special value - (hyphen-minus) in options of function command_options to prevent execution of commands (issue #2199) 2024-10-13 11:15:10 +02:00
Sébastien Helleu 709b2b5796 core: remove code to add command char in input data
We can just reuse `ptr_data` which is the original data instead of
`ptr_data_for_buffer`, where the extra command char is missing.
2024-10-13 09:22:20 +02:00
Sébastien Helleu ec78084f49 tests: add tests on function input_data 2024-10-12 21:04:13 +02:00
Sébastien Helleu 5eb64b2dfa tests: add macros RECORD_CHECK_NO_MSG and RECORD_CHECK_MSG 2024-10-12 21:03:13 +02:00
Sébastien Helleu 977b3581fa tests: add function record_count_messages 2024-10-12 21:02:21 +02:00
Sébastien Helleu 00578a70e1 api: return the buffer input callback return code in functions command and command_options 2024-10-12 18:30:08 +02:00
Sébastien Helleu ffd7cc90fb doc/api: fix Python example of function command_options 2024-10-08 07:12:55 +02:00
Sébastien Helleu 8223da0fe6 core: always send the signal "buffer_switch", even when the buffer is opening (closes #2198) 2024-10-06 20:57:54 +02:00
Sébastien Helleu 453e60ed23 core: refactor code to send WeeChat version to the buffer 2024-10-06 17:40:34 +02:00
Sébastien Helleu e29332ead6 build: add more retries in case of build failure 2024-10-06 11:35:12 +02:00
Sébastien Helleu 139787b26f build: add a retry build mechanism on make in Debian packaging
When the environment variable `RETRY_BUILD` is set to `1`, the file
`debian/rules` is patched to run `dh_auto_build` multiple times, until the
build succeeds.

This is a workaround for an issue with the build in an arm64 chroot, where the
compiler randomly segfaults.
2024-10-06 10:21:44 +02:00
Emil Velikov 0bcae707fc core: remove ifdef checks for core components
The gcrypt, gnutls, libcurl and zlib are core libraries/components that
we always build against. Remove the #ifdef checks - the symbols must be
available at build.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-10-05 17:04:15 +02:00
Sébastien Helleu e0ac58a26a core: remove extra parentheses in ChangeLog 2024-10-05 14:07:14 +02:00
Sébastien Helleu 423f609828 irc: fix crash on /list buffer when a filter is set (closes #2197) 2024-10-05 07:48:22 +02:00
Sébastien Helleu 94312b6622 doc/user: add missing bar items in chapter "Screen layout" 2024-10-01 07:32:43 +02:00
Emil Velikov 66f9b1762a cmake: remove unused HAVE_GCRYPT
Seemingly unused for ~12 years, since commit a99d13601 ("core: add new
plugin "script" (scripts manager, replacing scripts weeget.py and
script.pl)")

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-09-29 19:10:52 +02:00
Sébastien Helleu c627743b29 spelling: case-sensitive 2024-09-29 12:31:19 +02:00
Sébastien Helleu f482b611a1 spelling: anymore 2024-09-29 12:00:25 +02:00
Sébastien Helleu b450ccdb6c core: add contributor (issue #2183) 2024-09-29 11:28:33 +02:00
Emil Velikov d42d837924 build: remove CMake variable "STATIC_LIBS"
With the circular dependency resolved, we no longer need this variable.
Add the respective objects directly, in the same order as seen in the
tests.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-09-29 10:01:10 +02:00
Emil Velikov fc7b00562c build: require CMake 3.12, resolve circular dependency
In order to resolve the circular dependency, we need to annotate the
respective static libraries as "object" libraries.

This requires cmake 3.12, where Debian 10 (old old stable) and Ubuntu
20.04 have 3.13 and 3.16 respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-09-29 10:00:50 +02:00
Emil Velikov 0e9f841974 core: add configuration file .editorconfig
To ease the initial hurdle of using the proper formatting across files,
introduce a simple .editorconfig file.

Nearly every common editor supports it OOTB these days, including the
GitHub and GitLab web editors.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2024-09-28 21:56:17 +02:00
Sébastien Helleu 58e6e41948 core: add contributor (issue #2186) 2024-09-28 21:49:27 +02:00
Sébastien Helleu 8f2bcb1a09 core: update translations (issue #2186) 2024-09-28 21:38:19 +02:00
Josh Soref 2202cd9f85 spelling: zstd
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref 7fb77aabfa spelling: wildcard
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref 8fee9c1778 spelling: unnecessary
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref 17eedc35e2 spelling: unavailable
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref 57b19b6c74 spelling: traffic
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref 7415eaa1f1 spelling: starting
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref 42c8f86533 spelling: should / may
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref dcd62f7ee6 spelling: shift
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref 7f93f81a82 spelling: separator
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref 358b8ad2a6 spelling: sensitive
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref e1d7459660 spelling: runtime
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref e3b8a6d21a spelling: remain at its current location
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref 9a7c45e7f6 spelling: position
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref 87f2bb0a23 spelling: passphrase
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref 90ed422afd spelling: override
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref aee09ad0a0 spelling: neither-nor
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref 9f67ae369c spelling: negotiation
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:56 +02:00
Josh Soref c0fbb5aaf5 spelling: msg
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:55 +02:00
Josh Soref 67d4c96de3 spelling: may
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:55 +02:00
Josh Soref 9e5bfd70a8 spelling: macOS
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:55 +02:00
Josh Soref a0cac1a5dd spelling: libgcrypt
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 21:22:55 +02:00
Josh Soref c30949b411 spelling: javascript
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref e6cd8c9519 spelling: invocation
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref 89e162fced spelling: instantiated
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref 4c68c4cd48 spelling: hashtable
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref 1aa5b46ba5 spelling: greater than
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref 80def4a36b spelling: filename
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref d97467ff67 spelling: escape
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref 05464f866b spelling: duplicated
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref 4e0ffd18c2 spelling: down-rank
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref 6fdf39165a spelling: client
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref 5e2091e802 spelling: checked out
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref c28696e602 spelling: case-sensitive
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref 0505a0ff76 spelling: case-insensitive
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:41 +02:00
Josh Soref 4ef3011ea9 spelling: cannot
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:22:02 +02:00
Josh Soref 08895863d9 spelling: callbacks
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:20:02 +02:00
Josh Soref fd1899aa12 spelling: buffer
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:20:02 +02:00
Josh Soref 3eb4b203f2 spelling: backtrace
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:20:02 +02:00
Josh Soref 969376c88a spelling: backslashes
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:20:02 +02:00
Josh Soref 17381d983f spelling: autoconnect
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:20:02 +02:00
Josh Soref 631ca3f8df spelling: authenticate
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:20:02 +02:00
Josh Soref a464135f39 spelling: at
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:20:02 +02:00
Josh Soref ef107fd66d spelling: anymore
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 18:20:02 +02:00
Josh Soref d3ceabf5de spelling: an
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 17:34:04 +02:00
Josh Soref 02ea93e88f spelling: above
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-28 17:34:00 +02:00
Sébastien Helleu 824c172984 Revert "ci: install version 3.35.5 of schemathesis"
This reverts commit 2b702f21d3.
2024-09-25 21:31:40 +02:00
Sébastien Helleu 759ffc3d21 core: add CVE id in ChangeLog 2024-09-25 20:29:14 +02:00
Sébastien Helleu 6534919868 irc: decode IRC color codes only when displaying messages
Before parsing IRC messages, they were almost all changed to convert IRC color
codes to WeeChat color codes, which caused some bugs when storing data like
account and real names (stored with WeeChat color codes instead of IRC colors).

Now the messages are parsed as-is, then the colors are converted only when
strings are displayed in a buffer by `weechat_printf()`.
2024-09-22 23:05:16 +02:00
Sébastien Helleu 02847246b2 core, plugins, tests: fix octal notation in strings 2024-09-19 08:34:18 +02:00
Sébastien Helleu 2b702f21d3 ci: install version 3.35.5 of schemathesis
This fixes the CI as schemathesis 3.36.0 has a regression on ignored_auth
check (https://github.com/schemathesis/schemathesis/issues/2462).
2024-09-19 08:34:18 +02:00
Krzysztof Korościk fc16a4c141 doc: updated polish translation 2024-09-17 11:35:50 +02:00
Sébastien Helleu 1cf65df089 tests: add tests on missing supported IRC messages 2024-09-15 21:47:43 +02:00
Sébastien Helleu 01103cb02a irc: do not strip trailing spaces from incoming IRC messages 2024-09-15 21:47:32 +02:00
Sébastien Helleu 6908eec160 tests: replace POINTERS_EQUAL by STRCMP_EQUAL in string comparisons with NULL 2024-09-14 10:26:42 +02:00
Sébastien Helleu cfd4ab909f core: set max version for Curl symbol CURLAUTH_NTLM_WB 2024-09-11 18:19:26 +02:00
Sébastien Helleu 554892131d core: update ChangeLog (issue #2180) 2024-09-10 07:26:22 +02:00
Fredrik Fornwall a15ae18c81 core: Fix build on Android to define htobe64 2024-09-09 21:48:55 +02:00
Sébastien Helleu 7ed85f3ed3 core: add version 4.4.2 2024-09-08 12:25:42 +02:00
Sébastien Helleu df4acd5d3d core: fix test of Debian patches when there are no patches 2024-09-08 09:27:50 +02:00
Sébastien Helleu bb83685ac6 core: add contributor (issue #2179) 2024-09-07 16:46:27 +02:00
Sébastien Helleu 91961433e3 core: update ChangeLog (closes #2178) 2024-09-07 08:56:33 +02:00
Sébastien Helleu 9aa0a94156 trigger: fix integer overflow in loop (issue #2178) 2024-09-07 08:40:47 +02:00
Sébastien Helleu 970f20af31 relay: fix integer overflow in loops (issue #2178) 2024-09-07 08:40:19 +02:00
Sébastien Helleu 62d0347d4b irc: fix integer overflow in loops (issue #2178) 2024-09-07 08:40:07 +02:00
Sébastien Helleu 5564baf424 core: fix integer overflow in loops (issue #2178) 2024-09-07 08:39:37 +02:00
Yiheng Cao 315f769ab2 core: fix integer overflow in string_free_split functions (issue #2178) 2024-09-07 08:27:43 +02:00
Sébastien Helleu 5f62eb1f2b tests: add tests on function string_rebuild_split_string with empty items 2024-09-07 08:27:26 +02:00
Sébastien Helleu 143f694fe2 core, plugins: add missing parentheses when dereferencing a pointer with an array index 2024-09-05 20:57:29 +02:00
Sébastien Helleu 230c436dd4 core: add note about security issues in GitHub question issue template 2024-09-04 09:21:52 +02:00
Nils Görs b3f34ecf33 core: update German translations 2024-09-03 14:10:20 +02:00
Sébastien Helleu 3253500d15 irc: add option irc.look.notice_nicks_disable_notify 2024-09-02 19:55:27 +02:00
Sébastien Helleu fce44675c4 core: fix typo in French translation 2024-09-02 18:48:54 +02:00
Nils Görs 0ab7c20f0d core: update German translations 2024-09-02 15:46:38 +02:00
Sébastien Helleu b36c6c2e26 doc/faq: fix suggested value for option irc.server.xxx.tls_priorities 2024-08-31 16:32:32 +02:00
Sébastien Helleu 9b969be1f9 doc/user: change fake hostname in weechat relay example
The hostname `example.com` is already used in doc and help on commands.
2024-08-31 08:52:00 +02:00
Sébastien Helleu 954a7462c0 doc/user: add api relay example with https 2024-08-31 08:50:37 +02:00
Sébastien Helleu 434c1ee3c4 relay/api: send the sync request at the same time as buffer data retrieval
This fixes events missed by the client when synchronizing after fetching data.
2024-08-25 21:13:38 +02:00
Sébastien Helleu 6bb4d64512 relay/api: allow array with multiple requests in websocket frame received from client 2024-08-25 20:48:52 +02:00
Sébastien Helleu 4572e46ced relay: change input prompt label when fetching data from remote, keep remote status displayed 2024-08-24 11:25:06 +02:00
Sébastien Helleu c1130446eb relay: add status "data synchronization" on remote buffers 2024-08-24 11:00:52 +02:00
Sébastien Helleu 9f44a1087b core, plugins: simplify help on parameters that can be repeated in commands 2024-08-24 10:59:21 +02:00
Sébastien Helleu 08ad5be78d core: automatically build list of sources used for translations 2024-08-24 10:25:17 +02:00
Sébastien Helleu cba7c764da core: add missing "<id>" in /help buffer for parameter "clear" 2024-08-23 08:27:19 +02:00
Sébastien Helleu c3fd7e4e44 doc: fix color of text with syntax highlighting and light theme 2024-08-22 19:08:42 +02:00
Nils Görs 62f769e736 doc: update German documentation 2024-08-22 08:18:46 +02:00
Sébastien Helleu d4ca32832e relay: redefine bar item "input_prompt" to display the connection status on remote buffers, if different from "connected" 2024-08-21 20:37:00 +02:00
Sébastien Helleu c5a1744c09 ci: add tests on FreeBSD 14 2024-08-20 20:53:41 +02:00
Sébastien Helleu 99d42ba297 ci: change make option from "--jobs=N" to "-j N"
This fixes the following error on FreeBSD:

make: illegal argument to -j -- must be positive integer!
2024-08-20 18:49:07 +02:00
Sébastien Helleu fca21cac3f ci: bump actions/checkout to v4 2024-08-20 18:05:45 +02:00
Sébastien Helleu dfef851516 ci: rename variables with dependencies 2024-08-20 18:03:53 +02:00
Sébastien Helleu 584f54d443 core: add version 4.4.1 in ChangeLog 2024-08-19 20:51:34 +02:00
Sébastien Helleu ed79b8c2e9 ci: update name of jobs 2024-08-19 19:36:13 +02:00
Sébastien Helleu 1f6a7e23ad ci: regroup Ubuntu jobs 2024-08-19 19:31:37 +02:00
Sébastien Helleu 452a20c05e ci: add tests on Rocky Linux 9 2024-08-19 19:24:26 +02:00
Sébastien Helleu bf19d0482c ci: use shorter name for jobs
Name is now the OS followed by the test, for example:

  ubuntu-22.04: gcc

instead of:

  Tests: gcc on ubuntu-22.04
2024-08-19 18:09:52 +02:00
Sébastien Helleu 27b3b50fa9 ci: force Ubuntu version 22.04 in CodeQL job 2024-08-19 18:07:28 +02:00
Sébastien Helleu 237955efcc core: update ChangeLog (issue #2174) 2024-08-17 11:28:00 +02:00
Sébastien Helleu cd5ffb21cb build: replace deprecated "DEPEND" by "BUILD_REQUIRES" in Cygwin packaging 2024-08-17 11:18:20 +02:00
Sébastien Helleu a79c3b6141 build: add license in Cygwin packaging 2024-08-17 10:53:34 +02:00
LuK1337 e215e6b7ae cmake: find 'lua' first
On Fedora, `lua` is an up to date package.
2024-08-17 10:15:52 +02:00
Sébastien Helleu cba83f08a2 core: add Lua version in ChangeLog entry 2024-08-17 10:09:57 +02:00
Sébastien Helleu fa2a87b2e5 core: update ChangeLog (issue #2173) 2024-08-17 09:31:54 +02:00
LuK1337 9f3a68ed15 lua: fix broken LUA_VERSION check
/usr/include/lua-5.1/lua.h:19:25: error: token ""Lua 5.1"" is not valid
in preprocessor expressions
2024-08-17 09:30:11 +02:00
Sébastien Helleu 94f906fd8a Version 4.5.0-dev 2024-08-17 08:36:01 +02:00
Sébastien Helleu 532008e172 Version 4.4.0 2024-08-17 08:33:14 +02:00
Sébastien Helleu 55d7e4c474 relay/weechat: fix uninitialized pointer in infolist command 2024-08-17 08:10:21 +02:00
Sébastien Helleu f153b7e463 core: fix memory leak when trying to add a bar that already exists 2024-08-17 07:58:29 +02:00
Sébastien Helleu c8dffad56c core: add signals "layout_buffers_applied" and "layout_windows_applied" (closes #2167) 2024-08-16 12:36:31 +02:00
Sébastien Helleu 4de6fa11d5 core: add link to file UPGRADING.md in version 4.3.1 2024-08-16 12:05:12 +02:00
Sébastien Helleu 0182153511 core: send signal "buffer_moved" for all buffers affected by merge/unmerge 2024-08-15 21:35:38 +02:00
Sébastien Helleu 6de0195d0a irc: fix send of split messages when server option "anti_flood" set to 0 (closes #2172) 2024-08-15 19:41:08 +02:00
Sébastien Helleu e2edc019cc relay/api: add extra checks on function parameters 2024-08-15 17:48:20 +02:00
Sébastien Helleu b31a8bc1ef doc/faq: add key Alt+Shift+N in questions about copy/paste and URLs 2024-08-15 17:25:36 +02:00
Sébastien Helleu bbb2515b0e doc/faq: add command to set "size_max" for nicklist when bar is moved to top 2024-08-15 16:49:31 +02:00
Sébastien Helleu b6cccb7cee core: add version 4.3.6 in ChangeLog 2024-08-15 15:48:08 +02:00
LuK1337 5b58356390 core: replace manual endianness swap with htobe64() call
This fixes generation of TOTP and tests on FreeBSD.
2024-08-14 12:15:55 +02:00
Sébastien Helleu 17d225ad73 relay: fix compiler warnings on unused parameters when CJSON is disabled 2024-08-14 07:51:41 +02:00
Sébastien Helleu e810cc5f70 doc: add command line option --build-info in man pages and user's guide 2024-08-13 09:46:12 +02:00
Sébastien Helleu 22453e1a37 core: fix German translation 2024-08-13 09:42:36 +02:00
Nils Görs 8e2dda1bc9 core: update German translations 2024-08-13 09:07:44 +02:00
Sébastien Helleu 9c8a39b09e ci: add command weechat --build-info 2024-08-12 22:07:00 +02:00
Sébastien Helleu 0a99ed5f2c core: fix define of CMAKE_BUILD_TYPE and CMAKE_INSTALL_PREFIX in config.h (issue #449) 2024-08-12 21:55:34 +02:00
Sébastien Helleu 071f8f87e7 core: add command line option --build-info / -i to display information about build options (closes #449) 2024-08-12 21:36:17 +02:00
Nils Görs f09855540e core: update German translations 2024-08-12 12:04:59 +02:00
Sébastien Helleu 0637e9f629 lua: remote string "Lua" from Lua version in output of /debug libs 2024-08-12 08:22:48 +02:00
Sébastien Helleu b63f63f001 relay/api: fix send of data to remote after command /upgrade executed in the remote client 2024-08-11 23:35:51 +02:00
Sébastien Helleu 1de8fec2ee relay/api: automatically reconnect to remotes with "autoconnect" enabled after /upgrade 2024-08-11 14:26:36 +02:00
Sébastien Helleu 970aa55f7f relay/api: remove unneeded free of client->http_req->id 2024-08-11 12:27:37 +02:00
Sébastien Helleu a317c785fb relay/api: add automatic reconnection to remote (closes #2166)
New options:

- remote option "autoreconnect_delay"
- relay.api.remote_autoreconnect_delay_growing
- relay.api.remote_autoreconnect_delay_max
2024-08-11 12:18:28 +02:00
Sébastien Helleu fc6811341a irc: fix typo in comment 2024-08-11 11:57:35 +02:00
Sébastien Helleu 6e0f8392b9 doc/relay/api: add event "buffer_time_for_each_line_changed" 2024-08-10 19:06:39 +02:00
Sébastien Helleu 8010eeece3 relay/api: add support of time displayed in remote client buffers 2024-08-10 14:29:30 +02:00
Sébastien Helleu aeac9f02f9 core: add signal "buffer_time_for_each_line_changed" 2024-08-10 14:27:53 +02:00
Sébastien Helleu 24734c4fe0 relay/api: add field "tmie_displayed" in GET /api/buffers 2024-08-10 13:58:58 +02:00
Sébastien Helleu 41ab22554c tests/relay/api: add missing fields in test of buffer to json function 2024-08-10 13:42:38 +02:00
Sébastien Helleu bb2387ec38 relay/api: add support of hidden buffers in remote client (issue #2159) 2024-08-10 12:55:17 +02:00
Sébastien Helleu b00f94dc70 relay/api: add field "hidden" in GET /api/buffers (issue #2159) 2024-08-10 12:42:55 +02:00
Sébastien Helleu 07ef722c06 relay/api: disconnect cleanly when the remote is quitting (closes #2168) 2024-08-09 23:37:33 +02:00
Sébastien Helleu 0296957cce relay/api: add event "quit", sent to clients when WeeChat is quitting (issue #2168) 2024-08-09 23:32:33 +02:00
Sébastien Helleu b4d0054f07 relay/api: disconnect from remote in case of error when sending data 2024-08-09 18:26:02 +02:00
Sébastien Helleu 995cbe542e relay/api: automatically disconnect when the command /upgrade is executed on the remote 2024-08-09 18:23:23 +02:00
Sébastien Helleu 6e775e4768 relay/api: close obsolete buffers when reconnecting to the remote
This closes all buffers that exist locally but not on the remote any more,
after reconnecting to the remote.
2024-08-09 18:08:31 +02:00
Sébastien Helleu e5b6eab2f6 relay/api: do not reset input text on existing buffers when reconnecting to remote 2024-08-09 18:06:42 +02:00
Sébastien Helleu c132adc52c relay/api: fix buffers synchronization with existing buffers that have been renamed on remote in the meanwhile (closes #2169) 2024-08-09 18:04:10 +02:00
Sébastien Helleu 78f0a3e087 relay/api: replace calls to strcmp by weechat_strcmp 2024-08-09 18:02:42 +02:00
Sébastien Helleu eb5399518e relay/api: clear lines and nicklist on all remote buffers upon successful connection to the remote (closes #2161) 2024-08-09 18:01:59 +02:00
Sébastien Helleu 87a5620623 tests: fix typo in header 2024-08-09 07:24:11 +02:00
Sébastien Helleu 828c498a12 core: set proxy option ipv6 to auto by default when creating a new proxy (issue #2164) 2024-08-08 12:43:31 +02:00
Sébastien Helleu eaf6d33f22 core: update translations (issue #2164) 2024-08-06 08:29:23 +02:00
Sébastien Helleu 4e1a0731e7 core: convert proxy option ipv6 from boolean to enum (disable, auto, force) (issue #2164) 2024-08-06 08:27:09 +02:00
Sébastien Helleu 5fe3b38892 irc: convert server option ipv6 from boolean to enum (disable, auto, force) (issue #2164) 2024-08-06 08:25:42 +02:00
Sébastien Helleu e051af0376 api: add constants for IPv6 and allow force of IPv6 in function hook_connect (issue #2164) 2024-08-06 08:25:42 +02:00
Sébastien Helleu ab2bcbac4e doc/plugin: fix Python example of function hook_connect 2024-07-27 09:47:03 +02:00
Sébastien Helleu 8c48b2f310 relay/api: fix connection to remote using an IPv6 address with square brackets (closes #2156) 2024-07-22 17:24:50 +02:00
Sébastien Helleu 9ece7b4d8c core, plugins: fix typo in comments 2024-07-22 11:49:26 +02:00
Sébastien Helleu cadd04693a irc: add support of message 569 (whois, connecting from) (closes #2162) 2024-07-22 10:39:03 +02:00
Sébastien Helleu 1c04f9419c tests: fix comment on test of IRC message 344 2024-07-22 10:38:13 +02:00
Sébastien Helleu 03d8fddafd core: add contributor (issue #2136) 2024-07-21 11:44:53 +02:00
miko e4e0b9764d plugins: refactor macro weechat_va_format with the same behavior as string_asprintf 2024-07-21 11:34:02 +02:00
Sébastien Helleu d3ca619526 relay/api: fix connection to remote without password (closes #2158) 2024-07-20 16:26:53 +02:00
Sébastien Helleu fc197df056 relay/api: allow clients without authentication when no relay password is defined and option relay.network.allow_empty_password is on (issue #2158) 2024-07-20 15:57:56 +02:00
Nils Görs 484b90d39a core: update German translations 2024-07-19 12:59:31 +02:00
Sébastien Helleu 66707dbdf9 relay: add option reconnect in command /remote (closes #2160) 2024-07-19 09:19:34 +02:00
Nils Görs 66792445b4 core: update German translations 2024-07-18 16:14:18 +02:00
Sébastien Helleu b316a7a0c6 script: add info "script_info" 2024-07-17 22:38:47 +02:00
Sébastien Helleu c486a4f60a relay: fix crash when sending data to a remote buffer when the remote has been deleted (closes #2157) 2024-07-16 23:51:46 +02:00
Sébastien Helleu 2646d1b5ad core: add version 4.3.5 in ChangeLog 2024-07-16 23:03:48 +02:00
Sébastien Helleu 40b074c6d6 ruby: fix crash in plugin initialization (closes #2163)
This regression was introduced by commit
701f64afc1.
2024-07-15 09:39:54 +02:00
Sébastien Helleu ceba5f4947 doc/relay: remove duplicated description of data in message "_buffer_line_data_changed"
A link to "_buffer_line_added" is provided as data is exactly the same in this
message.
2024-07-14 09:39:01 +02:00
Sébastien Helleu 620e0dd8b6 doc/relay: fix title of chapter "_buffer_line_changed" in Japanese doc 2024-07-14 09:22:59 +02:00
Sébastien Helleu a957266279 relay: translate connection status in output of commands /relay list and /relay listfull 2024-07-13 10:33:06 +02:00
Sébastien Helleu 2d534aed68 relay: display connection status in output of commands /remote list and /remote listfull 2024-07-13 10:32:56 +02:00
Ivan Pešić b86bd39975 Update Serbian translation 2024-07-10 21:26:59 +02:00
Eric Lalonde 5bd581f8cf irc: fix lag check interval comment
The network lag check interval is stored in irc_config_network_lag_check, which does not default to 5 seconds.
2024-07-08 21:59:49 +02:00
Sébastien Helleu 8e2275cebc relay/api: fix timezone of dates sent to clients (closes #2151) 2024-07-08 19:10:27 +02:00
Sébastien Helleu 7e73da310e relay/api: remove unused macro MSG_ADD_HDATA_TIME (issue #2151) 2024-07-08 19:08:41 +02:00
Sébastien Helleu a75db3488d relay/api: allow body type "buffers" in remote client 2024-07-08 18:16:56 +02:00
Nils Görs 8511fd7b7b core: update German translations 2024-07-08 10:46:19 +02:00
Sébastien Helleu 9d98dee7d9 spell: improve error displayed when a word can not be added to the dictionary (closes #2144) 2024-07-06 11:57:26 +02:00
Nils Görs c6092b67d0 core: update German translations 2024-07-04 11:23:53 +02:00
Sébastien Helleu 42fd085388 core: add version 4.3.4 in ChangeLog 2024-07-03 22:09:05 +02:00
Sébastien Helleu 06685b6e68 core: add info "window" (closes #2141) 2024-07-01 21:23:36 +02:00
Sébastien Helleu 62c89c1e3b core: allow mask in command /item refresh 2024-07-01 20:52:31 +02:00
Sébastien Helleu cac5717b41 relay/api: add body types buffers and lines (array) 2024-06-30 13:01:29 +02:00
Sébastien Helleu a9ed58fae3 core: add relay protocol in ChangeLog entries 2024-06-30 00:38:06 +02:00
Sébastien Helleu 8f13a9cff0 relay/api: fix "body_type" returned when lines or nicks of a buffer are requested
The "body_type" returned is now this one, instead of "buffer":

- `GET /api/buffers/xxx/lines`: "line"
- `GET /api/buffers/xxx/nicks`: "nick_group"
2024-06-30 00:36:29 +02:00
Sébastien Helleu 3828a9f987 tests: add field "request_id" in tests of relay api protocol 2024-06-30 00:22:46 +02:00
Sébastien Helleu 270a822f41 relay/api: bump version in OpenAPI document 2024-06-30 00:15:25 +02:00
Sébastien Helleu 259615d436 relay/api: add field "request_id" in websocket frame (request and response) 2024-06-30 00:11:29 +02:00
Sébastien Helleu 1cacbde6b7 relay: remove check of NULL pointers before calling free functions 2024-06-30 00:11:00 +02:00
Sébastien Helleu f8f6e100d0 relay/api: always set "body_type" and "body" (null if there is no body) in websocket frame 2024-06-29 23:59:59 +02:00
Sébastien Helleu 2184af9d99 relay: flatten JSON event object sent to api relay clients 2024-06-29 19:48:34 +02:00
Sébastien Helleu 86c4f3979a doc/user: change port in examples of weechat relay from 9000 to 9500 2024-06-29 17:37:47 +02:00
Sébastien Helleu 701f64afc1 ruby: fix builtin functions not available (closes #2109) 2024-06-29 07:59:06 +02:00
Sébastien Helleu e6e0843698 core: add missing command /filter in ChangeLog (issue #1956) 2024-06-29 07:41:58 +02:00
Brad Smith de6fe1f3e1 tests: fix compilation of tests on OpenBSD 2024-06-28 23:23:15 +02:00
Sébastien Helleu 3993aa310f relay: send event "buffer_line_data_changed" to clients of "weechat" protocol 2024-06-27 22:21:09 +02:00
Sébastien Helleu 7d6afff01c relay: add line id in buffer lines sent to clients with weechat protocol 2024-06-27 22:12:34 +02:00
Sébastien Helleu 555632b615 relay/remote: update buffer line on event "buffer_line_data_changed" 2024-06-27 21:39:21 +02:00
Sébastien Helleu d5975c96e9 relay: send event "buffer_line_data_changed" to API clients 2024-06-27 21:37:47 +02:00
Sébastien Helleu e9d46b41a1 api: send new signal "buffer_line_data_changed" when a line is updated in a buffer via hdata 2024-06-27 20:55:42 +02:00
Sébastien Helleu b04e1ffd27 relay: fix read of one buffer line in API protocol 2024-06-27 20:55:42 +02:00
Sébastien Helleu f076db4767 api: add function line_search_by_id 2024-06-27 20:55:42 +02:00
Sébastien Helleu 0e9ed21edf tests/scripts: add tests on window functions 2024-06-27 20:55:42 +02:00
Sébastien Helleu 74fabe1946 tests/scripts: add tests on buffer functions 2024-06-27 20:55:42 +02:00
Sébastien Helleu 476708923c tests/scripts: fix comment 2024-06-27 20:55:42 +02:00
Sébastien Helleu c6a4ffb1a7 core: fix crash when deleting a bar that has no items (closes #2138) 2024-06-27 18:52:12 +02:00
Sébastien Helleu 85c7494dc7 python: call empty eval workaround before auto-load of scripts (issue #2046, issue #2126)
This should definitely fix the crash with Python 3.12, even when scripts are
auto-loaded (the previous fix was working only when the scripts are loaded
manually).
2024-06-26 18:44:35 +02:00
Sébastien Helleu 3d3d8f2ea7 scripts: fix reset of "quiet" status in case of nested calls (issue #2046, issue #2126) 2024-06-26 18:43:40 +02:00
Nils Görs dc283dd1c7 core: update German translations 2024-06-24 10:58:24 +02:00
Sébastien Helleu cb4aa8ea65 core: add hdata_count in /help eval 2024-06-23 22:45:09 +02:00
Sébastien Helleu 7cab57fba1 core: update ChangeLog (issue #2046, issue #2126) 2024-06-23 18:42:01 +02:00
Trygve Aaberge 830b152776 python: unload script interpreters before eval interpreter
The workaround in the previous commit didn't work for one user, so try
unloading the eval interpreter last to see if that helps.
2024-06-23 18:40:18 +02:00
Trygve Aaberge c325dedf05 python: add workaround for crash on unload with Python 3.12
Python 3.12 has a bug where it crashes when you unload all the
interpreters unless you make sure to unload the first interpreter you
loaded last. For some reason, loading the eval interpreter before any
scripts also seems to prevent the issue, even if the eval interpreter is
unloaded before the other interpreters.

So this just evals an empty string at the end of initing the Python
plugin if the Python version is 3.12, to make sure the eval interpreter
is loaded first.

Fixes #2046
2024-06-23 18:40:18 +02:00
Sébastien Helleu 03048895ec core: add distribution in bug report template 2024-06-23 13:34:19 +02:00
Sébastien Helleu 0f1441a78c core: fix command /bar addreplace with input bar (issue #2095)
Now the bar item "input_text" is added only after creating the new input bar,
so it can be added or replaced like the other bars.
2024-06-23 09:47:05 +02:00
Krzysztof Korościk c885a5031f core: update polish translation 2024-06-22 19:44:25 +02:00
Sébastien Helleu 4fbea53439 core: add version 4.3.3 in ChangeLog 2024-06-22 11:50:09 +02:00
Sébastien Helleu c34d522bb7 core: fix cast of pointer to unsigned long long
This fixes a warning displayed by the gcc compiler.
2024-06-22 10:21:00 +02:00
Sébastien Helleu 2a6b16d1de tests: add tests of hdata returning NULL pointer in eval 2024-06-22 09:08:47 +02:00
Sébastien Helleu bdfa1bd51c core, plugins: return "0x0" instead of "(nil)" for pointers formatted in strings
This is a partial revert of the commit
965beb37de.
2024-06-22 08:54:08 +02:00
Sébastien Helleu a75a947f5f irc: fix apply of custom buffer property "short_name" when a channel buffer is renamed 2024-06-19 21:43:08 +02:00
Sébastien Helleu 0d8e3a48ee core: apply buffer properties (options weechat.buffer.*) when a buffer name is changed 2024-06-19 21:42:38 +02:00
Sébastien Helleu 7cd8312bf9 irc: fix property "short_name" of channel buffer when the joined channel has a different case than the /join command 2024-06-19 20:52:02 +02:00
Sébastien Helleu 1fcf5ac5b3 core, plugins: force "short_name" in buffers to non-empty value (name by default), remove buffer property "short_name_is_set" 2024-06-18 20:34:58 +02:00
Sébastien Helleu eb83e8d018 doc/relay: add doc on "api" relay 2024-06-18 20:32:05 +02:00
Sébastien Helleu 7d4e0acfef doc/relay: move diagram to an include file 2024-06-16 20:27:57 +02:00
Sébastien Helleu b18af8dcf4 doc: add shell syntax highlighting 2024-06-16 20:05:45 +02:00
Sébastien Helleu 94bcf98c63 doc/relay: add "api" in list of other relay protocols 2024-06-16 20:05:45 +02:00
Sébastien Helleu 23e3a60e4e debian: add Serbian docs in packaging 2024-06-16 20:05:45 +02:00
Sébastien Helleu 7b39706716 debian: add Czech quickstart guide in packaging 2024-06-16 20:05:45 +02:00
Sébastien Helleu 8e7597815f doc: rename doc "weechat_relay_protocol" to "weechat_relay_weechat" 2024-06-16 20:05:45 +02:00
Ivan Pešić 8f952a4b29 doc: Update Serbian documentation 2024-06-16 20:04:28 +02:00
Ivan Pešić 3155764eb5 core: Update Serbian translation 2024-06-16 20:04:28 +02:00
Sébastien Helleu 36ca300b8d Revert "core: replace "%lx" by "%p" in function relay_weechat_msg_add_pointer"
This reverts commit 8923ecc7d8.
2024-06-16 10:16:51 +02:00
Sébastien Helleu 740aa49271 irc: rename parameter -re to -raw in command /list (closes #2124) 2024-06-16 09:15:03 +02:00
Sébastien Helleu d171c1682c doc/api: replace format "%lx" by "%p" in examples 2024-06-14 22:14:28 +02:00
Sébastien Helleu 8923ecc7d8 core: replace "%lx" by "%p" in function relay_weechat_msg_add_pointer 2024-06-14 18:10:45 +02:00
Sébastien Helleu f8d98bbd5e core: replace "%lx" by "%p" in dump of relay data 2024-06-14 18:10:18 +02:00
Sébastien Helleu d0830b9255 relay: fix dump of variable "websocket_key" 2024-06-14 18:09:53 +02:00
Sébastien Helleu e482360eba core: replace "%lx" by "%p" in debug of windows 2024-06-14 18:02:45 +02:00
Sébastien Helleu e64ab3c675 core, plugins: replace "%lx" by "%p" in calls to sscanf 2024-06-14 17:59:02 +02:00
Sébastien Helleu ce79d218a4 core: remove duplicate search of pointer in hashtable for evaluation of "hdata_count" 2024-06-14 17:37:47 +02:00
Sébastien Helleu c83b08fae8 tests: add test on function hdata_count with empty list "gui_layouts" 2024-06-14 17:37:11 +02:00
Sébastien Helleu ce3c5f0caa core: add hdata count in evaluation of expressions
Syntax is one of:

- `hdata_count:name[list]`: uses a hdata name and list
- `hdata_count:name[pointer]`: uses a hdata name and pointer (count starts at
  this pointer)
2024-06-14 17:04:06 +02:00
Sébastien Helleu 8945b7bf33 core: add function hdata_count 2024-06-14 17:04:06 +02:00
Sébastien Helleu 24e023d467 core: fix id of core buffer in hashtable gui_buffer_by_id after /upgrade 2024-06-11 08:13:20 +02:00
Sébastien Helleu 79a7766466 core: fix typo in comment 2024-06-11 08:09:32 +02:00
Sébastien Helleu 9b356733a9 core: allow buffer id in commands /buffer and /print, in addition to number and name 2024-06-11 08:03:09 +02:00
Sébastien Helleu 63148c5cc8 doc/api: add type "long long" in function hashtable_get_string 2024-06-11 07:17:28 +02:00
Sébastien Helleu 8366c32b0a core: add hashtable to quickly find buffers by id 2024-06-10 23:55:34 +02:00
Sébastien Helleu 70417a1ac6 api: add hashtable type "longlong" 2024-06-10 23:55:34 +02:00
Sébastien Helleu 93433e5dd7 tests: add tests on hashtable with different key/value types 2024-06-10 19:42:57 +02:00
Sébastien Helleu dc902b4e0a api: allow NULL value for key in hashtable 2024-06-10 19:42:47 +02:00
Sébastien Helleu 26c01e30c3 core, plugins: remove unneeded break after return 2024-06-10 15:10:25 +02:00
Sébastien Helleu 023a3b90fa core: fix refresh of bar item "scroll" in root bar after /buffer clear (closes #590) 2024-06-10 14:29:29 +02:00
Sébastien Helleu 7395387ebe core: add issue #446 in ChangeLog 2024-06-10 13:45:09 +02:00
Sébastien Helleu 3ee5341fbc perl: use lower case for CMake keywords 2024-06-10 09:01:27 +02:00
Sébastien Helleu 39cb0942a2 perl: fix quote of variable PERL_LFLAGS in CMake file 2024-06-10 08:59:36 +02:00
Sébastien Helleu 920d06bd27 core, plugins: fix return code of command callbacks in case of error 2024-06-10 08:17:25 +02:00
Sébastien Helleu 3835351226 tests: add placeholder for tests on function irc_list_export 2024-06-09 23:51:00 +02:00
Sébastien Helleu b0f0afd7fa fset: fix typo in /help fset 2024-06-09 23:16:32 +02:00
Sébastien Helleu 8824ff7d6c irc: add option -export in command /list, add option irc.look.list_buffer_format_export 2024-06-09 23:15:26 +02:00
Sébastien Helleu fb86ddc770 irc: clear /list buffer when disconnecting from server (closes #2133) 2024-06-09 18:35:22 +02:00
Sébastien Helleu d63553a73d irc: display an explicit message on /list buffer when the list of channels is empty (issue #2133) 2024-06-09 18:34:35 +02:00
Sébastien Helleu 85c8866407 relay: add option addreplace in command /remote (issue #2095) 2024-06-09 16:58:37 +02:00
Sébastien Helleu 337c9c840d relay: add option addreplace in command /relay (issue #2095) 2024-06-09 16:58:25 +02:00
Sébastien Helleu eaead31b11 irc: add option addreplace in command /server (issue #2095) 2024-06-09 16:58:12 +02:00
Sébastien Helleu a8525b41b3 irc: add option addreplace in command /notify (issue #2095) 2024-06-09 16:58:00 +02:00
Sébastien Helleu b7d2bd5c9e irc: add option addreplace in command /ignore (issue #2095) 2024-06-09 16:57:44 +02:00
Sébastien Helleu f4aab20bb4 core: add option addreplace in command /proxy (issue #2095) 2024-06-09 16:55:53 +02:00
Sébastien Helleu b45584114f core: remove "breaking" tag in ChangeLog 2024-06-09 16:53:36 +02:00
Krzysztof Korościk 37eda67776 updated polish translation
Signed-off-by: Krzysztof Korościk <soltys@soltys.info>
2024-06-09 14:51:39 +02:00
Sébastien Helleu e06e4d1457 core, plugins: use variable "argv" in calls to macro COMMAND_MIN_ARGS 2024-06-09 10:53:05 +02:00
Sébastien Helleu ea3486dae3 core: add option addreplace in command /bar (issue #2095) 2024-06-09 10:17:27 +02:00
Sébastien Helleu 6499d77e1d alias: add options addreplace and addreplacecompletion in command /alias (issue #2095)
The commands `/alias add` and `/alias addcompletion` now return an error if the
alias already exists.
2024-06-09 10:15:44 +02:00
Sébastien Helleu df67f7a0ea core: fix completion of command /item refresh 2024-06-09 09:11:03 +02:00
Sébastien Helleu 12b8ebe4e4 core: add completion "bars_items" 2024-06-09 09:09:09 +02:00
Sébastien Helleu 6306bac20b core: fix French translation of parameter "refresh" in /help item 2024-06-09 09:06:55 +02:00
Sébastien Helleu 843dcd49b5 tests: add more tests on function string_split_shell 2024-06-08 14:24:43 +02:00
LuK1337 44238650bc tests: relay: fix relay_http_parse_header function prototype 2024-06-07 12:39:40 +02:00
Sébastien Helleu 6b7137aa25 tests: reset option relay.network.websocket_allowed_origins after changing it in tests (closes #2127)
This fixes a test failure when the test changing the option is executed before
this one:

…/tests/unit/plugins/relay/api/test-relay-api-protocol.cpp:799: error: Failure in TEST(RelayApiProtocolWithClient, RecvJson)
        expected <HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: Z5uTZwvwYNDm9w4HFGk26ijp/p0=

>
        but was  <HTTP/1.1 403 Forbidden
Content-Length: 0

>
        difference starts at position 9 at: < HTTP/1.1 403 Forbid>
2024-06-07 12:33:17 +02:00
Sébastien Helleu 3d20ad8b5c doc/user: mention pkgconf with pkg-config in dependencies 2024-06-07 07:44:39 +02:00
Sébastien Helleu da97614e03 ci: install pkg-config with homebrew 2024-06-07 07:44:03 +02:00
Sébastien Helleu c6481451cb ci: replace package pkg-config by pkgconf 2024-06-07 07:38:05 +02:00
Sébastien Helleu f59eb83da4 debian: update changelog 2024-06-06 22:51:09 +02:00
Sébastien Helleu 2648d87a65 debian: replace pkg-config build dependency by pkgconf 2024-06-06 22:50:33 +02:00
Sébastien Helleu 1a21ab10fa core: add version 4.3.2 in ChangeLog 2024-06-06 22:09:02 +02:00
Sébastien Helleu 396f47e9ae xfer: fix display of input prompt in DCC chat buffers (issue #2128) 2024-06-06 13:30:25 +02:00
Sébastien Helleu 0b1e940829 irc: fix display of input prompt in private buffers (closes #2128) 2024-06-05 21:03:44 +02:00
Sébastien Helleu 7cf45707ea tests: add test on info "irc_buffer" with a valid server and a non-existing channel 2024-06-02 23:08:03 +02:00
Sébastien Helleu f104b4119a irc: don't return pointer to irc server if the channel or nick is not found in info "irc_buffer" 2024-06-02 22:49:41 +02:00
Sébastien Helleu 4d0378d579 core: fix style for breaking changes in ChangeLog 2024-06-02 22:48:00 +02:00
Sébastien Helleu a12419b888 core: add link to issue #1549 for ChangeLog entries about permessage-deflate 2024-06-02 09:54:47 +02:00
Sébastien Helleu 26fa0ea1b8 relay: enable websocket extension "permessage-deflate" with "api" relay only 2024-06-02 09:05:40 +02:00
Krzysztof Korościk 7b90b1fbf4 doc: update polish translation 2024-06-01 22:23:05 +02:00
Krzysztof Korościk 61f31eafcf core: update polish translation 2024-06-01 22:07:06 +02:00
Sébastien Helleu 9264803bc3 relay: fix websocket permessage-deflate extension when the client doesn't send the max window bits parameters 2024-06-01 15:15:01 +02:00
Sébastien Helleu d05df9ee21 relay: fix allocation and reinit of field "client_context_takeover" in websocket deflate structure 2024-06-01 14:42:55 +02:00
Sébastien Helleu 8dad5403ee relay: add quotes around protocol names in options, mention "api" before "weechat" 2024-06-01 13:05:27 +02:00
Sébastien Helleu e39a309365 relay: add option relay.network.websocket_permessage_deflate 2024-06-01 12:58:17 +02:00
Nils Görs b5b063a836 core: update German translations 2024-05-31 20:33:09 +02:00
Sébastien Helleu 2dd083554b core: remove duplicate entry in upgrade guidelines 2024-05-31 13:58:25 +02:00
Sébastien Helleu d6e69792ca core: add version 4.3.1 in ChangeLog and upgrade guidelines 2024-05-31 13:45:34 +02:00
Sébastien Helleu cd75ad0545 core: add version 4.2.3 in ChangeLog 2024-05-31 13:44:06 +02:00
Sébastien Helleu d6ffe1857b doc/api: fix typo in function string_cut 2024-05-31 12:24:33 +02:00
Sébastien Helleu b38cf0e9a3 relay: use API function string_cut to truncate raw relay messages
This is faster than the custom function that was adding " (...) " in the middle
of the message.
2024-05-31 12:04:13 +02:00
Sébastien Helleu 768416983c xfer: fix send of data on the DCC chat buffer after /upgrade if the buffer was opened before the upgrade (closes #2092) 2024-05-31 08:11:55 +02:00
Nils Görs ce1fc02dee core: update German translations 2024-05-29 23:22:31 +02:00
Sébastien Helleu e841c11b54 relay: add option relay.look.raw_messages_max_length (issue #2122) 2024-05-29 23:07:58 +02:00
Sébastien Helleu 6152812bff doc/user: add internal links to commands and options 2024-05-29 21:14:25 +02:00
Nils Görs 5cff9c0e46 core: update German translations 2024-05-27 22:27:27 +02:00
Sébastien Helleu bd8e0d8bfa relay/remote: add translations for some messages displayed 2024-05-27 21:46:24 +02:00
Sébastien Helleu 3d39f7e86c core: remove versions without upgrade guidelines 2024-05-27 12:12:24 +02:00
Sébastien Helleu 030d82148c core: update examples in Debian build script 2024-05-27 08:58:56 +02:00
Sébastien Helleu bf4e47b9f2 core: fix detection of libgcrypt ≥ 1.11 (debian #1071960)
Use pkg-config to detect libgcrypt, since command `libgcrypt-config` is not
available any more.

Remove patches for Debian/Raspbian Buster and Ubuntu Bionic: detection of
libgcrypt don't work any more with version 1.8.4 on Debian Buster and 1.8.1 on
Ubuntu Bionic (both versions don't provide the file `libgcrypt.pc`).
2024-05-27 08:15:59 +02:00
Sébastien Helleu 85c02e9137 irc: close /list buffer when the server buffer is closed (closes #2121) 2024-05-27 07:40:03 +02:00
Sébastien Helleu 8d86d85b66 relay: fix compiler warnings when cJSON is disabled 2024-05-26 23:46:52 +02:00
Sébastien Helleu 5a8751b9eb core, relay: fix include directory of libcjson and libzstd 2024-05-26 23:13:49 +02:00
Sébastien Helleu 96f9942aed php: fix return value of function hdata_longlong 2024-05-26 16:24:16 +02:00
Sébastien Helleu 449e5ae705 core: add link to issues in ChangeLog 2024-05-26 16:05:56 +02:00
Sébastien Helleu 51d2d71a04 core: update ChangeLog 2024-05-26 16:02:46 +02:00
LuK1337 4e01c077d6 tcl: fix return value for hdata_longlong
Using API_RETURN_LONG() here breaks tests on i368.
2024-05-26 15:59:12 +02:00
Sébastien Helleu 917054c58d tests: fix compilation of tests on Rocky 9.4 2024-05-26 15:41:52 +02:00
Sébastien Helleu d1ae17a8e0 core: add note about lag in buflist in upgrade guidelines 2024-05-26 14:37:48 +02:00
Sébastien Helleu d616f5bc55 core: update ChangeLog 2024-05-26 14:10:10 +02:00
LuK1337 14187b3834 tests: relay: fix HotlistToJson test on s390x
1: error: Failure in TEST(RelayApiMsg, HotlistToJson)
1: 	expected <2024-05-26T10:29:37.716512Z>
1: 	but was  <2024-05-26T10:29:37.000000Z>
1: 	difference starts at position 20 at: <T10:29:37.000000Z   >
2024-05-26 14:03:04 +02:00
LuK1337 9bd1ea1e5e tests: scripts: fix wrong ifdef check 2024-05-26 14:00:07 +02:00
LuK1337 6f774a8e8e tests: relay: add missing <string.h> include
Fixes build error on Fedora 40.
2024-05-26 13:58:35 +02:00
Sébastien Helleu 62ab68715d relay: add infos "relay_api_version" and "relay_api_version_number" 2024-05-26 10:44:23 +02:00
Sébastien Helleu 603c44a64d core: replace emails by links to GitHub accounts in AUTHORS.md 2024-05-26 10:27:30 +02:00
Sébastien Helleu a86c329b4c core: rename and convert AUTHORS.adoc to AUTHORS.md 2024-05-26 10:27:30 +02:00
Sébastien Helleu d0d1d2e4b9 core: rename and convert README.adoc to README.md 2024-05-26 10:27:30 +02:00
Sébastien Helleu 5d0784bd52 core: rename and convert Contributing.adoc to CONTRIBUTING.md 2024-05-26 10:27:30 +02:00
Sébastien Helleu 3653f4b7a2 core: rename and convert ReleaseNotes.adoc to UPGRADING.md 2024-05-26 10:27:25 +02:00
Sébastien Helleu 8260421767 core: rename and convert ChangeLog.adoc to CHANGELOG.md 2024-05-26 10:26:23 +02:00
Sébastien Helleu 688c77d9f5 Version 4.4.0-dev 2024-05-26 09:21:28 +02:00
Sébastien Helleu b407de4c3b Version 4.3.0 2024-05-26 09:16:17 +02:00
Sébastien Helleu 8444670ef1 relay/api: set API version to 0.1.0 in OpenAPI document 2024-05-26 08:39:28 +02:00
Sébastien Helleu 657805ca25 core: add relay options renamed in release notes 2024-05-26 08:24:08 +02:00
Sébastien Helleu 12378b3a19 relay/api: set API version to 0.1.0 2024-05-26 00:04:28 +02:00
Sébastien Helleu 7684d5a3d1 tests: add test of IRC message split with newline but no server 2024-05-25 19:48:41 +02:00
Sébastien Helleu 2488466b0c irc: fix crash in split of IRC message containing a newline if the server is not given 2024-05-25 19:28:49 +02:00
Sébastien Helleu 647ca0c047 tests: remove dead assignments 2024-05-25 19:22:13 +02:00
Sébastien Helleu 1452497b32 tests: fix tests on hook_infolist_get with an invalid pointer 2024-05-25 19:13:08 +02:00
Sébastien Helleu 2c7057bf22 relay/remote: fix relay API version comparison with a string that can be NULL 2024-05-25 19:11:25 +02:00
Krzysztof Korościk e97dc832e5 doc: updated polish translation 2024-05-25 13:57:13 +02:00
Krzysztof Korościk 7b4d374efd core: updated polish translation 2024-05-25 13:35:09 +02:00
Sébastien Helleu 5294249515 relay: fix compiler warning in call to snprintf
This fixes the following warning emitted by gcc:

…/relay-http.c:1207:32: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 64 [-Wformat-truncation=]
 1207 |                               "%s[%d bytes data]",
      |                                ^~
 1208 |                               str_header,
      |                               ~~~~~~~~~~
…/relay-http.c:1207:31: note: directive argument in the range [1, 2147483647]
 1207 |                               "%s[%d bytes data]",
      |                               ^~~~~~~~~~~~~~~~~~~
…/relay-http.c:1206:21: note: ‘snprintf’ output between 15 and 1047 bytes into a destination of size 64
 1206 |                     snprintf (raw_message, length_raw,
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1207 |                               "%s[%d bytes data]",
      |                               ~~~~~~~~~~~~~~~~~~~~
 1208 |                               str_header,
      |                               ~~~~~~~~~~~
 1209 |                               *ptr_body_size);
      |                               ~~~~~~~~~~~~~~~
2024-05-24 21:08:10 +02:00
Nils Görs 2b81cce9e0 doc: update German documentation 2024-05-24 11:02:16 +02:00
Nils Görs 8814d1d5c4 core: update German translations 2024-05-24 10:45:50 +02:00
Sébastien Helleu 4a4fbce5dd core: update translations 2024-05-23 21:03:43 +02:00
Sébastien Helleu f4a789c327 core: rename Twitter to X in README 2024-05-23 21:01:12 +02:00
Sébastien Helleu 037afc5e92 core: remove release notes for versions where no manual action is required upon upgrade 2024-05-22 00:36:23 +02:00
Sébastien Helleu 17435d5532 core: group changes and sort them by importance in ChangeLog
Changes are now grouped by category:

- `Changed`: changes in existing features
- `Added`: new features
- `Removed`: removed features
- `Fixed`: bug fixed

Changes are also sorted by importance: breaking changes and most important
changes first in each category.

Link to release notes is mentioned in each release for which manual actions are
required upon upgrade.
2024-05-21 23:40:53 +02:00
Sébastien Helleu 6704b1b21c core: add missing list header in v4.0.1 2024-05-21 21:42:55 +02:00
Sébastien Helleu cb08919baf relay/openapi: add note about websocket connection in sync endpoint 2024-05-19 15:49:37 +02:00
Sébastien Helleu c67eb4e656 relay/openapi: remove example from description 2024-05-19 15:48:45 +02:00
Sébastien Helleu 9605501c66 relay/openapi: add complete description for authentication, add header "x-weechat-totp" 2024-05-19 15:31:16 +02:00
Sébastien Helleu e9c14d6548 relay/openapi: replace "summary" by "description" in paths 2024-05-19 14:23:36 +02:00
Sébastien Helleu 54f2c7f2e0 doc/user: add relay "api" (issue #2066) 2024-05-19 13:26:47 +02:00
Sébastien Helleu 44ca4b41f3 relay/remote: check that remote API is exactly the same version as local one upon connection 2024-05-19 11:26:50 +02:00
Sébastien Helleu cc544e3e3a relay/remote: fix error displayed when an error happens in a callback 2024-05-19 10:52:26 +02:00
Krzysztof Korościk a749e3423f core: updated polish translation 2024-05-18 17:52:14 +02:00
Sébastien Helleu 8949a65f52 relay/remote: fix highlight on lines received from remote 2024-05-18 09:51:39 +02:00
Sébastien Helleu 2423fdbf2d core: add option weechat.look.config_permissions (closes #2057) 2024-05-18 09:16:47 +02:00
Sébastien Helleu 839ffc4b0c irc: store lag in channel and private buffers (local variable "lag"), in addition to the server buffer 2024-05-16 08:23:28 +02:00
Sébastien Helleu 5c79933faa core: add bar item "lag"
This bar item is overridden by the irc bar item with the same name, but it used
on relay remote buffers, so that the lag is visible as well.
2024-05-16 07:58:52 +02:00
Sébastien Helleu 47f40f961a relay/remote: add, update and remove buffer local variables received from remote 2024-05-16 07:45:02 +02:00
Sébastien Helleu 1100b0e694 relay/remote: set "input" and "input_pos" only upon buffer creation
This prevents unexpected updates of input on remote buffer whenever something
changes in the buffer, like a local variable, but with the same unchanged
input.
2024-05-16 07:22:24 +02:00
Sébastien Helleu 761d2dec12 core: send signal "buffer_localvar_{added|changed}" only if local variable has been added or changed 2024-05-16 07:16:11 +02:00
Sébastien Helleu 6db01bee34 ci: add tests of OpenAPI document with schemathesis 2024-05-15 21:25:50 +02:00
Sébastien Helleu 4c565413bb relay/api: add OpenAPI document (issue #2066) 2024-05-15 21:20:22 +02:00
Nils Görs b916ed6cf7 core: update German translations 2024-05-15 18:07:34 +02:00
Sébastien Helleu 484abc68fc relay: add option "autoconnect" in remote
This option enables auto-connection to the remote, unless command line option
`-a` (`--no-connect`) is given.
2024-05-14 22:27:11 +02:00
Nils Görs f116061868 core: update German translations 2024-05-14 08:48:20 +02:00
Sébastien Helleu 878c0a5d66 irc: allow range in commands /unban and /unquiet (closes #2113) 2024-05-13 23:05:39 +02:00
Sébastien Helleu 8009b21803 irc: use dynamic string in function irc_command_mode_masks 2024-05-13 22:50:42 +02:00
Sébastien Helleu 05e12c0232 core: update French translations 2024-05-13 22:50:42 +02:00
Sébastien Helleu 8de2a36ac2 relay: add protocol "api" in completion of command "/relay add" 2024-05-12 22:16:14 +02:00
Sébastien Helleu 539a51f9e1 relay/api: add different return codes for callbacks 2024-05-12 22:11:41 +02:00
Sébastien Helleu 3aec35aeec relay/remote: set modes on buffer event 2024-05-12 12:46:32 +02:00
Sébastien Helleu 3bfb7d7f04 relay/api: add field "modes" in GET /api/buffers 2024-05-12 12:46:32 +02:00
Sébastien Helleu dcb8fcb6ed irc: rename option irc.color.item_channel_modes to weechat.color.status_modes 2024-05-12 12:46:32 +02:00
Sébastien Helleu fb4d2d30f4 irc: remove redefinition of bar item "buffer_modes"
The new buffer property "modes" is used instead.
2024-05-12 12:46:32 +02:00
Sébastien Helleu e7b2d98b6e core: add buffer property "modes" 2024-05-12 09:26:10 +02:00
Sébastien Helleu e57777acb1 doc/api: translate buffer property "input_prompt" to French 2024-05-12 08:48:16 +02:00
Sébastien Helleu fa07d98f06 doc/api: add version 4.3.0 for signal "input_prompt_changed" 2024-05-12 08:42:36 +02:00
Sébastien Helleu c1083d022d irc: restore input prompt after upgrade on server and channel buffers 2024-05-12 01:31:54 +02:00
Sébastien Helleu 464b019929 core: restore buffer input prompt on /upgrade 2024-05-12 01:31:54 +02:00
Sébastien Helleu 1a0b9427e0 core: fix conversion of WeeChat bar colors to ANSI colors 2024-05-11 14:05:52 +02:00
Sébastien Helleu 32b01a606c core: fix conversion of WeeChat "default" color to ANSI color 2024-05-11 14:05:52 +02:00
Sébastien Helleu a456c3db86 tests: split strings with colors for readability 2024-05-11 14:05:52 +02:00
Sébastien Helleu 77145d32ad relay/remote: set input prompt on buffer event 2024-05-11 14:05:52 +02:00
Sébastien Helleu cdeac1b693 relay/api: add field "input_prompt" in GET /api/buffers 2024-05-11 14:05:52 +02:00
Sébastien Helleu 827a056790 irc: remove redefinition of bar item "input_prompt"
The new buffer property "input_prompt" is used instead.
2024-05-11 14:05:52 +02:00
Sébastien Helleu 7634774327 core: add buffer property "input_prompt" 2024-05-10 08:54:03 +02:00
Sébastien Helleu e69cffd9bc irc: fix nick comparison in function irc_server_set_nick 2024-05-10 08:27:41 +02:00
Sébastien Helleu 5991278637 irc: rename function irc_server_buffer_set_input_multiline to irc_server_set_buffer_input_multiline 2024-05-09 15:55:31 +02:00
Sébastien Helleu 1a8c40826e core: refresh buffer only if nicklist_display_groups has changed 2024-05-08 13:29:12 +02:00
Sébastien Helleu d14bc12282 core: refresh buffer only if nicklist has changed 2024-05-08 13:28:47 +02:00
Sébastien Helleu 0c9bbb5d4f core: refresh buffer only if time_for_each_line has changed 2024-05-08 13:28:24 +02:00
Sébastien Helleu df52b57c33 core: add function gui_buffer_set_filter 2024-05-08 13:23:50 +02:00
Sébastien Helleu 7addd1bf00 core: add function gui_buffer_set_input 2024-05-08 13:19:40 +02:00
Sébastien Helleu 28f75d17dc tests: add placeholder for tests on function gui_buffer_set_input_get_any_user_data 2024-05-08 13:19:15 +02:00
Sébastien Helleu 1050ba851f core: fix buffer title comparison in function gui_buffer_set_title 2024-05-08 12:50:08 +02:00
Sébastien Helleu 103684b15e core: merge conditions in function gui_buffer_set_type 2024-05-08 12:49:17 +02:00
Sébastien Helleu 7546ee08ca core: fix buffer short name comparison in function gui_buffer_set_short_name 2024-05-08 12:48:21 +02:00
Sébastien Helleu 1aeea38355 core: fix buffer name comparison in function gui_buffer_set_name 2024-05-08 12:09:26 +02:00
Sébastien Helleu 9ce666fc31 core: check that buffer is not NULL in function gui_input_set_pos 2024-05-08 12:08:50 +02:00
Sébastien Helleu b2c7682242 core: add function gui_buffer_set_notify 2024-05-08 12:08:50 +02:00
Sébastien Helleu 2aa1b950cd core: add function gui_buffer_set_day_change 2024-05-08 12:08:50 +02:00
Sébastien Helleu 0df1cde496 tests: fix typo in comment 2024-05-08 09:30:33 +02:00
Sébastien Helleu 9f536d3dc7 api: return -1 or 1 if one input string is NULL and not the other in string comparison functions 2024-05-08 09:30:20 +02:00
Sébastien Helleu 4d0458afdd relay/remote: set input multiline on buffer event 2024-05-07 21:38:43 +02:00
Sébastien Helleu 92dfd2425f relay/remote: set buffer input and cursor position on buffer event 2024-05-07 21:38:24 +02:00
Ivan Pešić be621205e9 doc: update Serbian translation 2024-05-07 18:59:40 +02:00
Ivan Pešić 4ad497ce01 core: update Serbian translation 2024-05-07 18:59:40 +02:00
Sébastien Helleu da8353c54f relay: change default value of option "relay.network.commands" to *,!quit 2024-05-07 13:58:31 +02:00
Sébastien Helleu 44c96f6abf relay/remote: reuse an existing remote buffer 2024-05-05 23:57:46 +02:00
Sébastien Helleu 177b0a4299 relay/remote: synchronize input with remote relay 2024-05-05 23:57:02 +02:00
Sébastien Helleu 75270d7841 relay/api: add optional synchronization of input 2024-05-05 23:56:33 +02:00
Sébastien Helleu 6526cc230a relay/api: add input fields in GET /api/buffers
New fields returned:

- "input" (string): content of input
- "input_position" (integer): position in input (starts at 0)
- "input_multiline" (boolean): true if the buffer allows multiline input
2024-05-05 23:07:42 +02:00
Sébastien Helleu 211cd11c2a relay/api: add parameter "lines_free" in GET /api/buffers
This parameter is the number of lines to return for buffers with free content.

Its default value is `0` if "lines" is set to `0`, otherwise all buffer lines
are returned.
2024-05-05 22:30:04 +02:00
Sébastien Helleu 9ceea3697b relay/api: fix read of buffer lines when lines parameter is LONG_MIN 2024-05-05 17:49:20 +02:00
Sébastien Helleu 0cf504dce7 tests: add test on relay API preflight request (OPTIONS) 2024-05-05 14:13:03 +02:00
Sébastien Helleu 6839974a07 tests: fix relay API protocol tests 2024-05-05 11:37:05 +02:00
Sébastien Helleu 25e3a631b9 relay/api: reply to preflight request OPTIONS received from browsers (CORS)
This adds the support of Cross-Origin Resource Sharing (CORS) in the relay HTTP
API.
2024-05-05 11:08:37 +02:00
Sébastien Helleu 998bb89c98 relay/api: send all nicks when a buffer is opened 2024-05-04 13:58:01 +02:00
Sébastien Helleu ccf23ae51e relay/remote: run callback based on event name instead of body type 2024-05-04 13:43:03 +02:00
Sébastien Helleu 6321669cd5 relay/remote: clear remote buffer when event "buffer_cleared" is received 2024-05-04 12:35:10 +02:00
Sébastien Helleu 586e66d6fa tests: add placeholders for tests on relay api remote event functions 2024-05-04 11:41:23 +02:00
Sébastien Helleu a21fa3359d relay/remote: fix close of remote buffer 2024-05-04 11:40:49 +02:00
Sébastien Helleu 4ac120e435 relay/remote: fix alignment of variable in debug print to log file 2024-05-04 08:55:57 +02:00
Sébastien Helleu b21b64bc44 relay/remote: do not display error if the buffer is not found in a line/nick event 2024-05-04 08:39:56 +02:00
Sébastien Helleu 68ff525d2e relay/api: do not relay any signal received on a relay buffer
This fixes a creation of multiple fset buffers on remote when /fset is used on
the server.
2024-05-03 19:12:43 +02:00
Eli Schwartz 7e79dd92ba core: conditionally declare variable only used in conditional code
Avoids emitting a compiler diagnostic by default for non-NLS builds for
-Wunused-variable.
2024-05-03 18:49:20 +02:00
Eli Schwartz cefc6820c1 core: remove unused header
weechat.h already handles libintl.h and defining suitable macros.
Including it again does nothing other than emit a compile warning when
compiling without NLS:

In file included from /var/tmp/portage/net-irc/weechat-9999/work/weechat-9999/src/core/core-doc.c:35:
/var/tmp/portage/net-irc/weechat-9999/work/weechat-9999/src/core/weechat.h:49: warning: "gettext" redefined
   49 |     #define gettext(string) (string)
      |
In file included from /var/tmp/portage/net-irc/weechat-9999/work/weechat-9999/src/core/core-doc.c:30:
/usr/include/libintl.h:109: note: this is the location of the previous definition
  109 | # define gettext(msgid) dgettext (NULL, msgid)
2024-05-03 18:49:20 +02:00
Sébastien Helleu 9f7b4c497e core: remove unused variable "used" 2024-05-03 07:15:55 +02:00
Sébastien Helleu d85205ca8a irc: remove unneeded parameter in call to irc_list_alloc() 2024-05-03 07:12:34 +02:00
Sébastien Helleu 06d10ad193 core: fix prototype of function "resizeterm" in fake ncurses interface 2024-05-02 21:44:01 +02:00
Sébastien Helleu 8f86f319ca relay: fix use of uninitialized variable "ptr_buffer" 2024-05-02 21:40:14 +02:00
Sébastien Helleu fef2ecec9b relay: remove unused variable "i" 2024-05-02 21:37:03 +02:00
Sébastien Helleu cf42c7da38 alias: remove unused variable "args_count" 2024-05-02 21:34:50 +02:00
Nils Görs 9e6b9ca54d core: update German translations 2024-05-02 07:42:53 +02:00
Krzysztof Korościk d22c3344d4 doc: updated polish translation 2024-05-02 00:13:37 +02:00
Krzysztof Korościk 93064b8401 po: updated polish translation 2024-05-02 00:06:57 +02:00
Sébastien Helleu 573f1046ac core: execute command as user data for local keys in buffer (issue #2066)
If buffer->input_get_any_user_data is set to 1, any command executed via a
buffer local key is considered as user input and then sent to the buffer
callback, instead of being executed directly.

This is used on relay remote buffers, to execute the command on the remote
instead of locally.
2024-05-01 15:07:08 +02:00
Sébastien Helleu 3aeea2d6aa relay/remote: set buffer local keys (issue #2066) 2024-05-01 13:53:58 +02:00
Sébastien Helleu afe037c579 relay/api: add buffer keys in GET /api/buffers (issue #2066) 2024-05-01 13:53:58 +02:00
Sébastien Helleu c5268bc5f9 core: send signal "buffer_line_added" on buffers with free content (issue #2066)
The signal "buffer_line_added" is now sent for every line added or modified on
a buffer with free content.
2024-05-01 13:37:49 +02:00
Sébastien Helleu c47e4fa883 relay/remote: display lines on buffers with free content (issue #2066) 2024-05-01 13:37:45 +02:00
Sébastien Helleu 6c1f21f10c relay: add option relay.api.remote_get_lines (issue #2066) 2024-05-01 10:10:36 +02:00
Sébastien Helleu ee3fb67a0c relay/api: add support of nicklist in remote buffers 2024-04-30 00:08:41 +02:00
Sébastien Helleu b8f6468590 relay/api: add color names for groups and nicks in GET /api/buffers 2024-04-29 22:43:38 +02:00
Sébastien Helleu de24921609 relay/api: add nicklist boolean fields in GET /api/buffers 2024-04-29 22:05:47 +02:00
Sébastien Helleu 1d9cdba58e relay/api: rename field "nicklist" to "nicklist_root" in GET /api/buffers 2024-04-29 21:56:38 +02:00
Sébastien Helleu 9cd7fd38a9 api: allow to set nicklist group/nick id in functions nicklist_group_set and nicklist_nick_set (issue #2081) 2024-04-29 21:07:04 +02:00
Sébastien Helleu ded599b272 api: allow search by group and nick id in functions nicklist_search_group and nicklist_search_nick (issue #2081) 2024-04-29 19:22:57 +02:00
Sébastien Helleu 6c706caa50 tests/gui: add tests on nicklist functions 2024-04-28 22:31:37 +02:00
Sébastien Helleu f87347d44f core: fix /upgrade from previous releases (issue #2106)
When 4 directories are received, the state directory is initialized with the
data directory.

This fixes the following error on `/upgrade`:

Error: wrong number of paths for home directories (expected: 1 or 5, received: 4)
2024-04-28 20:19:45 +02:00
Sébastien Helleu 96ff7248ef core: remove obsolete function gui_nicklist_get_max_length 2024-04-28 19:10:05 +02:00
Sébastien Helleu eac442a855 core: remove unnecessary condition in function gui_nicklist_get_group_start 2024-04-28 19:06:48 +02:00
Sébastien Helleu f1fa143b21 core: check that parameter name is not NULL in function gui_nicklist_get_group_start 2024-04-28 19:06:21 +02:00
Sébastien Helleu dcd872bc45 core: fix recursive search of group in nicklist 2024-04-28 13:07:08 +02:00
Sébastien Helleu 4a058ae0f5 trigger: remove check of NULL pointers before calling trigger_free() (issue #865) 2024-04-26 21:24:14 +02:00
Sébastien Helleu 2b919b0a01 script: remove check of NULL pointers before calling script_repo_free() (issue #865) 2024-04-26 21:23:39 +02:00
Sébastien Helleu 9c3eda660d relay: remove check of NULL pointers before calling relay_websocket_deflate_free() (issue #865) 2024-04-26 21:23:39 +02:00
Sébastien Helleu 17090ade74 relay: remove check of NULL pointers before calling relay_server_free() (issue #865) 2024-04-26 21:22:50 +02:00
Sébastien Helleu ba97a39565 relay: remove check of NULL pointers before calling relay_http_response_free() (issue #865) 2024-04-26 21:22:49 +02:00
Sébastien Helleu 42cba25453 exec: remove check of NULL pointers before calling exec_free() (issue #865) 2024-04-26 21:21:48 +02:00
Sébastien Helleu 7438d2c737 alias: remove check of NULL pointers before calling alias_free() (issue #865) 2024-04-26 21:21:48 +02:00
Sébastien Helleu ed48819b77 core: remove check of NULL pointers before calling gui_focus_free_info() (issue #865) 2024-04-26 21:18:24 +02:00
Sébastien Helleu 2c300424b4 core: remove check of NULL pointers before calling gui_color_palette_free() (issue #865) 2024-04-26 21:18:24 +02:00
Sébastien Helleu 3e520cb1ff core: remove check of NULL pointers before calling gui_completion_free() (issue #865) 2024-04-26 21:18:24 +02:00
Sébastien Helleu 114084a4fc relay: remove check of NULL pointers before calling weechat_completion_free() (issue #865) 2024-04-26 21:18:24 +02:00
Sébastien Helleu 1a31512503 core: remove check of NULL pointers before calling string_free_split_tags() (issue #865) 2024-04-26 21:18:24 +02:00
Sébastien Helleu a7b21fa647 core: remove check of NULL pointers before calling gui_bar_window_free() (issue #865) 2024-04-26 21:18:24 +02:00
Sébastien Helleu 890caf4e8e core: remove check of NULL pointers before calling gui_bar_item_free() (issue #865) 2024-04-26 21:17:13 +02:00
Sébastien Helleu ad33036fea core: remove check of NULL pointers before calling weelist_free() (issue #865) 2024-04-26 21:06:47 +02:00
Sébastien Helleu a59fa70a94 irc: remove check of NULL pointers before calling weechat_list_free() (issue #865) 2024-04-26 21:06:47 +02:00
Sébastien Helleu ac7cc25763 core: remove check of NULL pointers before calling infolist_free() (issue #865) 2024-04-26 21:06:06 +02:00
Sébastien Helleu ee51e6c05f plugins: remove check of NULL pointers before calling weechat_infolist_free() (issue #865) 2024-04-26 21:06:06 +02:00
Sébastien Helleu 61ff0b8587 core: remove check of NULL pointers before calling config_file_option_free() (issue #865) 2024-04-26 20:59:44 +02:00
Sébastien Helleu 561dd92d8e plugins: remove check of NULL pointers before calling weechat_config_option_free() (issue #865) 2024-04-26 20:59:44 +02:00
Sébastien Helleu 619b40b42f core: remove check of NULL pointers before calling string_shared_free() (issue #865) 2024-04-26 08:55:35 +02:00
Sébastien Helleu 409a06982e core: remove check of NULL pointers before calling string_dyn_free() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu 7af01a56ca plugins: remove check of NULL pointers before calling weechat_string_dyn_free() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu 3057d846d9 core: remove check of NULL pointers before calling string_free_split() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu 9a5a1fb300 plugins: remove check of NULL pointers before calling weechat_string_free_split() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu f11c7c1bf4 core: remove check of NULL pointers before calling hashtable_free() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu 0b2d9bcb9b plugins: remove check of NULL pointers before calling weechat_hashtable_free() (issue #865) 2024-04-26 08:53:22 +02:00
Sébastien Helleu 1ad0b4b669 core: remove check of NULL pointers before calling unhook() (issue #865) 2024-04-26 08:41:44 +02:00
Sébastien Helleu 529a22e342 plugins: remove check of NULL pointers before calling weechat_unhook() (issue #865) 2024-04-26 08:41:44 +02:00
Sébastien Helleu 828ca37225 tests: split hook tests into multiple files (issue #865) 2024-04-26 08:41:44 +02:00
Sébastien Helleu 6cf163f00c tests: move hook modifier tests to a separate file (issue #865) 2024-04-26 07:51:49 +02:00
Sébastien Helleu 2b6fbe26ac core: remove check of NULL pointers before calling arraylist_free() (issue #865) 2024-04-26 07:37:22 +02:00
Sébastien Helleu 3eed74a75c plugins: remove check of NULL pointers before calling weechat_arraylist_free() (issue #865) 2024-04-26 07:37:22 +02:00
Sébastien Helleu e73bff95fa core: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu b56b34711d api: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu 590d9453a0 xfer: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu ea85d180e5 trigger: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu 0e3b6a9c77 tcl: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu 1f104d06a0 spell: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu 3973258628 script: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:25 +02:00
Sébastien Helleu f79153ace7 ruby: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 7ee57af8e3 relay: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu b138510cff python: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu c472b9a733 php: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 0ac2e54b46 perl: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 3e994e3c5a lua: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 128d2a4e12 logger: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 846c785531 javascript: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 2bbf289635 irc: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu f3a9bfe55e guile: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 852b8a5cdb fset: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 1ae33517e9 fifo: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu 5ad977a6ed exec: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu f92606a317 charset: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:59:24 +02:00
Sébastien Helleu c3750a02e3 buflist: remove check of NULL pointers before calling free() (issue #865) 2024-04-25 20:58:31 +02:00
Sébastien Helleu c242c8e3f9 alias: remove check of NULL pointers before calling free() (issue #865) 2024-04-24 23:12:05 +02:00
Sébastien Helleu 4baf0e8526 relay: add final '\0' in body when parsing HTTP response
This fixes tests on Debian GNU/Hurd.
2024-04-24 21:24:51 +02:00
Sébastien Helleu 1e08b1119a relay: fix default value of remote options 2024-04-23 22:57:57 +02:00
Sébastien Helleu fb9d677020 doc/api: add changes on functions command and command_options introduced in version 4.0.0 2024-04-23 22:54:00 +02:00
Sébastien Helleu d0f0a7834d core: do not color prefix of join/part/quit messages when the nick is offline 2024-04-17 08:32:19 +02:00
Nils Görs eadb7e95ef core: update German translations 2024-04-15 13:02:23 +02:00
Nils Görs 634f467c8d core: update German translations 2024-04-15 11:06:45 +02:00
Sébastien Helleu c1b49f71a5 core: update French translations 2024-04-14 19:15:59 +02:00
Sébastien Helleu 42b073629d relay: ignore unused parameter "gnutls_rc" 2024-04-14 19:14:19 +02:00
Sébastien Helleu 731871dd78 relay: remove commented variable 2024-04-14 19:13:47 +02:00
Sébastien Helleu b7d07840d1 relay: add connection with proxy to remote 2024-04-14 19:12:35 +02:00
Sébastien Helleu 9defa13bbe relay: remove commented code 2024-04-14 19:12:22 +02:00
Sébastien Helleu 984fdb2b58 relay: add TLS connection to remote, add remote option "tls_verify" 2024-04-14 19:00:05 +02:00
Sébastien Helleu a4236be509 relay: add missing proxy in output of /remote listfull <name> 2024-04-14 16:14:51 +02:00
Sébastien Helleu 92d27d8676 relay: fix read of remote name in infolist 2024-04-14 15:51:03 +02:00
Sébastien Helleu e1b1946ee4 relay: add check and change callbacks for remote option "url" 2024-04-14 14:58:26 +02:00
Sébastien Helleu 252787c457 relay: fix memory leak when adding a new remote 2024-04-14 09:14:00 +02:00
Sébastien Helleu 18d32cb613 core: add issue #1747 in ChangeLog 2024-04-13 20:35:24 +02:00
Sébastien Helleu b909522307 core: update ChangeLog (issue #2106) 2024-04-12 23:00:57 +02:00
Sébastien Helleu 5eb47ccf53 core: update French translations 2024-04-12 22:59:21 +02:00
90 8c3f16dbe3 core: add support for $XDG_STATE_HOME 2024-04-12 22:57:57 +02:00
Nils Görs 3bfe4e52ca core: update German translations 2024-04-12 16:41:10 +02:00
Sébastien Helleu c112d0aafa tests: add placeholder for tests on function gui_line_is_action 2024-04-11 23:03:44 +02:00
Sébastien Helleu b0b733a8f0 core: use nick offline color for nick in action message 2024-04-11 22:52:54 +02:00
Sébastien Helleu ae892d2893 core: use nick offline highlight color for prefix of action message when the nick is offline with a highlight 2024-04-11 22:50:39 +02:00
Sébastien Helleu 90998bd296 relay/api: fix reconnection to remote after disconnection 2024-04-10 21:58:11 +02:00
Sébastien Helleu 976e5e8ae4 relay/api: free hook_url_handshake when disconnecting from remote 2024-04-10 21:57:00 +02:00
Sébastien Helleu f40f3cfa40 relay/api: add tags in lines displayed in remote buffers 2024-04-10 20:57:16 +02:00
Sébastien Helleu 5046a9b596 relay/api: fix decoding of large websocket frames in remote client (closes #2107) 2024-04-09 13:32:34 +02:00
Sébastien Helleu dbf9068909 relay/api: read data on socket only if connected 2024-04-09 13:15:15 +02:00
Sébastien Helleu e8081fe4f7 relay/api: free frames after use 2024-04-09 13:13:32 +02:00
Sébastien Helleu ed2becf8fe relay: free frames only if they were allocated by function relay_websocket_decode_frame 2024-04-09 13:08:12 +02:00
Sébastien Helleu f7c27b0801 relay: free all data in remote 2024-04-09 13:02:45 +02:00
Sébastien Helleu fadf9c47c9 relay/api: use function asprintf in JSON send functions 2024-04-08 19:12:33 +02:00
Sébastien Helleu a3c9a5b897 relay: fix build when CJSON is disabled 2024-04-08 07:32:03 +02:00
Sébastien Helleu 2fe215276e core: add version 4.2.2 in ChangeLog and release notes 2024-04-07 19:04:08 +02:00
Sébastien Helleu 419515845d relay: simplify function relay_auth_check_hash_sha 2024-04-07 17:54:28 +02:00
Sébastien Helleu 5eaac71d25 relay/api: use function asprintf to build string with salt and password 2024-04-07 17:53:42 +02:00
Sébastien Helleu fd5f42dc06 relay/api: fix authentication with remote using hash algorithm "sha256" or "sha512" 2024-04-07 17:29:35 +02:00
Sébastien Helleu ec8c4cc042 relay/api: use function asprintf to build key and check websocket reply 2024-04-07 17:22:03 +02:00
Sébastien Helleu 86dea12b71 tests: fix relay/api tests on group and nick colors 2024-04-07 17:22:03 +02:00
Sébastien Helleu ec3b3d47be relay/api: convert group/nick color names to the real color code 2024-04-07 16:59:45 +02:00
Sébastien Helleu 8cb302e600 relay: add example with "api" protocol in /help relay (issue #2066) 2024-04-07 15:33:41 +02:00
Sébastien Helleu eacd0002dd relay: add missing line for "api" protocol in /help relay (issue #2066) 2024-04-07 15:33:36 +02:00
Sébastien Helleu 91a9af72b1 doc: generate doc for all commands except default aliases 2024-04-07 15:28:34 +02:00
Sébastien Helleu cb6c2fd637 core: update French translations (issue #2066) 2024-04-07 14:51:09 +02:00
Sébastien Helleu ef12c93f1b relay: improve messages displayed (issue #2066) 2024-04-07 14:49:12 +02:00
Sébastien Helleu 14beee8a91 relay/api: rename field "nicks" to "nicklist" in GET /api/buffers 2024-04-07 13:18:14 +02:00
Sébastien Helleu 7c2f44e74e relay/api: add nicklist group and nick id in response to GET /api/buffers (issue #2081) 2024-04-07 13:18:14 +02:00
Sébastien Helleu 89fe540b53 core: add unique "id" in nicklist group and nick (issue #2081)
The id is a "long long" variable with the current time (microseconds
precision).

It is guaranteed to be unique for all groups and nicks inside the buffer, and
the same number is never used again in the same buffer, during the lifetime of
the process.

It persists and is unchanged after `/upgrade`.
2024-04-07 13:18:14 +02:00
Sébastien Helleu 40a68549b5 relay: set default value of undefined remote options to empty string instead of NULL (issue #2066)
This fixes the websocket connection to remote that is not initiated after the
successful handshake with the remote relay/api.
2024-04-07 13:18:14 +02:00
Sébastien Helleu a499b50b7b relay: add synchronization with remote and handler for events received (issue #2066) 2024-04-07 13:18:14 +02:00
Sébastien Helleu b6647004a5 relay: do not share content of any relay buffer in api and weechat protocols (issue #2066)
This is to prevent infinite loop when connected to a remote which is the
weechat instance itself.
2024-04-07 13:18:14 +02:00
Sébastien Helleu 2cf66de423 api: add function "asprintf" 2024-04-07 13:18:13 +02:00
Sébastien Helleu 08bc6404eb doc/api: fix typo: "formattée" -> "formatée" 2024-04-07 13:18:13 +02:00
Sébastien Helleu 4adb64284b buffer: add property input_get_any_user_data in buffer (issue #2066)
This allows buffers to get any user input, including commands, that are sent to
the buffer callback instead of being executed on the buffer.
2024-04-07 13:18:13 +02:00
Sébastien Helleu 3cce916035 relay/api: add fields "displayed" and "notify_level" in lines returned (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu 64db1b958d relay/api: replace direct access to JSON number value by call to function cJSON_GetNumberValue() (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu cb785d5035 relay/api: add "request" and "request_body" in response when connected via websocket (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu 9d7e887d8e relay/api: add "body_type" in response when a body is set and connected via websocket (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu 643adecff5 relay: add option send in command /remote (issue #2066)
This can be used to send raw JSON data encapsulated in a websocket frame to the
remote.

Example: /remote send test {"request":"GET /api/version"}
2024-04-07 13:18:13 +02:00
Sébastien Helleu 4460f92727 relay: stop URL address before the first question mark if colon is not found (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu f507be4128 tests: add tests on relay remote functions (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu a3f3c9d09c relay: check that parameter ws_deflate is not NULL in function relay_websocket_deflate_free (issue #2066) 2024-04-07 13:18:13 +02:00
Sébastien Helleu 90b855e1aa relay: add connection to remote (issue #2066)
Connection to remote:

- handshake: offer support for all supported hash algorithms
- network connect with a socket
- upgrade to websocket and authenticate with remote (password/TOTP)
- check websocket response
- get list of buffers (not used yet)

Note: connection to remote with TLS or a proxy is not yet supported.
2024-04-07 13:18:13 +02:00
Sébastien Helleu fd32192464 relay: add option disconnect in command /remote (issue #2066) 2024-04-07 13:18:10 +02:00
Sébastien Helleu c2343ecb74 relay: add functions to parse HTTP response (issue #2066) 2024-04-07 13:16:50 +02:00
Sébastien Helleu c4c220f0a3 relay: add proxy option in remote (issue #2066) 2024-04-07 13:16:50 +02:00
Sébastien Helleu 3f993f9422 relay/api: fix style (issue #2066) 2024-04-07 13:16:50 +02:00
Sébastien Helleu 786f889251 relay: add command /remote, add remote configuration in relay.conf (issue #2066) 2024-04-07 13:16:47 +02:00
Sébastien Helleu a89bc85dc0 core: update ChangeLog 2024-04-06 22:47:38 +02:00
Sébastien Helleu 40bfded594 irc: fix display of reply for CTCP request received on a channel when capability echo-message is enabled 2024-04-06 22:44:04 +02:00
Sébastien Helleu 2c3c9a3ee7 tests: rename variable "i" to "echo_message" 2024-04-06 18:29:42 +02:00
Sébastien Helleu 74729ce677 irc: display CTCP reply to a nick in server buffer instead of channel
When a CTCP request is received on a channel, WeeChat replies to the nick and
it is now displayed in the server buffer instead of the channel, as the target
is a nick and not a channel.
2024-04-06 16:42:15 +02:00
Sébastien Helleu d81170b010 tests: add extra tests on received IRC CTCP messages 2024-04-06 16:37:40 +02:00
Sébastien Helleu f3f9dc388f core: remove whitespace 2024-04-01 22:23:48 +02:00
Sébastien Helleu 7e997f87e8 core: add cast to "const char *" for hashtable value 2024-04-01 21:48:11 +02:00
Sébastien Helleu 965beb37de core: fix print of pointer values 2024-04-01 21:08:52 +02:00
Mario Campos a7c92e2d24 ci: add CodeQL code scanning (closes #2102) 2024-04-01 18:42:05 +02:00
Sébastien Helleu 1fb6fda89b relay: rename function relay_api_search_buffer_id_name to relay_api_protocol_search_buffer_id_name 2024-03-29 13:02:45 +01:00
Nils Görs a23b5b5a37 core: update German translations, fixed typo 2024-03-28 13:12:19 +01:00
Sébastien Helleu acef7dd317 relay: move assignment after comment with important note 2024-03-26 21:22:55 +01:00
Sébastien Helleu 3d8607673e relay: fix typo in comment 2024-03-26 21:22:15 +01:00
Sébastien Helleu 5a3dff1b97 relay: fix typo in comment 2024-03-26 20:23:10 +01:00
Sébastien Helleu 372ffc1690 irc: fix error displayed on connection in case of insufficient memory 2024-03-26 20:22:50 +01:00
Sébastien Helleu fd06c67b58 relay: add size for array relay_auth_password_hash_algo_name 2024-03-26 10:40:38 +01:00
Nils Görs 0778d37924 core: update German translations 2024-03-26 09:27:00 +01:00
Sébastien Helleu 6e5eb5eb25 fset: fix typo in /help fset 2024-03-26 09:21:04 +01:00
Sébastien Helleu 2f5936bc9f relay: set the last IRC client disconnection time only after a successful connection (closes #2103) 2024-03-26 08:04:49 +01:00
Sébastien Helleu 3db4dd2790 fset: display number of commands executed in imported file, improve errors displayed 2024-03-26 07:46:35 +01:00
Sébastien Helleu 26630ada2d fset: add option -import in command /fset 2024-03-25 21:00:42 +01:00
Sébastien Helleu 8482e14630 core: display a specific message when the value of option is unchanged after /set command 2024-03-25 12:06:59 +01:00
Nils Görs a7f8c32797 core: update German translations 2024-03-25 11:44:01 +01:00
Sébastien Helleu 9bc4352089 core: fix tests on function strftimeval on Alpine 2024-03-24 20:56:29 +01:00
Sébastien Helleu 907643bc9c core: add option weechat.completion.case_sensitive 2024-03-24 15:40:06 +01:00
Sébastien Helleu 947155f325 doc/user: fix typo in trigger regex replace ${re:+} 2024-03-21 23:04:18 +01:00
Sébastien Helleu 59d8857646 doc/user: add missing ${re:#} and ${re:repl_index} in trigger regex replace 2024-03-21 22:55:28 +01:00
Sébastien Helleu d6386cd364 doc/api: fix style in example ${re:+} 2024-03-21 22:43:35 +01:00
Nils Görs 7d5503e84b core: update German translations 2024-03-20 09:56:19 +01:00
Sébastien Helleu 762d71012a script: add option enable in command /script, improve error displayed when download of scripts is disabled 2024-03-19 20:45:22 +01:00
Sébastien Helleu 7aa5d718a8 core: send signal "hotlist_changed" only if the order of hotlist has changed after sort (issue #2097) 2024-03-18 21:45:47 +01:00
Sébastien Helleu 77bc38d21d core: reduce number of re-sort of hotlist (issue #2097)
Restore original signals caught: "buffer_moved" and "buffer_closed", and the
signal "buffer_localvar_*" is added so that any local variable
added/changed/removed triggers a re-sort of hotlist.
2024-03-18 21:44:23 +01:00
Sébastien Helleu 34a72ac02e relay/api: add GET /api/hotlist 2024-03-17 20:13:19 +01:00
Sébastien Helleu 0b0ab94aa3 tests/gui: add tests on hotlist functions 2024-03-17 15:00:00 +01:00
Sébastien Helleu c516ff64f2 tests/scripts: make tests fail if a compiled scripting plugin fails to load 2024-03-17 13:45:39 +01:00
Sébastien Helleu 1f47e7c4f8 tests: add missing include of string.h in relay API protocol tests 2024-03-17 10:47:46 +01:00
Nils Görs f7b8e81941 core: update German translations 2024-03-16 22:57:03 +01:00
Sébastien Helleu e29f496a96 core: optimize sort of hotlist
Entries are not duplicated any more.
2024-03-16 22:25:51 +01:00
Sébastien Helleu 55203680ba core: don't resort hotlist when signal "hotlist_changed" is sent 2024-03-16 22:25:45 +01:00
Sébastien Helleu c05b228078 core: sort hotlist and remove buffer even while upgrading 2024-03-16 21:33:08 +01:00
Sébastien Helleu d462667ee6 core: fix crash on /upgrade when hotlist contains buffers that are closed 2024-03-16 17:24:12 +01:00
Sébastien Helleu 8eafc0624c core: resort hotlist on any buffer signal (issue #2097) 2024-03-16 14:43:53 +01:00
Sébastien Helleu 29b502a06a buflist: fix help on option buflist.look.sort (issue #2097) 2024-03-16 14:14:28 +01:00
Sébastien Helleu 25a317280f core: fix typo in option weechat.look.hotlist_sort: time.usec -> time_usec (issue #2097) 2024-03-16 14:08:07 +01:00
Sébastien Helleu f856173e1f core: add option weechat.look.highlight_prefix (closes #2079) 2024-03-16 11:32:51 +01:00
Sébastien Helleu 6f660f2430 core: add variable ${highlight} in option weechat.look.buffer_time_format (issue #2079) 2024-03-16 09:46:55 +01:00
Sébastien Helleu 41fb29bbd0 core: convert option weechat.look.hotlist_sort to a list of fields (closes #2097) 2024-03-15 21:44:14 +01:00
Sébastien Helleu ea86f75319 tests: add hdata tests with struct timeval 2024-03-15 21:32:40 +01:00
Sébastien Helleu c98d12b4af core: rename variables with creation time in hdata "hotlist"
Variables renamed:

- "creation_time.tv_sec" -> "time"
- "creation_time.tv_usec" -> "time_usec"
2024-03-15 21:32:37 +01:00
Sébastien Helleu 305b046370 core: add macro to define hdata variable with different field and name 2024-03-15 21:32:35 +01:00
Sébastien Helleu 080eecef2c core: add missing hdata name "buffer" in hdata "hotlist" 2024-03-15 21:32:32 +01:00
Sébastien Helleu fe01faa9ab core: update ChangeLog (issue #2093) 2024-03-13 13:51:22 +01:00
Trygve Aaberge 811390ebb1 core: make search_stop scroll to search start position
When you run /input search_stop it should scroll to the scroll position
the buffer was at before starting the search, rather than to the bottom
of the buffer.

Fixes a regression introduced in commit b83b428c5c

Fixes #2093
2024-03-13 13:50:04 +01:00
Sébastien Helleu dd128dace8 core: update ChangeLog (closes #1906) 2024-03-13 13:14:40 +01:00
wfrsk 4d83adc7d8 lua: fix code style 2024-03-13 13:10:07 +01:00
wfrsk fd541395f4 lua: do not depend on an init script + rework weechat_lua_output 2024-03-13 13:02:29 +01:00
wfrsk 97f87932fe lua: do not load the debug library 2024-03-13 13:02:29 +01:00
wfrsk b0581ac1f8 lua: do not depend on luaL_openlibs 2024-03-13 13:02:29 +01:00
Sébastien Helleu 3b9e2f480d tests: reorder tests on core directory functions 2024-03-13 13:01:50 +01:00
Mario Campos f76d236015 GUI: fix potential integer overflow bugs by casting to size_t 2024-03-13 09:09:29 +01:00
Mario Campos 1797fe18a3 fset: replace call to chmod() by fchmod() in the export function 2024-03-13 07:19:55 +01:00
Mario Campos 63733d81d8 core: open the file exclusively in compress file functions
This also removes the unnecessary call to access() function before the call to
fopen().
2024-03-13 07:17:02 +01:00
Mario Campos 23e0533ea1 core: remove unnecessary call to stat() in hash file function
The call to fopen() will fail anyway if the file doesn't exist.
2024-03-13 07:15:12 +01:00
Sébastien Helleu 24c4029c96 core: remove "wee-" prefix from source files in src/core and src/core/hook 2024-03-12 21:27:37 +01:00
Sébastien Helleu bb346f8c6c relay/api: replace "context" by "buffer_id" (issue #2081) 2024-03-12 20:37:52 +01:00
Sébastien Helleu 48ca390f79 relay/api: add support of buffer id in POST /api/input (issue #2081) 2024-03-12 20:37:51 +01:00
Sébastien Helleu aa989767a1 relay/api: add support of buffer id in GET /api/buffers (issue #2081) 2024-03-12 20:37:50 +01:00
Sébastien Helleu 7ad3c1979c tests/relay/api: add buffer id in test of buffer to json function (issue #2081) 2024-03-12 20:37:48 +01:00
Sébastien Helleu 99f0a2e002 tests/relay/api: add tests on API protocol 2024-03-12 20:37:48 +01:00
Sébastien Helleu 6325add517 tests/relay/irc: use port 9001 for server relay 2024-03-12 20:37:48 +01:00
Sébastien Helleu e791535773 relay: add a fake send function in client
This will be used in unit tests to get the data that is sent to clients.
2024-03-12 20:37:48 +01:00
Sébastien Helleu 0ac377d306 relay/api: add a global variable to customize the command delay in POST /api/input
The user can not change this, the variable will be set to 0 in unit tests to
execute the command immediately.
2024-03-12 20:37:48 +01:00
Sébastien Helleu 59c977ddc9 relay/api: check that "request" field is a string in JSON received (websocket connection) 2024-03-12 20:37:48 +01:00
Sébastien Helleu 4f9bcc73ca relay/api: allow POST /api/handshake without a body 2024-03-12 20:37:48 +01:00
Sébastien Helleu 8c5db76271 relay/api: fix error displayed when buffer is not found in POST /api/input 2024-03-12 20:37:48 +01:00
Sébastien Helleu 80709292d4 tests/relay/irc: fix comments 2024-03-12 20:37:48 +01:00
Sébastien Helleu f2f6afb59c tests/relay/irc: remove unused calls to record functions 2024-03-12 20:37:48 +01:00
Sébastien Helleu 3045322822 relay/weechat: add buffer id in signals sent to clients (issue #2081) 2024-03-12 20:37:47 +01:00
Sébastien Helleu 29d4bc3102 relay/api: add buffer is in response to GET /api/buffers (issue #2081) 2024-03-12 20:37:45 +01:00
Sébastien Helleu f9e8c7faab api: allow search by buffer id in function buffer_search (issue #2081) 2024-03-12 20:37:44 +01:00
Sébastien Helleu 5af0415508 core: add function gui_buffer_search_by_id (issue #2081) 2024-03-12 20:37:42 +01:00
Sébastien Helleu c71e6a50eb core: rename function gui_buffer_search_by_name to gui_buffer_search (issue #2081) 2024-03-12 20:37:40 +01:00
Sébastien Helleu 4ffd62b206 core: add unique "id" in buffer (issue #2081)
The id is a "long long" variable with the current time (microseconds
precision).

It is guaranteed to be unique for all buffers, and the same number is never
used again, during the lifetime of the process.

It persists and is unchanged after `/upgrade`.
2024-03-12 20:37:36 +01:00
Sébastien Helleu afc4dff71b core: use dynamic string in function infolist_fields 2024-03-12 20:37:36 +01:00
Sébastien Helleu 9e0dd18152 api: add function "hdata_longlong" (issue #2081) 2024-03-12 20:37:11 +01:00
Nils Görs c85b57b8b3 core: update German translations 2024-03-12 17:16:36 +01:00
Sébastien Helleu 34e99987bf doc/user: clarify what is ${nick} in trigger IRC signal data 2024-03-11 07:20:38 +01:00
Sébastien Helleu 1ab62e37cb api: add modifier "color_decode" to decode WeeChat colors with a replacement string 2024-03-10 09:31:32 +01:00
Sébastien Helleu 3f49b1b44a core: use whole replacement string instead of first char in function gui_color_decode 2024-03-10 09:21:28 +01:00
Sébastien Helleu 431cf23a0c exec: remove trailing space on buffers with free content when line numbers are not displayed 2024-03-08 08:19:20 +01:00
Sébastien Helleu a6c509611a exec: add missing exec tags in lines of buffers with free content (closes #2086) 2024-03-07 21:52:21 +01:00
Nils Görs ec56a1103f doc: update German documentation 2024-03-07 12:04:05 +01:00
Nils Görs ccc5c75a03 core: update German translations 2024-03-07 11:52:22 +01:00
Sébastien Helleu 732887cef7 doc/plugin: add missing translation comments 2024-03-07 07:32:20 +01:00
Sébastien Helleu cb6ecb6818 core: check if malloc.h is present, independently of function malloc_trim 2024-03-06 23:09:00 +01:00
Sébastien Helleu 70828a7dd1 irc: add option -all in command /allchan, do not execute command on parted channels by default (closes #2085) 2024-03-06 23:03:02 +01:00
Sébastien Helleu ab2e29fb0f core: include header malloc.h only if function malloc_trim is available 2024-03-06 22:52:43 +01:00
Sébastien Helleu 8c1df496ae core: update translations 2024-03-06 22:41:42 +01:00
Sébastien Helleu 68598de958 core: check that function malloc_trim is available, display an error if not available 2024-03-06 22:36:37 +01:00
Sébastien Helleu a1bee89ecc core: add option malloc_trim in command /sys 2024-03-06 22:00:48 +01:00
Sébastien Helleu 7385f767e3 irc: use API config functions to get inherited value (server options) 2024-03-06 21:32:34 +01:00
Sébastien Helleu 5c88ee9c45 core: add support of SGR mouse events, remove option weechat.look.mouse_timer_delay (closes #2082) 2024-03-06 20:33:17 +01:00
Nils Görs a8a0053211 core: update German translations 2024-03-06 11:17:38 +01:00
Sébastien Helleu 12521898f9 doc/scripting: auto-generate list of scripting functions and constants from Python API 2024-03-05 19:58:21 +01:00
Sébastien Helleu 6c72d6f66d python: add infolists "python_function" and "python_constant" 2024-03-05 19:56:35 +01:00
Sébastien Helleu 81599b88d4 plugins: move scripting API constants to plugin-script.c 2024-03-05 19:52:21 +01:00
Sébastien Helleu 84437ab672 tests: add tests on scripting API constants 2024-03-05 19:52:21 +01:00
Sébastien Helleu 014dc845e8 doc: move script doc/python_stub.py to tools/generate_python_stub.py 2024-03-05 19:52:21 +01:00
Sébastien Helleu 361d55d9d7 api: add functions config_{boolean|integer|string|color|enum}_inherited in scripting API 2024-03-05 19:52:21 +01:00
Sébastien Helleu 8f0b3ab9c7 tests/scripts: fix representation of None Python value in generated scripts 2024-03-05 19:51:15 +01:00
Sébastien Helleu 1451e12c78 core: refactor functions that read values of config options 2024-03-05 19:51:15 +01:00
Sébastien Helleu 6817542f95 tests: add tests on functions that read values of config options 2024-03-05 19:51:15 +01:00
Sébastien Helleu c3eff15a56 api: add functions config_option_get_string and config_option_get_pointer in scripting API 2024-03-05 19:51:15 +01:00
DasBrain 0bf560f9b7 tcl: simplify return macros 2024-03-05 19:15:19 +01:00
DasBrain ff2189f3d9 tcl: refactor creation of constants 2024-03-05 19:15:19 +01:00
Nils Görs 439a2d9c7a core: update German translations 2024-02-26 15:16:42 +01:00
Sébastien Helleu 6d549d0da9 relay/api: rename "salt" to "timestamp" 2024-02-26 12:56:44 +01:00
Sébastien Helleu 22686da40c doc/api: fix string format in calls to weechat.prnt (examples in Python) 2024-02-25 17:23:09 +01:00
Sébastien Helleu f649ccc3b8 python: fix truncation of unsigned long long integer returned by function string_parse_size 2024-02-25 17:07:11 +01:00
Sébastien Helleu c5800178a0 php: remove constants that must not be visible in scripts 2024-02-25 16:32:21 +01:00
Sébastien Helleu c5887354bd tcl: fix truncation of long integer returned by function hdata_long 2024-02-25 16:12:54 +01:00
Sébastien Helleu 3f08785aee core: add missing mouse event "alt-ctrl-button3" 2024-02-24 22:05:14 +01:00
Sébastien Helleu 191701a5f3 doc/user: fix order of mouse event modifiers
Key "alt" is always before "ctrl".
2024-02-24 18:53:46 +01:00
Sébastien Helleu d52fea1d5e core: fix typo in comment 2024-02-24 18:50:26 +01:00
Sébastien Helleu 24f0e95de7 core: add missing mouse event "alt-ctrl-button2" 2024-02-24 18:35:21 +01:00
Ivan Pešić 40deb493d5 doc: Update Serbian translation 2024-02-23 08:22:26 +01:00
Ivan Pešić ef2ef9846d core: Update Serbian translation
Some typos are corrected
2024-02-23 08:22:26 +01:00
Trygve Aaberge e02ee703f0 docs: fix some typos in documentation and comments 2024-02-23 08:21:49 +01:00
Sébastien Helleu 27331dec5e core: add contributor 2024-02-22 19:30:53 +01:00
Johannes Kuhn db6b96f629 tcl: make plugin compatible with Tcl 9.0
Replace calls to Tcl_GetStringFromObj by Tcl_GetString.
2024-02-22 19:30:53 +01:00
Sébastien Helleu ef5ebc19e9 fset: allow filename starting with "~" in command /fset -export 2024-02-21 22:05:16 +01:00
Sébastien Helleu 76998665f4 script: always display list of scripts when searching scripts with /script search (closes #2077) 2024-02-21 21:36:52 +01:00
Sébastien Helleu b5a32c0fa9 script: fix default mouse keys (closes #2076)
Some parameters of command `/script` were renamed in commit
85b5bacfe3 but the default mouse keys were not
changed and still using the old parameters names.
2024-02-21 21:10:25 +01:00
Nils Görs 4c5f98946a core: update German translations 2024-02-19 20:07:29 +01:00
Sébastien Helleu a44ffa147f script: add info "script_loaded" 2024-02-19 18:33:36 +01:00
Sébastien Helleu a167322d8b api: add info "plugin_loaded" 2024-02-19 18:29:21 +01:00
Sébastien Helleu f19808cedd tests: add tests on "api" relay (general functions and messages) 2024-02-18 23:42:22 +01:00
Sébastien Helleu 0f30a4e020 relay: move functions to get URL parameters from api to relay-http.c, add tests 2024-02-18 23:13:20 +01:00
Sébastien Helleu 9b9b36bb02 tests: fix free of HTTP request 2024-02-18 23:12:56 +01:00
Sébastien Helleu c4ac9046b2 relay/api: fix comment of function relay_api_protocol_get_param_boolean 2024-02-18 18:52:57 +01:00
Sébastien Helleu 61a8e4e27e relay/api: add key "visible" with boolean value in nick and group objects 2024-02-18 18:52:52 +01:00
Sébastien Helleu 780be1e1b7 relay/api: rename key "index" to "y" in line object 2024-02-18 18:24:19 +01:00
Nils Görs 4858d88567 core: update German translations 2024-02-17 17:31:57 +01:00
Sébastien Helleu 6659bf1642 core: display the 3 variants for "${split}" and "${split_shell}" in /help eval 2024-02-17 13:23:38 +01:00
Sébastien Helleu b3a214252b core: add "${hl:string}" and "${raw_hl:string}" in /eval completions 2024-02-17 13:22:40 +01:00
Sébastien Helleu 4c6db9711a core: add the different variants for "chars" in /eval completions 2024-02-17 13:22:05 +01:00
Sébastien Helleu 213483e678 core: add the different bases in /eval completions for "base_decode" and "base_encode" 2024-02-17 13:20:17 +01:00
Sébastien Helleu 9b9e0f042c core: replace "xxx" by "string" and "number" by "N" in /eval completions 2024-02-17 13:09:20 +01:00
Sébastien Helleu 831dcac808 core: list operators by order of priority in /help eval (issue #2005) 2024-02-17 10:58:40 +01:00
Sébastien Helleu 4e0f7dfd25 core: reintroduce help on the operators in /help eval (issue #2005) 2024-02-17 10:54:25 +01:00
Sébastien Helleu a35ac5e8d9 core: reintroduce help on the variables in /help eval (issue #2005) 2024-02-17 10:08:12 +01:00
Sébastien Helleu 90c87e7553 irc: add missing tags on self action messages when capability echo-message is enabled (closes #2074) 2024-02-16 20:58:31 +01:00
Sébastien Helleu 162bcb2622 irc: don't strip monospace color code 0x11 from incoming messages (closes #2073) 2024-02-16 19:22:28 +01:00
Nils Görs 8b6452eb91 core: update German translations 2024-02-12 10:56:35 +01:00
Sébastien Helleu e4e6fde80f core: add option -s in command /command to execute multiple commands separated by semicolons 2024-02-11 21:48:31 +01:00
Sébastien Helleu e0ec8da76a core: move lines from 4.1.0 to 4.2.0 in ChangeLog 2024-02-11 14:32:29 +01:00
Sébastien Helleu 635dd818b5 core: add again line about function hook_url in ChangeLog (issue #1723) 2024-02-11 14:22:12 +01:00
Sébastien Helleu 0cfc61a17e irc: add server option "autojoin_delay" (closes #862)
The server option "autojoin_delay" adds a delay before autojoin.

The server option "command_delay" is now used to add a delay before the
execution of the command.

On upgrade from an old version, the option "command_delay" is copied to
"autojoin_delay" (in old versions, "command_delay" was applied after the
execution of command and before the autojoin).
2024-02-11 09:12:57 +01:00
Sébastien Helleu f153b6e6c3 relay: change message displayed when there is not enough memory for websocket frame 2024-02-11 08:53:29 +01:00
Sébastien Helleu 9ce435fa5e relay: add WeeChat version in config update callback 2024-02-11 08:47:56 +01:00
Sébastien Helleu 5a00f1a138 irc: add WeeChat version in config update callback 2024-02-11 08:41:15 +01:00
Sébastien Helleu 9eb3403008 alias: add WeeChat version in config update callback 2024-02-11 08:40:49 +01:00
Sébastien Helleu e191d9225b core: add WeeChat version in config update callback 2024-02-11 08:40:25 +01:00
Sébastien Helleu e08f6aab55 core: add issue #1903 in ChangeLog 2024-02-11 08:39:06 +01:00
Sébastien Helleu 19bf6c9672 tests: fix compiler warning on empty snprintf format
This fixes the following warning:

test-core-dir.cpp:178:36: warning: zero-length gnu_printf format string [-Wformat-zero-length]
2024-02-10 19:02:17 +01:00
Sébastien Helleu e9dbf23a18 trigger: fix memory leak when adding a new trigger with /trigger command 2024-02-10 17:50:24 +01:00
Sébastien Helleu caa51160da core: remove trailing directory separators in home directories (closes #2070) 2024-02-10 10:23:40 +01:00
Sébastien Helleu 5c6e6f43d1 relay: disable "permessage-deflate" websocket extension when option relay.network.compression is set to 0 2024-02-04 18:54:56 +01:00
Sébastien Helleu 0414c139b0 relay: fix decoding of websocket frame when a partial frame is received 2024-02-04 18:52:00 +01:00
Sébastien Helleu b7ecf93a22 relay: fix websocket decompression when output buffer is not large enough 2024-02-04 18:23:40 +01:00
Sébastien Helleu 162dc87796 scripts: fix crash on script unload when a hook is created in a buffer close callback (closes #2067) 2024-02-04 13:57:35 +01:00
Sébastien Helleu 7f2f60dab0 ci: remove tests on macOS 11 2024-02-03 22:50:27 +01:00
Sébastien Helleu 820a3e8767 relay: free ws_deflate when http request is freed 2024-02-03 11:30:35 +01:00
Sébastien Helleu 052db75805 relay/api: add extra check on JSON types in handshake and input resources (issue #2066) 2024-02-03 08:38:57 +01:00
Sébastien Helleu 5c869722c1 core: disable CJSON in Debian/buster, Raspbian/buster and Ubuntu/focal builds (issue #2066)
This is because in these versions the libcjson-dev package doesn't provide
pkg-config file.
2024-02-02 08:33:06 +01:00
Sébastien Helleu bc464679a7 relay: fix build when CJSON is disabled (issue #2066) 2024-02-02 07:44:57 +01:00
Sébastien Helleu 86685f4af4 core: update translations (issue #2066) 2024-02-01 21:39:24 +01:00
Sébastien Helleu 6acf1af828 relay/api: add handshake resource, without authentication required (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu 3f902dba28 relay: check that request is not NULL before compressing data (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu de72fe1db5 relay/api: fix send of responses 400 and 404 in case of error (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu 89aeb03a13 relay: remove request from some function arguments (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu 83567fd871 relay: allow password hash authentication in api relay, add option relay.network.time_window (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu 70907fc169 relay: rename option relay.weechat.commands to relay.network.commands (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu f126255d6a core: add support of base64url in encode/decode functions (issue #2066) 2024-02-01 21:39:21 +01:00
Sébastien Helleu 6cfb31c306 relay: add support of websocket extension "permessage-deflate" (closes #1549)
This extension is used to compress and decompress websocket frames (using
the DEFLATE algorithm, with zlib).
2024-02-01 21:38:53 +01:00
Sébastien Helleu 8971fc069a relay: add "api" protocol (HTTP REST API) (issue #2066) 2024-02-01 21:38:49 +01:00
Krzysztof Korościk 179d53a12e po: updated Polish translations 2024-01-31 21:16:52 +01:00
Sébastien Helleu 2469dc6df9 core: use function util_strftimeval in evaluation of expression date:xxx 2024-01-27 16:53:53 +01:00
Sébastien Helleu e3af6a91d4 api: add support of specifier %! for timestamp in function util_strftimeval 2024-01-27 16:53:53 +01:00
Nils Görs 73a1c9753a core: update German translations 2024-01-27 14:35:34 +01:00
Sébastien Helleu 1ac38a4cf9 core: add support of (?i) for argument "name" in /help buffer 2024-01-24 20:58:44 +01:00
Sébastien Helleu 09e01133d2 core: allow case insensitive search of partial buffer name with (?i)name in command /buffer 2024-01-24 20:54:41 +01:00
Sébastien Helleu b7735632b8 tests: add tests on buffer properties "opening" and "type" 2024-01-24 20:47:51 +01:00
Sébastien Helleu da79574ca7 core: return 0 in gui_buffer_is_main if plugin_name or name is NULL 2024-01-24 19:42:08 +01:00
Sébastien Helleu 971d5b6b64 doc/dev: update rules for indentation in C sources 2024-01-22 20:59:51 +01:00
Sébastien Helleu 88d391bca3 core: add version 4.2.1 in ChangeLog and release notes 2024-01-22 20:45:25 +01:00
Sébastien Helleu fe52f7c78c tests: remove extra empty line 2024-01-22 13:58:33 +01:00
Sébastien Helleu 06b4e46977 irc: fix random date displayed when a received message contains tags but no "time" (closes #2064) 2024-01-22 13:18:25 +01:00
Sébastien Helleu 750e677490 Version 4.3.0-dev 2024-01-21 09:36:44 +01:00
Sébastien Helleu 017d9bd975 Version 4.2.0 2024-01-21 09:33:14 +01:00
Sébastien Helleu 05fdb2929f tests: add missing format string in calls to snprintf 2024-01-21 09:17:11 +01:00
Sébastien Helleu d5b61f565e core: add versions 4.0.8 and 4.1.3 in ChangeLog and release notes 2024-01-20 09:27:35 +01:00
Ivan Pešić ff1c3d37d1 core: Update Serbian messages 2024-01-15 10:25:17 +01:00
Ivan Pešić f5a0a6c507 doc: Update Serbian translation 2024-01-15 10:25:17 +01:00
Nils Görs bee3fb311b core: update German translations 2024-01-15 07:44:28 +01:00
Sébastien Helleu 3efcdbd521 doc/dev: remove conflict marker in Serbian doc 2024-01-14 00:29:47 +01:00
Sébastien Helleu 869fba9f74 irc: add tests on info functions (issue #2059) 2024-01-12 17:58:36 +01:00
Sébastien Helleu becdf76224 irc: check if arguments are not NULL in some infos
Affected infos:

- irc_server_isupport
- irc_server_isupport_value
- irc_server_cap
- irc_server_cap_value
2024-01-12 17:57:50 +01:00
Sébastien Helleu 8e252955da irc: fix info "irc_is_message_ignored" (closes #2059) 2024-01-12 17:53:19 +01:00
Sébastien Helleu 71fee810c9 doc/api: add missing properties in functions buffer_get_integer and buffer_get_string 2024-01-06 20:46:30 +01:00
Sébastien Helleu d8704d5c74 core: add variable "opening" in buffer, do not send buffer signals when the buffer is opening 2024-01-06 19:26:39 +01:00
Krzysztof Korościk 6efa574483 doc: update copyright dates 2024-01-06 16:23:22 +01:00
Krzysztof Korościk 4ffe67eafd po: updated polish translation 2024-01-06 16:21:25 +01:00
Sébastien Helleu b5ea82da48 relay/weechat: unhook hook_timer_nicklist when synchronization is stopped 2024-01-06 10:38:54 +01:00
Sébastien Helleu 5df85c7a53 relay: add global relay hdata variables 2024-01-06 09:56:23 +01:00
Sébastien Helleu 57a206287a irc: fix display of self messages in case of message split failure
When the message sends inconsistent max lengths in message 005, the split of
self message fails and causes a display issue: the channel name is displayed
with the message:

  nick | #channel :this is a test

instead of:

  nick | this is a test
2024-01-05 21:36:58 +01:00
Sébastien Helleu eb8ca14d83 relay: fix display of raw messages (issue #649) 2024-01-05 20:30:02 +01:00
Sébastien Helleu 9d9a47f111 core: add support of microseconds in command /print -date (issue #649) 2024-01-05 19:31:42 +01:00
Sébastien Helleu 4a1e5e7eaa irc: remove function irc_protocol_parse_time, use API function weechat_util_parse_time (issue #649) 2024-01-05 19:28:47 +01:00
Sébastien Helleu f6ba789c3d api: add function util_parse_time (issue #649) 2024-01-05 19:09:19 +01:00
Sébastien Helleu e88882f0ae irc: display microseconds in some user messages (issue #649) 2024-01-04 22:29:30 +01:00
Sébastien Helleu 89517d44a5 relay: add microseconds in relay raw messages (issue #649) 2024-01-04 22:25:13 +01:00
Nils Görs 1875217509 doc: update German documentation 2024-01-04 09:54:04 +01:00
Nils Görs 3dbfa5350d core: update German translations 2024-01-04 09:49:21 +01:00
Sébastien Helleu eecb2a997e core: update copyright dates 2024-01-01 22:29:58 +01:00
Krzysztof Korościk 934ef60151 doc: updated polish translation 2024-01-01 18:59:58 +01:00
Krzysztof Korościk 124c5adf62 po: updated polish translation 2024-01-01 16:07:17 +01:00
Faisal N Jawdat 5c65a73432 ruby: add detection for Ruby 3.3 2023-12-26 21:08:50 +01:00
Sébastien Helleu 9fb3d3f14c core: store microseconds in buffer lines (closes #649) 2023-12-26 19:44:37 +01:00
Nils Görs 57f80a4c1f core: update German translations 2023-12-25 16:45:51 +01:00
Sébastien Helleu 5ccb0c23f9 debian: exclude directories ".git", "build" and "release" from source package 2023-12-24 18:41:38 +01:00
Sébastien Helleu 31881ebacf api: add property "type" in function buffer_get_string 2023-12-24 16:53:16 +01:00
Sébastien Helleu 28fc733aaf core: display when zstd is not available in output of /debug libs 2023-12-24 16:50:45 +01:00
Sébastien Helleu 7700228823 relay: move function to check if buffer belongs to relay 2023-12-24 16:27:51 +01:00
Sébastien Helleu 76a3f85831 core: fix typo in ChangeLog 2023-12-15 22:59:20 +01:00
Sébastien Helleu 75dc8b9d6c core: fix crash on plugin reload when using musl libs (closes #2052) 2023-12-15 22:53:51 +01:00
Sébastien Helleu 07fbd30948 tests: add missing include of string.h in plugin API info tests 2023-12-15 13:51:32 +01:00
Sébastien Helleu 1cc59edfcc core: fix infinite loop in display when the chat area is too small (closes #2053) 2023-12-14 23:12:39 +01:00
Sébastien Helleu fa0b320178 core: fix style 2023-12-14 23:11:35 +01:00
Nils Görs ffa933bcf8 core: update German translations 2023-12-13 21:22:34 +01:00
Sébastien Helleu b3422b96c0 irc: add option irc.look.display_host_wallops 2023-12-10 21:13:00 +01:00
Sébastien Helleu 3db8eb65ff tests: add tests with options irc.look.display_host_{join|join_local|notice|quit} set to off 2023-12-10 21:03:33 +01:00
Ivan Pešić 73e3d0e693 doc: Update Serbian documentation 2023-12-05 22:32:18 +01:00
Ivan Pešić 4bc0fd588d core: Update Serbian translation 2023-12-05 22:32:18 +01:00
Sébastien Helleu a39a1832a1 Revert "core: fix detection of gettext headers on Darwin (closes #2031)"
This reverts commit 80fa597a71.
2023-12-04 21:21:49 +01:00
Sébastien Helleu d6ccfb5862 core: fix Polish translations 2023-12-04 21:07:46 +01:00
Sébastien Helleu 80fa597a71 core: fix detection of gettext headers on Darwin (closes #2031) 2023-12-04 21:02:26 +01:00
Krzysztof Korościk dab17e8d59 po: updated polish translation 2023-12-04 19:46:09 +01:00
Nils Görs d70ef53973 core: update German translations 2023-12-04 09:00:37 +01:00
Krzysztof Korościk 33e320ac95 po: updated part of polish translation 2023-12-04 00:04:31 +01:00
Sébastien Helleu 8c3b7b6c6e core: add versions 4.0.7 and 4.1.2 in ChangeLog and release notes 2023-12-03 19:25:20 +01:00
Sébastien Helleu 6223639b71 core: improve forms for new issues, feature requests and questions on GitHub 2023-12-03 09:49:13 +01:00
NetSysFire a788ca13d8 core: add forms for new issues, feature requests and questions on GitHub 2023-12-03 09:49:13 +01:00
Sébastien Helleu bc08d9a2b3 tests: rename tests 2023-12-02 13:32:15 +01:00
Sébastien Helleu 52f32e5612 tests: add tests on plugin config functions 2023-12-02 13:24:42 +01:00
Sébastien Helleu f4926cbd20 tests: rename file test-plugins-api-info.cpp to test-plugin-api-info.cpp 2023-12-02 13:17:47 +01:00
Sébastien Helleu ba33e1db7d tests: fix tests on function plugin_api_infolist_plugin_cb 2023-12-02 11:47:45 +01:00
Sébastien Helleu d6796edac0 tests: add tests on plugin API info functions 2023-12-02 11:40:28 +01:00
Sébastien Helleu 36b9a58c72 tests: remove unneeded constant TOTP_SECRET 2023-12-02 09:44:07 +01:00
Sébastien Helleu 038eae07bd api: add info "mouse" 2023-12-02 09:43:36 +01:00
Sébastien Helleu 445d1d0ec5 api: return NULL instead of empty infolist "key" when context is not found 2023-12-02 09:40:01 +01:00
Sébastien Helleu 51fec9257e core: check that directory is not NULL in function plugin_api_info_absolute_path 2023-12-02 09:37:22 +01:00
Sébastien Helleu de5b0aae47 core: rename variable "version" to "compilation_date" 2023-12-02 09:36:57 +01:00
Sébastien Helleu 9711d2dc76 tests: add placeholders for new functions in irc server tests 2023-12-01 07:10:36 +01:00
Nils Görs 7974f4f40a core: update German translations 2023-11-30 21:09:58 +01:00
Sébastien Helleu 22fcb91e8b irc: display messages 730/731 even if command /notify was not used (closes #2049) 2023-11-29 18:14:37 +01:00
Sébastien Helleu 0f1b18d415 core: move link to Mastodon before Diaspora* 2023-11-29 14:35:12 +01:00
Sébastien Helleu f13c5b0b51 core: fix typo in release notes 2023-11-29 14:34:55 +01:00
Sébastien Helleu 996d1def22 core: update translations (issue #1039) 2023-11-29 10:00:57 +01:00
Sébastien Helleu de82d50768 irc: remove unneeded error message when an unknown server option is read in config file (issue #1039)
This is not needed because an error is already displayed by WeeChat core and
the IRC error doesn't add anything relevant to the user.
2023-11-29 10:00:54 +01:00
Sébastien Helleu f7b7e3975a irc: add server option "anti_flood", remove server options "anti_flood_prio_{high|low}" (issue #1039)
The new option is set in milliseconds.
2023-11-29 09:49:27 +01:00
Ivan Pešić e51152e6a4 core: Update Serbian translation 2023-11-29 08:39:06 +01:00
Nils Görs 9aa9bf4c9f core: update German translations 2023-11-28 12:03:18 +01:00
Sébastien Helleu e74b5db253 irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued 2023-11-26 18:58:48 +01:00
Sébastien Helleu 6d427421de irc: add option irc.look.list_buffer 2023-11-24 19:42:28 +01:00
Sébastien Helleu d4220e8144 tests: add eval tests on "raw" and "raw_hl" with escaped prefix 2023-11-24 08:04:35 +01:00
Sébastien Helleu e01fa0aac9 tests: fix tests on function string_replace_with_callback 2023-11-23 22:01:48 +01:00
Sébastien Helleu 86cf456bb7 core: fix evaluation of ${raw_hl:...} with escaped prefix inside
Now `${raw_hl:\${` returns `\${` instead of `${`.
2023-11-23 20:59:31 +01:00
Sébastien Helleu 479ab5bc58 core: evaluate expressions even when the suffix is missing (issue #2042, issue #1714) 2023-11-23 08:49:54 +01:00
Sébastien Helleu 87f74e9f95 core: add syntax highlighting in evaluation of expressions, add option weechat.color.eval_syntax_colors (issue #2042)
Syntax highlighting (raw string without evaluation): `${raw_hl:xxx}`
Syntax highlighting: `${hl:xxx}`
2023-11-23 08:49:54 +01:00
Sébastien Helleu 2b0c2747ad api: remove script hooks before buffers/bar items/configs
This prevents a crash in some scripts that could use options after they are
freed, with the call to hook config callback that has been enabled by commit
2260214797.
2023-11-21 20:57:49 +01:00
Sébastien Helleu 6b0b3996cd core: add "core" in ChangeLog 2023-11-21 07:48:35 +01:00
Krzysztof Korościk 794dc115e5 po: updated polish translation 2023-11-20 23:52:08 +01:00
Krzysztof Korościk 117efa2716 po: updated part of polish translation 2023-11-19 23:48:00 +01:00
Krzysztof Korościk b9c8f215f3 doc: updated polish translation 2023-11-19 18:09:43 +01:00
Ivan Pešić ca388bdd53 doc: Update Serbian documentation 2023-11-16 13:30:27 +01:00
Ivan Pešić 3cec88506a core: Update Serbian translation 2023-11-16 13:30:27 +01:00
Sébastien Helleu 7b86f31764 buflist: jump to previous/next buffer displayed in buflist item with ctrl+wheel up/down on a buflist item (closes #1473) 2023-11-11 21:04:21 +01:00
Nils Görs 5d38149578 core: update German translations 2023-11-11 14:19:19 +01:00
Sébastien Helleu 75582b9262 core: remove empty lines in release notes 2023-11-11 09:46:08 +01:00
Sébastien Helleu d1aeca9ca9 core: fix section titles in release notes 2023-11-11 09:44:01 +01:00
Sébastien Helleu acd67bf34d core: update translations (issue #2040) 2023-11-11 08:59:43 +01:00
Sébastien Helleu e4720e5d5b core: add search in commands history in release notes (issue #2040) 2023-11-11 08:54:30 +01:00
Sébastien Helleu f00904afaa core: split ChangeLog entry on multiple lines (issue #2040) 2023-11-11 08:54:28 +01:00
Sébastien Helleu 6f90c7ef08 core: move key ctrl+s, ctrl+u to alt+shift+U (issue #2040) 2023-11-11 08:54:26 +01:00
Sébastien Helleu 97a90ac65a core: add key ctrl+o to send command found and insert next one in input (issue #2040) 2023-11-11 08:54:24 +01:00
Sébastien Helleu b83b428c5c core: add incremental search in commands history (issue #2040)
Changes:

- move key ctrl+r to ctrl+s
- add key ctrl+r to search in commands history
- add option `search_history` in command `/input`
- add key context "histsearch"
- add option weechat.look.buffer_search_history
- add buffer variables "text_search_direction", "text_search_history" and "text_search_ptr_history"
2023-11-11 08:54:06 +01:00
Nils Görs b2ce312e82 core: update German translations 2023-11-09 10:28:39 +01:00
Sébastien Helleu ecc900ba3a tests: add tests on IRC message 337 2023-11-07 21:58:04 +01:00
Sébastien Helleu 515d4241ad irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time") 2023-11-07 21:50:12 +01:00
Nils Görs 977fd3b6f7 core: update German translations 2023-11-06 13:46:44 +01:00
Sébastien Helleu 252240a1b1 core: fix value of buffer variable "num_history" when the value defined in option weechat.history.max_commands is reached 2023-11-04 17:01:45 +01:00
Sébastien Helleu 11d95fce11 relay: close properly connection with the IRC client in case of server disconnection (closes #2038) 2023-11-04 08:58:19 +01:00
Sébastien Helleu 7d403d41e6 core: remove incorrect warning when binding keys F10 to F20 (closes #2039) 2023-11-04 08:36:04 +01:00
Sébastien Helleu d96a3e6b55 doc/faq: add question about key F11 2023-11-04 08:05:24 +01:00
Sébastien Helleu c90c71ea30 core: fix double call to hook config when an option is unset 2023-11-04 07:37:12 +01:00
Sébastien Helleu 028902b0e3 core: update ChangeLog 2023-11-04 00:02:12 +01:00
Sébastien Helleu 2260214797 core: call hook config when options are freed by unset or when file/section is freed
This fixes a refresh issue on the fset buffer when a plugin is unloaded: now
the options displayed that are freed are properly removed from the fset buffer.
2023-11-03 22:31:05 +01:00
Sébastien Helleu ab2684fd52 relay: change default value of option relay.network.tls_priorities to NORMAL
It is no more needed to remove `VERS-SSL3.0` because it is no longer in the
default priorities since GnuTLS 3.4.0 (released on 2015-04-08).
2023-11-03 22:01:50 +01:00
Sébastien Helleu d4cba7b7a3 irc: change default value of server option "tls_priorities" to NORMAL
It is no more needed to remove `VERS-SSL3.0` because it is no longer in the
default priorities since GnuTLS 3.4.0 (released on 2015-04-08).
2023-11-03 21:58:13 +01:00
Sébastien Helleu d90eebf6ca irc: update help on color remap options, update translations (issue #2025) 2023-11-01 14:29:25 +01:00
Sébastien Helleu f16857fc3d irc: add option irc.color.term_remap (closes #2025) 2023-11-01 13:56:40 +01:00
Sébastien Helleu 082cbe519b irc: add support of RGB colors in messages (issue #2025)
This is made using standard color code '\x04' followed by text color (RGB as
hexadecimal) and optional background (RGB as hexadecimal).
2023-11-01 13:21:06 +01:00
Sébastien Helleu 6d69cde186 core, plugins: set error to NULL before calling strtol()
This is not strictly necessary, just in case the function strtol() doesn't
update the pointer.
2023-11-01 09:53:38 +01:00
Sébastien Helleu f53983bc79 core: display an error with command /history N when N is not a valid integer 2023-11-01 09:44:44 +01:00
Sébastien Helleu 1dd535da5d trigger: rename local variable "trigger_filter" to "filter" on monitor buffer (closes #2037) 2023-10-30 23:41:28 +01:00
Sébastien Helleu 02f26517f3 core: fix memory leak when config version is invalid or not supported 2023-10-30 23:10:54 +01:00
Sébastien Helleu 3c62ae482b core: fix memory leak when infolist variable can not be created 2023-10-30 23:10:54 +01:00
Sébastien Helleu fd78c2f9ac core: check that buffer is not NULL in function gui_chat_printf_date_tags_internal 2023-10-30 23:10:54 +01:00
Sébastien Helleu 23289dcb2c core: fix use NULL pointer when a config file has no options 2023-10-30 23:10:54 +01:00
Sébastien Helleu 81b31d9e6c logger: remove dead assignment 2023-10-30 23:10:54 +01:00
Sébastien Helleu e8a4c1d813 xfer: fix use of uninitialized variable when adding a new xfer 2023-10-30 23:10:54 +01:00
Sébastien Helleu 4d884729f9 xfer: fix use of NULL pointer in strrchr() 2023-10-30 23:10:54 +01:00
Sébastien Helleu f8c459453d core: fix crash when "config_version" is present in a configuration file without a value 2023-10-30 23:10:54 +01:00
Sébastien Helleu bd187cd668 core: display an error on startup if environment variable "HOME" is not set 2023-10-30 23:10:54 +01:00
Sébastien Helleu 24c46cf3e5 tests: check that environment variable "HOME" is set before using it 2023-10-30 08:45:44 +01:00
Sébastien Helleu 1a5ff442cb ruby: fix use of NULL variable when displaying exception 2023-10-30 08:38:44 +01:00
Sébastien Helleu 21759171d2 irc: add tags "nick_xxx" and "host_xxx" in all messages, including self and server messages 2023-10-30 08:23:20 +01:00
Sébastien Helleu 7406c8b94c ci: uninstall php8.1-imagick before build (issue #2009)
When php imagick is installed and when WeeChat is compiled with gcc, there's a
crash when the php plugin is loaded.  Newer versions of gcc should fix the
issue, but as in CI we can't easily use them, uninstalling imagick avoids the
crash.
2023-10-28 09:08:33 +02:00
Sébastien Helleu 5c41d6c4a4 core: add version 4.1.1 2023-10-26 21:26:38 +02:00
Sébastien Helleu 6631d44a8d core: add version 4.0.6 2023-10-26 21:26:31 +02:00
Sébastien Helleu df1f48cc9b core: display only version with command /version, add options -o and -ol in command /upgrade 2023-10-26 20:42:23 +02:00
Nils Görs 57475499bf core: update German translations 2023-10-24 16:56:23 +02:00
Nils Görs 8f4a1a2dea core: update German translations 2023-10-24 09:22:48 +02:00
Sébastien Helleu c156fee0e1 core: fix crash when a custom bar item name is already used by a default bar item (closes #2034) 2023-10-23 13:11:02 +02:00
Nils Görs 0fe7eec90b core: update German translations 2023-10-23 11:28:58 +02:00
Sébastien Helleu 3cc400a9d6 core: add number of processes in command /sys waitpid 2023-10-22 21:02:41 +02:00
Sébastien Helleu d6343020aa core: fix random timeouts when a lot of concurrent processes are launched with hook_process (closes #2033) 2023-10-20 21:00:22 +02:00
Sébastien Helleu 8a389395b9 core: update translations (issue #2005) 2023-10-20 13:16:40 +02:00
Sébastien Helleu 02679e8001 logger: add description for examples in help on command /logger (issue #2005) 2023-10-20 13:16:07 +02:00
Sébastien Helleu fce5386d5c irc: add description for examples in help on some commands (issue #2005)
Help is updated on these commands:

- `/allchan`
- `/allpv`
- `/allserv`
2023-10-20 13:15:52 +02:00
Sébastien Helleu 96b7c60c5a core: add description for examples in help on some commands (issue #2005)
Help is updated on these commands:

- `/allbuf`
- `/bar`
- `/print`
- `/repeat`
- `/secure`
- `/wait`
2023-10-20 13:15:49 +02:00
Sébastien Helleu 6452be4a28 core: update translations (issue #194, issue #2032) 2023-10-19 23:59:15 +02:00
Sébastien Helleu a88b8f7ed2 irc: revert compute of nick colors to case sensitive way, deprecate again IRC nick color infos (issue #194, issue #2032) 2023-10-19 23:38:28 +02:00
Sébastien Helleu 1896c50c11 core: update translations (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu fa1e82d500 xfer: format and translate commands line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 7702ed56ea trigger: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu f65556f3b2 spell: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu ce5de07dbd relay: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu efa1f44317 script: format and translate commands line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu d60859138f logger: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 55ef9536c5 irc: format and translate commands line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 58bab65fd1 fset: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 79581019aa fifo: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu aa32fa6d3e exec: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 2aaa14b616 charset: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu cfa5f3324a buflist: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 05b160b5bc alias: format and translate command line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu 2a4faf566b core: format and translate commands line by line (issue #2005) 2023-10-17 18:14:54 +02:00
Sébastien Helleu bbf42a5d09 api: add support of format/translation of command arguments description line by line (issue #2005) 2023-10-17 18:14:53 +02:00
Sébastien Helleu e34071131e api: add function string_concat (issue #2005) 2023-10-17 18:14:53 +02:00
Sébastien Helleu 9bc9df47d7 irc: add option irc.look.ignore_tag_messages (closes #989) 2023-10-15 18:45:11 +02:00
Sébastien Helleu 3898449dc2 irc: add structure with context sent as unique parameter to IRC protocol callbacks (issue #989) 2023-10-15 18:40:01 +02:00
Sébastien Helleu aed5c543ec core: update ChangeLog (closes #1956) 2023-10-15 18:00:59 +02:00
Sébastien Helleu ed98425b1b core: update translations (issue #1956) 2023-10-15 16:50:33 +02:00
Sébastien Helleu 0c45083324 alias: allow wildcard in command /alias del (issue #1956) 2023-10-15 16:50:26 +02:00
Sébastien Helleu 13e73d52d3 core: allow wildcard in command /proxy del (issue #1956) 2023-10-15 16:19:31 +02:00
Sébastien Helleu 59d11533dd core: allow wildcard in command /item del (issue #1956) 2023-10-15 16:19:06 +02:00
Sébastien Helleu 99a56b99f2 core: allow wildcard in command /bar del (issue #1956) 2023-10-15 16:18:51 +02:00
Sébastien Helleu aebf6d7ab3 core: allow wildcard in command /filter (issue #1956)
A mask with wildcards is now allowed in the following commands:

- `/filter enable`
- `/filter disable`
- `/filter toggle`
- `/filter del`
2023-10-15 16:18:02 +02:00
Sébastien Helleu 35660f8b1d trigger: allow wildcard in command /trigger (issue #1956)
A mask with wildcards is now allowed in the following commands:

- `/trigger enable`
- `/trigger disable`
- `/trigger toggle`
- `/trigger restart`
- `/trigger del`
- `/trigger restore`
2023-10-15 16:15:50 +02:00
Sébastien Helleu 1a579e03e8 core: update French translations 2023-10-15 15:48:55 +02:00
Sébastien Helleu 1d6e1fd752 core: make libintl.h required if CMake option ENABLE_NLS is enabled (issue #2031) 2023-10-15 14:58:26 +02:00
Sébastien Helleu 18b3c7a30b Version 4.2.0-dev 2023-10-15 09:06:12 +02:00
Sébastien Helleu 775b9c9cdf Version 4.1.0 2023-10-15 09:02:57 +02:00
Sébastien Helleu 6bc7d6fad3 debian: update changelog 2023-10-15 08:46:45 +02:00
Sébastien Helleu 9aefe4ae09 core: call curl init and cleanup functions
This is to prevent issues when these functions are not thread-safe.
2023-10-13 23:03:00 +02:00
Trygve Aaberge 13a057f0b2 core: only print hook_url errors when debug is enabled
Errors from hook_url should be handled by the caller, so don't print
them to the core buffer by default. Only print them when
weechat_debug_core is enabled. This was already the behavior for the
timeout error.
2023-10-13 21:52:15 +02:00
Trygve Aaberge 3735397a0f core: add error codes to output in hook_url
When hook_url fails, add an error_code field in the output in addition
to the error field. This is so the caller can get which error happened
programatically, without having to parse the (possibly translated) error
string.

It uses the same error codes as the return_code in hook_process, and in
addition adds 5 for an error from pthread_create and 6 for a timeout
error. If the error is from pthread_create, an additional field
`error_code_pthread` with the error code from pthread_create is added.
If the error is from curl, an additional field `error_code_curl` with
the error code from curl is added.
2023-10-13 09:26:00 +02:00
Trygve Aaberge 57b2efd82b core: run hook_url callback when pthread_create failed 2023-10-13 09:25:39 +02:00
Sébastien Helleu 6468f7761f core: set "error" field of "output" hashtable in hook_url in case of transfer timeout 2023-10-13 08:14:31 +02:00
Nils Görs a83121b847 core: update German translations 2023-10-11 07:52:02 +02:00
Sébastien Helleu 02a05f63d5 core: fix zombie processes remaining after the end of forked processes (closes #1994)
The clean of processes with waitpid() is now delayed after the kill(), so that
there are no more zombies.

In addition, this can be done manually if needed with `/sys waitpid`.
2023-10-10 19:23:43 +02:00
Sébastien Helleu 408901d772 irc: move value -all at the end of completions for command /ignore del 2023-10-09 20:06:52 +02:00
Sébastien Helleu bea9d5a2bf irc: fix memory leak when joining channels with keys 2023-10-07 20:33:42 +02:00
Sébastien Helleu feb5ee8886 core: fix build error if CMake option ENABLE_NLS is turned to off or if required dependencies are not found (closes #2026) 2023-10-05 19:05:02 +02:00
Sébastien Helleu b46ed5a2a2 core: use larger buffer for errors when creating a filter 2023-10-05 19:02:38 +02:00
Nils Görs 1d104bb940 core: update German translations 2023-10-05 08:44:28 +02:00
Sébastien Helleu 4600aeea53 core: update ChangeLog (issue #2024) 2023-10-01 16:43:48 +02:00
Sébastien Helleu 6bd0c63192 core: make zstd dependency optional (closes #2024) 2023-10-01 16:36:32 +02:00
Sébastien Helleu 879a548bea buflist: rename completions with items
Completions renamed:

- "buflist_all_items" -> "buflist_items"
- "buflist_used_items" -> "buflist_items_used"
2023-10-01 12:14:03 +02:00
Sébastien Helleu e928bce76c buflist: add support of item names in command /buflist refresh 2023-10-01 09:58:19 +02:00
LuK1337 8bd4994ccd core, relay: make inet_pton() return value checks more strict
inet_pton() can return values < 0.
2023-09-26 17:48:20 +02:00
Sébastien Helleu 360e971b01 core: add contributor 2023-09-26 17:14:10 +02:00
LuK1337 0bb5998988 core: replace inet_addr() with inet_pton()
man pages as well as rpminspect suggest that we shouldn't be using
inet_addr().
2023-09-26 17:12:03 +02:00
Sébastien Helleu b58f704542 core: update ChangeLog 2023-09-25 13:50:32 +02:00
LuK1337 bcd23ff585 core: fix TOTP moving factor on big-endian systems 2023-09-25 13:48:30 +02:00
LuK1337 169eecb5cf tests: use correct data type method in hdata tests 2023-09-25 13:48:30 +02:00
LuK1337 b433afbd26 tests: cast infolist time variable value to the correct data type 2023-09-25 13:48:30 +02:00
Sébastien Helleu 082ccb05bb core: add version 4.0.5 2023-09-24 10:24:26 +02:00
Sébastien Helleu f72fb3be4b irc: display "owner" for +q and "admin" for +a in output of /names (closes #2020, issue #97) 2023-09-22 23:21:22 +02:00
Sébastien Helleu 7f0efa3a8f core: update translations 2023-09-22 23:12:32 +02:00
Sébastien Helleu c96971eebb script: only check if return value of plugin_script_search_path is NULL (issue #2019) 2023-09-22 22:58:51 +02:00
Sébastien Helleu d6e4e87faf script: fix removal of script in system directory while trying to install a script (closes #2019) 2023-09-22 22:51:44 +02:00
Sébastien Helleu 12106ae7ba script: fix autoload of multiple scripts at once with /script autoload (closes #2018) 2023-09-20 20:05:49 +02:00
Sébastien Helleu 91bb1ebf5d tests: fix condition on libgcrypt version for algorithms sha512-224 and sha512-256 (issue #2008) 2023-09-20 06:56:56 +02:00
Sébastien Helleu 439410a388 doc/api: use a table for file_in/file_out options in function hook_url 2023-09-16 13:00:03 +02:00
Sébastien Helleu 36ab6c3bc7 doc/api: add link to hook_url in hook_process_hashtable for Curl options 2023-09-16 13:00:03 +02:00
Sébastien Helleu f0e4494205 core: properly terminate thread and release memory in url hook 2023-09-16 13:00:03 +02:00
Sébastien Helleu 83dcb84ea6 doc/api: add function hook_url 2023-09-16 13:00:03 +02:00
Sébastien Helleu fb00bc1f4b scripts: add function hook_url in scripting API 2023-09-16 13:00:03 +02:00
Sébastien Helleu 24d2ba3338 script: replace hook_process_hashtable by hook_url to download scripts and list of scripts (closes #1723) 2023-09-16 12:58:57 +02:00
Sébastien Helleu 63922ca038 api: add function hook_url 2023-09-16 10:19:51 +02:00
Sébastien Helleu a5f4c3770b doc/faq: add question about move of WeeChat config to another device 2023-09-16 09:46:50 +02:00
Sébastien Helleu 23d3ce7ad8 doc/faq: add question about keys like Enter and version 4.0.0 2023-09-15 18:57:00 +02:00
Nils Görs f49810ec0e core: update German translations 2023-09-15 12:48:22 +02:00
Sébastien Helleu 85b5bacfe3 script: rename parameters up/down/go to -up/-down/-go in command /script 2023-09-15 08:43:37 +02:00
Sébastien Helleu e62ff286ff xfer: fix crash on /dcc chat 2023-09-14 20:48:58 +02:00
Sébastien Helleu cb680ef9df irc: add option irc.look.open_pv_buffer_echo_msg (issue #2016) 2023-09-14 20:19:05 +02:00
Sébastien Helleu 63fc9aace8 irc: update title in query buffer when remote nick is myself (issue #2016) 2023-09-14 16:15:09 +02:00
Sébastien Helleu a2c3322df7 irc: fix title of query buffer for own messages received (issue #2016) 2023-09-14 15:22:11 +02:00
Sébastien Helleu 049e9d23c5 irc: open a query buffer on PRIVMSG received from self nick when capability echo-message is NOT enabled (issue #2016) 2023-09-14 14:51:50 +02:00
Sébastien Helleu 4c3ab508c7 irc: don't open a new private buffer on /msg command when capability echo-message is enabled (closes #2016) 2023-09-14 11:10:17 +02:00
Sébastien Helleu 747d6122bc core: move ChangeLog entry to the appropriate version 2023-09-14 11:07:42 +02:00
Nils Görs aad846583d core: update German translations 2023-09-14 08:45:01 +02:00
Sébastien Helleu 4e173c1972 irc: fix title of private buffers wrongly set to own address when capability echo-message is enabled (issue #2016) 2023-09-14 08:04:44 +02:00
Sébastien Helleu ef99d544fa core: add algorithms sha512-224, sha512-256, sha3-*, blake2b-* and blake2s-*` in option sec.crypt.hash_algo (closes #2008) 2023-09-13 15:10:19 +02:00
Sébastien Helleu 684bfd64c6 api: add algorithms sha512-224, sha512-256, blake2b-* and blake2s-*` in hash functions (issue #2008) 2023-09-13 15:09:34 +02:00
Nils Görs 29c4aa4620 core: update German translations 2023-09-13 10:19:54 +02:00
Sébastien Helleu d100d62a72 core: translate error messages (issue #2013) 2023-09-12 15:09:00 +02:00
Sébastien Helleu 3021b2f9c5 core: automatically backup config file read if it has an unsupported version (closes #2013) 2023-09-12 14:59:25 +02:00
Sébastien Helleu 6fcdb50dab xfer: fix memory leak on plugin unload 2023-09-12 13:38:14 +02:00
Sébastien Helleu 54a5815105 doc/api: fix return values for callback_read in config_new_section 2023-09-12 13:35:02 +02:00
Sébastien Helleu c4c58e0914 irc: fix unexpected message sent to server when part of the second line of an IRC command (closes #1992) 2023-09-12 08:14:23 +02:00
Sébastien Helleu 8eb2604704 core: add path in message displayed when a config file is updated to a newer version 2023-09-11 22:49:21 +02:00
Sébastien Helleu ddd859886e irc: fix autojoin of channels when private buffers are opened (closes #2012) 2023-09-11 21:41:47 +02:00
Sébastien Helleu ae50f6688e irc: reset filter and sort when /list buffer is closed (issue #1972) 2023-09-11 16:40:45 +02:00
Nils Görs 6170ebd396 core: update German translations 2023-09-11 11:21:54 +02:00
Sébastien Helleu 82372115ae core: display a message when a configuration file is updated to a newer version 2023-09-11 09:53:17 +02:00
Nils Görs 71dfbdc419 core: update German translations 2023-09-11 08:44:14 +02:00
Sébastien Helleu 79d0a134e3 buflist: add missing items buflist4 and buflist5 in help on command/options and user's guide 2023-09-11 07:55:54 +02:00
Nils Görs 3882b2e881 core: update German translations 2023-09-09 21:03:38 +02:00
Sébastien Helleu 6b356d4208 doc/user: add missing actions on script buffer 2023-09-09 11:26:04 +02:00
Sébastien Helleu a2e9c74b50 doc/user: add missing key alt+L (input L) on script buffer 2023-09-09 11:10:50 +02:00
Sébastien Helleu d9555cc567 scripts: add functions config_enum and config_enum_default in scripting API (issue #1973) 2023-09-09 08:54:33 +02:00
Sébastien Helleu 9fada89f96 doc/user: add missing actions p and v on fset buffer 2023-09-08 20:22:59 +02:00
Sébastien Helleu 46b76af645 xfer: display an error message when opening file for read or write fails (issue #2010) 2023-09-08 13:06:28 +02:00
Sébastien Helleu b30b492e66 core: update translations 2023-09-08 13:02:36 +02:00
Sébastien Helleu 2c251cd285 script: fix up/down keys on /script buffer
Regression was introduced in commit 817d1eaf8e.
2023-09-08 10:47:46 +02:00
Nils Görs 7fd20269e7 core: update German translations 2023-09-08 07:56:48 +02:00
Sébastien Helleu 374262a8d7 core: add completion "eval_variables", used in completion of /eval 2023-09-07 11:38:26 +02:00
Sébastien Helleu 89739421cf core: fix comment on function eval_replace_vars_cb 2023-09-07 11:30:54 +02:00
Sébastien Helleu 1be5209e9f core: update translations (issue #2004) 2023-09-06 19:16:06 +02:00
Sébastien Helleu 65e092ab25 core: add contributor (issue #2004) 2023-09-06 19:16:06 +02:00
Sébastien Helleu 5f5f05805f core: update ChangeLog (issue #2004) 2023-09-06 19:16:06 +02:00
Sébastien Helleu 6eb3f5672f xfer: fix code style (issue #2004) 2023-09-06 19:10:47 +02:00
Sébastien Helleu 1f1416dd50 irc: fix code style (issue #2004) 2023-09-06 19:10:41 +02:00
Mario Campos 1ee3bad88b xfer: update command/config docs with passive DCC support. 2023-09-06 14:11:35 +02:00
Mario Campos 7f0f947667 xfer: add passive DCC support.
This commit also includes support for passive DCC RESUME.

There was also a potential segfault with calling `atoi(pos_token)` when `pos_token` is NULL, so `token` is set to be stored as a string. Although it is an integer, we don't need to store it as such. That's really more of an implementation detail.
2023-09-06 14:11:35 +02:00
Mario Campos 23d70b5101 xfer: add and identify active/passive xfer types.
Before making any significant changes, let's identify the existing xfer types by either active or passive.
2023-09-06 14:11:35 +02:00
Mario Campos 2a40743ed0 xfer: reverse DCC parsing from RtL to LtR.
This makes it easier to handle the optional "token" argument at the (right) end, which will be necessary to support passive DCC.

Incidentally, this is RtL parsing order is the reason why you'd get a cryptic "0" address error when attempting to do passive DCC: the "token" argument gets misinterpreted as the "size" argument. Every argument "shifts" over by one, leaving an address (port) of "0".
2023-09-06 14:11:35 +02:00
Sébastien Helleu ac8418de8e irc: remove default CTCP replies FINGER and USERINFO from user's guide (issue #1974) 2023-09-06 14:10:56 +02:00
Sébastien Helleu e1ecf992f3 irc: fix comments on CTCP evaluated variables (issue #1974) 2023-09-06 14:05:10 +02:00
Ivan Pešić cf6ec7657e doc: Update Serbian documentation 2023-09-06 10:25:41 +02:00
Ivan Pešić 75c5ccecfa core: Update Serbian translation 2023-09-06 10:25:41 +02:00
Sébastien Helleu 722cb27d04 core: add note for translators on command arguments (issue #2005)
Only text between angle brackets (eg: "<name>") must be translated.
2023-09-05 13:28:26 +02:00
Sébastien Helleu 13ce1147fc doc: fix alignment of command arguments in auto-generated file when command name contains wide chars 2023-09-01 08:58:36 +02:00
Nils Görs b7cd446822 core: update German translations 2023-09-01 07:29:20 +02:00
Sébastien Helleu 5691518e91 doc/user: add section "buffer" in chapter on WeeChat options (issue #352) 2023-08-30 17:33:50 +02:00
Sébastien Helleu 2b3fb62065 core: do not evaluate properties "key_bind_xxx" and "key_unbind_xxx" in options weechat.buffer.* (issue #352) 2023-08-30 17:25:21 +02:00
Sébastien Helleu c2b6523d9f core: fix style for keys in ChangeLog 2023-08-29 12:32:23 +02:00
Sébastien Helleu 620fce4bba core: add new key ctrl+z in ChangeLog 2023-08-29 12:28:24 +02:00
Sébastien Helleu 8b3311860b api: add support of path to variable and hashtable comparison in function hdata_compare (closes #1066) 2023-08-29 10:22:17 +02:00
Sébastien Helleu 58d61cb153 core: remove unused variable old_value 2023-08-29 09:53:08 +02:00
Sébastien Helleu 32f52ae236 core: check that property is not NULL before calling free 2023-08-29 09:52:17 +02:00
Nils Görs c5ceacd68f core: update German translations 2023-08-28 20:34:03 +02:00
Sébastien Helleu aa4bc616b9 core: add missing include of unistd.h 2023-08-28 17:57:46 +02:00
Sébastien Helleu b203c4109b core: move sys filename and functions 2023-08-28 17:55:54 +02:00
Sébastien Helleu a16b3d25ce core: update translations 2023-08-28 17:47:21 +02:00
Sébastien Helleu cc2b44a8ec core: add key ctrl+z to suspend WeeChat process (closes #985) 2023-08-28 17:39:33 +02:00
Sébastien Helleu 5ecb1adc34 core: add command /sys to show resource limits and usage 2023-08-28 12:30:32 +02:00
Nils Görs d328d7f2b8 core: update German translations 2023-08-27 19:42:31 +02:00
Sébastien Helleu 711d3afa5c script: fix crash when a /script command triggers another /script command (issue #923) 2023-08-27 17:19:01 +02:00
Sébastien Helleu 99822fc5e7 core: ignore key bindings with empty command
This makes possible to disable a key hiding another (because shorter than the
other, and beginning with the same key).

For example if key "meta-a" is set to an empty command, it would not hide any
more the key "meta-a,1" which has a non-empty command.
2023-08-27 14:16:08 +02:00
Sébastien Helleu 181f4c041d core: add support of quotes in commands /key bind and /key bindctxt 2023-08-27 14:15:30 +02:00
Sébastien Helleu 3ca4f2d3e5 irc: add count and mode filter in command /names (closes #98) 2023-08-27 12:26:10 +02:00
Sébastien Helleu 300adb42fa irc: add note about regex and output on server buffer in /help list 2023-08-27 09:59:54 +02:00
Sébastien Helleu e5e027b9fa core: add countdown example in /help repeat (issue #2007) 2023-08-27 08:25:41 +02:00
Sébastien Helleu 9a268ec7cc core: evaluate command given to /repeat with contextual variables (closes #2007) 2023-08-27 08:03:40 +02:00
Nils Görs b0ed5b99e9 core: update German translations 2023-08-27 00:12:07 +02:00
Sébastien Helleu 4a95d78c45 core: add variable ${property} in evaluation of options weechat.buffer.* (issue #352) 2023-08-26 20:04:58 +02:00
Sébastien Helleu dd0c20f6b6 irc: add count for all nick modes in output of /names (closes #97) 2023-08-26 18:57:21 +02:00
Sébastien Helleu 42c925b672 irc: use str_nicks only if not NULL in callback of message 353 2023-08-26 18:56:37 +02:00
Sébastien Helleu ff4596e45c core: add option callbacks in command /debug 2023-08-25 13:35:50 +02:00
Sébastien Helleu cc2bb4b8cf core: add function util_get_microseconds_string 2023-08-25 11:53:23 +02:00
Sébastien Helleu 015ff084e3 core: add microseconds precision in function util_parse_delay 2023-08-25 11:23:41 +02:00
Sébastien Helleu 11943ebaaf tests: add tests on GUI buffer functions
Functions tested:

- gui_buffer_is_reserved_name
- gui_buffer_get_integer
- gui_buffer_get_string
- gui_buffer_get_pointer
2023-08-25 08:16:36 +02:00
Sébastien Helleu 2092715ac7 core: add buffer local keys in completion "buffer_properties_setauto" 2023-08-24 19:20:05 +02:00
Sébastien Helleu 272bcf3c97 core: update ChangeLog (issue #2006) 2023-08-24 19:10:35 +02:00
Trygve Aaberge d14e74ccf6 Add compatibility with Python < 3.10 in weechat.pyi
The | syntax for unions is only supported in Python 3.10 and later.
Since Python 3.8 and 3.9 are still supported upstream for a while and we
had a user reporting on IRC that they couldn't use the stub file since
they are using 3.8, change to the old syntax for unions to support this.

There aren't really any drawbacks of this. It's just a bit more verbose,
and a typing import is necessary, but neither of those really matters in
a generated stub file.
2023-08-24 19:08:00 +02:00
Sébastien Helleu 3a59f2f65e irc: add local key bindings during the /list buffer creation
This allows the user to bind or unbind keys by setting options
"weechat.buffer.irc.list_xxx.key_bind_*" and
"weechat.buffer.irc.list_xxx.key_unbind_*".
2023-08-24 19:03:44 +02:00
Sébastien Helleu 817d1eaf8e script: add local key bindings during the buffer creation
This allows the user to bind or unbind keys by setting options
"weechat.buffer.script.scripts.key_bind_*" and
"weechat.buffer.script.scripts.key_unbind_*".
2023-08-24 19:01:20 +02:00
Sébastien Helleu 6737859330 fset: add local key bindings during the buffer creation
This allows the user to bind or unbind keys by setting options
"weechat.buffer.fset.fset.key_bind_*" and
"weechat.buffer.fset.fset.key_unbind_*".
2023-08-24 19:00:32 +02:00
Sébastien Helleu fd07b2888f fset: fix wrong value type in hashtable used for fset buffer properties 2023-08-24 18:44:50 +02:00
Sébastien Helleu 5d9af29024 api: add infos "nick_color_ignore_case" and "nick_color_name_ignore_case" (issue #194) 2023-08-24 18:19:32 +02:00
Nils Görs 965c6ac2ea doc: update German documentation 2023-08-24 13:50:16 +02:00
Nils Görs d2d3cd1b46 core: update German translations 2023-08-24 13:36:53 +02:00
Sébastien Helleu 0c6bcf3e78 core: update translations (closes #352) 2023-08-24 11:49:46 +02:00
Sébastien Helleu 303fe6744e core: add option setauto in command /buffer (issue #352) 2023-08-24 11:49:29 +02:00
Sébastien Helleu 3aef8b7292 core: add options weechat.buffer.* to save buffer properties set by user (issue #352) 2023-08-24 10:38:47 +02:00
Sébastien Helleu 6aa66b5363 irc: compute color in case insensitive way (closes #194)
Reintroduce infos "irc_nick_color" and "irc_nick_color_name" (that were
marked deprecated since version 1.5).

A server name is added in the two infos and is optional, for backward
compatibility.
2023-08-24 09:24:51 +02:00
Sébastien Helleu c2426e88c9 irc: add functions to convert strings to lower/upper case (following casemapping) (issue #194) 2023-08-24 09:24:42 +02:00
Sébastien Helleu 09eae3e2af irc: add tests on server functions 2023-08-23 15:33:34 +02:00
Sébastien Helleu 25b3f2eae7 irc: fix string comparison when CASEMAPPING is set to "ascii" 2023-08-23 15:33:34 +02:00
Sébastien Helleu 9462c87ce5 tests: add tests on string comparison functions with range of 29 chars 2023-08-23 12:14:07 +02:00
Sébastien Helleu 03927a3283 irc: check that server is not NULL in function irc_server_eval_fingerprint 2023-08-23 12:08:59 +02:00
Sébastien Helleu 7afc43901d irc: move function irc_server_fingerprint_search_algo_with_size 2023-08-23 12:06:59 +02:00
Sébastien Helleu 49f52cc051 doc/faq: split CTCP options into two blocks
Second block is for CTCP replies made by older versions (< 4.1.0).
2023-08-22 23:55:01 +02:00
Sébastien Helleu c0bd12bdf0 doc/faq: add disabling of buflist in question about CPU usage 2023-08-22 23:44:58 +02:00
Sébastien Helleu 0871024eda core: add version 4.0.4 2023-08-22 12:08:42 +02:00
Nils Görs 4566ed2bf9 core: update German translations 2023-08-22 11:30:35 +02:00
Sébastien Helleu 9591af8be8 core: fix gcc warning on uninitialized variable pos_end
The variable `pos_end` is never used when not initialized anyway, thanks to the
`break` done before.
2023-08-22 10:29:11 +02:00
Sébastien Helleu 28ff9d602a debian: bump Standards-Version to 4.6.2 2023-08-22 10:03:35 +02:00
Sébastien Helleu a3382f5a09 build: update build dependency from libncursesw5-dev to libncurses-dev 2023-08-22 09:55:24 +02:00
Sébastien Helleu 212741af05 debian: remove NEWS file 2023-08-22 09:36:39 +02:00
Sébastien Helleu 00dbb24658 debian: update changelog 2023-08-22 09:35:40 +02:00
Sébastien Helleu fdebcf690b script: add parameters up/down/go in /help script and command completion 2023-08-22 09:34:41 +02:00
Sébastien Helleu 763e8bd3a0 script: allow jump to the last script with command /script go end 2023-08-22 09:24:06 +02:00
Sébastien Helleu 6950c953a1 script: adjust scroll after command /script go N 2023-08-22 09:21:00 +02:00
Ivan Pešić fd6bdd3b59 doc: Update Serbian documentation 2023-08-22 07:51:09 +02:00
Ivan Pešić f098a112a1 core: Update Serbian translation 2023-08-22 07:51:09 +02:00
Sébastien Helleu ce4f4fb3fa logger: remove trailing empty line in display of backlog (closes #2002) 2023-08-21 16:01:59 +02:00
Sébastien Helleu faf9d1600f tests: change date format in test of print_date_tags
With complete date and time format, the tests output was incorrectly parsed by
Emacs.
2023-08-21 15:31:14 +02:00
Sébastien Helleu f4b9cad720 perl: fix display of non-ASCII chars after load of a script with Perl >= 5.38 (closes #1996) 2023-08-21 13:10:26 +02:00
Sébastien Helleu 6def0cf502 buflist: add list buffer in /help buflist and /help buflist.format.indent 2023-08-20 21:00:33 +02:00
Sébastien Helleu 6969b9b2b8 buflist: indent the /list buffer 2023-08-20 20:54:24 +02:00
Sébastien Helleu 5ffce90f23 irc: change local variable "type" from "irc_list" to "list" on /list buffer 2023-08-20 20:53:44 +02:00
Sébastien Helleu 64cb3e6a63 irc: fix wrong time displayed for CTCP messages received from self nick (closes #2000) 2023-08-18 23:57:35 +02:00
Sébastien Helleu 1fe1e1a1e8 scripts: fix tests of functions print_date_tag, print_y_date_tags and hook_timer on 32-bit systems (issue #1999) 2023-08-18 16:42:52 +02:00
Sébastien Helleu ed5467c4a9 scripts: fix function string_parse_size on 32-bit systems (python and ruby) (issue #1999) 2023-08-18 16:40:53 +02:00
Sébastien Helleu fadfffc0b6 xfer: fix conversion of string to IPv4 on 32-bit systems (issue #1999) 2023-08-18 15:34:06 +02:00
Sébastien Helleu 08e110c835 core: use dynamic string in function gui_buffer_set_highlight_words_list 2023-08-18 13:38:05 +02:00
Sébastien Helleu 2c8657826f core: simplify function gui_buffer_notify_get 2023-08-18 13:37:39 +02:00
Sébastien Helleu b756598070 tests: add tests on GUI buffer functions 2023-08-18 13:35:36 +02:00
Sébastien Helleu 14334880d8 tests: fix NULL pointer comparison in test of function irc_message_parse_to_hashtable 2023-08-18 13:30:38 +02:00
Sébastien Helleu 2ad8a0d868 core: update ChangeLog (issue #1997) 2023-08-18 07:54:47 +02:00
Sébastien Helleu f89d4a60cd tests: fix tests on function irc_join_compare_join_channel (closes #1997) 2023-08-18 07:34:52 +02:00
Sébastien Helleu 5bf78f40e5 tests: fix typo in test name 2023-08-18 07:30:20 +02:00
Sébastien Helleu aac4b38432 core: add name of section in warning message for invalid value when reading config 2023-08-18 00:47:11 +02:00
Sébastien Helleu 41d23a448a core: fix increment/decrement of options weechat.notify.* 2023-08-17 17:25:19 +02:00
Sébastien Helleu 274f5f9d53 core: fix integer overflow when setting integer option with ++N or --N 2023-08-17 17:03:34 +02:00
Nils Görs d8bd0b7da8 core: update German translations 2023-08-17 12:10:01 +02:00
Nils Görs 773013cde7 core: update German translations 2023-08-17 11:27:51 +02:00
Sébastien Helleu 921b7fc2d3 tests: add tests on eval ternary operator with extra colon in value 2023-08-16 21:08:55 +02:00
Sébastien Helleu 8b9cdc8329 core: update translations (issue #1282) 2023-08-16 16:12:49 +02:00
Sébastien Helleu 43d341feac core: fix /help cursor (issue #1282) 2023-08-16 16:12:35 +02:00
Sébastien Helleu 81e09bd6e1 doc/user: add chapter on cursor mode (issue #1282) 2023-08-16 15:59:48 +02:00
Sébastien Helleu 48e6a1e387 core: add parameters and key bindings to move to edges of current area with commands /cursor go and /cursor move (closes #1282) 2023-08-16 15:25:52 +02:00
Sébastien Helleu 41dbcb1a81 core: set minimum CMake version to 3.5
This removes the following CMake warning:

CMake Deprecation Warning at CMakeLists.txt:22 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.
2023-08-15 10:56:28 +02:00
Sébastien Helleu e94a18268e core: convert scripts local variables to lower case 2023-08-15 10:50:35 +02:00
Sébastien Helleu 409bd256a9 doc/user: remove old note in French doc 2023-08-15 08:51:50 +02:00
Sébastien Helleu 17927cc09f doc/user: improve look of clicked buttons in mouse bindings 2023-08-15 08:47:08 +02:00
Sébastien Helleu cfc734b7c5 tests: add empty function to test function irc_list_buffer_set_localvar_filter 2023-08-14 16:08:01 +02:00
Sébastien Helleu 09e0ffe935 doc/user: add mouse, keys and input for /list buffer 2023-08-14 11:53:04 +02:00
Sébastien Helleu 938e9c13cd irc: add local variable "filter" on /list buffer 2023-08-14 11:01:50 +02:00
Sébastien Helleu b75c956c02 fset: fix typos in French translation of /help fset 2023-08-14 10:32:06 +02:00
Sébastien Helleu 9727861d66 irc: fix /help list and French translation 2023-08-14 10:31:22 +02:00
Sébastien Helleu 2829a8ee2b doc/user: fix command bound to left mouse button in fset buffer 2023-08-14 08:57:37 +02:00
Sébastien Helleu 46cea77585 relay: synchronize nick modes with IRC client upon connection (closes #1984) 2023-08-13 16:38:29 +02:00
Sébastien Helleu 4290876e64 script: allow commands /script autoload|noautoload|toggleautoload with scripts not present in the repository (closes #1980) 2023-08-13 10:22:06 +02:00
Sébastien Helleu 510756935c core: remove reference to iset in German translation 2023-08-13 09:10:16 +02:00
Sébastien Helleu beb93ada1e script: replace "iset" example by "go" in comments 2023-08-13 09:10:04 +02:00
Sébastien Helleu 0bfdaa25bf fset: remove redirection to /help fset.look.sort in /help fset 2023-08-12 16:25:25 +02:00
Sébastien Helleu 017f4cca18 core: fix French translation of /help list 2023-08-12 16:22:55 +02:00
Sébastien Helleu 2f1de098bd irc: add buffer for /list reply (closes #1972)
New options:

- irc.color.list_buffer_line_selected
- irc.color.list_buffer_line_selected_bg
- irc.look.list_buffer_sort
- irc.look.list_buffer_scroll_horizontal
- irc.look.new_list_position
- irc.look.list_buffer_topic_strip_colors
2023-08-12 13:05:49 +02:00
Sébastien Helleu d25a4213fe irc: fix redirection of command /list when the reply doesn't start with message 321 (start of /list) 2023-08-10 08:13:54 +02:00
Sébastien Helleu 17674f7b11 irc: add missing tags on multiline messages (closes #1987) 2023-08-09 14:53:03 +02:00
Sébastien Helleu 356712f44d core: add version 4.0.3 2023-08-08 22:10:29 +02:00
Sébastien Helleu c6b18e9654 relay: fix display of IRC CTCP messages received from client (issue #1986) 2023-08-08 09:38:54 +02:00
Sébastien Helleu ff41a79aa9 core: update ChangeLog (issue #1988) 2023-08-08 07:17:08 +02:00
Sébastien Helleu 1826decb0b core: update translations (issue #1988) 2023-08-08 07:14:56 +02:00
Nathaniel Evan 070f0da1c0 fset: fix the colon in help bar being included in description color 2023-08-08 06:59:14 +02:00
Nathaniel Evan e0e839e7cc fset: fix fset.color.help_description not applying 2023-08-08 06:59:14 +02:00
Sébastien Helleu e5948b0d44 tests: add test on IRC notice sent to another nick with channel name at beginning (issue #1991) 2023-08-01 22:48:43 +02:00
Sébastien Helleu 03daae3059 irc: fix display of outgoing notice with channel when capability "echo-message" is enabled (closes #1991) 2023-08-01 22:35:21 +02:00
Sébastien Helleu b0549e4d09 irc: add channel in "autojoin" server option only when the channel is actually joined (closes #1990) 2023-08-01 21:45:28 +02:00
Sébastien Helleu 8e48503253 core: remove CMake option "ENABLE_DOC_WARN_LOCALE" from release notes (issue #1985) 2023-08-01 08:31:44 +02:00
Sébastien Helleu c198e875ce core: remove CMake option "ENABLE_DOC_WARN_LOCALE" (issue #1985) 2023-07-31 22:01:34 +02:00
Sébastien Helleu 73439d5a50 core: fix typo 2023-07-31 21:51:08 +02:00
Sébastien Helleu 36ab9d97e4 core: fix styles in ChangeLog 2023-07-31 21:27:46 +02:00
Sébastien Helleu 8bfd25e2e6 doc: stop build of docs if a locale is missing, add CMake option "ENABLE_DOC_WARN_LOCALE" (closes #1985) 2023-07-31 21:27:16 +02:00
Sébastien Helleu 1ffd0a58b9 core: add missing trailing newline char in doc generation error messages 2023-07-31 08:06:01 +02:00
Sébastien Helleu 4fc90b86bf irc: fix switch to channel manually joined (closes #1982)
This happens when server option autojoin_dynamic is on and option
irc.look.buffer_switch_autojoin is off.

Regression was introduced in version 4.0.0 by commit
1c3b871204.
2023-07-31 08:03:50 +02:00
Sébastien Helleu 63f9289769 core: fix input length and crash after delete of line (closes #1989) 2023-07-28 07:21:22 +02:00
Nils Görs 06fa5923e8 core: update German translations 2023-07-23 11:49:01 +02:00
Sébastien Helleu 13241cdca5 irc: fix memory leak in IRC message parser
Bug was introduced in WeeChat 3.4 by commit
c4b4d80936.
2023-07-20 08:49:23 +02:00
Sébastien Helleu 93dfc8b105 core: fix typo in comment 2023-07-18 18:50:02 +02:00
Sébastien Helleu 874a24956c irc: fix display of self CTCP message containing bold attribute (closes #1981) 2023-07-18 18:48:48 +02:00
Sébastien Helleu a457e22d57 tests: add missing include of string.h 2023-07-15 16:24:16 +02:00
Sébastien Helleu 6b9dd2add3 fset: fix description of function fset_buffer_check_line_outside_window 2023-07-14 12:06:26 +02:00
Sébastien Helleu eb71be4219 doc/api: fix return value in case of error in function hdata_get_var_offset 2023-07-14 09:53:19 +02:00
Sébastien Helleu 8cd13ef580 core: add version 4.0.2 in release notes 2023-07-12 22:09:24 +02:00
Sébastien Helleu 622410a64e core: add version 4.0.2 2023-07-12 20:51:21 +02:00
Sébastien Helleu 7c805aa699 irc: remove default CTCP replies FINGER and USERINFO (issue #1974) 2023-07-12 19:13:40 +02:00
Sébastien Helleu 9237852b26 irc: build dynamically the list of CTCPs supported in reply to "CTCP CLIENTINFO" (issue #1974) 2023-07-12 18:58:51 +02:00
Sébastien Helleu f46f759975 irc: evaluate options irc.ctcp.* (issue #1974) 2023-07-12 18:58:30 +02:00
Sébastien Helleu 5d222c8d5c irc: create default options irc.ctcp.* when file irc.conf is created (issue #1974) 2023-07-11 19:40:04 +02:00
Sébastien Helleu 363d2d5e68 core: clarify messages for unknown options/sections read in config files (closes #1967) 2023-07-11 18:08:14 +02:00
Sébastien Helleu ba6f21d910 irc: add missing "account-tag" in list of supported capabilities 2023-07-10 14:08:19 +02:00
Sébastien Helleu 2a02bb10e5 core: fix renaming of options with command /item rename (closes #1978)
The options `weechat.custom_bar_item.xxx.*` are now properly renamed to the new
item name.

This fixes a save issue (item saved with old name in config) and a crash if a
new item is created with the old name.
2023-07-10 07:31:28 +02:00
Sébastien Helleu 107f83c923 irc: remove Git revision and compilation date from CTCP VERSION/FINGER reply (issue #1974) 2023-07-08 21:40:21 +02:00
Sébastien Helleu 38f3b40894 fset: add missing format in calls to snprintf 2023-07-08 17:14:03 +02:00
Sébastien Helleu 3070c12fa3 build: add C compiler options "-Wformat" and "-Werror=format-security" 2023-07-08 17:12:39 +02:00
Sébastien Helleu 1d5433485c fset: add variable allowed_values in options, add two color options
New options:

- fset.color.allowed_values
- fset.color.allowed_values_selected
2023-07-08 16:50:42 +02:00
Sébastien Helleu 4c0c7d9adc fset: add missing enum in /help fset 2023-07-08 14:45:25 +02:00
Sébastien Helleu 8985607951 fset: fix mouse actions when second format is used
The mouse actions now properly handle the case where options are displayed on
multiple lines to calculate the option index in list.
2023-07-08 13:56:22 +02:00
Sébastien Helleu 89137552a7 core: display focus hashtable for debug even if no key is matching 2023-07-08 13:31:36 +02:00
Sébastien Helleu 5b2cf75f6e fset: allow long type name in type filter 2023-07-08 13:30:37 +02:00
Sébastien Helleu 481e8f197d core: use type "enum" in options 2023-07-08 13:29:45 +02:00
Sébastien Helleu 66cb9f6ea2 core: add option type "enum" (closes #1973)
The type "enum" replaces type "integer" when used with string values.

For compatibility, any option created with type "integer" and string values is
automatically created to "enum" on creation, with no error.
2023-07-08 13:28:40 +02:00
Sébastien Helleu 8f9d88edd0 ci: add workaround for broken brew update 2023-07-06 22:24:15 +02:00
Sébastien Helleu f1e372b5e2 fset: remove extra spaces between min and max values when second format is used 2023-07-06 22:05:11 +02:00
Sébastien Helleu 7b6c9328be core: add quotes around key names in /help key 2023-07-05 21:23:47 +02:00
Nils Görs 4fa9ddc6b9 core: update German translations 2023-07-05 20:32:48 +02:00
Sébastien Helleu d7a6fcba5f buflist: increase max number of buflist items from 3 to 5 (closes #1703) 2023-07-04 22:03:05 +02:00
Sébastien Helleu f811621611 script: fix buffer used by command /script list -i|-il|-o|-ol
The command is now executed on the buffer where it is received instead of the
current buffer (in most cases this is the same buffer, but could be different
sometimes).
2023-07-04 21:57:41 +02:00
Sébastien Helleu 6c8d6eef58 script: fix cursor position after /script list -i or /script list -il 2023-07-04 21:56:52 +02:00
Sébastien Helleu 59cdade5f0 core: fix cursor position after /plugin list -i or /plugin list -il 2023-07-04 21:56:22 +02:00
Sébastien Helleu e5586e14d9 trigger: add options -o, -ol, -i and -il in command /trigger list (closes #1953) 2023-07-04 21:55:21 +02:00
Sébastien Helleu b43883a814 core: check that ptr_value is not NULL 2023-07-04 19:15:20 +02:00
Sébastien Helleu 20560f0a63 core: keep keys ctrl-H and ctrl-? (in lower case) if they were manually bound to custom commands in a previous version 2023-07-04 19:10:04 +02:00
Sébastien Helleu e36b066dc8 core: add key ctrl-backspace in /help key (issue #1975) 2023-07-04 18:45:11 +02:00
Sébastien Helleu b696e3d67f doc: fix anchor links in auto-generated files 2023-07-04 18:31:03 +02:00
Sébastien Helleu 7340fd1637 core: update ChangeLog 2023-07-03 23:02:58 +02:00
Sébastien Helleu f03e2ff95c core: fix styles 2023-07-03 23:02:25 +02:00
Trygve Aaberge 3247974eb4 core: don't send key_pressed signal again for the same key press
If you press an incomplete key sequence, previously WeeChat would send
the key_pressed signal again for the same keys on the next key.

E.g. if you press escape and then 1, previously you would get the
key_pressed signal with signal_data `\x01[` when you pressed escape, and
then key_pressed with `\x01[` again when you pressed 1 (plus key_pressed
with `1` for the 1 key). So two signals for the escape key, even though
it was only pressed once.

With this patch, you only get one signal for each key press. So one with
`\x01[` when you press escape and then one with `1` when you press 1.
2023-07-03 23:02:23 +02:00
Trygve Aaberge 824cfb6427 core: don't send key_combo_* signals for incomplete keys
Version 4.0.0 (specifically commit 1f5c791c3) changed the key handling
so key_combo_* signals were sent for each character in a sequence,
rather than just when the sequence is finished. This broke parts of the
vimode.py script.

E.g. for the up arrow, 3.8 sends key_combo_default signal once with the
signal_data `\x01[[A`, while 4.0.0 sends it three times with the
signal_data `\x01[`, `\x01[[` and `\x01[[A`.

With this patch, the previous behavior is brought back. There is one
small change though. In 3.8 if you press escape one or two times it
doesn't send key_combo_default, but if you press it three or more times
it sends it for each escape press. With this patch, it's never sent for
plain escape presses, only when the sequence is finished with some other
key.

This is intentional, as getting key_combo_default for escape presses
doesn't make sense since it's not a finished combo, and the behavior of
3.8 where you got it after three or more key presses was most likely
unintentional as it just happened because it didn't match any key
bindings anymore (there are key bindings starting with one or two escape
characters, but not more).
2023-07-03 23:02:21 +02:00
Nils Görs 7b5585239f core: update German translations 2023-07-01 12:20:57 +02:00
Sébastien Helleu 92e5696236 core: update stable version to 4.0.1 2023-07-01 11:44:55 +02:00
Sébastien Helleu a80f4c7681 tests: fix hdata tests failure on Alpine 3.18 2023-07-01 09:53:03 +02:00
Sébastien Helleu 930b42aecf tests/relay: fix crash in tests on Alpine 3.18 2023-07-01 09:43:56 +02:00
Sébastien Helleu c84274cd2b build: fix detection of PHP 8.2 on Alpine 3.18 2023-07-01 09:15:00 +02:00
Sébastien Helleu b13ed3b816 core: add version 4.0.1 in ChangeLog and release notes 2023-07-01 09:12:51 +02:00
Sébastien Helleu b52047c69e guile: fix crash on quit with Guile < 3 (issue #1965) 2023-06-27 21:45:15 +02:00
Trygve Aaberge b551d6f247 core: check for newline characters in string_is_whitespace_char
This fixes a bug where if you had multiple lines in the input and
pressed ctrl-w when the cursor was after the first word of any line but
the first, it would delete both the word before the cursor and the last
word on the preceding line.
2023-06-27 21:28:24 +02:00
Sébastien Helleu 4c9fd4a625 doc/faq: mention script go.py for an easy jump to buffers 2023-06-27 19:14:14 +02:00
Sébastien Helleu fc41ad336d api: do not convert option name to lower case in API functions config_set_plugin and config_set_desc_plugin 2023-06-27 12:58:34 +02:00
Sébastien Helleu 1d4509ddd8 irc: fix display of country code in message 344 received as whois geo info (issue #1736) 2023-06-26 22:12:31 +02:00
Sébastien Helleu b4da825f60 irc: sent "QUIT" message to servers connected with TLS on /upgrade 2023-06-26 22:06:46 +02:00
Sébastien Helleu ca35b67307 irc: display commands 716/717 in private buffer (if present) (closes #146)
Commands 716/717 are returned if the target user has mode +g, they look like
this:

:server 716 my_nick bob :is in +g mode and must manually allow you to message them. Your message was discarded.
:server 717 my_nick bob :has been informed that you messaged them.
2023-06-26 21:59:55 +02:00
Sébastien Helleu f62022e812 core: add variables "_chat_focused_line_bol" and "_chat_focused_line_eol" in focus data (closes #1955)
These variables are the same as "_chat_bol" and "_chat_eol" except that they
stop at the beginning of the focused line (not the whole message displayed, in
case message has multiple lines separated by "\n").
2023-06-26 21:55:48 +02:00
Sébastien Helleu 54dd19da92 api: add info "buffer" (closes #1962)
This info returns a pointer buffer with its full name.
2023-06-26 21:35:49 +02:00
Sébastien Helleu bc4294e297 core: fix level of section title in release notes 2023-06-26 21:22:28 +02:00
Sébastien Helleu 5e0ca4740b core: display actual key name and command with key Alt+k
Key Alt+K (upper K) is removed as well as commands `/input grab_raw_key` and
`/input grab_raw_key_command`.
2023-06-26 21:21:12 +02:00
Sébastien Helleu 70c41f614a irc: reply to a CTCP request sent to self nick (closes #1966) 2023-06-25 22:11:34 +02:00
Sébastien Helleu e0c8f2867d core: add missing space in French translation 2023-06-25 22:10:15 +02:00
Sébastien Helleu 763b8ec050 core: force key "return" to command "/input return" when migrating legacy keys 2023-06-25 22:10:04 +02:00
Sébastien Helleu 9d0d8231e8 core: add option weechat.color.status_name_insecure in ChangeLog and release notes 2023-06-25 15:17:16 +02:00
Sébastien Helleu 11177a0967 core: fix format in Czech translation 2023-06-25 00:49:44 +02:00
Krzysztof Korościk c5a3bbc474 doc: updated polish translation 2023-06-24 22:45:35 +02:00
Sébastien Helleu 50bb175e7f Version 4.1.0-dev 2023-06-24 22:41:18 +02:00
Sébastien Helleu 1c449f3c2e Version 4.0.0 2023-06-24 22:00:30 +02:00
Sébastien Helleu 7c7a9484fb doc/user: fix typo in French translation 2023-06-23 12:01:56 +02:00
Nils Görs eacb807448 core: update German translations 2023-06-23 07:43:45 +02:00
Sébastien Helleu 001cf3376d core: update ChangeLog 2023-06-19 07:30:31 +02:00
Sébastien Helleu e1d1831fa8 core: ignore rest of config file if config version is invalid or not supported 2023-06-17 13:13:11 +02:00
Nils Görs 3e42d95f40 core: update German translations 2023-06-16 14:31:16 +02:00
Sébastien Helleu 1b78cd3bd2 exec: fix URL to plugin API reference in /help exec 2023-06-15 22:07:34 +02:00
Sébastien Helleu 9d7766ce3d doc/user: fix URL to plugin API reference 2023-06-15 22:04:45 +02:00
Sébastien Helleu 2d25cac44a relay: add IPv6 example in /help relay.network.bind_address 2023-06-15 22:04:16 +02:00
Sébastien Helleu 09b512337a core: replace Debian Bullseye by Bookworm in Debian build script 2023-06-12 21:26:21 +02:00
Sébastien Helleu 3af4ccff38 doc/user: update dependencies versions to Debian Bookworm 2023-06-12 21:26:00 +02:00
Sébastien Helleu 964d882c61 doc/user: fix description of key ctrl+q in search context 2023-06-12 18:38:21 +02:00
Nils Görs a9544af15c core: update German translations 2023-06-11 17:54:43 +02:00
Sébastien Helleu 8c73634e1b relay: fix crash on /upgrade when at least a client is connected with weechat protocol 2023-06-11 14:33:32 +02:00
Sébastien Helleu fc91ee59c9 core: add completions "filters_names_disabled" and "filters_names_enabled"
They are used in completion of commands `/filter disable` and
`/filter enable`.
2023-06-10 22:38:54 +02:00
Sébastien Helleu 1145d9f188 trigger: add completions "trigger_names_disabled" and "trigger_names_enabled"
They are used in completion of commands `/trigger disable` and
`/trigger enable`.
2023-06-10 20:30:52 +02:00
Sébastien Helleu 5de7152383 core: update instructions in cygport file 2023-06-10 18:16:24 +02:00
Sébastien Helleu 5d06ab76df exec: remove trailing "M" (carriage return) in output of commands
Regression was indirectly caused by commit
d18f68e497 in core that allows to display all
control chars in buffers.

But the fix is in exec plugin: end of line in command output can now be "\r\n"
in addition to a single "\n".
2023-06-10 09:51:04 +02:00
Sébastien Helleu 2eacbe6153 core: add new IRC capabilities in release notes 2023-06-07 18:23:42 +02:00
Sébastien Helleu 0b51c2d0be doc: increase sectnumlevels to 2 (user/scripting/quickstart/relay/dev) 2023-06-06 19:13:20 +02:00
Sébastien Helleu 4185e7b9f6 guile: fix crash when plugin is loaded on GNU/Hurd (closes #1951) 2023-06-05 21:09:27 +02:00
Sébastien Helleu 0d92c8703f debian: update changelog 2023-06-05 19:09:25 +02:00
Sébastien Helleu dccd1a348c doc: fix URLs to WeeChat docs 2023-06-05 19:08:12 +02:00
Sébastien Helleu ab9b8e0b01 tests: fix checks on integers in relay irc protocol tests 2023-06-05 19:04:05 +02:00
Sébastien Helleu 7f07782208 tests: add missing include of string.h in logger tests 2023-06-05 19:02:57 +02:00
Sébastien Helleu 7a754d93ab doc/relay: add option "escape_commands" in handshake response and examples 2023-06-05 19:01:46 +02:00
Sébastien Helleu 3a4f51b352 Version 4.0.0-rc1 2023-06-05 08:18:10 +02:00
Sébastien Helleu 48b35bdc63 logger: fix display of multiline messages in backlog (closes #1926) 2023-06-05 07:29:21 +02:00
Sébastien Helleu 4e705afdf6 tests: add tests on logger tail functions (issue #1926) 2023-06-05 07:29:10 +02:00
Sébastien Helleu 615069caef logger: return arraylist instead of custom linked list in logger_tail_file (issue #1926) 2023-06-05 07:29:01 +02:00
Nils Görs 5e35ead044 doc: update German documentation 2023-06-04 11:17:53 +02:00
Nils Görs 4712fabbb0 core: update German translations 2023-06-04 11:12:59 +02:00
Sébastien Helleu e04d8894a0 irc: add tag "new_host_xxx" in message displayed for command CHGHOST (closes #1808) 2023-06-04 09:45:47 +02:00
Sébastien Helleu 7f4c3a660a core: update ChangeLog (issue #1950) 2023-06-03 21:40:55 +02:00
Sébastien Helleu 31e2e7d45c doc/user: add new FIFO syntax (issue #1950) 2023-06-03 21:40:51 +02:00
Trygve Aaberge 43dee8ce54 fifo: allow using escape characters
This allows you to use escape characters if you start the fifo command
with \ instead of *, in the same way as the escape_commands option in
the relay protocol. This allows you to send commands consisting of
multiple lines by using \n if the buffer has input_multiline set.
2023-06-03 21:31:38 +02:00
Sébastien Helleu 682fc40708 irc: add option irc.look.display_host_notice 2023-06-03 21:15:58 +02:00
Sébastien Helleu 482fe6604c relay: add handshake option "escape_commands" in weechat protocol 2023-06-03 20:06:29 +02:00
Nils Görs 2660164118 core: update German translations 2023-06-03 19:36:58 +02:00
Sébastien Helleu 5e85bce2b7 core: specify irc protocol for relay changes 2023-06-03 17:28:15 +02:00
Sébastien Helleu dd4eb80e81 doc: fix formatting issues with links that target a blank window 2023-06-03 17:08:17 +02:00
Sébastien Helleu 498aa3256f relay: add support of capability "echo-message" (closes #1949) 2023-06-03 14:15:55 +02:00
Sébastien Helleu ac9dc3b9c8 irc: add infos "irc_server_cap" and "irc_server_cap_value" (issue #1949) 2023-06-03 14:15:49 +02:00
Sébastien Helleu 911c976f9b tests: add tests on relay "irc" protocol 2023-06-02 18:50:45 +02:00
Sébastien Helleu 5eb1a31552 irc: add missing "user" in documentation of functions 2023-06-02 18:50:45 +02:00
Sébastien Helleu 02a20507cb relay: fix connection with IRC clients sending "CAP REQ :" (without capability) and not sending "CAP END" (issue #1040, issue #1796)
The bug was fixed in version 2.0 (issue #1040) but a regression in version 3.7
happened while using the new IRC parser for message arguments (issue #1796,
commit 96ed471261).
2023-06-02 18:50:45 +02:00
Sébastien Helleu 3d8c55722c relay: add modifiers "relay_client_irc_in", "relay_client_irc_out1" and "relay_client_irc_out" 2023-06-02 18:50:45 +02:00
Trygve Aaberge 19a0cfe72d core: fix weechat.look.align_multiline_words not working
This option was broken with commit 031bd45e3.
2023-06-02 18:48:47 +02:00
Sébastien Helleu f7149dc7be tests: create and close server buffer in tests on function irc_join_split 2023-05-31 23:39:19 +02:00
Sébastien Helleu c0300ec0a4 tests: fix close of channel buffers after tests on function irc_join_split 2023-05-31 23:00:34 +02:00
Sébastien Helleu 310af25226 ruby: fix crash in display of exception backtrace with Ruby 3 (issue #1631, issue #1886) 2023-05-31 20:56:14 +02:00
Nils Görs 7f11d44e40 core: update German translations 2023-05-31 07:18:00 +02:00
Ivan Pešić 47bca29e3c doc: update Serbian documentation 2023-05-30 21:06:53 +02:00
Ivan Pešić 614f423498 core: update Serbian messages translation 2023-05-30 21:06:53 +02:00
Sébastien Helleu 71b85f1238 core: send all command line parameters not beginning with a dash to all plugins, add info "auto_load_scripts"
This fixes an issue with IRC URL given on command line when it starts with
`ircs://` or `irc6://`: the server is not created at all (only `irc://` works
fine).
2023-05-30 20:56:25 +02:00
Sébastien Helleu eda62e1218 fset: reset color immediately after the color name (issue #1920) 2023-05-30 07:39:11 +02:00
Sébastien Helleu f917d22655 core: update ChangeLog (issue #1920) 2023-05-30 07:37:18 +02:00
Nils Görs c96cc7a008 doc: update German documentation 2023-05-29 17:39:29 +02:00
Trygve Aaberge 6f3a67fdc1 core: set word_end_offset to character after word
It seemed strange to me to have word_end_offset point to the last
character in the word, rather than the character after the word,
especially now with the word stopping before a newline character which
meant word_end_offset would be -1 if there was no characters before the
newline character.
2023-05-29 17:10:25 +02:00
Trygve Aaberge 96f41ce4bf core: fix chat colors at certain positions not being applied
The new rendering of multiline lines had some issues with colors at
certain positions not being applied. The color would not be applied if
the color code was at either of these positions:

  - At the start of a line after a newline character
  - At the end of a line after a space and before a newline character
  - At a line by itself before a newline character

The way I had done it by considering newline characters as a word in
gui_chat_get_word_info with a variable specifying that it's newline
characters became messy and didn't really make sense, so rather than
doing this, I changed gui_chat_get_word_info to stop before the first
newline character. That way, we can just check if we are at a newline
character at the start of the loop, and don't need any more special
handling.

Fixes #1928
2023-05-29 17:10:25 +02:00
Sébastien Helleu f1a826a116 tests: add tests on manual CTCP ACTION sent to IRC channel 2023-05-29 11:13:49 +02:00
Sébastien Helleu a4c2d7f808 irc: fix display of CTCP ACTION sent without parameters nor space 2023-05-29 11:10:25 +02:00
Sébastien Helleu 3826d1150d irc: remove unneeded extra check on "\01ACTION " in irc_input_user_message_display 2023-05-29 11:04:50 +02:00
Sébastien Helleu 031bcf5ff2 irc: hide password in messages to nickserv with cap echo-message enabled (issue #139) 2023-05-29 09:49:41 +02:00
Sébastien Helleu ea38779c85 irc: add command /action (closes #201, issue #1577), remove alias action 2023-05-29 09:44:13 +02:00
Sébastien Helleu 193d290285 alias: add option missing in command /alias 2023-05-27 20:20:31 +02:00
Sébastien Helleu 50f5be70aa alias: add alias action to send a CTCP ACTION to a channel or a nick (issue #1577) 2023-05-27 20:07:37 +02:00
Sébastien Helleu 1651c48856 irc: add missing host tag in self messages with cap echo-message enabled (issue #139) 2023-05-27 16:49:08 +02:00
Sébastien Helleu 649b9d0ca6 irc: fix display of STATUSMSG CTCP ACTION to channel with cap echo-message enabled (issue #139, issue #1577) 2023-05-27 16:49:08 +02:00
Sébastien Helleu a41dff7acc irc: fix display of outgoing CTCP when channel/private buffer doesn't exist 2023-05-27 16:49:08 +02:00
Sébastien Helleu 3a0141174b irc: fix display of outgoing STATUSMSG CTCP ACTION without arguments 2023-05-27 16:49:08 +02:00
Sébastien Helleu dbcb8d3dbf irc: remove extra space in CTCP ACTION message sent without arguments
Now when doing `/me` (without arguments), the message sent is:

  PRIVMSG #test :\x01ACTION\x01

instead of:

  PRIVMSG #test :\x01ACTION \x01
2023-05-27 16:49:08 +02:00
Sébastien Helleu a2e73d64d6 irc: fix split of CTCP message with no arguments 2023-05-27 16:49:08 +02:00
Sébastien Helleu 0babf5db23 irc: display STATUSMSG actions differently from standard actions on channels (closes #1577, issue #139) 2023-05-27 16:48:56 +02:00
Sébastien Helleu 93d447ffc7 irc: fix send of empty action with /me command 2023-05-27 10:04:15 +02:00
Sébastien Helleu be0b082463 core: remove WeeChat website from SRC_URI in cygport file 2023-05-26 18:03:20 +02:00
Sébastien Helleu 80532862d5 core: update ChangeLog 2023-05-26 18:03:08 +02:00
Sébastien Helleu a6769e46f9 tests: add tests on IRC message/notice/action/CTCP sent with cap echo-message enabled (issue #139) 2023-05-26 18:02:50 +02:00
Sébastien Helleu b61cbefd30 tests: remove capabilities added after the end of tests 2023-05-26 18:02:01 +02:00
Sébastien Helleu 30b86e08fd tests: add tests on IRC message/notice/action/CTCP sent (issue #139) 2023-05-26 12:44:15 +02:00
Sébastien Helleu 10b803fd59 irc: add missing nick tag in self CTCP ACTION displayed (issue #139) 2023-05-26 12:36:01 +02:00
Sébastien Helleu 4c6f503cc7 irc: display CTCP ACTION to channel on the channel buffer (issue #139, closes #207) 2023-05-26 12:31:22 +02:00
Sébastien Helleu c1ee493073 doc/user: rewrite IRC smart filter chapter, add detail on all filtered messages 2023-05-26 08:53:20 +02:00
Sébastien Helleu e8f508a7cc doc/user: display 3 levels instead of 2 in TOC 2023-05-26 07:13:04 +02:00
Nils Görs afdd24591a core: update German translations 2023-05-25 22:58:59 +02:00
Sébastien Helleu 2654961e1c irc: display actions sent with /me in private buffer instead of server buffer (issue #139) 2023-05-25 22:43:54 +02:00
Sébastien Helleu e50be16730 irc: fix display of actions sent with /me (issue #139) 2023-05-25 22:34:03 +02:00
Sébastien Helleu d9789e522f irc: fix duplicated CTCP messages displayed when capability "echo-message" is enabled (issue #139) 2023-05-25 22:15:41 +02:00
Sébastien Helleu 809f59dfd1 irc: hide messages sent with /msg to a nick when capability "echo-message" is enabled (issue #139) 2023-05-25 19:25:01 +02:00
Sébastien Helleu 45fb1ae4ba irc: hide CTCP messages sent with /ctcp when capability "echo-message" is enabled (issue #139) 2023-05-25 19:22:40 +02:00
Sébastien Helleu 3a8525bb95 irc: hide self actions sent with /me when capability "echo-message" is enabled (issue #139) 2023-05-25 19:19:11 +02:00
Sébastien Helleu f9e358b76c tests: remove import of unused headers 2023-05-23 21:52:16 +02:00
Sébastien Helleu ad1ae12321 doc/user: move IRCv3 chapter outside "Servers" 2023-05-23 21:49:54 +02:00
Sébastien Helleu 64c3f3f0cd irc: add support of capability "echo-message" (closes #139) 2023-05-23 21:49:54 +02:00
Sébastien Helleu 8f5a3cb639 irc: fix display of status privmsg/notice, add missing tags in messages (issue #139)
The status PRIVMSG and NOTICE are now displayed the same way for outgoing and
received messages:

Msg(alice) -> @#test: message for ops
Notice(alice) -> @#test: notice for ops

And any message like this is displayed with these tags if the nick is self
nick (case of a bouncer or if capability "echo-message" is enabled):
"self_msg", "notify_none", "no_highlight".
2023-05-23 21:49:53 +02:00
Sébastien Helleu 8abde49ba2 irc: fix order of tags in outgoing messages
The order of tags in message doesn't matter, but this is for the sake of
consistency with the other messages displayed.
2023-05-23 21:49:53 +02:00
Sébastien Helleu 20bfe4c1ba irc: add missing tags "irc_cap" and "log3" in cap messages (client capability) 2023-05-23 21:49:53 +02:00
Sébastien Helleu 3cb5f25681 irc: add missing tag "log3" in notify messages 2023-05-23 21:49:53 +02:00
Sébastien Helleu f3e1da894b tests: check tags in messages displayed by IRC plugin 2023-05-23 21:49:53 +02:00
Sébastien Helleu eb7435f8b9 tests: separate prefix from message in recorded messages
The record functions are moved to tests-record.cpp.
2023-05-22 20:43:16 +02:00
Sébastien Helleu 126d3559ca script: remove trailing "J" (line feed char) in source of scripts displayed
Regression was indirectly caused by commit
d18f68e497 in core that allows to display all
control chars in buffers.

But the fix is in script plugin: when the script is downloaded and read line by
line, trailing "\r" and "\n" are removed, and therefore not displayed.
2023-05-22 20:40:45 +02:00
Sébastien Helleu c0b3f63985 core: add note about config files incompatibility in release notes 2023-05-21 09:01:10 +02:00
Sébastien Helleu 4f5dac4f85 irc: add batch files for translations 2023-05-20 17:10:59 +02:00
Sébastien Helleu c3c218035a logger: add option logger.file.log_conditions (closes #1942) 2023-05-20 17:08:34 +02:00
Sébastien Helleu 7461a5cb87 xfer: create buffer with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:33 +02:00
Sébastien Helleu db931b7806 trigger: create buffer with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:31 +02:00
Sébastien Helleu cbde92c44e script: create buffer with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:30 +02:00
Sébastien Helleu 00f4ae760d relay: create buffers with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:28 +02:00
Sébastien Helleu 1ad45598b5 fset: create buffer with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:27 +02:00
Sébastien Helleu b1759ab25a exec: create buffer with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:25 +02:00
Sébastien Helleu 3ca3ea32fd irc: create server/channel/raw buffers with function buffer_new_props (issue #1942)
With this function, buffer properties are set when the buffer is created and
can be read immediately by other plugins/scripts, for example in a callback of
signal "buffer_opened".
2023-05-20 17:08:20 +02:00
Sébastien Helleu f767db22a8 doc: reduce toc levels and numbering in sections (user/API/scripting/relay/dev) 2023-05-20 08:37:02 +02:00
Sébastien Helleu ecdcf239fe doc: move toc and section asciidoctor attributes from docs to CMakeLists.txt 2023-05-20 08:15:23 +02:00
Sébastien Helleu b9cc0cf839 core: update ChangeLog (closes #1260) 2023-05-18 13:52:46 +02:00
Simmo Saan 3c3bb933e9 irc: optimize and reuse irc_channel_rejoin 2023-05-18 13:51:14 +02:00
Simmo Saan 6edc88f7d6 irc: use key when /join-ing in open channel buffer 2023-05-18 13:46:43 +02:00
Sébastien Helleu de3ee174e4 core: update ChangeLog (closes #1140, closes #1190) 2023-05-18 11:52:43 +02:00
Sébastien Helleu 6c567c813e core: update translations 2023-05-18 11:51:25 +02:00
Sébastien Helleu a2b21df6ab alias: use dynamic string to replace alias arguments 2023-05-18 11:48:15 +02:00
Sébastien Helleu 338f7028ec tests: add tests on alias functions
Functions tested:

- alias_valid
- alias_search
- alias_string_add_word
- alias_string_add_word_range
- alias_string_add_arguments
- alias_replace_args
2023-05-18 11:10:54 +02:00
Sébastien Helleu a0894a794b alias: return empty string instead of NULL in function alias_replace_args 2023-05-18 11:08:37 +02:00
Sébastien Helleu 6095a0fe40 alias: return NULL if alias or user arguments are NULL in function alias_replace_args 2023-05-18 11:08:08 +02:00
Sébastien Helleu 8d838e89ee alias: add example in comment of function alias_replace_args 2023-05-18 11:07:46 +02:00
Sébastien Helleu e237f7488f alias: add "$&" in comment of function alias_replace_args 2023-05-18 11:07:12 +02:00
nobody 098bbb6927 alias: add auto-escaping special variable 2023-05-18 10:17:59 +02:00
Sébastien Helleu 100509866f relay: rename variable "ptr_option" to "ptr_path" 2023-05-18 09:53:57 +02:00
Sébastien Helleu caf166eb90 relay: make TLS certificate/key loading error handling more verbose (closes #1558) 2023-05-18 09:51:59 +02:00
Sébastien Helleu 9a0eda2433 core: fix refresh of bar item "input_search" after buffer switch in root bars (closes #1939) 2023-05-18 09:21:16 +02:00
Sébastien Helleu 1360489a05 core: add note in GitHub question issue template
The question must be first asked on the #weechat channel.
2023-05-18 09:04:55 +02:00
Sébastien Helleu 43553f7c28 core: update ChangeLog (closes #337, closes #965) 2023-05-17 21:43:43 +02:00
arza 99b84a76ad irc: start from the beginning of nicks at automatic reconnection (closes #337) 2023-05-17 21:42:00 +02:00
Sébastien Helleu 6ae04c4947 core: update ChangeLog (closes #1688) 2023-05-17 21:07:24 +02:00
Sébastien Helleu fbf68dcc14 irc: get value of "msg_max_length" from isupport token "LINELEN" on upgrade from WeeChat < 4.0.0 (issue #1927) 2023-05-17 21:03:44 +02:00
Sébastien Helleu 359ec5d2db irc: add field "utf8only" in IRC server structure 2023-05-17 20:49:27 +02:00
Valentin Lorentz 980b075ce9 irc: Implement the UTF8ONLY IRCv3 specification
https://ircv3.net/specs/extensions/utf8-only
2023-05-17 16:37:19 +02:00
Sébastien Helleu d0f1859ef5 core: add variable CTEST_OUTPUT_ON_FAILURE in release script 2023-05-17 07:17:26 +02:00
Sébastien Helleu 6d32a99d50 trigger: make default triggers compatible with multiline input (closes #1935)
Changed triggers:

- cmd_pass
- cmd_pass_register
- server_pass
2023-05-16 21:34:30 +02:00
Sébastien Helleu 1f21cdc0bd irc: update secure data when server autojoin option contains ${sec.data.xxx} and option autojoin_dynamic is enabled (closes #1934) 2023-05-16 21:03:22 +02:00
Sébastien Helleu e11ce668a2 doc/api: add note about hashtable removal in function info_get_hashtable 2023-05-16 20:15:20 +02:00
Sébastien Helleu 91bcfbb4e8 core: move creation of info_hashtable "secured_data" in plugin-api-info.c 2023-05-16 20:00:48 +02:00
Sébastien Helleu 17f3687e28 core: fix partial completion when the common prefix found is empty (closes #340) 2023-05-16 19:45:12 +02:00
Sébastien Helleu 357323b8fc typing: remove nicks typing even when option typing.look.enabled_self is off (closes #1718) 2023-05-16 13:29:09 +02:00
Sébastien Helleu cfc85b7fea typing: fix type and name of variable for key in hashtable typing_status_nicks 2023-05-16 13:23:07 +02:00
Sébastien Helleu 2a3d98c996 irc: display command 437 on server buffer when nickname cannot change while banned on channel (closes #88) 2023-05-16 13:15:45 +02:00
Sébastien Helleu 8d35e67dd6 irc: add modifier "irc_cap_sync_req" (closes #1767) 2023-05-15 20:10:28 +02:00
Sébastien Helleu d857c91a59 irc: add comments in "cap" callback 2023-05-15 20:02:45 +02:00
Sébastien Helleu 518c0e3ae3 irc: remove unused variable 2023-05-15 08:10:58 +02:00
Sébastien Helleu 20b7f406f8 irc: fix use of uninitialized variable 2023-05-15 08:10:03 +02:00
Sébastien Helleu e589f3471b doc/user: update note about chars replaced in IRC tags (trigger) 2023-05-15 08:08:42 +02:00
Sébastien Helleu 2c22626106 trigger: use new format for IRC tags in messages 2023-05-15 07:57:16 +02:00
Sébastien Helleu bd4507e99d irc: fix format of IRC tags displayed in messages (closes #1929)
Changes:

- use "=" to separate key from value, add it only if value is set (any string,
  including empty string)
- do not convert "_" to "-" in key
2023-05-14 21:25:20 +02:00
Sébastien Helleu 46b9428f9e tests: reverse arguments in calls to STRCMP_EQUAL 2023-05-14 18:52:23 +02:00
Nils Görs 78ebe63105 core: update German translations 2023-05-14 15:50:41 +02:00
Sébastien Helleu 1aded6eaf4 core: update translations (issue #1923) 2023-05-14 15:33:37 +02:00
Sébastien Helleu a6b8c95519 irc: do not display multiline message if capability "draft/multiline" is not enabled (issue #1923) 2023-05-14 15:33:37 +02:00
Sébastien Helleu 060cb48094 irc: ignore BATCH commands when capability "batch" is not enabled (issue #1292) 2023-05-14 15:33:30 +02:00
Sébastien Helleu 283c9d7ccf irc: do not allow send of empty messages (single line or multiline) 2023-05-14 15:32:47 +02:00
Sébastien Helleu ac83130dd7 irc: add test of privmsg message parsing with empty text 2023-05-14 15:32:47 +02:00
Sébastien Helleu c31af39ada irc: set "input_multiline" to 1 in buffers only if capability draft/multiline is enabled (issue #1923) 2023-05-14 15:32:43 +02:00
Sébastien Helleu 537d18ede5 core: allow to reset buffer property "input_multiline" to 0 even if there are lines in buffer (issue #1923) 2023-05-14 15:32:39 +02:00
Sébastien Helleu 128fbe0d5b irc: add support of "LINELEN" in message 005 (max message length in bytes) (closes #1927) 2023-05-14 15:32:39 +02:00
Sébastien Helleu 1116474c45 irc: reset all internal servers variables when disconnecting 2023-05-14 15:32:39 +02:00
Sébastien Helleu 176a106771 irc: add support of capability "draft/multiline" (closes #1923) 2023-05-14 15:32:39 +02:00
Sébastien Helleu e8b5d73421 irc: return arraylist instead of hashtable in function irc_server_sendf (issue #1923) 2023-05-14 15:32:35 +02:00
Sébastien Helleu 2154b440d2 irc: don't split messages on "\n" in function irc_server_sendf (issue #1923)
The function now allows only a single message. Newline chars ("\n") are allowed
in messages but not used as message separator.

This is a preparation work for the support of capability "draft/multiline".
2023-05-14 15:32:26 +02:00
Sébastien Helleu 2c39906816 irc: rename constant IRC_COMMAND_CAP_SUPPORTED_COMPLETION to IRC_COMMAND_CAP_SUPPORTED 2023-05-13 19:45:10 +02:00
Sébastien Helleu c0f574d036 doc: group all CMake files into a single one to build all docs (all languages) 2023-05-13 19:44:14 +02:00
Sébastien Helleu 6415c09a07 core: add quotes around paths in CMake files (closes #29) 2023-05-13 11:59:18 +02:00
Sébastien Helleu adbfd27660 core: fix completion after newline in input (closes #1925) 2023-05-12 17:53:02 +02:00
Sébastien Helleu 6d7f10ef20 core: fix execution of multiple commands separated by newline when there are no spaces
For example typing this on core buffer:

/t1
/t2

was not executing the two commands but sent the text to the buffer instead.

This is because WeeChat thinks it's a path, and the newline should indicate
it's not (like a space before the next slash: "/t1 /t2" is a command, not a
path, but "/t1/t2" is considered a path).
2023-05-05 20:28:11 +02:00
Sébastien Helleu 25d7192677 api: don't split on newline by default in functions command and command_options when input_multiline is set to 0
The API functions `command` and `command_options` (when `split_newline` = 0,
which is the default value) don't split on newline and then the first line is
executed and the subsequent lines (after "\n") are ignored.

There are no changes when the input has multiple lines filled by the user: the
split is done and multiple commands are executed (for example if the user is
pasting multiple commands to execute).
2023-05-04 21:06:32 +02:00
Sébastien Helleu bbbe83370f doc/user: add missing French translation for cursor key l 2023-05-04 07:09:12 +02:00
Sébastien Helleu c73191ab05 doc/scripting: add missing French translation for Tcl null values 2023-05-04 07:06:29 +02:00
Nils Görs 7aaa617643 core: update German translations 2023-05-03 22:58:22 +02:00
Sébastien Helleu f6b69c9098 irc: add support of capability "batch" (closes #1292) 2023-05-03 22:11:31 +02:00
Ivan Pešić bd5e8dc33b doc: Update Serbian documentation 2023-05-03 20:29:27 +02:00
Ivan Pešić e6bddcafee core: Update Serbian translation 2023-05-03 20:29:27 +02:00
Nils Görs 629afd3301 core: update German translations 2023-05-01 22:02:02 +02:00
Sébastien Helleu 21f972b0a5 trigger: add translation for first line of displayed triggers 2023-05-01 21:44:37 +02:00
Sébastien Helleu e75009a461 core: add enabled/disabled status color in output of /filter list (closes #1820) 2023-05-01 20:23:48 +02:00
Sébastien Helleu 385b1d0133 core: remove options trigger.color.trigger and trigger.color.trigger_disabled (issue #1820)
These options are used instead:

- weechat.color.chat_status_disabled
- weechat.color.chat_status_enabled
2023-05-01 20:16:59 +02:00
Sébastien Helleu b8f9b83500 core: add options weechat.color.chat_status_disabled and weechat.color.chat_status_enabled (issue #1820) 2023-05-01 20:12:56 +02:00
Sébastien Helleu 5c245af669 core: move line from "New features" to "Build" 2023-05-01 19:14:33 +02:00
Nils Görs 87b7d03cce core: update German translations 2023-05-01 18:11:02 +02:00
Sébastien Helleu ed2ab8a6d0 irc: fix help on sort option in command /autojoin (issue #1876) 2023-05-01 17:49:46 +02:00
Sébastien Helleu 000d550ff8 core: keep only first message line in modifier "weechat_print" when input_multiline is not set in buffer 2023-05-01 17:36:17 +02:00
Nils Görs d8d00926ff core: update German translations 2023-05-01 17:33:18 +02:00
Sébastien Helleu b127bed0fc irc: add option buffer in command /autojoin sort (closes #1876) 2023-05-01 17:02:51 +02:00
Sébastien Helleu 66d79e2d23 core: keep only first message line in hook line when input_multiline is not set in buffer 2023-05-01 14:53:59 +02:00
Nils Görs 9f2e5a98ea core: update German translations 2023-04-28 08:20:13 +02:00
Sébastien Helleu f90d8667a4 irc: add ${username} in server options "nicks" and "username", change their default values to use it 2023-04-27 22:59:24 +02:00
Sébastien Helleu 8822843254 core: add missing French translation 2023-04-27 22:43:10 +02:00
Sébastien Helleu bc5baf1f05 fset: change default value of option fset.color.value_selected from 80 to 159 (issue #1920) 2023-04-27 22:36:38 +02:00
Nils Görs 3ba2934dfa core: update German translations 2023-04-27 10:10:46 +02:00
Nils Görs a025518509 core: update German translations 2023-04-27 08:45:03 +02:00
Sébastien Helleu 2e42da35f9 core: update ChangeLog (issue #1920) 2023-04-26 21:13:07 +02:00
Sébastien Helleu 4f3524dbac core: update translations (issue #1920) 2023-04-26 21:12:56 +02:00
Sébastien Helleu d35218e991 irc: change default colors (issue #1920)
Default values changed:

- irc.color.reason_quit: default -> 244
- irc.color.topic_new: white -> 36
- irc.color.topic_old: default -> 244
2023-04-26 21:08:16 +02:00
Sébastien Helleu c12b7ffd3e core: enable option weechat.look.color_inactive_time by default (issue #1920) 2023-04-26 21:08:13 +02:00
Sébastien Helleu 156bdc6444 core: change default chat colors (issue #1920)
Default values changed:

- weechat.color.chat_delimiters: green -> 22
- weechat.color.chat_highlight_bg: magenta -> 124
- weechat.color.chat_inactive_window: default -> 240
- weechat.color.chat_nick_colors: add many colors
- weechat.color.chat_nick_offline: default -> 242
- weechat.color.chat_nick_offline_highlight_bg: blue -> 17
- weechat.color.chat_prefix_buffer: brown -> 180
- weechat.color.emphasized_bg: magenta -> 54
- weechat.color.nicklist_away: cyan -> 240
2023-04-26 21:08:12 +02:00
Sébastien Helleu 855f75369d logger: change default colors (issue #1920)
Default values changed:

- logger.color.backlog_end: default -> 246
- logger.color.backlog_line: default -> 246
2023-04-26 21:08:11 +02:00
Sébastien Helleu 3f2a377e7a script: change default colors (issue #1920)
Default values changed:

- script.color.status_autoloaded: cyan -> 39
- script.color.text_bg_selected: red -> 24
- script.color.text_date: default -> 65
- script.color.text_date_selected: white -> 50
- script.color.text_delimiters: default -> 240
- script.color.text_description: default -> 249
- script.color.text_extension: default -> 242
- script.color.text_extension_selected: white -> 248
- script.color.text_name: cyan -> 73
- script.color.text_name_selected: lightcyan -> 51
- script.color.text_version: magenta -> 180
- script.color.text_version_loaded: default -> 246
- script.color.text_version_selected: lightmagenta -> 224
2023-04-26 21:08:09 +02:00
Sébastien Helleu 8c9e90524b fset: enable option fset.look.use_color_value by default (issue #1920) 2023-04-26 21:08:07 +02:00
Sébastien Helleu 6f1a66924f fset: add options fset.color.color_name and fset.color.color_name_selected (issue #1920) 2023-04-26 21:08:06 +02:00
Sébastien Helleu c4c4ae3715 fset: change default colors (issue #1920)
Default values changed:

- fset.color.description: default -> 242
- fset.color.description_selected: white -> default
- fset.color.line_marked_bg1: default -> 17
- fset.color.line_marked_bg2: default -> 17
- fset.color.line_selected_bg1: blue -> 24
- fset.color.line_selected_bg2: red -> 24
- fset.color.name_changed: brown -> 185
- fset.color.type: green -> 138
- fset.color.type_selected: lightgreen -> 216
- fset.color.value: cyan -> 38
- fset.color.value_changed: brown -> 185
- fset.color.value_selected: lightcyan -> 80
- fset.format.option2: ${color:darkgray} -> ${color:244}
2023-04-26 21:08:04 +02:00
Sébastien Helleu 5973ceffb8 core: change default prefix_suffix char and color (issue #1920)
Default values changed:

- weechat.look.prefix_suffix: "|" -> "│"
- weechat.color.chat_prefix_suffix: green -> 24
2023-04-26 21:08:02 +02:00
Sébastien Helleu 875d6e7e6f buflist: change default background color of current buffer (issue #1920)
Default value changed:

- buflist.format.buffer_current: "${color:,blue}${format_buffer}" ->
  "${color:,17}${format_buffer}"
2023-04-26 21:08:00 +02:00
Sébastien Helleu cd1d80c1cb core: change default color of bars and windows separators (issue #1920)
Default value changed:

- weechat.color.separator: blue -> 236
2023-04-26 21:07:56 +02:00
Sébastien Helleu 6d6c99f2ac core: change default background color of status and title bars (issue #1920)
Default values changed:

- weechat.bar.status.color_bg: blue -> 234
- weechat.bar.status.color_bg_inactive: darkgray -> 232
- weechat.bar.title.color_bg: blue -> 234
- weechat.bar.title.color_bg_inactive: darkgray -> 232
2023-04-26 21:07:50 +02:00
Sébastien Helleu 6f0440e459 core: add option weechat.color.status_name_insecure (issue #1920)
Default value of option weechat.color.status_name_tls is set to white instead
of lightgreen.

Now all servers/channels connected with TLS are white, and those without TLS
are lightmagenta.
2023-04-26 21:07:37 +02:00
Sébastien Helleu e8c48c0a1f core: always allow 256 colors, find nearest color if less colors are available in terminal (issue #1920) 2023-04-26 21:07:26 +02:00
Sébastien Helleu ff402fb6ec core: fix infinite loop on startup when running some gui commands before the switch to core buffer is performed (closes #1917) 2023-04-26 19:11:54 +02:00
Nils Görs 5481af963c doc: update German documentation 2023-04-26 11:49:47 +02:00
Nils Görs 6edf0ef003 core: update German translations 2023-04-26 11:46:54 +02:00
Trygve Aaberge 8d430aa2eb core: fix display bug when drawing partially scrolled multiline
If you have a chat line with multiple lines that were scrolled so that
part of it is rendered at the bottom of the chat area, and part of it
falls below the chat area, there was a bug where the prefix_suffix would
be displayed at the end of the last line.

Looks like this happens because the gui_chat_display_prefix_suffix is
called for the line below the last line displayed in the chat area. So
we have to add a check for this so we don't add the prefix_suffix. This
check is copied from gui_chat_display_word which checks for the same.

Fixes #1912
2023-04-26 00:47:02 +02:00
Sébastien Helleu df6dfcea11 core: move line from "New features" to "Bug fixes" (issue #1882) 2023-04-26 00:10:37 +02:00
Sébastien Helleu a22d6a1bf6 core: update ChangeLog 2023-04-26 00:09:53 +02:00
Andrew Potter 71382b6c0f ruby: Restore default SIGCHLD signal handler on unload
fixes #1889
2023-04-26 00:07:54 +02:00
Sébastien Helleu ac25043b27 core: add option split_return in command /input (closes #1916) 2023-04-25 22:10:48 +02:00
Sébastien Helleu 0debd47d3e core: update ChangeLog 2023-04-25 19:07:14 +02:00
Sébastien Helleu ea734b5924 doc/api: add variable "_chat_focused_line" in function hook_focus 2023-04-25 19:05:05 +02:00
Trygve Aaberge e51ffc1a6e core: add cursor key l to quote focused line
Fixes #1913
2023-04-25 00:11:30 +02:00
Trygve Aaberge a401fbf217 core: add _chat_focused_line variable to get the focused line
This contains the single line that you focused on, like _chat_word
contains the word that you focused on. This will be equal to
_chat_line_message if the chat line only contains a single line, but if
the chat line has multiple lines, _chat_line_message will contain all of
them, but _chat_focused_line will only contain the single line that was
focused.

Fixes part of #1913
2023-04-25 00:11:26 +02:00
Sébastien Helleu e00ec6710d irc: add message 742 (mode cannot be set) 2023-04-24 21:44:34 +02:00
Sébastien Helleu 28bb33aa5a irc: add message 415 (cannot send message to channel) 2023-04-24 21:43:57 +02:00
Sébastien Helleu 9f5e8efbe0 core: fix update of terminal title in some terminals like suckless terminal (stterm) (closes #1882) 2023-04-23 22:02:33 +02:00
Emir SARI 2d93f9d703 core: update Turkish translations (issue #1868) 2023-04-23 16:53:28 +02:00
Sébastien Helleu 3d79e2c9d2 Revert "core: remove deprecated parameters from command /input"
This reverts commit 2b7f745369.

Parameters removed are still used in scripts, and it's OK to keep them for a
while.
2023-04-23 09:53:50 +02:00
Nils Görs da49adebc3 core: update German translations 2023-04-22 09:35:19 +02:00
Sébastien Helleu 3a9ac529d5 buflist: update example in /help buflist.look.sort 2023-04-22 08:06:33 +02:00
Sébastien Helleu 731c2d66bc buflist: add example to sort on hotlist activity in /help buflist.look.sort 2023-04-21 21:15:45 +02:00
Sébastien Helleu 2c82a1a35f core: update ChangeLog 2023-04-20 22:39:02 +02:00
Sébastien Helleu 078da85f5e core: keep only first message line in hdata update of line_data when input_multiline is not set in buffer 2023-04-20 22:36:18 +02:00
Sébastien Helleu 5193c0aeea core: do now allow buffer property "input_multiline" to be reset to 0, except if buffer has no lines 2023-04-20 22:36:18 +02:00
Trygve Aaberge e5573bfb4d core: still split on printf when input_multiline isn't set
If we have chat lines with multiple lines in buffers without
input_multiline set, there can be an issue if a trigger is run on that
line. If the trigger runs a command which includes the message, then the
command is split (since input_multiline isn't set), and if any of the
lines in the message starts with a command, that command is executed.

To prevent this, only avoid splitting on newlines in printf if
input_multiline is set, so only such buffers can have chat lines with
newline characters.

See https://github.com/weechat/weechat/pull/1909 for more details.
2023-04-19 16:47:44 +02:00
Trygve Aaberge 07fa6b12a6 core: don't split on newline characters in printf_date_tags
With support for rendering newline characters as new lines, we don't
need to split the message on newline characters anymore in
printf_date_tags. This allows you to print a line with multiple lines.
2023-04-19 16:47:44 +02:00
Trygve Aaberge 031bd45e36 core: render newline characters in chat line messages
If a chat line message contains a newline character (\n) it was
previously rendered as J with reverse video. This commit makes it
render as an actual newline instead, so messages with multiple lines
become supported.

The rendering is fixed in normal mode as well as bare mode both when
scrolled to the bottom and when scrolled up (which is different code
paths). Focus events has also been updated to support this (except for
_chat_line_y which returns -1 for all lines, but the docs says this
variable is only for buffers with free content).

Currently, the only way to include a \n in a chat line message is with
hdata_update because printf splits on \n and creates multiple separate
lines, but hopefully either printf can be changed to not split on \n, or
a new command which doesn't split can be added.
2023-04-19 16:47:44 +02:00
Sébastien Helleu 2b7f745369 core: remove deprecated parameters from command /input
Parameters removed:

- jump_smart
- jump_last_buffer
- jump_last_buffer_displayed
- jump_previously_visited_buffer
- jump_next_visited_buffer
- hotlist_clear
- hotlist_remove_buffer
- hotlist_restore_buffer
- hotlist_restore_all
- set_unread_current_buffer
- set_unread
- switch_active_buffer
- switch_active_buffer_previous
- zoom_merged_buffer
2023-04-19 16:44:42 +02:00
Sébastien Helleu 19baa79d64 core: convert deprecated commands bound to keys when upgrading weechat.conf to v2 2023-04-19 16:35:39 +02:00
Sébastien Helleu 389e719302 core: bump guile version to 3.0 in cygwin 2023-04-18 22:45:35 +02:00
Sébastien Helleu ee7cd3de5c doc/user: update links to release notes 2023-04-17 22:31:26 +02:00
Sébastien Helleu b5e81f931b doc: update header and remove links in ChangeLog and release notes 2023-04-16 22:05:45 +02:00
Sébastien Helleu 2eaaa19beb core: simplify print of stable/devel version number in version.sh 2023-04-15 23:52:29 +02:00
Sébastien Helleu 1eb8e21d4b core: hide error when git tag does not exist 2023-04-15 16:59:48 +02:00
Sébastien Helleu 412b9de263 core: add missing space before trailing backslash 2023-04-15 12:16:18 +02:00
Sébastien Helleu c8780d2d7a core: fix description of script bump_version.sh 2023-04-15 11:58:20 +02:00
Sébastien Helleu a5f5008c77 core: add missing quotes around variables 2023-04-15 11:46:45 +02:00
Sébastien Helleu bbc5c4948a core: update ChangeLog 2023-04-15 11:15:02 +02:00
Sébastien Helleu c391a49cc1 core: add quote around stable/devel versions 2023-04-15 11:12:56 +02:00
Sébastien Helleu 4090680ef7 core: add "stable-number" and "devel-number" in version.sh
This is the same value returned by the info "version_number" in a running
WeeChat.
2023-04-15 11:10:19 +02:00
Sébastien Helleu 72477b49d7 api: add optional argument with version in info "version_number" 2023-04-15 11:09:59 +02:00
Sébastien Helleu 15d5fce00a doc/api: add more examples on function util_version_number 2023-04-15 11:00:00 +02:00
Sébastien Helleu 49ff42bef5 core: remove unnecessary condition in comparison of timeval structures
Ref: https://github.com/weechat/weechat-relay/pull/3
2023-04-14 13:06:18 +02:00
Sébastien Helleu 70bf3f8671 core: replace "SSL" by "TLS" in /help upgrade (issue #1903) 2023-04-13 20:11:03 +02:00
Nils Görs 2085c470e6 core: update German translations 2023-04-13 11:02:09 +02:00
Sébastien Helleu aa1d2a709d core: update translations (issue #1903) 2023-04-12 17:17:52 +02:00
Sébastien Helleu fe1ab06924 irc: improve short description of server (issue #1903) 2023-04-12 17:17:49 +02:00
Sébastien Helleu 6e17d39adf irc: fix URL of doc on capability negotiation (issue #1903) 2023-04-12 17:17:46 +02:00
Sébastien Helleu e516a0714f irc: add support of RFC 7194 (default port 6697 for TLS) (issue #1903) 2023-04-12 17:17:43 +02:00
Sébastien Helleu 55a853eb76 core: add TLS changes in release notes (issue #1903) 2023-04-12 17:17:41 +02:00
Sébastien Helleu 95b30f8da5 irc: connect with TLS and port 6697 by default (issue #1903) 2023-04-12 17:17:38 +02:00
Sébastien Helleu 8eb096b3ef relay: rename "ssl" options and protocol to "tls" (issue #1903) 2023-04-12 17:17:34 +02:00
Sébastien Helleu dec237b104 irc: rename "ssl" options to "tls" (issue #1903) 2023-04-12 17:17:30 +02:00
Sébastien Helleu 23b870ec1d core: rename option weechat.color.status_name_ssl to weechat.color.status_name_tls (issue #1903) 2023-04-12 17:17:26 +02:00
Sébastien Helleu ff2f94c12b core: replace SSL by TLS in comments (issue #1903) 2023-04-12 17:17:23 +02:00
Sébastien Helleu 9ccdc5aff6 irc: check that IRC URL starts with "irc" (issue #1903) 2023-04-12 17:17:20 +02:00
Sébastien Helleu 62171c5974 irc: add more info in description of function irc_server_alloc_with_url (issue #1903) 2023-04-12 17:17:13 +02:00
Sébastien Helleu e5c1945931 irc: set gnutls_sess, tls_cert and tls_cert_key to NULL by default in server (issue #1903) 2023-04-12 17:17:00 +02:00
Nils Görs 00c847ee56 core: update German translations 2023-04-12 10:03:24 +02:00
Sébastien Helleu d58d4dd8fa core: improve description of arguments in bump version script 2023-04-08 11:13:28 +02:00
Sébastien Helleu 49df360652 core: remove WEECHAT_DEVEL_FULL from version.sh 2023-04-08 11:08:33 +02:00
Sébastien Helleu 5f7ead023f core: add way to read stable major/minor/patch version 2023-04-08 09:18:39 +02:00
Sébastien Helleu 7ced1821db core: add contributor (issue #1904) 2023-04-08 08:21:31 +02:00
Sébastien Helleu 6be7960e1c core: update ChangeLog (issue #1904, issue #1905) 2023-04-08 08:19:50 +02:00
wfrsk cd740fc18b lua: fix crash with print when the value to print is not a string 2023-04-08 08:16:02 +02:00
Sébastien Helleu 127c8e0eb6 core: change default color of "mouse_status" item to lightgreen 2023-04-07 18:56:35 +02:00
Sébastien Helleu ce1adf0fd7 core: add item "mouse_status" in default status bar 2023-04-07 18:54:51 +02:00
Sébastien Helleu 6247598d3f core: fix comment in bump version script 2023-04-07 08:10:10 +02:00
Grady Martin f4c8b9e29f Update Japanese translations
This fixes a small typo.
2023-04-07 08:03:37 +02:00
Sébastien Helleu 41c1cc6e0b doc: add BYPRODUCTS in doc-autogen target
This is needed for Ninja and the "clean" target now removes all auto-generated
files.
2023-04-05 23:29:17 +02:00
Sébastien Helleu f1e7f861e9 core: fix pointer to hash and hash_temp in doc generator 2023-04-05 22:44:11 +02:00
Sébastien Helleu 0b20cb449a tests: add tests on function irc_server_alloc_with_url 2023-04-05 21:17:03 +02:00
Sébastien Helleu 5c801f2741 irc: display a warning if command name in option irc.msgbuffer.* is not lower case 2023-04-05 21:04:54 +02:00
Sébastien Helleu 87216279ca irc: display a warning if CTCP name in option irc.ctcp.* is not lower case 2023-04-05 20:56:48 +02:00
Sébastien Helleu b6a59be317 irc: search options irc.ctcp.* with lower case ctcp string 2023-04-05 20:47:20 +02:00
Sébastien Helleu e75c61d7aa doc/user: remove Javascript from plugins compiled with CMake option ENABLE_SCRIPTS
The Javascript plugin is not built by default any more since v2.9 and must be
explicitly enabled with `-DENABLE_JAVASCRIPT=ON`.
2023-04-03 21:09:05 +02:00
Sébastien Helleu 924c543430 core: ensure tag/commit are not done upon startup, do not undo tag/commit in case of error 2023-04-03 20:06:46 +02:00
Sébastien Helleu 1c3b871204 irc: don't switch to buffer of joined channel if it was not manually joined nor present in server autojoin option 2023-04-03 20:00:32 +02:00
Sébastien Helleu b8f40cfa99 core: add script release.sh 2023-04-02 17:51:33 +02:00
Sébastien Helleu 058c9f8b84 core: add script bump_version.sh 2023-04-02 14:01:21 +02:00
Sébastien Helleu ff85d00e7f irc: update autojoin option with redirected channels when autojoin_dynamic is enabled (closes #1898) 2023-04-02 13:49:25 +02:00
Nils Görs e15bd25f37 core: update German translations 2023-04-01 22:44:33 +02:00
Sébastien Helleu 4aabe8681f core, plugins: set options to NULL by default, refactor config init functions 2023-04-01 20:56:11 +02:00
Sébastien Helleu 3e9524ee65 alias: rename all aliases to lower case on upgrade (issue #1872) 2023-04-01 16:47:23 +02:00
Nils Görs e23100c09b core: update German translations 2023-03-31 23:19:34 +02:00
Sébastien Helleu f330ff865c ci: enable build of incomplete docs on macOS 2023-03-31 21:16:22 +02:00
Sébastien Helleu 6665cc866a doc: add CMake option ENABLE_DOC_INCOMPLETE to force build of incomplete docs (closes #1901) 2023-03-31 21:08:56 +02:00
Sébastien Helleu 10b2fa3a61 irc: fix target buffer for commands 432/433 when the nickname looks like a channel 2023-03-31 19:54:26 +02:00
Sébastien Helleu 7558fe7c1b build: add condition to enable gcc/g++ specific options
This fixes warnings with clang.
2023-03-31 19:09:12 +02:00
Sébastien Helleu 0f3f7c3b37 core: replace key meta2- by meta-[ in comments 2023-03-31 18:59:04 +02:00
Sébastien Helleu 0cf723ec1a doc/faq: replace key meta2- by meta-[ 2023-03-31 18:59:04 +02:00
Sébastien Helleu 1684f60207 core: fix key meta-[O (unfocus with xterm) (closes #1900) 2023-03-31 18:58:49 +02:00
Sébastien Helleu 613dc73fd4 core: remove keys meta-[I and meta-[G for pgup/pgdn (issue #1900)
It seems no terminal return such codes any more for pgup/pgdn, and `meta-[I` is
conflicting with the xterm terminal "focus in" key code.

The keys are also removed from config when converting old keys, but only if
they are bound to the default command (`/window page_up` for `meta2-I` and
`/window page_down` for `meta2-G`).
2023-03-31 18:57:58 +02:00
Nils Görs 867536f8ce core: update German translations 2023-03-31 11:29:48 +02:00
Sébastien Helleu 7e7b015aa1 core: update translations 2023-03-30 22:12:44 +02:00
Sébastien Helleu 672945a359 logger: add info "logger_log_file" 2023-03-30 22:04:33 +02:00
Sébastien Helleu 6a2ecc90b3 spell: check buffer pointer received in info "spell_dict" 2023-03-30 22:02:12 +02:00
Sébastien Helleu 35067512e9 core: update translations 2023-03-30 21:58:46 +02:00
Sébastien Helleu 7c6d490a4e doc: update Ubuntu Bionic Debian patch to remove asciidoctor option
The option "--failure-level" has been added in Asciidoctor 1.5.7 and the
version in Ubuntu Bionic is 1.5.5.
2023-03-30 07:42:12 +02:00
Sébastien Helleu a62f2dac58 ci: disable build of doc when NLS is disabled 2023-03-30 01:34:55 +02:00
Sébastien Helleu c243e4add9 ci: disable build of doc on macOS
Since the PHP plugin is not built, the doc can not be built any more (all
plugins must be compiled to generate autogen files).
2023-03-30 01:34:55 +02:00
Sébastien Helleu d24f6295d4 doc: remove unnecessary empty lines in autogen files 2023-03-30 01:34:55 +02:00
Sébastien Helleu 3eeef346b1 doc: update autogen files only if changed, add autogen dependencies on docs 2023-03-30 01:34:55 +02:00
Sébastien Helleu 6dbfb638c6 doc: convert docgen.py to C, remove autogen files from repository, add parameter --doc-gen
Changes:

- build of doc now requires weechat-headless, translations and all plugins
- convert docgen.py to C
- remove `autogen_*` files from repository
- add command line parameter `--doc-gen` in `weechat-headless` to build
  autogen files
- build .mo files with directories like the installed ones
  (eg: "<lang>/LC_MESSAGES/weechat.mo")
- remove javascript chapter from user's guide
2023-03-30 01:34:55 +02:00
Sébastien Helleu 4548b25b78 doc: make asciidoctor fail on any warning 2023-03-29 20:48:18 +02:00
Sébastien Helleu 974ac9ad5f core: add separate function to get translated help for values of color options 2023-03-28 22:32:54 +02:00
Sébastien Helleu 7c5d484f59 core: check that infolist is not NULL in next/prev/reset_item_cursor functions 2023-03-28 22:07:11 +02:00
Sébastien Helleu 742871fd3e doc: sort commands by plugins in auto-generated files 2023-03-27 22:31:02 +02:00
Sébastien Helleu e816381777 core: remove extra separator in Serbian translation 2023-03-27 22:18:01 +02:00
Sébastien Helleu 77a30e09cb core: add missing space in Polish translation 2023-03-27 22:05:28 +02:00
Sébastien Helleu 4b5987e37c doc: update German auto-generated files 2023-03-27 14:23:11 +02:00
Nils Görs debf79118f core: update German translations 2023-03-27 13:06:12 +02:00
Sébastien Helleu b894166d1b core: update ChangeLog (issue #1504) 2023-03-26 21:08:56 +02:00
Sébastien Helleu 181cd4f276 core: update translations (issue #1504) 2023-03-26 21:07:17 +02:00
Trygve Aaberge c63321bb7a core: Add an option to start multiline input text on a new line
This does the same as the lead_linebreak option in multiline.pl. That
is, when the input contains more than one line, the first line will be
displayed beneath the previous items in the bar. This is practical
because all the lines in the input will be aligned.

Related to #1498
2023-03-26 21:02:19 +02:00
Sébastien Helleu af493ac976 doc/user: add keys to move and delete in a single line and whole input (issue #1503) 2023-03-26 20:31:07 +02:00
Sébastien Helleu fe41da1506 core: update translations (issue #1503) 2023-03-26 20:30:17 +02:00
Sébastien Helleu 9bb3acd2c7 core: update ChangeLog (issue #1503) 2023-03-26 20:30:17 +02:00
Sébastien Helleu ec671fe447 core: fix code style (issue #1503) 2023-03-26 20:30:17 +02:00
Sébastien Helleu a508640fa0 core: add keys shift-left and shift-right with same commands as left and right (issue #1503) 2023-03-26 20:30:17 +02:00
Sébastien Helleu e6b1905679 core: revert keys meta-r (delete line) and meta-R (delete input) (issue #1503) 2023-03-26 20:30:12 +02:00
Trygve Aaberge 9ac30381fa core: Implement commands for operating on a single input line
This changes the commands delete_beginning_of_line, delete_end_of_line,
delete_line, move_beginning_of_line and move_end_of_line to operate on
the current line instead of the whole input. The commands
delete_beginning_of_input, delete_end_of_input, delete_input,
move_beginning_of_input and move_end_of_input are added with the
previous implementations that the line commands had.

Additionally, the commands move_previous_line and move_next_line are
added which moves the cursor to the previous/next line and keeps the
horizontal position in the line.

The meta-r key is changed from delete_line to delete_input to keep the
behavior, and because you probably want to delete the whole input more
often than the line. The meta-R key is added for delete_line.

The home, end, ctrl-u and ctrl-k keys are kept to the same commands,
which means that they change behaviour. This is because having them
operate on the line is consistent with other applications (vim, zsh),
and I also think it's more practical.

These new bindings are added:

    shift-home:  /input move_beginning_of_input
    shift-end:   /input move_end_of_input
    shift-up:    /input move_previous_line
    shift-down:  /input move_next_line
    meta-R:      /input delete_line
    meta-ctrl-u: /input delete_beginning_of_input
    meta-ctrl-k: /input delete_end_of_input

Relates to #1498
2023-03-26 15:52:19 +02:00
Sébastien Helleu 20cea84917 doc: update German auto-generated file 2023-03-26 12:36:23 +02:00
Nils Görs 56d38184b4 core: update German translations 2023-03-26 11:24:59 +02:00
Sébastien Helleu bfca5e3c44 core: update translations 2023-03-26 10:58:59 +02:00
Sébastien Helleu fa057f663e core: add missing source files to build translations 2023-03-26 10:58:35 +02:00
Sébastien Helleu c03a432f7a core: remove obsolete files used to build translations with autotools 2023-03-26 10:51:16 +02:00
Sébastien Helleu e21144eb1f tests: add tests on gui bar functions 2023-03-26 10:42:31 +02:00
Sébastien Helleu 5b33d1e21b core: fix default value of bar options
The previous commit e385eec1d6 fixed default
value for bar added by plugins and option "items" in all bars.

This commit fixes the default value of all bar options.
2023-03-26 10:38:16 +02:00
Sébastien Helleu cd119b9ee5 core: add packaging changes in release notes 2023-03-25 21:32:23 +01:00
Sébastien Helleu fcbfa13bf3 core: update ChangeLog and release notes (issue #1502) 2023-03-25 21:15:39 +01:00
Sébastien Helleu 2586b0326d doc: update auto-generated files with options 2023-03-25 21:15:35 +01:00
Sébastien Helleu eeb680783b tests: add placeholder for function gui_key_paste_finish 2023-03-25 19:23:46 +01:00
Sébastien Helleu b71b6a48a0 core: fix typo and code style 2023-03-25 18:59:06 +01:00
Trygve Aaberge f86972513b core: Include blank lines in paste line count
Since pastes are now inserted into the input instead of sent, and blank
lines are preserved in the input, they should now be counted too.
2023-03-25 18:53:12 +01:00
Trygve Aaberge 3e331d3772 core: Increase default value for paste_max_lines to 100
Now that pasting text doesn't cause it to be sent immediately, but
rather inserted in the input line, the paste confirmation isn't really
necessary anymore for small pastes. If you paste by mistake you can just
press ctrl-_ to undo it.

Large pastes may cause weechat to hang for a while, so keep the paste
confirmation for those.

If you don't use bracketed paste you would still want to keep it at 1,
because it's not detected as a paste otherwise, but as far as I know
basically all terminal emulators support bracketed paste, so I think
it's fine to disable the confirmation by default.
2023-03-25 18:53:12 +01:00
Trygve Aaberge d15203dbf5 core: Remove option weechat.look.paste_auto_add_newline
This option existed so that you could edit the last line of a multiline
paste before it was sent. Now that pasting multiple lines don't cause
the lines to be sent immediately anymore, this option isn't useful
anymore since you can always edit pasted text before it's sent.
2023-03-25 18:53:12 +01:00
Trygve Aaberge 68040f210a core: Always remove final newline when pasting
Since pasting doesn't send the line now, it's more practical to always
remove the final newline so you don't end up with an empty line at the
end of the input buffer.

Fixes a part of #1498
2023-03-25 18:53:12 +01:00
Trygve Aaberge 37decf3a7c core: Replace newline/tabs after paste is accepted
Instead of replacing newline/tabs when paste is started, do it when the
paste is accepted instead. This makes a difference if you paste again
while the paste confirmation is active, where instead of running it
again for each paste, it will now be run for all the text at the end.

For now this doesn't make a practical difference, but the next commit
will remove the final newline when multiple lines are pasted too, which
we only want to do for the final paste.
2023-03-25 18:53:12 +01:00
Trygve Aaberge 99f6f9e454 core: When pasting, insert text in input instead of interpreting keys
This makes pasted text appear in the input bar, instead of each line
being sent. This allows you to edit the text before sending it, and it
makes multiline paste supported in buffers with input_multiline on.

It also replaces \r with \n in pasted text because most terminals (e.g.
xterm and urxvt) print lines separated by \r when pasting as if return
was pressed between each line, even though the copied text uses \n. The
text sent to the buffer should use \n, not \r, so we have to replace it.

Note that this only works when bracketed paste is enabled or the paste
confirmation as shown, because non-bracketed paste with no paste
confirmation is not detected as a paste.

Fixes a part of #1498
2023-03-25 18:53:12 +01:00
Trygve Aaberge cfaf68ae61 core: Parse bracketed paste also when paste pending
When in paste pending mode, the bracketed paste escape sequence should
still be interpreted, so that if you paste while in paste pending the
same things as when pasting in normal mode still happens, i.e. the
escape sequence is removed, ctrl-y/n is not interpreted and newline/tabs
are replaced.
2023-03-25 18:53:12 +01:00
Sébastien Helleu 8fe4c84b72 core: fix uninitialized variable chunks2_count when key_name and key_name_alias are the same 2023-03-25 18:04:08 +01:00
Sébastien Helleu 94cbed2585 core: fix memory leak in function config_file_read_internal
This was caused by commit 66571a0b63.
2023-03-25 17:56:07 +01:00
Sébastien Helleu 675e63948c core: remove unnecessary assignment 2023-03-25 17:11:15 +01:00
Sébastien Helleu 1b99f861a3 core: remove commented code 2023-03-25 17:11:10 +01:00
Sébastien Helleu 2da5eaf81c core: replace .bz2 by .xz in SRC_URI of cygport template 2023-03-25 11:22:28 +01:00
Sébastien Helleu cf3ba52828 core: remove obsolete cpack config
This config was used to build binary package of WeeChat, which was never
released in this format.
2023-03-25 11:09:04 +01:00
Sébastien Helleu 2550153f26 core: remove build of .bz2 and .zst files in make dist 2023-03-25 11:02:22 +01:00
Sébastien Helleu a2ddfdf5a6 core: fix gcc warning on snprintf 2023-03-25 10:00:54 +01:00
Sébastien Helleu 15f0f7e369 core: add option legacy in command /key 2023-03-24 23:07:40 +01:00
Sébastien Helleu 92b0bc9f10 core: remove RPM packaging
The weechat.spec was obsolete and openSUSE has its own here:
https://build.opensuse.org/package/view_file/server:irc/weechat/weechat.spec?expand=1
2023-03-23 22:30:12 +01:00
Sébastien Helleu dc8f78163f core: replace set -e by set -o errexit in shell scripts 2023-03-23 22:01:48 +01:00
Sébastien Helleu 29ac28f94a core: add extra compiler options to check overflow of destination buffer and output truncation 2023-03-23 18:50:48 +01:00
Sébastien Helleu 952779a74c core: remove autotools related files in .gitignore 2023-03-22 21:10:25 +01:00
Sébastien Helleu 98a599d079 core: move buffer functions and remove them from header file 2023-03-21 20:14:35 +01:00
Sébastien Helleu f48f1c4700 core: remove unused function gui_buffer_is_scrolled 2023-03-21 20:01:12 +01:00
Sébastien Helleu 6edcc6ed41 core: remove unused function gui_buffer_search_by_layout_number 2023-03-21 19:58:53 +01:00
Sébastien Helleu be64e8cddc core: add relative move of read marker with /buffer set unread [+/-]N (closes #1895) 2023-03-20 20:38:24 +01:00
Sébastien Helleu 8475b216a4 doc: update German auto-generated file 2023-03-19 20:03:28 +01:00
Nils Görs e2286a36b4 core: update German translations 2023-03-19 19:55:45 +01:00
Sébastien Helleu dd54e26b4f core: add function bar_new in release notes 2023-03-19 18:45:18 +01:00
Sébastien Helleu 40fa2605b1 core: update ChangeLog (issue #846) 2023-03-19 18:25:05 +01:00
Sébastien Helleu cee14f10d6 core: add option rename in command /bar 2023-03-19 18:24:39 +01:00
Sébastien Helleu e4f181beb3 core: display an error with /bar add when the bar already exists 2023-03-19 17:42:12 +01:00
Sébastien Helleu 6bd49dd595 core: add value "name" in completion of /bar set <name> 2023-03-19 17:26:06 +01:00
Sébastien Helleu b31666cc86 doc/api: fix typo 2023-03-19 17:24:07 +01:00
Sébastien Helleu e385eec1d6 core: fix default value of options for bars added by plugins
When the bar name already exists, the function `bar_new` returns the pointer to
the bar (instead of NULL) and sets the default value for all options with the
values received.
2023-03-19 17:05:26 +01:00
Sébastien Helleu 3ebfe3e117 core: fix long lines in function gui_bar_use_temp_bars 2023-03-19 17:04:13 +01:00
Sébastien Helleu b846df9e0e core: allow any valid boolean value in command /bar set <name> separator xxx 2023-03-19 17:02:14 +01:00
Sébastien Helleu 8c4f02fe5a core: fix typo on bar option name "separator" 2023-03-19 16:53:05 +01:00
Sébastien Helleu c7090ae14a core: use a fixed size buffer to create a bar option 2023-03-19 16:47:46 +01:00
Sébastien Helleu 111525792d core: use a fixed size buffer to rename a bar 2023-03-19 16:47:46 +01:00
Sébastien Helleu 0f4ef874ca core: do not call check callback when setting default value of option 2023-03-19 16:47:46 +01:00
Sekulum Forka d47d9c5ed5 doc/man: call brackets correctly in the serbian translation 2023-03-19 10:08:03 +01:00
Sekulum Forka 16f2c21061 doc/man: fix grammatical mistakes in the serbian translation 2023-03-19 10:08:03 +01:00
Sébastien Helleu ca7da2c961 core: run config hooks only when value or default value is actually changed in set/reset/unset functions 2023-03-19 09:59:33 +01:00
Sébastien Helleu 3e5d77fdff core: optimize commands /reset and /unset with a mask 2023-03-19 08:30:32 +01:00
Sébastien Helleu 0d49ffd053 core: add command /reset to reset options to their default values 2023-03-19 08:02:10 +01:00
Sébastien Helleu 2e82c41c1a core: don't translate the key context (default/search/cursor/mouse) 2023-03-19 07:17:44 +01:00
Sébastien Helleu 89701a3cc0 core: mention breaking changes in release notes 2023-03-18 16:09:47 +01:00
Sébastien Helleu 34e34d28db core: bump version to 4.0.0-dev, follow "practical" semantic versioning 2023-03-18 15:59:23 +01:00
Sébastien Helleu ff544f48fb core: update ChangeLog and release notes (closes #1238) 2023-03-18 15:21:17 +01:00
Sébastien Helleu 5f475ab8cf core: update translations 2023-03-18 15:20:31 +01:00
Sébastien Helleu f7a6bd422a doc: replace comma by underscore in name of option used in anchors 2023-03-18 15:19:08 +01:00
Sébastien Helleu 99ca276556 core: also display mouse codes with /debug key 2023-03-17 22:49:50 +01:00
Sébastien Helleu 64a553f91f core: change order of modifiers in mouse keys
Now the modifiers for mouse keys are in the same order as other keys: `alt-`
then `ctrl-`.
2023-03-17 19:18:30 +01:00
Sébastien Helleu 3640d187b8 core: split gui-curses.h into multiple headers 2023-03-17 18:52:30 +01:00
Sébastien Helleu 313b40235a core: fix search of commands with raw code and alias matching
When raw code and alias for a key are both matching, the raw code must always
have higher priority.

This commit fixes this behavior and gives priority to raw code.
2023-03-17 18:52:30 +01:00
Sébastien Helleu fe6b69c41c core: set insert_ok to 0 for backspace key 2023-03-17 18:52:30 +01:00
Sébastien Helleu e060a0e7f2 core: remove "%s" from translated message for key debug 2023-03-17 18:52:30 +01:00
Sébastien Helleu 2b1da0d910 core: add note about "shift-" modifier in /help key
The modifier "shift-" can only be used with the key names, not with simple
chars.
2023-03-17 18:52:30 +01:00
Sébastien Helleu c1db5c9549 core: refactor print of keys in debug mode
Changes:

- add function gui_key_debug_print_key
- change message "no key" by "no key binding"
- remove messages ""insert into input" / "ignored"
- add color for delimiters
2023-03-17 18:52:30 +01:00
Sébastien Helleu a54663d60c core: replace "\x01" by "^" and add color for delimiters in output of /debug key 2023-03-17 18:52:30 +01:00
Sébastien Helleu d9e084869a core: add modifiers, key names and combos in /help key 2023-03-17 18:52:30 +01:00
Sébastien Helleu 9afbf02a42 core: use order returned by gui_key_expand in gui_key_modifier_list 2023-03-17 18:52:30 +01:00
Sébastien Helleu 0c4a5528ac core: display a warning when trying to bind a raw key code or invalid key (missing comma) 2023-03-17 18:52:30 +01:00
Sébastien Helleu 3b8f9d4547 core: check new keys manually added with /set 2023-03-17 18:52:30 +01:00
Sébastien Helleu 042968b016 core: remove use of "meta2-" in key name
The raw key code is kept as-is, so for example "meta2-A" becomes "meta-[A".
2023-03-17 18:52:30 +01:00
Sébastien Helleu 8a5a778293 core: remove mention to list of keys being displayed without arguments in /help key
Now when fset plugin is loaded, the keys are displayed in fset buffer.

In core commands like /set or /key, the fset plugin is not mentioned as WeeChat
can run without it.
2023-03-16 20:42:19 +01:00
Sébastien Helleu 46ce8d7e81 buflist: do not display keys added in default context on first load
Keys added in mouse context were already hidden, so it makes sense to not
display keys in default context as well.

These keys added by the default plugins are documented anyway.
2023-03-16 20:42:19 +01:00
Sébastien Helleu bf51a081d9 core: display a specific error when trying to bind a key without area in mouse context 2023-03-16 20:42:19 +01:00
Sébastien Helleu bb0c7b39fe api: change also default value of new key options with function key_bind 2023-03-16 20:42:19 +01:00
Sébastien Helleu a0c3fbbde9 core: display a warning if the config version read is newer than supported version 2023-03-16 20:42:19 +01:00
Sébastien Helleu 03e6d4563f core: move keyboard debug mode from /key debug to /debug key 2023-03-16 20:42:19 +01:00
Sébastien Helleu d94979fe3e core: split alias list into two lists 2023-03-16 20:42:19 +01:00
Sébastien Helleu 7f1f6a6e84 tests: add extra test on function gui_key_legacy_to_alias 2023-03-16 20:42:19 +01:00
Sébastien Helleu a686fa6407 api: change default value of existing key options with function key_bind
With this fix, fset buffer shows the key as modified only if the user actually
changed the command bound to the key.
2023-03-16 20:42:19 +01:00
Sébastien Helleu 55d9989b85 core: add function config_file_option_set_default 2023-03-16 20:42:19 +01:00
Sébastien Helleu 79f7c1cf83 fset: hook command /key
When command /key is called without arguments, and if fset plugin is loaded,
fset displays all key options (filter: `weechat.key*`).
2023-03-16 20:42:19 +01:00
Sébastien Helleu ccc649d06c core: create config options for all keys that can be managed with /set and /fset commands 2023-03-16 20:42:19 +01:00
Sébastien Helleu c82df8f22e core: fix safe list of keys
Add missing safe keys: "backspace" and "return".
Add missing unsafe keys: "comma", "space".
2023-03-16 20:42:19 +01:00
Sébastien Helleu c647d540a7 core: remove obsolete function gui_key_legacy_expand 2023-03-16 20:42:19 +01:00
Sébastien Helleu d1adec29f9 core: optimize search of key by reducing the number of splits into chunks 2023-03-16 20:42:19 +01:00
Sébastien Helleu 5b5c9afa29 core: add key alt-K (alt+shift+k) to grab raw key and its command 2023-03-16 20:42:19 +01:00
Sébastien Helleu 1f5c791c37 core: use new key name in command /key and configuration file
Legacy keys are automatically converted to new names when loading configuration
file `weechat.conf`.

Examples:

  "ctrl-I" => "tab"
  "meta2-1;3A" => "meta-up"
  "meta2-Z" => "shift-tab"
  "meta-wmeta-meta2-A" => "meta-w,meta-up"
  "ctrl-Cb" => "ctrl-c,b"
2023-03-16 20:42:19 +01:00
Sébastien Helleu 5b5ccb236f core: fix display of key with command /key bindctxt <context> <key> 2023-03-16 20:42:18 +01:00
Sébastien Helleu 66571a0b63 core: add configuration version, add API function config_set_version 2023-03-16 20:42:18 +01:00
Sébastien Helleu 7b8e5b36c0 core: simplify function config_file_read_internal 2023-03-16 20:42:18 +01:00
Sébastien Helleu 31bf962bba core: display new key name using aliases in output of /key command 2023-03-16 20:42:18 +01:00
Sébastien Helleu 15587ac72f core: fix function gui_key_legacy_to_alias with keys on areas 2023-03-16 20:42:18 +01:00
Sébastien Helleu 21910b7050 core: add function to expand raw key code to name with alias, use it in /key debug 2023-03-16 20:42:18 +01:00
Sébastien Helleu 0781f29726 core: add keyboard debug mode with command /key debug 2023-03-16 20:42:18 +01:00
Sébastien Helleu 5441c52d64 fset: remove scroll to top of fset buffer when options are added or removed (closes #1892) 2023-03-16 20:41:05 +01:00
Sébastien Helleu b21bc63313 tests: add tests on functions weeurl_search_constant and weeurl_search_option 2023-03-12 08:02:47 +01:00
Sébastien Helleu 7ba9f9ac7b core: revert case sensitive Curl constants and options (issue #1872)
This is a partial revert of fca78ca823.
2023-03-12 08:00:51 +01:00
Sébastien Helleu e36eda5404 core: check that parameters are not NULL in URL functions 2023-03-12 07:58:00 +01:00
Sébastien Helleu a5aa3304a4 doc/api: add hashtable methods in function string_eval_expression 2023-03-10 21:04:34 +01:00
Sébastien Helleu 7cda6cfd49 core: update translations (issue #1888) 2023-03-10 20:52:53 +01:00
Sébastien Helleu 5f5535b466 core: simplify /help eval, move examples with the other examples (issue #1888) 2023-03-10 20:52:28 +01:00
Sébastien Helleu eb71880e18 core: update ChangeLog (issue #1888) 2023-03-10 20:21:49 +01:00
Sébastien Helleu f604cf19c7 core: rename variable open_paren to pos_open_paren 2023-03-10 20:19:24 +01:00
Andrew Potter e3f588679c core: allow /eval to get hashtable properties 2023-03-10 20:19:03 +01:00
Sébastien Helleu dd65e91a75 ci: fix macOS CI 2023-02-22 21:53:25 +01:00
Sébastien Helleu fb0248f557 core: fix crash in case of NULL message sent to function gui_chat_printf_y_date_tags (closes #1883) 2023-02-22 20:38:56 +01:00
Nils Görs f6fdecb846 doc: update German documentation 2023-02-21 12:25:23 +01:00
Sébastien Helleu 188583256e doc/user: make XDG directory fallback more clear in table 2023-02-16 21:39:02 +01:00
Sébastien Helleu 2cfecc2e2d core: update ChangeLog (issue #603) 2023-02-11 14:18:13 +01:00
Sébastien Helleu 3466c716ae doc/user: move "Upgrade" chapter after "Running WeeChat" 2023-02-10 19:00:01 +01:00
Sébastien Helleu 46935b859c core: update ChangeLog (issue #1881) 2023-02-10 18:59:39 +01:00
Robin Jarry 9b9ec62a8e core: allow /input move_next_word going to the end of line
When the input buffer contains non word characters at the end, /input
move_next_word will stop moving at the end of the last word. This is
a bit confusing and not in line with what readline does (think bash).

When there are no words left in the input buffer, make /input
move_next_word go to the end of line.

Signed-off-by: Robin Jarry <robin@jarry.cc>
2023-02-10 18:56:43 +01:00
rj1 69a3dd21dc fix: various code comments 2023-02-04 11:50:44 +01:00
Sébastien Helleu 6d4471b6db core: optimize search of key bindings in contexts default/search/cursor 2023-02-04 10:45:57 +01:00
Sébastien Helleu 587e2882ac core: simplify function gui_key_cmp 2023-02-03 22:52:07 +01:00
Sébastien Helleu 1f073fe949 tests: add tests on function gui_key_cmp 2023-02-03 22:50:32 +01:00
Sébastien Helleu 68a5a71b55 core: remove extra spaces before comma 2023-02-02 22:01:46 +01:00
Sébastien Helleu 48a51c9f6e doc: update auto-generated files 2023-02-01 20:32:00 +01:00
Ivan Pešić 314d9c0ce9 core/doc Update Serbian translations
Update messages and documentation translations.
2023-02-01 20:31:19 +01:00
Nils Görs 98917539b2 core: update German translations 2023-02-01 11:05:36 +01:00
Sébastien Helleu 30fa647700 irc: add command /rules (closes #1864) 2023-01-31 18:43:07 +01:00
Sébastien Helleu 9f5ca3b1a9 irc: add command /knock (closes #7) 2023-01-31 18:37:27 +01:00
Sébastien Helleu 4c0d2ab3b1 doc: update German auto-generated file 2023-01-31 07:55:36 +01:00
Nils Görs f2e149e489 core: update German translations 2023-01-31 07:52:53 +01:00
Sébastien Helleu 7ad4f7b29c core: update description of function hook_command_display_error_unknown 2023-01-30 23:27:25 +01:00
Sébastien Helleu e78d96686c core: inform that commands are case sensitive when another command with different case is found (issue #1877) 2023-01-30 22:09:36 +01:00
Sébastien Helleu 4370f75ce6 core: improve prioritization of commands starting with same chars in similar commands 2023-01-30 21:51:32 +01:00
Sébastien Helleu b02a10aa48 core: display similar command names when a command is unknown (closes #1877) 2023-01-30 21:44:38 +01:00
Sébastien Helleu 74154d972d tests: fix comments (issue #1877) 2023-01-30 21:44:09 +01:00
Sébastien Helleu 69a635412d core: add function string_get_common_bytes_count (issue #1877) 2023-01-30 21:44:03 +01:00
Sébastien Helleu 38ffac78f3 core: add function string_levenshtein (issue #1877) 2023-01-30 21:43:58 +01:00
Sébastien Helleu 269b8fc66e core: properly skip command char when it is a wide char in exec of hook_command_run 2023-01-29 21:20:18 +01:00
Mattia 2bcd9cb87b doc/quickstart: translate to Italian (closes #1874) 2023-01-29 16:58:22 +01:00
Andrew Potter 4f0b6115a1 irc: add server option "registered_mode" (closes #1625)
Two new fields are added in IRC server structure:

- "authentication_method", possible values:
    0: not authenticated
    1: authenticated with SASL
    2: authenticated with other method
- "sasl_mechanism_used", possible values: see enum t_irc_sasl_mechanism
  in src/plugins/irc/irc-sasl.h
2023-01-29 16:50:57 +01:00
Sébastien Helleu 3909d77617 core: add bug #32213 in ChangeLog 2023-01-29 13:58:21 +01:00
Sébastien Helleu e6eb068b2b doc: update German auto-generated files 2023-01-29 13:44:30 +01:00
Nils Görs 958ddee8fd core: update German translations 2023-01-29 13:20:28 +01:00
Sébastien Helleu 471ef214e7 core: add issue #398 in ChangeLog 2023-01-29 13:10:31 +01:00
Sébastien Helleu fc504698ad core: add ctrl keys as lower case in release notes (issue #1875) 2023-01-29 13:01:58 +01:00
Sébastien Helleu fd746a04d6 core: force ctrl keys to lower case when they are added (closes #1875) 2023-01-29 12:41:28 +01:00
Sébastien Helleu be0c04f498 core: ignore incomplete ctrl/meta/meta2 codes in keys (issue #1875) 2023-01-29 12:41:27 +01:00
Sébastien Helleu c68c2aaa94 core: ensure internal_code is not NULL when adding a default key (issue #1875) 2023-01-29 12:41:26 +01:00
Sébastien Helleu 3005658f38 core: compute first internal code and expanded name before removing key (issue #1875) 2023-01-29 12:41:24 +01:00
Sébastien Helleu a9289cbdc1 core: compute first internal code and expanded name before adding key (issue #1875) 2023-01-29 12:41:23 +01:00
Sébastien Helleu 0d8a6679b3 core: use dynamic string in functions gui_key_get_internal_code and gui_key_get_expanded_name (issue #1875) 2023-01-29 12:41:22 +01:00
Sébastien Helleu fa6a9bb934 api: readjust string size in function string_dyn_free when string is not freed (issue #1875)
This frees some allocated memory if size_alloc was greater than size in the
dynamic string.
2023-01-29 12:41:19 +01:00
Sébastien Helleu 48c1aebb83 tests: add tests on gui key functions (issue #1875) 2023-01-29 12:41:11 +01:00
Sébastien Helleu 81f4b16180 core: update ChangeLog (closes #1872) 2023-01-28 15:19:46 +01:00
Sébastien Helleu efe4aa29fc core: update translations and auto-generated doc files (issue #1872) 2023-01-28 15:19:41 +01:00
Sébastien Helleu 4c1a87ba60 core: add case sensitive identifiers in release notes (issue #1872) 2023-01-28 15:14:32 +01:00
Sébastien Helleu 3318a7f3b8 alias: add option rename in command /alias (issue #1872) 2023-01-28 15:14:31 +01:00
Sébastien Helleu 11ea0aecf4 core: make buffer name case sensitive in read of infolist "buffer" (issue #1872) 2023-01-28 15:14:30 +01:00
Sébastien Helleu b5350a3318 core: make proxy name case sensitive in read of infolist "proxy" (issue #1872) 2023-01-28 15:14:29 +01:00
Sébastien Helleu 18d4e6a52c relay: make relay compression case sensitive (issue #1872) 2023-01-28 15:14:28 +01:00
Sébastien Helleu 3e9e1b51bf core, plugins: replace calls to strcmp by string_strcmp when difference matters (issue #1872) 2023-01-28 15:14:26 +01:00
Sébastien Helleu fbeab26a35 core, plugins: replace calls to string_str(n)cmp by str(n)cmp (issue #1872) 2023-01-28 15:14:24 +01:00
Sébastien Helleu c07cf691ad core, plugins: check that string parameters are not NULL in search functions (issue #1872) 2023-01-28 15:14:22 +01:00
Sébastien Helleu c9ac4fef4b xfer: make xfer types and protocols case sensitive (issue #1872) 2023-01-28 15:14:21 +01:00
Sébastien Helleu f9a80e7d4d trigger: make trigger names/options/types/return codes/post actions case sensitive (issue #1872) 2023-01-28 15:14:20 +01:00
Sébastien Helleu 3319e6ff6e script: make script names case sensitive (issue #1872) 2023-01-28 15:14:19 +01:00
Sébastien Helleu 375c9f8b1e api: make prefix argument case sensitive in prefix function (issue #1872) 2023-01-28 15:14:17 +01:00
Sébastien Helleu 7b06463e84 irc: make IRC raw filters case sensitive (issue #1872)
Except the IRC command name filter (`m:xxx`).
2023-01-28 15:14:16 +01:00
Sébastien Helleu 0704f382e0 irc: make IRC server names case sensitive (issue #1872) 2023-01-28 15:14:15 +01:00
Sébastien Helleu d7f08a45d7 core: make notify tags in line case sensitive (issue #1872) 2023-01-28 15:14:14 +01:00
Sébastien Helleu 844b57a26d core: make key contexts case sensitive (issue #1872) 2023-01-28 15:14:12 +01:00
Sébastien Helleu f11d598928 core: make hotlist priorities case sensitive (issue #1872) 2023-01-28 15:14:11 +01:00
Sébastien Helleu 8744fdfaf3 core: make filter names case sensitive (issue #1872) 2023-01-28 15:14:10 +01:00
Sébastien Helleu 7a8ce6c9ae core: make color names and attributes case sensitive (issue #1872) 2023-01-28 15:14:08 +01:00
Sébastien Helleu 73c3c03915 core, plugins: make input actions in buffers case sensitive (issue #1872) 2023-01-28 15:14:07 +01:00
Sébastien Helleu c724032a22 core: make function gui_buffer_match_list case sensitive (issue #1872) 2023-01-28 15:14:06 +01:00
Sébastien Helleu 2ee65dd1ff core: make buffer types and notify levels case sensitive (issue #1872) 2023-01-28 15:14:05 +01:00
Sébastien Helleu a3befc7aae core: make proxy options and types case sensitive (issue #1872) 2023-01-28 15:14:04 +01:00
Sébastien Helleu 54ed4c6a18 core: make weelist position case sensitive (issue #1872) 2023-01-28 15:14:02 +01:00
Sébastien Helleu 411fe0b0ef core: make hashtable types case sensitive (issue #1872) 2023-01-28 15:14:01 +01:00
Sébastien Helleu fca78ca823 core: make Curl constants and options case sensitive (issue #1872) 2023-01-28 15:14:00 +01:00
Sébastien Helleu bbbd08694b core: make get/set object properties case sensitive (issue #1872) 2023-01-28 15:13:58 +01:00
Sébastien Helleu 5434f4f969 core, plugins: make plugin names case sensitive (issue #1872) 2023-01-28 15:13:57 +01:00
Sébastien Helleu 4b5897f110 core: make bar and bar items case sensitive (issue #1872) 2023-01-28 15:13:55 +01:00
Sébastien Helleu 489c264202 core, plugins: make info, info_hashtable and infolist case sensitive (issue #1872) 2023-01-28 15:13:54 +01:00
Sébastien Helleu 5bd97b9630 irc: make case insensitive comparison with a lower case string (issue #1872)
This is faster because with case insensitive comparison, the chars are
converted to lower case anyway before being compared.
2023-01-28 15:13:52 +01:00
Sébastien Helleu 498ee539ea core: make case insensitive comparison with a lower case string (issue #1872)
This is faster because with case insensitive comparison, the chars are
converted to lower case anyway before being compared.
2023-01-28 15:13:51 +01:00
Sébastien Helleu f0415c8ec3 core, plugins: make commands, hook command_run, completions and aliases case sensitive (issue #1872) 2023-01-28 15:13:48 +01:00
Sébastien Helleu 1de735b779 alias: make aliases case sensitive, convert default aliases to lower case (issue #1872) 2023-01-28 15:13:47 +01:00
Sébastien Helleu db177de204 core: make configuration files, sections and options case sensitive (issue #1872) 2023-01-28 15:13:45 +01:00
Sébastien Helleu 72f4596fb2 core: add function config_file_get_configs_by_priority (issue #1872) 2023-01-28 15:13:43 +01:00
Sébastien Helleu d71c3b0f21 doc/api: add priority in function config_new (issue #1872) 2023-01-28 15:13:40 +01:00
Sébastien Helleu f72435d765 core: simplify code in config functions (issue #1872) 2023-01-28 15:13:38 +01:00
Sébastien Helleu 0dd1d1be1c core: sort configuration files by name, reload them by priority (issue #1872) 2023-01-28 15:13:36 +01:00
Sébastien Helleu 202b4d82c0 plugins: set priority in calls to weechat_config_new (issue #1872) 2023-01-28 15:13:34 +01:00
Sébastien Helleu 9174ec979b core: set priority in calls to config_file_new (issue #1872) 2023-01-28 15:13:32 +01:00
Sébastien Helleu d274eb4be4 core: add priority in config file (issue #1872)
Priority is now allowed in function config_file_new, parameter `name`, with the
same format as hooks: "priority|name" (for example: "2000|test").

If not specified, the default priority is 1000.
2023-01-28 15:13:29 +01:00
Sébastien Helleu 347c3f3214 core: move function hook_get_priority_and_name to wee-string.c (issue #1872) 2023-01-28 15:13:18 +01:00
Sébastien Helleu db8d2d43f0 doc: update German auto-generated file 2023-01-25 07:59:33 +01:00
Nils Görs 5a93b5ad15 core: update German translations 2023-01-25 07:50:28 +01:00
Sébastien Helleu 37e8599443 irc: add option join in command /autojoin 2023-01-24 20:58:17 +01:00
Sébastien Helleu 0e1d3618ee doc: update auto-generated files with hdata 2023-01-24 20:55:28 +01:00
Sébastien Helleu 55d08a604f irc: fix autojoin on server connection (closes #1873)
Now the autojoin is made only one time, until the server buffer is closed.

A new flag `autojoin_done` is added to know whether the autojoin has already
been done or not on the server.  It is set to 1 on first autojoin, and reset to
0 only if the server buffer is closed.

The flag `reconnect_join` is removed, because it is now obsolete.
2023-01-23 19:10:13 +01:00
Nils Görs e0cdfb1cef core: update German translations 2023-01-16 08:53:26 +01:00
Sébastien Helleu cfa2239db5 irc: update message with number of nicks when joining a channel
Changed:

- "N voices" to "N voiced"
- "N normals" to "N regular"
2023-01-15 21:12:32 +01:00
Sébastien Helleu 6abd989dd7 debian: remove remaining workarounds for autotools build 2023-01-15 17:10:20 +01:00
Sébastien Helleu 51d0a6f402 tests: add tests on string comparison functions 2023-01-14 21:44:19 +01:00
Sébastien Helleu fdb793e410 ci: fix macOS CI (temporary fix)
Unlink Python binaries so that the install of packages via brew is a success.
See: https://github.com/actions/setup-python/issues/577
2023-01-14 21:16:18 +01:00
Sébastien Helleu 7668e7ea55 fset: fix typo in French translation of /help fset.look.condition_catch_set 2023-01-14 20:56:06 +01:00
Sébastien Helleu 87d71b9677 core: remove useless continue statement in loop 2023-01-12 21:33:57 +01:00
Sébastien Helleu 049c6eb6a8 core: display error in command if allocation of arraylist fails 2023-01-12 20:57:47 +01:00
Sébastien Helleu 0d622df87a core: fix display glitch in command errors when a wide char is set in option weechat.look.command_chars (closes #1871) 2023-01-12 20:28:29 +01:00
Sébastien Helleu 1a15171912 ci: fix typo 2023-01-10 08:18:49 +01:00
Sébastien Helleu 711f71a1bc ci: fix run of code coverage 2023-01-10 08:01:22 +01:00
Sébastien Helleu f59f39abd4 python: remove unneded call to deprecated function PySys_SetArgv
This function is deprecated since Python 3.11.
2023-01-08 20:26:57 +01:00
Sébastien Helleu 9b47832a01 core: do not allocate strings in dir_search_full_lib_name_ext, check return code of snprintf
This removes three compiler warnings.
2023-01-08 18:24:28 +01:00
Sébastien Helleu 0bde2aa0f3 irc: check return code of snprintf
This removes two compiler warnings.
2023-01-08 18:13:05 +01:00
Sébastien Helleu f305eed01f typing: fix crash when pointer buffer is not received in callback for signal "input_text_changed" (closes #1869) 2023-01-08 17:38:37 +01:00
Sébastien Helleu 43d3a97869 debian: restore target override_dh_auto_configure (packaging of stable version) 2023-01-08 15:18:19 +01:00
Sébastien Helleu f67b7ad113 debian: restore target override_dh_auto_configure 2023-01-08 15:16:52 +01:00
Sébastien Helleu 736bc89d4e core: update ChangeLog and release notes (closes #1860) 2023-01-08 14:43:17 +01:00
Sébastien Helleu 754ab33946 core: remove build with autotools
CMake is now the only way to build WeeChat.
2023-01-08 14:19:41 +01:00
Sébastien Helleu 18360feb32 ruby: remove warnings on unused parameters
These warnings may be enabled again in future when Ruby itself will be fixed.
2023-01-08 14:04:10 +01:00
Sébastien Helleu fe7c0019a7 php: remove warnings on variables "argc" and "ret_i" that might be clobbered by longjmp or vfork 2023-01-08 14:04:05 +01:00
Sébastien Helleu e101d5d8a4 Version 3.9-dev 2023-01-08 10:35:38 +01:00
Sébastien Helleu b614a5c5db Version 3.8 2023-01-08 10:07:07 +01:00
Sébastien Helleu 35129a1cae core: add note about case insensitive comparison improved in release notes 2023-01-08 10:01:11 +01:00
Sébastien Helleu 2f6b462c3c core: update entries related to CI in ChangeLog 2023-01-07 23:17:56 +01:00
Sébastien Helleu 9202213274 ci: remove use of repository ppa:ondrej/php
Now the CI uses the standard PHP version (8.1) from Ubuntu 22.04.
2023-01-07 23:17:29 +01:00
Sébastien Helleu 822a94c184 php: add proper detection of PHP 8.2 in all cases 2023-01-07 22:05:37 +01:00
Sébastien Helleu e0f096abe6 debian: add symbolic link weechat_raspbian_buster.patch pointing to Debian Buster patch 2023-01-06 13:12:59 +01:00
Sébastien Helleu bff143dcf4 core: add CMake test called "notests" when tests are not compiled
Now the command `make test` executes properly and returns 0 when test are not
compiled.
2023-01-06 07:53:39 +01:00
Sébastien Helleu e660233325 Revert "core: add a fake target "test" so that make test successes when tests are not compiled"
This reverts commit 129860fd52.
2023-01-06 07:11:35 +01:00
Sébastien Helleu 129860fd52 core: add a fake target "test" so that make test successes when tests are not compiled 2023-01-05 21:26:55 +01:00
Sébastien Helleu 3c65bc6831 core: rename script build-test.sh to build_test.sh 2023-01-05 08:05:04 +01:00
Sébastien Helleu db81c07e1f core: rename script build-debian.sh to build_debian.sh 2023-01-05 08:03:12 +01:00
Sébastien Helleu 30ad9ca62d core: rename script git-version.sh to set_git_version.sh 2023-01-05 08:01:48 +01:00
Sébastien Helleu c7f5cd462f core: add message after checking Curl symbols: "all good" or number of errors 2023-01-05 07:48:08 +01:00
Sébastien Helleu bcba2d4d7c core: add example with Curl repository cloned locally 2023-01-05 07:43:01 +01:00
Sébastien Helleu e3a69e92e5 core: install flake8 in CI 2023-01-04 22:49:36 +01:00
Sébastien Helleu f43efe5a65 core: add script check_scripts.sh
This script is now used in CI to check all shell scripts (*.sh) and Python
scripts (*.py) that are in git repository.

Tools used:

- shell scripts: shellcheck
- Python scripts: flake8 + pylint + bandit
2023-01-04 22:45:00 +01:00
Sébastien Helleu 8da3884afc core: add script check_curl_symbols.py
This script is used to check Curl symbols defined in WeeChat vs exposed Curl
symbols.

Usage:

curl https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
2023-01-04 22:44:14 +01:00
Sébastien Helleu 3778ef0636 core: fix Curl version in comments 2023-01-04 22:23:33 +01:00
Sébastien Helleu c52d630f82 core: remove useless "exit 0"
This fixes the following shellcheck error:

SC2317 (info): Command appears to be unreachable. Check usage (or ignore if
invoked indirectly).
2023-01-04 22:23:33 +01:00
Sébastien Helleu 356028ee87 core: double quote $JOBS
This fixes the following shellcheck error:

SC2086 (info): Double quote to prevent globbing and word splitting.
2023-01-04 22:23:33 +01:00
Sébastien Helleu 9dd85507d0 core: don't use eval to run commands in scripts
This fixes the following shellcheck error:

SC2294 (warning): eval negates the benefit of arrays. Drop eval to preserve
whitespace/symbols (or eval as string).
2023-01-04 22:20:51 +01:00
Sébastien Helleu c6df2e7b8e tests: fix long lines in scripting API tests 2023-01-04 21:13:25 +01:00
Sébastien Helleu e6857871f0 tests: ignore module level import not at top of file (flake8 E402) 2023-01-04 21:12:53 +01:00
Sébastien Helleu d1f2d54a1e tests: mark methods is_bool and is_number as static 2023-01-04 21:11:41 +01:00
Sébastien Helleu 0ce0fa9f1f api: add Curl options for versions 7.64.0 to 7.87.0 2023-01-03 23:21:44 +01:00
Sébastien Helleu 7526776f4e plugins: change priority of scripting plugins
Use a step of 10 between each scripting plugin priority.
2023-01-03 20:20:21 +01:00
Sébastien Helleu 958f39cb95 core: fix crash or infinite loop in /allbuf command
A crash could occur if the command closes buffers.
An infinite loop could occur if the command creates new buffers.
2023-01-03 17:02:38 +01:00
Sébastien Helleu 189eb5dc40 core: add variable list_size to prevent computing arraylist size in each iteration 2023-01-03 17:01:52 +01:00
Sébastien Helleu 9ee0955d6b irc: properly rename private buffer on notice messages 2023-01-03 01:06:51 +01:00
Sébastien Helleu 99988bdee7 Version 3.8-rc1 2023-01-02 14:27:21 +01:00
Sébastien Helleu 1daf145830 core: fix line wrapping in Polish translations 2023-01-02 14:20:44 +01:00
Sébastien Helleu 7baef6396d irc: properly rename private buffer on nick changes or private message when new nick is the same with different case 2023-01-02 14:17:20 +01:00
Sébastien Helleu c739026c87 irc: replace "private window" by "private buffer" in comments 2023-01-02 13:50:58 +01:00
Sébastien Helleu 33bba784c3 core: update copyright dates 2023-01-01 14:54:35 +01:00
Sébastien Helleu 1fb6d52984 tests: add tests on gui input functions 2023-01-01 14:41:06 +01:00
Sébastien Helleu 727c465911 core: check that buffer is not NULL in function gui_input_clipboard_copy 2023-01-01 14:39:38 +01:00
Sébastien Helleu 73bac5491b core: move function gui_input_move_to_buffer to gui-buffer.c 2022-12-31 10:40:00 +01:00
Sébastien Helleu 05839983d4 core: fix color when the delimiter is not followed by a background color (closes #1867) 2022-12-30 21:50:18 +01:00
Sébastien Helleu 6c59b0830c doc: update Polish auto-generated files 2022-12-30 16:30:20 +01:00
Krzysztof Korościk 9f5a739428 core: updated Polish translation 2022-12-30 14:12:43 +01:00
Sébastien Helleu 81260ec854 doc: update German auto-generated file 2022-12-29 19:30:58 +01:00
Nils Görs d8cc91993f core: update German translations 2022-12-29 12:51:12 +01:00
Sébastien Helleu d878d2023a core: fix French translation of "read marker" 2022-12-29 12:05:21 +01:00
Sébastien Helleu fce2fcba4f core: add option weechat.look.chat_space_right (issue #1862) 2022-12-29 12:00:28 +01:00
Krzysztof Korościk 45fdcc2eb4 doc: updated polish translation 2022-12-28 17:44:46 +01:00
Sébastien Helleu 914f9e756b doc: update German auto-generated file 2022-12-28 10:27:44 +01:00
Nils Görs 7d94fba9ac core: update German translations 2022-12-28 10:25:31 +01:00
Sébastien Helleu e58b57fe4c doc: update German auto-generated files 2022-12-26 23:43:28 +01:00
Nils Görs 0e6058f8cd core: update German translations 2022-12-26 13:41:24 +01:00
Nils Görs 98bc80924c core: update German translations 2022-12-26 13:32:56 +01:00
Sébastien Helleu 45638dca23 core: allow value "0" in buffer property "unread" to remove read marker from buffer 2022-12-26 01:27:45 +01:00
Sébastien Helleu 56055de12e doc/api: fix formatting of return value in char/string comparison functions 2022-12-26 00:55:30 +01:00
Sébastien Helleu 5a27805cf3 core: reorder entries in ChangeLog 2022-12-25 23:05:22 +01:00
Dawid Dziurla 1639e60651 changelog: add entry about Ruby 3.2 detection 2022-12-25 23:03:24 +01:00
Dawid Dziurla 824812c7c0 ruby: add detection of Ruby 3.2 2022-12-25 23:03:24 +01:00
Sébastien Helleu 41fd26fe79 core: move /input buffer switch/zoom actions to command /buffer
Actions moved:

* `/input switch_active_buffer` -> `/buffer switch`
* `/input switch_active_buffer_previous` -> `/buffer switch -previous`
* `/input zoom_merged_buffer` -> `/buffer zoom`
2022-12-25 22:47:18 +01:00
Sébastien Helleu 0c29d4c5b6 core: move /input set_unread actions to commands /allbuf and /buffer set
Actions moved:

* `/input set_unread` -> `/allbuf /buffer set unread`
* `/input set_unread_current_buffer` -> `/buffer set unread`
2022-12-25 21:44:27 +01:00
Sébastien Helleu 2c238e08ff core: add command /allbuf 2022-12-25 21:23:14 +01:00
Sébastien Helleu 2ad6f2f3d5 api: do not check hotlist add conditions when adding buffer in hotlist with function buffer_set 2022-12-25 20:35:10 +01:00
Sébastien Helleu a9094fd2fa core: add option add in command /hotlist 2022-12-25 19:40:57 +01:00
Sébastien Helleu b3e4a91760 core: fix typo in comment 2022-12-25 19:07:39 +01:00
Sébastien Helleu babe1e7a42 core: move /input hotlist actions to new command /hotlist
Actions moved to command `/hotlist`:

* `/input hotlist_clear` -> `/hotlist clear`
* `/input hotlist_remove_buffer` -> `/hotlist remove`
* `/input hotlist_restore_buffer` -> `/hotlist restore`
* `/input hotlist_restore_all` -> `/hotlist restore -all`
2022-12-25 18:50:57 +01:00
Sébastien Helleu 574a4c8834 core: add function gui_buffer_jump_last_visible_number 2022-12-25 17:57:59 +01:00
Sébastien Helleu c9796a3141 core: move /input jump actions to command /buffer jump
Actions moved to command `/buffer jump`:

* `/input jump_smart` -> `/buffer jump smart`
* `/input jump_previously_visited_buffer` -> `/buffer jump prev_visited`
* `/input jump_next_visited_buffer` -> `/buffer jump next_visited`
* `/input jump_last_buffer_displayed` -> `/buffer jump last_displayed`
2022-12-25 17:00:37 +01:00
Sébastien Helleu 9bd6cbf4bd core: fix style in ChangeLog and release notes 2022-12-25 16:53:30 +01:00
Sébastien Helleu 445b522498 core: fix typo in comment 2022-12-25 15:06:03 +01:00
Sébastien Helleu f5135277af core: remove useless conditions 2022-12-24 19:40:53 +01:00
Sébastien Helleu 21f3575016 api: add functions string_strcmp and string_strncmp 2022-12-24 18:29:35 +01:00
Sébastien Helleu 0dd1d4133b doc/api: mention "UTF-8" in char/string comparison functions 2022-12-24 17:52:31 +01:00
Sébastien Helleu a67556907d api: rename char comparison functions "utf8_char*" to "string_char*" 2022-12-24 17:33:22 +01:00
Sébastien Helleu 083032972d api: return arithmetic difference between chars in string comparison functions
Return code is changed for the following functions:

- string_strcasecmp
- string_strcasecmp_range
- string_strncasecmp
- string_strncasecmp_range
- string_strcmp_ignore_chars
- utf8_charcmp
- utf8_charcasecmp
- utf8_charcasecmp_range
2022-12-24 16:25:20 +01:00
Sébastien Helleu 5fc656a1b8 api: fix function strcmp_ignore_chars with case sensitive comparison and wide chars starting with the same byte 2022-12-23 23:20:29 +01:00
Sébastien Helleu 91149f0acc core: fix typo in French translation of /help input 2022-12-22 20:56:50 +01:00
Sébastien Helleu 68b510517e core: improve case convert and insensitive char comparisons (closes #258)
All lowercase letters are now properly converted to uppercase letters (and vice
versa), via functions `towupper` and `towlower`.

Functions `string_tolower`, `string_toupper` and `utf8_charcasecmp` have been
optimized to be faster when there are ASCII chars (< 128); functions are about
25-40% faster with mixed chars (both ASCII and multi-bytes).

Function `utf8_wide_char` has been removed, `utf8_char_int` can be used
instead.
2022-12-21 20:49:09 +01:00
Sébastien Helleu 95286c1eb3 core: remove unneeded casts 2022-12-19 13:01:33 +01:00
Sébastien Helleu 267313304e irc: fix calls to weechat_string_toupper 2022-12-19 11:18:59 +01:00
Sébastien Helleu 33b6adc3d3 core: fix call to string_toupper 2022-12-19 11:18:49 +01:00
Sébastien Helleu 56436e57fd spell: return directly output of string_dyn_free without temporary variable 2022-12-19 07:07:12 +01:00
Sébastien Helleu 5df4126c75 irc: return directly output of string_dyn_free without temporary variable 2022-12-19 07:06:01 +01:00
Sébastien Helleu 42113ebc0f core: return directly output of string_dyn_free without temporary variable 2022-12-19 07:04:33 +01:00
Sébastien Helleu 40339b288a api: return newly allocated string in functions string_tolower and string_toupper 2022-12-18 14:28:58 +01:00
Sébastien Helleu eb6cc0bc2a core: return number of bytes for UTF-8 char in function utf8_int_string 2022-12-18 14:13:14 +01:00
Sébastien Helleu 6aedddd351 tests: add tests on function gui_input_delete_next_word 2022-12-18 14:13:14 +01:00
Sébastien Helleu 9b917ccace tests: add tests on function gui_input_delete_range 2022-12-18 14:13:14 +01:00
Sébastien Helleu 99c453ee23 tests: add tests on gui delete previous/next char functions 2022-12-18 14:13:14 +01:00
Sébastien Helleu d2f447dafc tests: add extra tests on function gui_input_set_pos 2022-12-18 14:13:14 +01:00
Sébastien Helleu 3ef8241444 tests: add tests on gui input completion functions 2022-12-18 14:13:14 +01:00
Sébastien Helleu dd9ae79204 core: remove unused argument "pos" from function gui_input_insert_string, add tests on function 2022-12-18 14:13:14 +01:00
Sébastien Helleu f03384d124 core: simplify gui input functions by returning immediately if condition not met 2022-12-17 22:22:15 +01:00
Sébastien Helleu fb31cf663e irc: do not join channels in server autojoin option after reconnection to the server (closes #560, bug #21529) 2022-12-17 12:55:39 +01:00
Sébastien Helleu 122a0f8097 doc: update German auto-generated file 2022-12-14 23:44:41 +01:00
Nils Görs 32496d1705 core: update German translations 2022-12-14 22:38:45 +01:00
Trygve Aaberge dc8a35796a doc/api: Improve python example for config_new_section
This updates the Python examples to include all the possible return
values for the callbacks in config_new_section, like it is done in the C
example. It also aligns the order of the values with the C example.
2022-12-11 15:33:11 +01:00
Trygve Aaberge abdabb3ae4 doc/api: Fix return values for callback_read in config_new_section
These return values were wrong in the description and C example. As can
be seen on lines 2835 and 2873-2903 of src/core/wee-config-file.c the
callback_read function should return the same as the function
config_file_option_set plus the value
WEECHAT_CONFIG_OPTION_SET_OPTION_NOT_FOUND (which is also the same as
the possible return values of config_file_option_set_with_string).

The Python example was already correct and the C example was already
correct in the other languages apart from English.

These errors were introduced in commit 02e2b21d3 and commit 5210ff1ae.
2022-12-11 15:33:11 +01:00
Sébastien Helleu a1b6d9622f core: add contributor (issue #1859) 2022-12-11 15:25:13 +01:00
Sébastien Helleu 20b061a89a core: update ChangeLog (issue #1859) 2022-12-11 15:17:38 +01:00
Ryan Qian 1316f3eb6d cmake: add support of compiling with enchant-2 for the Spell plugin 2022-12-11 15:16:23 +01:00
Sébastien Helleu a0e5e2a375 core: update ChangeLog (issue #1843) 2022-12-11 15:15:50 +01:00
Trygve Aaberge ebc63d1b83 scripts: Send null values to config section callbacks
The callback_read and callback_create_option functions in the scripting
APIs always get the value as a string, never as null. This means that if
the value is null, there is no way for the script to distinguish this
from an empty string for string options. This makes it impossible to
properly make options with fallback values, like the irc server and
server_default options, as far as I can see.

All the scripting languages except Tcl use that language's equivalent
for null. For JavaScript which has both null and undefined, null is
used. For Tcl, the magic null string defined in commit 197a7a01e is used
and the documentation is updated to describe that.

I tested this with these scripts:
https://gist.github.com/trygveaa/2d49c609addf9773d2ed16e15d1e3447

You can load all of those scripts and see the result with this command
(assuming you have the scripts in the current directory):

    weechat -t -r "/filter add script * * script; /script load $(echo script_config.*)"
2022-12-11 15:13:31 +01:00
Sébastien Helleu 1bfc8b9cf8 trigger: fix variables sent to focus callback (closes #1858)
This fixes a regression introduced in WeeChat 3.7 by commit
0f67f55098.
2022-12-10 22:30:24 +01:00
Sébastien Helleu 18c9ade580 core: add whole string information in /debug unicode 2022-12-10 17:32:09 +01:00
Sébastien Helleu 5b9b1e175b core: add color attributes "blink" and "dim" (half bright) (closes #1855) 2022-12-10 16:37:03 +01:00
Sébastien Helleu 9b93919b06 core: update ChangeLog (closes #1659, closes #1669, closes #1770) 2022-12-10 16:20:23 +01:00
Sébastien Helleu 7313859bdf core: update translations 2022-12-10 16:12:23 +01:00
Sébastien Helleu ef842c5e62 core: fix function string_cut when there are non printable chars in suffix 2022-12-10 16:05:14 +01:00
Sébastien Helleu f1cfd6f73f core: do not display non printable chars, fix function utf8_char_size_screen
Now the function utf8_char_size_screen can return -1 when the char is not
printable.

It has a specific behavior for some chars:

- U+0009: value of option weechat.look.tab_width
- U+0001 to U+001F (except U+0009): 1
- U+00AD (soft hyphen): -1
- U+200B (zero width space): -1
2022-12-10 16:05:14 +01:00
Sébastien Helleu d18f68e497 core: display chars < 32 with a letter/symbol and reverse video attribute in chat 2022-12-10 16:05:14 +01:00
Sébastien Helleu 6ac730cd0b core: toggle reverse video attribute in bars for chars < 32 only if not already enabled 2022-12-10 16:05:14 +01:00
Sébastien Helleu f63dba67f2 core: expand tabulations as spaces in bars 2022-12-10 16:05:14 +01:00
Sébastien Helleu 855d80702e core: replace call to memcpy by utf8_strncpy 2022-12-10 16:05:14 +01:00
Sébastien Helleu 71ae8f1907 api: add function utf8_strncpy 2022-12-10 16:05:14 +01:00
Sébastien Helleu e5cbbd781d core: optimize and fix function utf8_strlen_screen with non printable chars
When there non printable chars, the return of the function was 1.
For example utf8_strlen_screen("abc\x01") now returns 4 instead of 1.

In addition the function has been optimized to not use the `mbstowcs` function
which is slow; result is up to 15% faster.
2022-12-10 16:05:14 +01:00
Sébastien Helleu 0e6677fbcb core: add result of utf8_char_size_screen in /debug unicode 2022-12-10 16:05:14 +01:00
Sébastien Helleu 6cfc01aa53 doc: update Serbian auto-generated files 2022-12-05 21:00:48 +01:00
Ivan Pešić c6f5c3feaa Update Serbian translation
Documentation and messages translation update
2022-12-05 21:00:00 +01:00
Sébastien Helleu 55569c182a core: display hex codepoint before integer codepoint in /debug unicode 2022-12-03 10:15:18 +01:00
Sébastien Helleu f7f13352d7 core: remove useless call to mbstowcs in function debug_unicode_char 2022-12-03 10:14:30 +01:00
Sébastien Helleu bbd0f5d26b tests: define constants with UTF-8 strings, add tests on functions returning size on screen 2022-11-27 12:29:36 +01:00
Sébastien Helleu e08fcdd04c doc: update German auto-generated file 2022-11-22 18:41:42 +01:00
Nils Görs 894b5e21ed core: update German translations 2022-11-22 10:08:50 +01:00
Sébastien Helleu baab9cc7c5 core: add option unicode in command /debug 2022-11-21 20:45:41 +01:00
Sébastien Helleu a8639969c5 core: reorder sub-commands in /debug command callback 2022-11-20 13:55:21 +01:00
Sébastien Helleu 8d40273111 core: fix typo in comment 2022-11-20 09:33:40 +01:00
Sébastien Helleu b636f55b8b trigger: properly initialize variable "value" to NULL 2022-11-19 20:29:02 +01:00
Sébastien Helleu 11a5e0a627 ci: install guile-3.0-dev instead of guile-2.2-dev 2022-11-19 20:27:57 +01:00
Sébastien Helleu ea9c3b2218 debian: change dependency guile-2.2-dev to guile-3.0-dev 2022-11-19 19:05:25 +01:00
Sébastien Helleu bab73cfaa5 core: add identifier in buffer lines (closes #901)
For buffers with formatted content, the "id" starts to 0 on each buffer and is
incremented on each new line displayed (it is reset to 0 if reaching INT_MAX).

For buffers with free content, the "id" is set to the same value as "y" (ie the
line number, starting to 0).
2022-11-11 09:42:20 +01:00
Sébastien Helleu 8c44dc53eb doc/api: add missing note after list of signals 2022-11-09 08:15:30 +01:00
Sébastien Helleu 70998a53de doc/user: add missing supported format for trigger regex 2022-11-09 08:12:54 +01:00
Sébastien Helleu 6962d2ccd5 doc: update German auto-generated file 2022-11-08 20:36:33 +01:00
Sébastien Helleu 24665ae878 core: add signals "buffer_user_{input|closing}_xxx" for buffers created with /buffer add (closes #1848) 2022-11-08 20:34:04 +01:00
Nils Görs 2e4a033f0d doc: update German documentation 2022-11-07 13:21:12 +01:00
Nils Görs f95eb08201 core: update German translations 2022-11-07 13:02:46 +01:00
Sébastien Helleu 55b5549054 trigger: display failing regex in trigger creation error 2022-11-06 09:14:18 +01:00
Sébastien Helleu f18b96bb59 core: update translations 2022-11-06 09:14:18 +01:00
Sébastien Helleu b2605902db trigger: use explicit command "s" in regex of default triggers 2022-11-06 09:14:18 +01:00
Sébastien Helleu 39561b9146 core: add release notes about new trigger regex format 2022-11-06 09:14:18 +01:00
Sébastien Helleu 7555993bbc trigger: add regex command "y" to translate chars, set default regex command to "s" (regex replace) (closes #1510) 2022-11-06 09:14:14 +01:00
Sébastien Helleu 3b674a5e16 tests: add another test on function string_translate_chars 2022-11-05 22:34:39 +01:00
Sébastien Helleu 196a051141 core: add range of chars in evaluation of expressions with chars:xxx 2022-11-05 22:34:38 +01:00
Sébastien Helleu bc2fb071e2 api: add function string_translate_chars 2022-11-05 22:34:38 +01:00
Trygve Aaberge 03899e5ea5 doc: Fix typo in highlight_disable_regex option name
The section describes highlight_disable_regex, but the example used
highlight_regex instead.
2022-11-05 21:37:25 +01:00
Sébastien Helleu a70c626c11 core: update ChangeLog (issue #1844) 2022-10-23 19:04:32 +02:00
Trygve Aaberge 6f1635ae4e core: Prevent use of uninitialized memory when setting invalid color
If a color option value is null and is tried being set to an invalid
color, the value was set to uninitialized memory which can lead to a
segfault.

Can be reproduced with this script:
https://gist.github.com/trygveaa/6ddb3a52f525a7fd8e0908bafa83e07c

The option doesn't have to be set from a script, it also happens with
the /set command.
2022-10-23 19:00:29 +02:00
Sébastien Helleu 09839150a8 doc: remove extra "#" before hex color 2022-10-22 21:51:48 +02:00
Sébastien Helleu fd526e38a3 debian: update changelog 2022-10-22 21:49:30 +02:00
Sébastien Helleu 133a424178 core: add version 3.7.1 2022-10-21 14:41:38 +02:00
Nils Görs 68f605594c doc: update German documentation 2022-10-20 23:44:37 +02:00
Sébastien Helleu cf5a9a0db5 trigger: execute trigger command on appropriate buffer (closes #1841)
This affects the following hook types:

- command
- command_run
- line
- modifier
- print

This fixes a regression introduced in WeeChat 3.7 by commit
0f67f55098.
2022-10-20 20:19:37 +02:00
Sébastien Helleu 693c5e64a7 doc/faq: remove mention of obsolete WeeChat versions 2022-10-19 23:40:12 +02:00
Sébastien Helleu 4d645fcdc9 doc: fix language in links to other docs 2022-10-19 21:33:16 +02:00
Sébastien Helleu d79b106361 python: remove functions defined for Python < 2.6 2022-10-16 09:00:37 +02:00
Sébastien Helleu 319abf4fd0 python: remove support of Python 2.x 2022-10-15 22:56:06 +02:00
Sébastien Helleu 7a544d5fcf tests: ignore pylint error unnecessary-pass 2022-10-15 22:01:33 +02:00
Sébastien Helleu 56dbd871ea api: do not expect any return value in callbacks change/delete of config_new_option (scripting API) 2022-10-15 21:46:00 +02:00
Sébastien Helleu a1057c9a03 tests: add tests on config functions (scripting API) 2022-10-15 21:31:45 +02:00
Trygve Aaberge ec11126246 python: Fix return types for config option callbacks
I erroneously typed the return types for these to int in commit
e0c117e14, but they should be None.
2022-10-14 23:00:33 +02:00
Sébastien Helleu f9dd5ee89b core: add contributor (issue #1836) 2022-10-14 22:48:49 +02:00
Sébastien Helleu e3bbe2b5be core: update ChangeLog 2022-10-14 22:47:39 +02:00
Latchezar Tzvetkoff 8765eb3b71 Allow terminal title to be left unchanged.
Fixes #1835.
2022-10-14 22:42:21 +02:00
Sébastien Helleu 6619c421aa irc: escape backslashes in raw buffer (closes #1838) 2022-10-12 21:43:03 +02:00
Sébastien Helleu 7d2e8b9143 core: allow command /toggle to create option before setting the value, if allowed in the section (closes #1837) 2022-10-12 21:29:38 +02:00
Sébastien Helleu f97b74cae8 core: fix context info in buffers with free content (closes #1832) 2022-10-10 20:24:58 +02:00
Trygve Aaberge 6096350618 python: Include script examples in function docstring
This makes it possible to see how functions are used without having to
go to the web page. It's especially useful to see the types of the
callback functions.
2022-10-09 19:01:16 +02:00
Sébastien Helleu 7122b46baf Version 3.8-dev 2022-10-09 08:34:22 +02:00
Sébastien Helleu 484f679e60 Version 3.7 2022-10-09 08:06:53 +02:00
Trygve Aaberge fdb1ff3781 tests: Use LONGS_EQUAL for version number tests
util_version_number returns an int, but BYTES_EQUAL only compares the
last byte of the int, so it wouldn't test the rest of the int.

I see other tests for functions returning an int use LONGS_EQUAL, so
that seems correct to use.
2022-10-08 18:13:00 +02:00
Sébastien Helleu 193aa0448f core: fix compilation warning on isdigit function 2022-10-08 12:18:09 +02:00
Sébastien Helleu 3932cf5a00 xfer: add missing include of netinet/in.h
This fixes compilation on FreeBSD 13.0.
2022-10-08 12:11:12 +02:00
Sébastien Helleu 8555cf465e debian: update changelog 2022-10-08 11:52:44 +02:00
Sébastien Helleu 11f0d57dfd debian: bump Standards-Version to 4.6.1.0 2022-10-08 11:52:14 +02:00
Nils Görs 1fd5dd4c34 doc: update German documentation 2022-10-06 15:02:08 +02:00
Sébastien Helleu 1fec7e8856 core: fix page scroll in bare display (closes #1830) 2022-10-05 20:33:35 +02:00
Trygve Aaberge 236d22e364 python: Include constant values in python stub
This is useful for two reasons:

1. When running unit tests for a script weechat needs to be mocked. By
   having the constant values available in the stub file, they can be
   loaded from that, instead of having to define the constants manually
   for the mock.

2. If you log a constant value you have to look up what it means. This
   makes it easier, in the same vein as PR #1824.
2022-10-02 20:25:17 +02:00
Sébastien Helleu 4d3a3c67ac irc: set local variable "filter" when doing /server raw xxx with raw buffer already opened (closes #1448) 2022-10-01 17:06:31 +02:00
Sébastien Helleu ae61137216 trigger: add variable ${tg_hook_type} (closes #1765) 2022-09-30 21:32:27 +02:00
Trygve Aaberge 6bb4bed8bb doc/api: Fix config_new_option types for non English docs
Only English was changed in commit 197a7a01e.
2022-09-30 07:53:37 +02:00
Sébastien Helleu 92cdcee8f6 api: change type of argument object_id in upgrade_new callback from string to integer (in scripts) 2022-09-29 21:38:04 +02:00
Sébastien Helleu b2b110f1a3 api: change type of argument remaining_calls in hook_timer callback from string to integer (in scripts) 2022-09-29 21:21:01 +02:00
Trygve Aaberge 89400cbf7a doc/api: Remove unnecessary cast in Python example
The highlight argument is already an int, so no point in casting it.
2022-09-29 17:13:19 +02:00
Trygve Aaberge e0c117e14f doc/api: Add types for Python callbacks 2022-09-29 17:13:19 +02:00
Sébastien Helleu b978de5f84 debian: remove ubuntu/xenial patch (distro not supported any more)
As zstd is too old in ubuntu/xenial (0.5.1 while min version is 0.8.1), this
distro is not supported any more.
2022-09-29 16:04:58 +02:00
Sébastien Helleu fd43ad6387 core: fix compilation with zstd < 1.4.0
Note: zstd ≥ 0.8.1 is now required to compile WeeChat.
2022-09-29 15:59:01 +02:00
Sébastien Helleu 009a7821b1 doc: update German auto-generated file 2022-09-29 11:07:38 +02:00
Nils Görs 5cfcec7212 doc: update German documentation 2022-09-29 11:06:13 +02:00
Nils Görs c6671fc9db core: update German translations 2022-09-29 11:04:56 +02:00
Sébastien Helleu 8295ea6da8 doc/user: remove tag "translation missing" in French user's guide 2022-09-29 09:47:50 +02:00
Sébastien Helleu 9817372553 doc/user: add chapter on log file rotation/compression 2022-09-29 09:46:43 +02:00
Sébastien Helleu 486df38a8d php: add missing arginfo_weechat_string_parse_size in legacy arginfo 2022-09-29 07:48:55 +02:00
Trygve Aaberge 76d4cc7e3f doc/api: Add values for hook_process constants
When logging this value I just see a number so I have to look up what it
means. Previously you would have to check the code or print the value of
each of these constants to see it. Seeing the value directly in the
documentation makes this much easier.
2022-09-28 21:42:21 +02:00
Sébastien Helleu 135960859d doc/api: add note about C API for constant WEECHAT_HOOK_PROCESS_CHILD (function hook_process) 2022-09-28 21:01:01 +02:00
Sébastien Helleu 9f62c4a842 doc/api: fix typo 2022-09-28 20:58:29 +02:00
Sébastien Helleu 7711ed95c5 logger: add options to rotate and compress log files (closes #314)
New options:

- logger.file.rotation_compression_level
- logger.file.rotation_compression_type
- logger.file.rotation_size_max
2022-09-28 20:52:59 +02:00
Sébastien Helleu 26e6fdc645 api: add function file_compress 2022-09-27 20:49:12 +02:00
Sébastien Helleu e7b6e8c60f api: restrict number to integer in function string_parse_size 2022-09-27 15:50:43 +02:00
Sébastien Helleu 4d74a89cfc api: add function string_parse_size 2022-09-27 15:50:43 +02:00
Nils Görs be6a29a596 doc: update German documentation 2022-09-27 10:56:11 +02:00
Sébastien Helleu 34c043453b irc: fix use of uninitialized variable ptr_nick 2022-09-26 21:21:27 +02:00
Sébastien Helleu 6f8aab186d doc: update German auto-generated file 2022-09-20 19:23:57 +02:00
Nils Görs 201b24a02a core: update German translations 2022-09-20 19:10:13 +02:00
Sébastien Helleu 01cf98e8fb core: add key alt+backspace, change behavior of key ctrl+w (closes #559)
The key ctrl+w now deletes one word until whitespace.

The new key alt+backspace deletes one word (same behavior as ctrl+w in previous
releases).
2022-09-18 23:26:49 +02:00
Sébastien Helleu d7c0e896b2 core: fix style in ChangeLog 2022-09-18 17:44:55 +02:00
Sébastien Helleu 389f9f436b trigger: escape arguments with double quotes in output of /trigger input|output|recreate (closes #190) 2022-09-18 17:44:05 +02:00
Sébastien Helleu fe62d93dd0 build: update version of Debian/Ubuntu distros in examples 2022-09-18 14:39:36 +02:00
Sébastien Helleu d5c285f0a6 build: remove patches for Debian/Raspbian Stretch 2022-09-18 14:39:02 +02:00
Sébastien Helleu a00edcf50e tests: add tests on filter functions 2022-09-17 18:56:35 +02:00
Sébastien Helleu be7380f9b3 core: fix order of filters after renaming a filter (issue #1695) 2022-09-17 16:01:02 +02:00
Sébastien Helleu 5284921701 irc: fix message when disconnecting from server in case of high lag when server option autoreconnect is off (closes #1708) 2022-09-17 12:12:06 +02:00
Sébastien Helleu 36d2e7427e core: fix wrong terminal title on terminal resize (closes #1702) 2022-09-17 11:56:03 +02:00
Sébastien Helleu 0df582c7c1 core: sort filters by name (closes #1695) 2022-09-17 11:07:22 +02:00
Sébastien Helleu a99fc17d40 spell: allow special dict value "-" to disable spell checking on a specific buffer (closes #1699) 2022-09-17 10:44:21 +02:00
Sébastien Helleu 2b2ba62600 doc/api: add version 3.7 for priority in function hook_line 2022-09-17 07:52:39 +02:00
Sébastien Helleu 21683def12 doc: update German auto-generated file 2022-09-16 21:06:33 +02:00
Sébastien Helleu 96c22c41ba api: add support of priority in function hook_line (closes #1821) 2022-09-16 21:05:51 +02:00
Nils Görs ba27ec8d65 core: update German translations 2022-09-16 08:23:27 +02:00
Sébastien Helleu c6d8b54459 irc: add option irc.look.display_pv_nick_change 2022-09-15 20:31:06 +02:00
Sébastien Helleu 82f59d2a98 doc: update auto-generated files 2022-09-11 16:30:55 +02:00
Nils Görs 731f7e4243 core: update German translations 2022-09-11 16:25:17 +02:00
Ivan Pešić 2178440b7c core: Update Serbian translation
Includes documentation update.
2022-09-11 11:50:35 +02:00
Sébastien Helleu 57af62c1c0 doc/api: move function hook_completion in chapter on hook priority 2022-09-11 11:45:02 +02:00
Sébastien Helleu 742773e070 doc/api: update chapter on hook priority 2022-09-11 10:52:25 +02:00
Sébastien Helleu ac646da4fb doc/api: update note about priority in hook functions 2022-09-11 09:50:47 +02:00
Sébastien Helleu 9cb68b13a9 irc: replace chars "\01" by spaces in CTCP replies (closes #1819)
This prevents any attack due to an external security issue in the Linux
netfilter implementation (nf_conntrack_irc).

See: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2663
2022-09-10 13:43:45 +02:00
Sébastien Helleu 5070a6330c xfer: use larger buffer for IP address
This removes a gcc warning about a too small buffer.
2022-09-09 19:20:41 +02:00
Sébastien Helleu d5cbd6c49a irc: fix display of message 350 (whois, gateway) (closes #1815) 2022-09-05 22:12:17 +02:00
Sébastien Helleu 2a32456f19 tests: add missing include of string.h 2022-09-05 20:49:59 +02:00
Sébastien Helleu b0bf2fbc97 core: remove debug print 2022-09-03 22:38:12 +02:00
Sébastien Helleu e8524ea2c4 xfer: fix DCC file receive on Termux (closes #1811)
This fixes such error displayed on Termux when receiving a DCC file:

xfer: invalid address "96747949": error 8 hostname nor servname provided, or not known
2022-09-03 22:29:46 +02:00
Sébastien Helleu 7cf9399616 core: rename argument "length" to "bytes" in function string_strndup (header files)
Argument was already renamed in commit f8915129bf
but it was incomplete (missing header files).
2022-08-31 22:51:47 +02:00
Sébastien Helleu 68ecfb16a1 irc: fix target buffer of generic errors when they contain a target nick (closes #1814) 2022-08-29 22:45:28 +02:00
Sébastien Helleu f5604510cd script: use API function weechat_crypto_hash_file in script_repo_sha512sum_file 2022-08-16 21:40:02 +02:00
Sébastien Helleu 0090695f7d api: add function crypto_hash_file 2022-08-16 21:33:50 +02:00
Sébastien Helleu e614410815 irc: fix extract of isupport value when it is last in list and without value (closes #1807) 2022-08-15 18:14:03 +02:00
Sébastien Helleu fb14e67364 buflist: improve help on option buflist.look.enabled 2022-08-15 14:43:25 +02:00
Sébastien Helleu a31de83a3c core: move line from "New features" to "Bug fixes" 2022-08-15 13:11:08 +02:00
Sébastien Helleu b26fb7fba6 core: add new option trigger.color.identifier in ChangeLog 2022-08-15 13:10:29 +02:00
Sébastien Helleu 0f67f55098 trigger: add elapsed time for trigger execution on monitor buffer when trigger debug is set (closes #1806) 2022-08-15 12:44:16 +02:00
Sébastien Helleu 1ce2d7f56d trigger: fix error on monitor buffer creation when trigger debug is >= 1 and monitor buffer is closed 2022-08-15 12:42:26 +02:00
Sébastien Helleu 223eefef67 irc: display ACCOUNT command in private buffers 2022-08-13 22:58:37 +02:00
Sébastien Helleu aee3da5452 irc: add options and display SETNAME command in channels and private buffers (closes #1805)
New options:

- irc.color.message_setname
- irc.look.smart_filter_setname
2022-08-13 22:47:22 +02:00
Sébastien Helleu d3b84eaf6c irc: display CHGHOST command in private buffers 2022-08-13 22:16:46 +02:00
Sébastien Helleu ac50a5dda7 doc: update auto-generated files 2022-08-13 19:07:56 +02:00
Sébastien Helleu a36fa2faea logger: improve help on option logger.file.auto_log 2022-08-13 19:02:55 +02:00
Sébastien Helleu 1e0d59a5e6 irc: add missing tag "irc_numeric" in all numeric IRC commands (closes #1804) 2022-08-13 17:34:43 +02:00
Sébastien Helleu 06b6f457d9 tests: add tests on dynamic string functions with NULL string 2022-08-13 14:38:08 +02:00
Sébastien Helleu 57c0a82557 core: fix CMake warning in Python detection 2022-08-13 14:37:00 +02:00
Sébastien Helleu dd65938a85 doc: update German auto-generated file 2022-08-09 23:35:57 +02:00
Nils Görs ff417f88ea core: update German translations 2022-08-08 10:22:56 +02:00
Nils Görs 2857b7b4b7 core: update German translations 2022-08-08 10:08:44 +02:00
Sébastien Helleu a8080505f3 tests: add tests on function xfer_file_search_crc32 2022-08-08 08:06:23 +02:00
Sébastien Helleu bbe8afcbd4 xfer: move and rename function xfer_filename_crc32 to xfer-file.c 2022-08-08 06:57:39 +02:00
Sébastien Helleu 25f25073b9 irc: fix parsing of messages with trailing spaces and no trailing parameter (closes #1803) 2022-08-07 23:28:11 +02:00
Sébastien Helleu d068fe0de5 core: add option -save in command /upgrade (closes #1630) 2022-08-07 16:48:12 +02:00
Sébastien Helleu d91cddc909 xfer: disconnect all active DCC chats and files on /upgrade 2022-08-07 11:15:03 +02:00
Sébastien Helleu 9fd71067e7 xfer: fix refresh of xfer buffer after /upgrade 2022-08-07 11:11:10 +02:00
Sébastien Helleu 441d532f15 relay: fix refresh of relay buffer after /upgrade 2022-08-07 10:04:47 +02:00
Sébastien Helleu 57c9f371bc relay: use enum type for websocket status in client 2022-08-07 09:31:24 +02:00
Sébastien Helleu 4fa278c2c3 doc: update German auto-generated file 2022-08-05 22:34:40 +02:00
Nils Görs 0edae0d93d Merge branch 'master' of https://github.com/weechat/weechat 2022-08-05 09:49:59 +02:00
Nils Görs fbc2e86d0e core: update German translations 2022-08-05 09:49:27 +02:00
Sébastien Helleu 06622b5acb doc: update German auto-generated file 2022-08-04 22:14:28 +02:00
Nils Görs 9bb903cbc8 core: update German translations 2022-08-04 12:46:04 +02:00
Sébastien Helleu e9b8c9b6aa ci: fix Ubuntu code name when applying Debian patch 2022-08-03 22:05:45 +02:00
Sébastien Helleu b0eb3c9347 ci: remove macOS 10.15, add macOS 12 in CI 2022-08-03 21:57:44 +02:00
Sébastien Helleu 2102ef742b core: update ChangeLog 2022-08-03 21:56:55 +02:00
Sébastien Helleu 5d51e7286c ci: remove tests on macOS 10.15 2022-08-03 21:52:47 +02:00
Sébastien Helleu fe892460ba tests: fix pylint errors 2022-08-03 21:51:51 +02:00
Sébastien Helleu 0bb7a34748 doc: fix pylint errors 2022-08-03 21:51:51 +02:00
Sébastien Helleu ee1efedbd7 ci: switch from Ubuntu 20.04 to 22.04 2022-08-03 21:51:51 +02:00
Emir SARI 492a68b3de Update Turkish translations
Fixes plural structure to comply with gettext Turkish specification.
2022-08-03 21:20:31 +02:00
Sébastien Helleu 2bd3d32f0d irc: mention how to remove capability in /help cap 2022-08-03 21:18:17 +02:00
Sébastien Helleu 6b28cc001f tests: fix _ast_num in script generator 2022-08-02 23:52:31 +02:00
Sébastien Helleu 23707a12ea tests: fix scripting API tests with Python 3.8 2022-08-02 21:35:33 +02:00
Sébastien Helleu a7364d055b tests: disable pylint errors in testapi.py 2022-08-02 21:21:07 +02:00
Sébastien Helleu 4d4a6f99f9 tests: add tests on hdata functions (scripting API) 2022-08-02 21:11:45 +02:00
Sébastien Helleu a4c73b9ae7 tests: fix assignment in tcl script generator 2022-08-02 20:55:59 +02:00
Sébastien Helleu 3bc0453cae tests: fix assignment in perl script generator 2022-08-02 20:55:36 +02:00
Sébastien Helleu 2ed281af02 tests: use double quotes instead of simple quotes in ruby script generator
This allows to use escaped chars in strings.
2022-08-02 20:54:35 +02:00
Sébastien Helleu 05abbac297 tests: add subscript in script generator 2022-08-02 20:52:40 +02:00
Sébastien Helleu 237c37e719 tests: fix unary op in script generator 2022-08-02 20:51:40 +02:00
Sébastien Helleu 39f2b2f7b9 ruby: fix function hdata_get_string 2022-08-02 20:50:48 +02:00
Sébastien Helleu 8f6395e889 guile: fix function hdata_get_string 2022-08-02 20:50:24 +02:00
Sébastien Helleu 53df45de48 php: fix function hdata_compare 2022-08-02 20:49:35 +02:00
Sébastien Helleu bcb8647aa4 scripts: fix issue with long interval in function hook_timer
Affected plugins: python, ruby, lua, tcl, guile, javascript, php.
2022-08-01 22:18:38 +02:00
Sébastien Helleu b1404b0277 scripts: fix issue with year ≥ 2038 in functions print_date_tags and print_y_date_tags
Affected plugins: python, lua, tcl, guile, javascript.
2022-08-01 21:03:44 +02:00
Sébastien Helleu 1514570ff0 scripts: fix issue with year ≥ 2038 in function infolist_new_var_time
Affected plugins: python, lua, tcl, guile, javascript.
2022-08-01 20:32:09 +02:00
Sébastien Helleu 2475ba43a3 javascript: fix return of long value in functions infolist_time, hdata_long and hdata_time 2022-08-01 20:13:01 +02:00
Sébastien Helleu d2c2f9e6cd tests: fix run of Guile test script 2022-08-01 20:02:35 +02:00
Sébastien Helleu d8abdc57ee core: fix styles in ChangeLog 2022-07-31 09:59:18 +02:00
Sébastien Helleu e77ea9dc26 buflist: add variable "${hotlist_priority_number}" (integer version of "${hotlist_priority}") 2022-07-31 09:58:29 +02:00
Emir SARI 324f0aaa2d Update Turkish translations 2022-07-30 07:53:40 +02:00
Nils Görs ae273b2714 core: update German translations 2022-07-28 13:45:27 +02:00
Sébastien Helleu 06a05fd674 doc: update German auto-generated files 2022-07-27 22:07:50 +02:00
Sébastien Helleu a50143fdf8 irc: display an error message when using command /dcc without xfer plugin loaded 2022-07-27 22:07:24 +02:00
Sébastien Helleu 56b82fb115 xfer: fix crash when closing DCC chat buffer 2022-07-27 22:06:48 +02:00
Nils Görs 9b4f52ac13 core: update German translations 2022-07-26 13:45:37 +02:00
Sébastien Helleu 906ac1d1e1 relay: exit function relay_irc_recv if params can not be allocated 2022-07-24 23:02:09 +02:00
Sébastien Helleu 2a145d7cc1 core: remove dead assignments 2022-07-24 23:01:38 +02:00
Sébastien Helleu 68ad24f2df core: add option weechat.look.highlight_disable_regex and buffer property "highlight_disable_regex" (closes #1798) 2022-07-24 22:43:48 +02:00
Sébastien Helleu 1796634d83 core: use dynamic string in function gui_bar_item_get_value 2022-07-24 21:18:26 +02:00
Sébastien Helleu a37c46c21e doc: use non-breaking spaces before links to notes 2022-07-22 17:24:44 +02:00
Sébastien Helleu d43b9e99c1 doc/scripting: add missing fields "paramN" and "num_params" in output of "irc_message_parse"
These new fields were added in version 3.4 with major improvements of the IRC
message parser.
2022-07-22 17:06:49 +02:00
Sébastien Helleu d5c4342bce irc: fix display of TOPIC message with an empty trailing parameter 2022-07-21 11:16:50 +02:00
Sébastien Helleu 569c93c6fb irc: fix display of QUIT message with an empty trailing parameter (closes #1797)
The regression was introduced with the new way to parse IRC message parameters,
in version 3.4.
2022-07-21 11:10:29 +02:00
Sébastien Helleu 96ed471261 relay: fix parsing of IRC messages received from clients (closes #1796)
The IRC parser improved in version 3.4 is now used to parse command
parameters (variables "num_params" and "paramN" in output of parser function).
2022-07-21 10:20:10 +02:00
Sébastien Helleu 6b59fc8557 irc: use API function string_rebuild_split_string in irc_protocol_string_params 2022-07-20 13:20:07 +02:00
Sébastien Helleu b7441bd7a3 api: add arguments "index_start" and "index_end" in function string_rebuild_split_string 2022-07-20 13:16:35 +02:00
Sébastien Helleu 62e68f965f api: rename function string_build_with_split_string to string_rebuild_split_string 2022-07-20 12:14:40 +02:00
Sébastien Helleu 0440309cee irc: fix duplicated channels in autojoin option when autojoin_dynamic is enabled (closes #1795) 2022-07-16 14:05:48 +02:00
Sébastien Helleu e057c16b36 api: add info "uptime_current"
This info returns time duration between the start of the current WeeChat
process and now (so upgrades with /upgrade are ignored).
2022-07-10 13:02:35 +02:00
Sébastien Helleu c4cade3550 Version 3.7-dev 2022-07-10 09:41:57 +02:00
Sébastien Helleu e5a159c74f Version 3.6 2022-07-10 09:18:05 +02:00
Sébastien Helleu b74aa71442 debian: update changelog 2022-07-09 09:32:17 +02:00
Nils Görs 8fb7987633 doc: update German documentation 2022-07-09 00:35:09 +02:00
Sébastien Helleu bb76a5d266 Version 3.6-rc1 2022-07-06 23:02:12 +02:00
Sébastien Helleu db21a0da90 doc: update Serbian auto-generated files 2022-07-06 22:54:15 +02:00
Ivan Pešić 7508337240 core: Serbian message translation fixes
Several fixes.
2022-07-06 22:53:59 +02:00
Sébastien Helleu 98375b8ffc doc: update Serbian auto-generated files 2022-07-05 21:19:36 +02:00
Sébastien Helleu d6d83474c7 doc: remove extra space in Serbian translation 2022-07-05 21:19:17 +02:00
Ivan Pešić 43bafa59d8 core/doc: Update Serbian translation 2022-07-05 21:15:06 +02:00
Sébastien Helleu e8c255770f doc: fix display of literal blocks
This fixes:

- height of lines in literal blocks (all browsers)
- literal blocks in Japanese docs (Firefox)
2022-07-04 23:42:36 +02:00
Sébastien Helleu 59a4142b00 doc: remove font "Noto Color Emoji"
This allows the same render for north east arrow on all browsers.
2022-07-03 21:51:01 +02:00
Sébastien Helleu dbc59965ac doc: force color-scheme to dark/light according to the theme
This allows to have dark scroll bars in Chrome-based browsers.
2022-07-03 21:46:02 +02:00
Sébastien Helleu 6ffebec1a6 tests: add tests on IRC messages 524/704/705/706 (issue #1772) 2022-07-02 21:11:32 +02:00
Sébastien Helleu 1c7b431bc8 api: run hook_print callback also on empty messages 2022-07-02 21:10:48 +02:00
Sébastien Helleu 749bc26926 irc: remove unneeded translation marker (issue #1772) 2022-07-02 20:41:39 +02:00
Sébastien Helleu 9ac9dc7023 core: update ChangeLog (issue #1772) 2022-07-02 20:34:39 +02:00
Sébastien Helleu bbf55b734c irc: start at parameter #2 in callback of messages 524/704/705/706 (issue #1772) 2022-07-02 20:34:36 +02:00
Sébastien Helleu 2095887be9 irc: fix comments (issue #1772) 2022-07-02 20:34:34 +02:00
Valentin Lorentz fa05f75b74 irc: add ERR_HELPNOTFOUND (issue #1772) 2022-07-02 20:34:31 +02:00
Valentin Lorentz a96d2c28fb irc: strip topic name when formatting RPL_HELPSTART/RPL_HELPTXT/RPL_ENDOFHELP (issue #1772) 2022-07-02 20:34:27 +02:00
Sébastien Helleu 4a115fdedd core: update ChangeLog 2022-06-30 20:37:11 +02:00
Sébastien Helleu 3a0e54d236 php: fix compilation warning about unused arguments 2022-06-30 20:35:59 +02:00
Adam Saponara 24fe646c4e php: Deprecate forget_* functions in PHP 8+
These functions don't work with PHP 8+ and also don't seem to be
necessary anymore when reloading scripts.
2022-06-30 20:33:45 +02:00
Adam Saponara 8cf5848116 php: Add stubs and generate arginfo for PHP API
This was preventing the PHP plugin from working if PHP was compiled
with `--enable-debug`. With this patch, `--enable-debug` builds of
PHP should work.
2022-06-30 20:33:13 +02:00
Adam Saponara 3e1a5b4447 php: Adjust API for PHP 8.2 2022-06-30 20:32:20 +02:00
Sébastien Helleu 1fb82b4062 doc/quickstart: add command /autojoin and server option autojoin_dynamic 2022-06-28 23:00:43 +02:00
Sébastien Helleu d4dc1467c9 doc/scripting: add arrow and open external links in new tab 2022-06-27 00:07:41 +02:00
Sébastien Helleu c64bdeaed3 doc/relay: add arrow and open external links in new tab 2022-06-26 23:57:50 +02:00
Sébastien Helleu 37ed420108 doc/quickstart: add arrow and open external links in new tab 2022-06-26 23:54:07 +02:00
Sébastien Helleu b825ce49c2 doc/api: add arrow and open external links in new tab 2022-06-26 23:47:05 +02:00
Sébastien Helleu 33bf2dec43 doc/faq: add arrow and open external links in new tab 2022-06-26 23:29:46 +02:00
Sébastien Helleu 0fe3661eab doc/dev: add arrow and open external links in new tab 2022-06-26 22:41:56 +02:00
Sébastien Helleu aee4d283c9 doc/user: add arrow and open external links in new tab 2022-06-26 22:23:54 +02:00
Sébastien Helleu d3cdccc274 doc/user: replace TOR by Tor 2022-06-26 16:38:05 +02:00
Sébastien Helleu 42a0a19828 doc/user: add a chapter on supported IRCv3 extensions 2022-06-25 08:53:18 +02:00
Sébastien Helleu 8788fcedc8 irc: update URLs to IRCv3 specifications 2022-06-25 08:53:03 +02:00
Sébastien Helleu 84e6e84347 doc: remove underline and change color for links 2022-06-24 18:59:42 +02:00
Sébastien Helleu 38efd63012 doc: fix generation of python stub 2022-06-24 07:46:35 +02:00
Sébastien Helleu 031819173b doc: change formatting in asciidoctor tables 2022-06-23 20:43:46 +02:00
Sébastien Helleu de3d670ca7 doc: update German auto-generated file 2022-06-21 21:24:43 +02:00
Nils Görs d2394f6432 core: update German translations 2022-06-20 13:46:19 +02:00
Sébastien Helleu 2c4bad8120 core: add trailing slashes in URLs 2022-06-18 16:18:09 +02:00
Sébastien Helleu 8ac67ff540 doc: add trailing slashes in URLs 2022-06-18 16:05:11 +02:00
Sébastien Helleu b8ef7e2f65 doc/user: add missing server option "autojoin_dynamic" 2022-06-18 12:49:03 +02:00
Sébastien Helleu 21ca625f10 irc: update translations 2022-06-18 10:40:04 +02:00
Sébastien Helleu 9644df21ad irc: add example with /allchan in /help autojoin 2022-06-17 21:05:12 +02:00
Sébastien Helleu 17ae43aa03 irc: rename option save to apply in command /autojoin 2022-06-15 22:11:08 +02:00
Sébastien Helleu 487406cfd9 doc/user: fix column size 2022-06-10 12:41:13 +02:00
Nils Görs cd4db84feb doc: update German documentation 2022-06-10 09:16:39 +02:00
Sébastien Helleu 55a796f30b doc/user: add chapter on custom bar items 2022-06-07 21:04:34 +02:00
Sébastien Helleu d81813cd6a doc/faq: mention command /autojoin to edit the "autojoin" server option 2022-06-06 23:53:25 +02:00
Sébastien Helleu 2006c2c940 doc: update German auto-generated files 2022-05-31 08:19:09 +02:00
Sébastien Helleu f3d2f9bbe1 doc/user: fix links to commands 2022-05-30 22:11:40 +02:00
Nils Görs 2c61a24413 core: update German translations 2022-05-30 10:13:43 +02:00
Sébastien Helleu 10501a34fe core: fix style in ChangeLog 2022-05-28 10:24:41 +02:00
Sébastien Helleu 99dcdae5b0 core: update translations 2022-05-27 22:47:46 +02:00
Sébastien Helleu 86f110db98 core: add completion of conditions and content in commands /item add and /item addreplace (issue #808) 2022-05-27 22:16:58 +02:00
Sébastien Helleu a1a9303b14 trigger: fix completion of command /trigger add when there are spaces in the following arguments 2022-05-27 22:16:58 +02:00
Sébastien Helleu 5ef4731c62 core: add examples in /help item (issue #808) 2022-05-27 22:16:55 +02:00
Sébastien Helleu 007958e82c core: add display conditions in custom bar items (issue #808) 2022-05-27 22:16:50 +02:00
Sébastien Helleu 5876a8335f trigger: fix memory leak in command /trigger addinput 2022-05-27 17:53:56 +02:00
Sébastien Helleu cefed25912 core: add command /item (closes #808)
This allows to create custom bar items with evaluated content (like the script
text_item.py does).
2022-05-27 17:53:50 +02:00
Nils Görs 79438c72e1 core: update German translations 2022-05-12 08:17:19 +02:00
Sébastien Helleu d99fe0bc76 core: allow to remove multiple filters at once with command /filter del 2022-05-11 21:50:53 +02:00
Sébastien Helleu 540ff62c60 doc/relay: add missing version 3.5 in command "init" 2022-05-09 18:11:43 +02:00
Sébastien Helleu 3e8580b5e5 doc/faq: rename option autojoin_record to autojoin_dynamic 2022-04-29 08:21:10 +02:00
Sébastien Helleu 0f1f9bc87f doc: update German auto-generated file 2022-04-25 13:31:35 +02:00
Nils Görs f0572474d4 core: update German translations 2022-04-25 08:28:35 +02:00
Sébastien Helleu d4d8117461 irc: remove channel from autojoin option when manually closing a buffer 2022-04-24 22:09:19 +02:00
Sébastien Helleu 4d8df89bb5 irc: fix add of channel to autojoin option when joining a channel with a buffer still opened 2022-04-24 22:09:19 +02:00
Sébastien Helleu b7f3127bf8 api: allow to catch multiple signals in functions hook_signal and hook_hsignal (closes #1780) 2022-04-24 22:09:15 +02:00
Sébastien Helleu f69ef840e0 doc/api: remove word "and" in text with updated versions 2022-04-24 17:36:39 +02:00
Sébastien Helleu e46d2567ea core: fix style in ChangeLog 2022-04-24 10:31:28 +02:00
Sébastien Helleu 8be5759ef7 core: update ChangeLog 2022-04-24 10:30:47 +02:00
Sébastien Helleu 78317f8b55 core: move detailed list of hooks from command "/plugin listfull" to "/debug hooks <plugin>" 2022-04-24 10:28:09 +02:00
Sébastien Helleu d16640130e core: add functions to get short description of hooks 2022-04-24 10:06:54 +02:00
Sébastien Helleu 95cf2aa956 doc: update auto-generated files with commands 2022-04-23 22:10:12 +02:00
Sébastien Helleu dc367a83f6 core: add missing options "dirs" and "hooks" in description of /debug command arguments 2022-04-23 19:13:16 +02:00
Sébastien Helleu 2a2428902b trigger: check that buffer notify is not "none" to run command of default trigger beep 2022-04-23 14:15:41 +02:00
Sébastien Helleu 51ed9ec93e core: add case conversion in evaluation of expressions (closes #1778) 2022-04-18 13:46:16 +02:00
Nils Görs 46033a7ee9 doc: update German documentation 2022-04-18 10:58:35 +02:00
Sébastien Helleu a2e43a732e core: update ChangeLog (closes #1700) 2022-04-18 09:55:55 +02:00
Sébastien Helleu 674f52bf58 core: add bar item "spacer" 2022-04-18 09:52:01 +02:00
Sébastien Helleu 0af960dbde core: use dynamic string functions to build bar window content 2022-04-17 09:20:46 +02:00
Sébastien Helleu 07b54a9932 buflist: fix memory leak when reading config and changing option buflist.look.sort 2022-04-16 20:24:24 +02:00
Sébastien Helleu 9fceaa465d doc/user: add install of binary package with brew on macOS 2022-04-09 19:36:11 +02:00
Ivan Pešić 94555e043c doc: Update Serbian translation 2022-04-09 10:45:27 +02:00
Sébastien Helleu f02b172716 core: add CVE id in ChangeLog 2022-04-03 21:13:05 +02:00
Sébastien Helleu 9b1184e180 ci: install package ruby-pygments.rb 2022-03-30 21:54:36 +02:00
Sébastien Helleu f39553152f relay: fix save of channels when JOIN/PART are received from an IRC relay client (closes #1771) 2022-03-30 21:41:14 +02:00
Sébastien Helleu 89f49040f3 debian: add dependency on ruby-pygments.rb 2022-03-29 21:02:42 +02:00
Sébastien Helleu 95d0b89d1d doc/user: add chapter on containers 2022-03-28 23:18:44 +02:00
Sébastien Helleu 01f9bcbaba core: fix bad window size on startup with some terminals like kitty (closes #1769) 2022-03-27 17:19:39 +02:00
Sébastien Helleu 6fb6fad7e9 Version 3.6-dev 2022-03-27 16:04:59 +02:00
Sébastien Helleu 0e6497612c Version 3.5 2022-03-27 15:13:48 +02:00
Sébastien Helleu a794bf39bb debian: update changelog 2022-03-27 09:49:50 +02:00
Sébastien Helleu 5f543f26cc core: update .mailmap 2022-03-24 21:04:21 +01:00
Sébastien Helleu 0d8ced6c32 doc: use unicode symbol for greater-than or equal to 2022-03-23 21:12:02 +01:00
Sébastien Helleu db28e2133d doc: update Serbian auto-generated files 2022-03-22 21:18:32 +01:00
Ivan Pešić bab175f5b4 core: update Serbian translation 2022-03-22 21:18:03 +01:00
Ivan Pešić d3b42fae83 doc: update Serbian translations 2022-03-22 21:18:03 +01:00
Sébastien Helleu ef41998179 core: use unicode symbol for greater-than or equal to in ChangeLog 2022-03-21 23:02:35 +01:00
Sébastien Helleu 05e65cdd31 Version 3.5-rc1 2022-03-20 18:11:25 +01:00
Sébastien Helleu 872ff1cc6d irc: fix memory leak in command /autojoin addraw when channels are missing 2022-03-19 10:17:32 +01:00
Sébastien Helleu 8123cb3e0b irc: ensure old_autojoin and ptr_autojoin are not NULL before comparing them 2022-03-19 10:15:16 +01:00
Sébastien Helleu 15e11ecc0c core: fix line too long 2022-03-17 21:17:34 +01:00
Trygve Aaberge 827db6dc31 core: Fix regex for constants in the Python stub generator
In Python raw strings, newlines can't be escaped with a backslash. If
you do that, both the backslash and the newline become part of the
string. This meant that the regex for constants both started and ended
with a newline which caused every other constant to be skipped.
2022-03-17 21:16:45 +01:00
Sébastien Helleu 44e0414970 core: add version 3.4.1 2022-03-14 08:39:24 +01:00
Sébastien Helleu 9a19cc5d59 core: update latest stable version to 3.4.1 2022-03-14 08:35:24 +01:00
Nils Görs 3289bd2882 doc: update German documentation 2022-03-13 22:41:26 +01:00
Sébastien Helleu 6e75f93e1f doc/user: translate FreeBSD installation instructions (issue #1760) 2022-03-13 20:40:32 +01:00
Mateusz Piotrowski 13482b38d0 Add FreeBSD installation instructions 2022-03-13 20:38:57 +01:00
Sébastien Helleu 6004139098 core: set again TLS verification functions after GnuTLS options are changed (closes #1763)
When changing the options weechat.network.gnutls_ca_system or
weechat.network.gnutls_ca_user, the GnuTLS credentials are freed then allocated
again, but the verification function used to check the certificate on
connection is not set again.

As a consequence, any TLS connection is made without checking the certificate.

This regression was introduced in version 3.2, when the options were changed to
automatically load system certificates without having to give the path, and to
let user give an extra custom path with certificates.
2022-03-13 18:04:07 +01:00
Sébastien Helleu 116f533e0d doc: update German auto-generated files 2022-03-13 14:07:56 +01:00
Sébastien Helleu c943d3507f python: add function buffer_new_props in Python stub file 2022-03-13 14:07:22 +01:00
Sébastien Helleu 869279e9b6 tests: add tests on function gui_buffer_match_list 2022-03-13 14:03:23 +01:00
Sébastien Helleu 947ca33c14 tests: add tests on function gui_buffer_valid 2022-03-13 14:03:14 +01:00
Sébastien Helleu 44ec7e8cfa tests: add tests on functions gui_buffer_search_type and gui_buffer_search_notify 2022-03-13 13:49:18 +01:00
Sébastien Helleu 4629b17173 tests: add tests on functions gui_buffer_new and gui_buffer_new_props 2022-03-13 13:29:50 +01:00
Sébastien Helleu e5e3a9d2da api: add function buffer_new_props (closes #1759) 2022-03-13 10:35:29 +01:00
Sébastien Helleu fbbed9fbf7 core: add function gui_buffer_new_props (issue #1759)
This function allows to create a buffer and set properties via a hashtable,
before the signal "buffer_opened" is sent.
2022-03-13 10:35:29 +01:00
Sébastien Helleu 310b4dd2a0 tests: close xfer buffer after receiving some files 2022-03-13 10:34:56 +01:00
Sébastien Helleu 55f1655064 dev/scripting: fix typo 2022-03-12 20:50:25 +01:00
Sébastien Helleu 55aa40e087 doc/dev: add file test-irc-tag.cpp 2022-03-12 16:47:14 +01:00
Sébastien Helleu 68f395d433 doc/dev: add file irc-typing.c 2022-03-12 16:41:52 +01:00
Sébastien Helleu 22a36665e3 doc/dev: add file test-logger-backlog.cpp 2022-03-12 16:38:58 +01:00
Sébastien Helleu 65e08ffe07 core: update ChangeLog (issue #1761) 2022-03-12 16:11:08 +01:00
Sébastien Helleu 8781187771 doc/scripting: translate note about Tcl constant $::weechat::WEECHAT_NULL 2022-03-12 16:08:19 +01:00
Trygve Aaberge 197a7a01e4 scripts: allow null values in config_new_option
The plugin API function config_new_option accepts null as the
default_value and/or value however the scripting APIs (except for lua)
didn't allow sending null as a parameter value, so it was impossible to
use it this way. This allows sending a null value for these parameters.

Lua already supported sending in nil for these parameters and it works
as expected, so nothing is changed for this plugin.

For Guile you can now send in #nil, for JavaScript null or undefined,
for Perl undef, for PHP NULL, for Python None, for Ruby nil and for Tcl
$::weechat::WEECHAT_NULL.

In all of these languages except Tcl this is the special value
indicating a missing value. However Tcl only has one type, string, so it
doesn't have a null value. Therefore I created a constant with the value
`\uFFFF\uFFFF\uFFFFWEECHAT_NULL\uFFFF\uFFFF\uFFFF` which is used
instead. This is very unlikely to appear unintentionally. Using the
unicode code point \uFFFF was suggested on
https://wiki.tcl-lang.org/page/null.

I tested this with these scripts:
https://gist.github.com/trygveaa/f91977dde5d2876d502bf55fbf9b50cc
2022-03-12 16:00:38 +01:00
Sébastien Helleu 47e71a1bbd tests: close buffers of channels created for tests on irc_join_save_channels_to_autojoin 2022-03-12 15:20:45 +01:00
Emir SARI 3a4a9459e7 Update Turkish translations 2022-03-12 10:36:12 +01:00
Nils Görs cd6b83470e core: update German translations 2022-03-11 20:39:51 +01:00
Sébastien Helleu 3f9c46468c irc: add option "sort" in command /autojoin 2022-03-11 19:31:56 +01:00
Sébastien Helleu 9a286c65c6 tests: add missing include of string.h 2022-03-10 21:37:13 +01:00
Sébastien Helleu aadd0772fe irc: update translations 2022-03-10 21:26:26 +01:00
Sébastien Helleu bb03e18425 irc: display only one message in /autojoin command output 2022-03-10 21:12:46 +01:00
Sébastien Helleu 5d809df6ed tests: move include of tests/tests.h outside of extern "C" 2022-03-10 21:12:46 +01:00
Sébastien Helleu 74ba21a8c4 tests: add tests on verbose argument of irc join functions 2022-03-10 21:12:46 +01:00
Sébastien Helleu 02bdf854bc irc: fix add of same channel with and without key in the array list 2022-03-10 21:12:46 +01:00
Sébastien Helleu 8c66070136 irc: rename server option "autojoin_record" to "autojoin_dynamic" 2022-03-10 21:12:46 +01:00
Sébastien Helleu 9cfdb4a324 irc: add command /autojoin 2022-03-10 21:12:46 +01:00
Sébastien Helleu c1e65e8edd irc: add server option "autojoin_record" 2022-03-10 21:12:46 +01:00
Sébastien Helleu f81a0dc4d9 doc: fix syntax highlighting in Serbian docs 2022-03-07 21:46:33 +01:00
Sébastien Helleu d06f1e8486 guile: remove disabling of guile gmp allocator with Guile ≥ 3.0.8
This fixes the compilation warning:

weechat-guile.c: In function ‘weechat_plugin_init’:
weechat-guile.c:1270:5: warning: ‘scm_install_gmp_memory_functions’ is deprecated [-Wdeprecated-declarations]
2022-03-06 16:42:54 +01:00
Sébastien Helleu ffb6cc3208 tests: add tests on function irc_server_valid 2022-03-05 20:53:01 +01:00
Sébastien Helleu dc779b5179 tests: add tests on functions irc_server_search and irc_server_casesearch 2022-03-04 21:44:46 +01:00
Sébastien Helleu 7228262591 irc: fix display of message 901 (you are now logged out) (closes #1758) 2022-02-28 22:12:22 +01:00
Ivan Pešić e4f93a7f30 doc: Update Serbian documentation 2022-02-22 19:03:51 +01:00
Sébastien Helleu fd27faf899 tests: add tests on function logger_backlog_display_line 2022-02-21 20:17:01 +01:00
Sébastien Helleu 7486ea6dc1 logger: split function logger_backlog into two functions 2022-02-21 20:16:43 +01:00
Sébastien Helleu 9e9e252ff3 doc/relay: fix columns sizes in tables 2022-02-21 18:27:22 +01:00
Sébastien Helleu db368b5824 doc/scripting: fix column size in tables 2022-02-21 18:26:39 +01:00
Sébastien Helleu 214e3cb1c2 doc/user: fix style in tables 2022-02-21 18:26:11 +01:00
Nils Görs b4a14ef1dd doc: update German documentation 2022-02-21 08:58:00 +01:00
Sébastien Helleu 40ff9beb10 doc/dev: add table with list of components for git commit message 2022-02-20 17:31:25 +01:00
Trygve Aaberge d359e8135e doc/api: Add missing parameter to python prototype for config_new_section 2022-02-20 16:49:04 +01:00
Sébastien Helleu 8700e0bb36 scripts: auto-load scripts with supported extensions only (closes #1698) 2022-02-20 16:29:31 +01:00
Sébastien Helleu 601bd7e0b8 doc/user: update dependencies using versions from Debian Bullseye 2022-02-20 16:12:21 +01:00
Sébastien Helleu d3a9ce29fc doc/user: add missing dependency on ruby-pygments.rb to build doc 2022-02-20 09:09:54 +01:00
Sébastien Helleu f39c6a58d0 irc: replace calls to strndup by weechat_strndup 2022-02-19 16:34:36 +01:00
Sébastien Helleu 4068dc8da5 core: replace calls to strndup by string_strndup 2022-02-19 16:34:19 +01:00
Sébastien Helleu 7051c0fc2b tests: add tests on function string_strndup 2022-02-19 16:33:49 +01:00
Sébastien Helleu 7f8e5b892d core: call strdup in string_strndup if bytes equals strlen of string 2022-02-19 16:32:59 +01:00
Sébastien Helleu e0db08c782 debian: change dependency libargon2-0-dev to libargon2-dev (debian bug #1005703) 2022-02-19 10:18:38 +01:00
Sébastien Helleu 6fbfb2f476 core: update sentence about XDG directories in release notes 2022-02-15 07:12:38 +01:00
Sébastien Helleu a2bb57bf82 doc/api: add missing type for argument "count" in Python prototype of function ngettext 2022-02-14 07:25:22 +01:00
Sébastien Helleu ba7ff87d19 irc: fix parsing of message 223 (m_filter) sent by InspIRCd server (closes #1751) 2022-02-10 20:50:16 +01:00
Ivan Pešić d7c8b16c4f doc: Update Serbian documentation 2022-02-08 13:22:24 +01:00
Sébastien Helleu d0c857934b ruby: add detection of Ruby 3.1 2022-02-08 12:41:32 +01:00
Sébastien Helleu e8c59e1f5b core: fix style in ChangeLog 2022-02-05 10:04:25 +01:00
Sébastien Helleu ec86c33789 doc/user: add supported C++ compilers in dependencies 2022-02-01 20:33:17 +01:00
Sébastien Helleu 608f56020d core: search in message tags when tags are displayed with /debug tags 2022-01-30 13:33:21 +01:00
Sébastien Helleu 9259442dbf core: add support of date and tags in messages displayed in buffers with free content, add function printf_y_date_tags (closes #1746) 2022-01-30 11:41:06 +01:00
Sébastien Helleu bf3241208b doc/api: fix type of parameter "date" in script prototype of function prnt_date_tags 2022-01-30 11:01:17 +01:00
Sébastien Helleu 28d6b71d9e tests: add tests on gui_chat_printf_date_tags with past date and tags 2022-01-30 10:01:32 +01:00
Sébastien Helleu 083662cb34 tests: add tests on GUI chat functions
Functions tested:

- gui_chat_utf_char_valid
- gui_chat_char_size_screen
- gui_chat_strlen
- gui_chat_strlen_screen
- gui_chat_string_add_offset
- gui_chat_string_add_offset_screen
- gui_chat_string_real_pos
- gui_chat_string_pos
- gui_chat_get_word_info
- gui_chat_printf_date_tags_internal
- gui_chat_printf_date_tags
- gui_chat_printf_y
2022-01-29 10:24:21 +01:00
Sébastien Helleu bf9cf3875f doc/dev: update format of commit messages for docs 2022-01-29 10:12:32 +01:00
Sébastien Helleu fc2f564950 doc: update auto-generated files with options 2022-01-28 09:36:03 +01:00
Sébastien Helleu efaf88d857 tests: add tests on functions gui_line_build_string_prefix_message and gui_line_build_string_message_tags 2022-01-28 07:45:35 +01:00
Sébastien Helleu 05a9457504 core: move functions from gui-chat.c to gui-line.c
Functions moved and renamed:

- gui_chat_build_string_prefix_message -> gui_line_build_string_prefix_message
- gui_chat_build_string_message_tags -> gui_line_build_string_message_tags
2022-01-28 07:26:11 +01:00
Sébastien Helleu 3110740777 core: use dynamic string in function gui_chat_build_string_message_tags 2022-01-28 07:12:01 +01:00
Sébastien Helleu a62f8f6f75 core: use dynamic string in function gui_chat_build_string_prefix_message 2022-01-28 07:03:44 +01:00
Sébastien Helleu 05eb897771 doc/api: merge examples and results in same column (function string_eval_expression) 2022-01-27 21:15:34 +01:00
Sébastien Helleu 113f93e5db doc/api: add column "Min WeeChat" in string_eval_expression tables 2022-01-27 20:01:46 +01:00
Sébastien Helleu f2aef8c13c core: check that utf_char is not NULL in gui chat functions 2022-01-26 20:24:31 +01:00
Sébastien Helleu 3983f01ee7 core: set prefix to NULL when clearing a line on a buffer with free content 2022-01-26 20:23:16 +01:00
Sébastien Helleu 0ebf3dbede core: fix memory leak when removing a line on a buffer with free content 2022-01-26 20:22:56 +01:00
Sébastien Helleu 13fb3649dd core: update ChangeLog 2022-01-23 15:42:16 +01:00
Trygve Aaberge 6a88bbb4cc Remove old and unused config option weechat.plugin.debug
As far as I can see, this option is not used anywhere and should have
been removed in commit 6e69f7f3c.
2022-01-23 15:41:10 +01:00
Emir SARI b018f8d5c8 core: update Turkish translations 2022-01-23 10:18:59 +01:00
Sébastien Helleu 574f1837f9 python: fix crash in hook callbacks after script loading failure (closes #1740) 2022-01-22 21:34:04 +01:00
Sébastien Helleu 5172f20217 doc: update Serbian auto-generated file 2022-01-21 22:33:35 +01:00
Ivan Pešić ab7c4c0147 doc: Update Serbian translation 2022-01-21 14:49:50 +01:00
Nils Görs 28fc2e7cbf doc: update German documentation 2022-01-18 08:51:55 +01:00
Sébastien Helleu 2d6ab2ec0a core: fix install of PHP 8.0 in CI 2022-01-17 21:27:04 +01:00
Sébastien Helleu c44b79dce7 core: update copyright dates 2022-01-17 18:41:06 +01:00
Sébastien Helleu ab12d384ea doc: add example of hook_process with a script function (scripting guide) 2022-01-16 10:16:27 +01:00
Sébastien Helleu c775242a4c doc: remove useless comparison with empty string in Python examples (plugin API reference) 2022-01-16 10:15:55 +01:00
Sébastien Helleu 619f09f2d6 xfer: fix auto-accept of server/nick when the server name contains UTF-8 chars (issue #1739) 2022-01-15 10:04:43 +01:00
Sébastien Helleu e6f65122a9 spell: fix comparison of URL prefix with UTF-8 chars (issue #1739)
There is no problem in practice because the possible URL prefixes are hardcoded
in the spell plugin and don't contain any UTF-8 char on more than one byte.
2022-01-15 10:04:12 +01:00
Sébastien Helleu 50167ca96f relay: fix comparison of server nonce with UTF-8 chars (issue #1739)
There is no problem in practice because this server nonce is generated by
WeeChat itself and encoded to base64, so it never contains any UTF-8 char on
more than one byte.
2022-01-15 10:03:54 +01:00
Sébastien Helleu b54d06630d irc: fix completion of channel topic with UTF-8 chars (issue #1739) 2022-01-15 09:52:23 +01:00
Sébastien Helleu c13aa86c79 api: fix add of infolist items in hashtable when prefix contains UTF-8 chars in function hashtable_add_from_infolist (issue #1739) 2022-01-15 09:48:50 +01:00
Sébastien Helleu bda7bb64d2 core: fix search of commands with UTF-8 chars in name when option weechat.look.command_incomplete is on (issue #1739) 2022-01-15 09:48:50 +01:00
Sébastien Helleu dee7313fcc trigger: fix search of triggers with UTF-8 chars in name (issue #1739) 2022-01-15 09:36:02 +01:00
Sébastien Helleu 305608ce89 tests: split tests on functions string_tolower and string_toupper 2022-01-14 21:43:06 +01:00
Sébastien Helleu f8915129bf core: rename argument "length" to "bytes" in function string_strndup 2022-01-14 21:41:25 +01:00
Nils Görs 0e57d01076 doc: update German documentation 2022-01-12 12:37:00 +01:00
Sébastien Helleu 286338f627 doc: add missing macro WEECHAT_PLUGIN_AUTHOR (plugin API reference) 2022-01-08 17:05:51 +01:00
Sébastien Helleu 9bbab7ff02 irc: use default callback in case of missing parameters in messages 311/312/327 (whois) and 314 (whowas) 2022-01-06 08:14:11 +01:00
Sébastien Helleu 6670fd2a87 irc: add macro to run another protocol callback 2022-01-06 08:10:44 +01:00
Sébastien Helleu 0d6b18bc54 irc: fix parsing of message 338 (whois, host) sent by Rizon server (closes #1737) 2022-01-05 08:24:04 +01:00
Sébastien Helleu 8c49475f75 irc: fix display of message 344 received as whois geo info (closes #1736) 2022-01-04 19:53:48 +01:00
Sébastien Helleu 08e0d3912a doc: add note about chars replaced in IRC tag key/value (user's guide) 2021-12-30 21:49:51 +01:00
Sébastien Helleu 532d46bb93 trigger: add variables ${tg_tag_irc_xxx} containing IRC message tags (issue #1680) 2021-12-30 21:22:37 +01:00
Sébastien Helleu b66298d369 irc: add IRC message tags in messages displayed (closes #1680) 2021-12-30 21:11:22 +01:00
Sébastien Helleu 5c6fc8c4bd doc: update OS examples in contributing guide 2021-12-30 07:25:23 +01:00
Sébastien Helleu ee96b9b867 doc: change pygments pre-processor color from red to green/cyan 2021-12-28 23:34:38 +01:00
Sébastien Helleu 1c022d3bda doc: move section "Fset" in "Configuration" (user's guide) 2021-12-28 22:22:14 +01:00
Sébastien Helleu dd2b19ec42 core: fix display of hotlist in buflist after changing value of option weechat.look.hotlist_sort (closes #1733)
The "hotlist" pointer in buffers was lost, it is now set again after switching
to the newly sorted hotlist.
2021-12-28 13:52:58 +01:00
Sébastien Helleu df0506dbdf doc: update German auto-generated file 2021-12-28 13:34:15 +01:00
Nils Görs 93eafae2fe core: update German translations 2021-12-27 10:42:54 +01:00
Sébastien Helleu 7fb1dd94cc core: add build of Debian packages in CI 2021-12-25 16:26:43 +01:00
Sébastien Helleu c8a8680d60 relay: improve help on option relay.network.compression 2021-12-25 10:44:00 +01:00
Sébastien Helleu af067f18e2 doc: update auto-generated files with options 2021-12-25 10:31:44 +01:00
Sébastien Helleu 454c0acbcf doc: fix color of preformatted text in docs 2021-12-25 10:30:18 +01:00
Sébastien Helleu 498194f6fc relay: add zstd compression in weechat protocol
Option relay.network.compression_level is renamed to relay.network.compression
and is now a percentage between 0 (no compression) to 100 (best compression,
slowest).

Compression is now disabled by default in weechat protocol and must be enabled
via the `handshake` command (option `compression` has been removed from `init`
command).
2021-12-24 16:45:57 +01:00
Sébastien Helleu d5c391b1ee irc: fix display of IRC numeric messages with no parameters
For example this MOTD message is properly displayed (empty line):

  :server.example.com 372 nick :
2021-12-23 18:43:12 +01:00
Nils Görs 20e219a2c9 doc: update German documentation 2021-12-20 10:23:22 +01:00
Sébastien Helleu abb7d3642a core: use shortcuts for URLs pointing to documentation 2021-12-19 12:31:45 +01:00
Sébastien Helleu 7f2cce2970 core: fix link to doc on IRC plugin in README 2021-12-19 12:31:09 +01:00
Sébastien Helleu 7a0fdd1966 core: remove tests on Travis CI
Travis CI has been replaced by GitHub Actions since May 2020.
2021-12-19 12:22:50 +01:00
Sébastien Helleu fae6bbb40e core: fix styles in ChangeLog and release notes 2021-12-19 10:51:29 +01:00
Sébastien Helleu 5bb56e0f57 doc: mention IRC server buffer in default key binding ctrl-x (user's guide) 2021-12-18 13:41:09 +01:00
Sébastien Helleu 5de21ddfc0 Version 3.5-dev 2021-12-18 09:22:12 +01:00
Sébastien Helleu 778594d68f Version 3.4 2021-12-18 08:57:32 +01:00
Sébastien Helleu 37d4d2ac65 debian: update changelog 2021-12-18 08:41:05 +01:00
Krzysztof Korościk 2376b6aa5e doc: update polish translation 2021-12-17 23:28:35 +01:00
Nils Görs 5a24ffd951 doc: update German documentation 2021-12-17 09:19:32 +01:00
Sébastien Helleu a1cc70b752 core: fix broken links in README (closes #1729) 2021-12-16 20:41:12 +01:00
Sébastien Helleu 1cedb78348 doc: add workaround for download of plugins.xml.gz on macOS (FAQ) 2021-12-15 21:05:06 +01:00
Ivan Pešić 0123abb83e doc: Update Serbian translation 2021-12-13 22:16:57 +01:00
Sébastien Helleu 463517bd1e core: fix tests on PHP plugin in CI 2021-12-13 21:39:25 +01:00
Sébastien Helleu 46f3bee2ff core: add build of zst archive in make dist 2021-12-13 21:10:06 +01:00
Krzysztof Korościk d80b27af64 doc: updated polish cmdline options 2021-12-12 20:47:42 +01:00
Krzysztof Korościk e2d44181d7 doc: updated polish user guide 2021-12-12 20:37:02 +01:00
Krzysztof Korościk ba4f762964 po: updated polish translation 2021-12-12 00:44:04 +01:00
Sébastien Helleu dad3e6099c doc: use unbreakable spaces in example of missing translation tag (developer's guide)
This allows to search this tag in docs with grep and ignore the example in the
developer's guide.
2021-12-11 09:40:07 +01:00
Sébastien Helleu 5208552a98 doc: remove missing translation comments in French docs 2021-12-11 09:35:01 +01:00
Sébastien Helleu 07721d3dc1 Version 3.4-rc1 2021-12-10 18:49:11 +01:00
Nils Görs d236171035 core: update German translations 2021-12-10 11:21:47 +01:00
Sébastien Helleu a4d560e0aa doc: fix color codes attributes in developer's guide 2021-12-08 20:54:40 +01:00
Sébastien Helleu 7bf0a5c734 doc: remove list of remote interfaces, redirect to web site (user's guide) 2021-12-05 22:00:24 +01:00
Sébastien Helleu 10a8732d41 doc: rename section "WeeChat extension" to "Extending WeeChat" (user's guide) 2021-12-05 21:39:28 +01:00
Sébastien Helleu fd017ce474 doc: add section "Script manager" (user's guide) 2021-12-05 21:39:28 +01:00
Sébastien Helleu 1c0d8f5fd3 doc: add section "WeeChat extension" above "Plugins" (user's guide) 2021-12-05 21:39:28 +01:00
Sébastien Helleu 160ffe8e11 doc: move sections "Exec", "Fifo" and "Trigger" at top level after "Relay" (user's guide) 2021-12-05 21:39:28 +01:00
Sébastien Helleu 4c7b898666 doc: move section "Xfer" at top level after "IRC" (user's guide) 2021-12-05 20:59:19 +01:00
Sébastien Helleu 391d0a18a1 doc: move section "Typing" at top level after "IRC" (user's guide) 2021-12-05 20:59:19 +01:00
Sébastien Helleu a5db952842 doc: move section "Spell" in "Configuration" (user's guide) 2021-12-05 20:59:19 +01:00
Sébastien Helleu 7cb5147e74 doc: move section "Relay" at top level after "IRC" (user's guide) 2021-12-05 20:59:19 +01:00
Sébastien Helleu a5ffd8b800 doc: move section "Logger" in "Configuration" (user's guide) 2021-12-05 20:59:19 +01:00
Sébastien Helleu 66384544b5 doc: move section "IRC" at top level after "Configuration" (user's guide) 2021-12-05 20:59:19 +01:00
Sébastien Helleu c88428fb41 doc: move section "Bare display" in "Buffers and windows" (user's guide) 2021-12-05 14:15:52 +01:00
Sébastien Helleu 71991fcc73 doc: add fset buffer example (user's guide) 2021-12-05 14:11:25 +01:00
Sébastien Helleu b82a9c44fd doc: fix typo in French user's guide 2021-12-05 13:56:59 +01:00
Sébastien Helleu 637c7bb3d4 doc: move section "Fset" in "Interface" (user's guide) 2021-12-05 13:15:35 +01:00
Sébastien Helleu 268cb53238 doc: move section "Charset" in "Configuration" (user's guide) 2021-12-05 12:43:54 +01:00
Sébastien Helleu 9e721d0ad5 doc: move section "Buflist" in "Interface" (user's guide) 2021-12-05 12:36:39 +01:00
Sébastien Helleu 287d5146b4 doc: move section "Alias" in "Configuration" (user's guide) 2021-12-05 12:25:41 +01:00
Sébastien Helleu 1cfb5e5d1e doc: change section title for debug build and address sanitizer (user's guide) 2021-12-05 11:55:02 +01:00
Sébastien Helleu 866fef2595 doc: fix cross-reference to mouse actions (user's guide) 2021-12-05 11:47:04 +01:00
Sébastien Helleu 2dabce9ac8 doc: move section "Key bindings" at top level, add section title "Configuration" (user's guide) 2021-12-04 20:12:06 +01:00
Sébastien Helleu f33e9b6737 doc: move section "Running WeeChat" at top level, add section title "Interface" (user's guide) 2021-12-04 15:59:55 +01:00
Sébastien Helleu 50cea48b51 doc: move section "Upgrade" at top level after "Installation" (user's guide) 2021-12-04 15:59:46 +01:00
Sébastien Helleu ae891ab322 doc: reduce font size in table of contents 2021-12-04 15:38:47 +01:00
Sébastien Helleu 0a14441d35 doc: remove section title for extra debug options on command line (user's guide) 2021-12-04 15:31:38 +01:00
Sébastien Helleu f2310dae42 doc: add more categories for key bindings (user's guide) 2021-12-04 15:15:58 +01:00
Sébastien Helleu 67a364550f core: fix typo in weechat --help 2021-12-03 12:03:08 +01:00
Sébastien Helleu 64592951b5 doc: use only a link to user's guide in Installation chapter (README) 2021-12-01 18:54:28 +01:00
Sébastien Helleu 3a38879590 doc: remove tester's guide 2021-12-01 18:48:14 +01:00
Sébastien Helleu d447755b1f core: update ChangeLog 2021-11-28 22:21:55 +01:00
Sébastien Helleu 2564fa2882 doc: disable web fonts in docs generated by asciidoctor 2021-11-27 16:53:12 +01:00
Sébastien Helleu 928ed152ed doc: make reproducible build of docs with asciidoctor 2021-11-27 16:09:11 +01:00
Sébastien Helleu 7014322b2e doc: add dark theme in docs generated by asciidoctor 2021-11-27 16:05:28 +01:00
Sébastien Helleu 9b6606394c doc: fix column size in table with color codes (developer's guide) 2021-11-27 16:05:28 +01:00
Sébastien Helleu 198872c027 doc: escape example of link in developer's guide 2021-11-27 16:05:28 +01:00
Sébastien Helleu c8776b14f6 doc: switch from prettify to pygments for syntax highlighting 2021-11-27 16:05:28 +01:00
Nils Görs 35c26fb001 doc: update German documentation 2021-11-24 12:30:41 +01:00
Thomas Faughnan eca9c89747 doc: fix typo in link for '/layout' in user guide 2021-11-23 09:34:19 +01:00
Sébastien Helleu aed64f5020 ruby: add detection of Ruby 3.0 in autotools (issue #1721) 2021-11-21 16:57:17 +01:00
Sébastien Helleu 266233636d core: add issue #1605 in ChangeLog 2021-11-21 16:48:39 +01:00
Sébastien Helleu be753046b7 core: fix detection of Ruby 3.0 on macOS (issue #1721) 2021-11-21 16:38:22 +01:00
Sébastien Helleu 15f5bc7944 tests: add missing include of stdio.h 2021-11-21 16:37:23 +01:00
Sébastien Helleu 27a480c7d7 core: fix compilation with Ruby 3.0 on macOS (issue #1721, closes #1605) 2021-11-21 16:29:40 +01:00
Sébastien Helleu fe9768f484 ruby: add detection of Ruby 3.0.0, remove old way to detect Ruby (closes #1721) 2021-11-21 11:39:56 +01:00
Sébastien Helleu aace0a1a58 core: fix links to docs in release notes 2021-11-20 20:34:21 +01:00
Sébastien Helleu 792739ee42 core: add build with CMake and Ninja in CI 2021-11-20 19:02:53 +01:00
Sébastien Helleu 8b11fa86cd core: add build on macOS 11 in CI 2021-11-20 17:34:33 +01:00
Sébastien Helleu 28d013b704 build: add targets "changelog" and "rn" to build HTML version of ChangeLog and release notes (CMake build only) 2021-11-20 17:23:59 +01:00
Sébastien Helleu 5fffaf89e4 build: improve error management in build of tarballs 2021-11-20 15:32:06 +01:00
Sébastien Helleu 006964c4dc irc: fix memory leak in case of realloc error 2021-11-20 13:21:51 +01:00
Sébastien Helleu 05d31b476b trigger: hide key and password in command "/msg nickserv setpass nick key password" 2021-11-13 15:41:31 +01:00
Sébastien Helleu 50edb33f1c core: speed up eval by storing length of prefix/suffix in eval structure 2021-11-13 15:18:49 +01:00
Sébastien Helleu c82358c17c core: free strings with XDG directories in case of error 2021-11-13 14:59:14 +01:00
Sébastien Helleu d64050bafb relay: remove dead assignment in websocket decoding 2021-11-13 13:32:02 +01:00
Sébastien Helleu 1556e4ac5a core: fix memory leak in evaluated expression "split:number,seps,flags,xxx" when multiple "strip_items" are given 2021-11-13 13:29:32 +01:00
Sébastien Helleu a3924a27a0 tests: add tests on some IRC SASL functions 2021-11-13 09:06:34 +01:00
Sébastien Helleu cbadaecc4f core: add note about default trigger "cmd_pass_register" in release notes 2021-11-13 08:48:04 +01:00
Sébastien Helleu 7cad1230e6 trigger: add comments with list of all commands in default triggers 2021-11-12 21:20:14 +01:00
Sébastien Helleu 997559e55b trigger: split default triggers on multiple lines 2021-11-12 21:08:39 +01:00
Sébastien Helleu d98940fecb tests: add tests on default triggers 2021-11-12 20:58:30 +01:00
Sébastien Helleu f2ad57ceb9 trigger: add support of option "-server" when hiding passwords in command /msg nickserv register 2021-11-12 20:52:14 +01:00
Sébastien Helleu d4650183ba doc: fix typos in user's guide 2021-11-11 21:33:16 +01:00
Sébastien Helleu a6c40d2190 doc: fix sentences in French user's guide 2021-11-11 21:18:10 +01:00
Sébastien Helleu 563a6db02d core: fix typos in docs 2021-11-11 09:28:24 +01:00
Sébastien Helleu 5ddd72c0e9 tests: add extra tests on functions string_strcmp_ignore_chars and string_convert_escaped_chars 2021-11-09 20:41:23 +01:00
Ivan Pešić 80b86ea647 core: update Serbian translations 2021-11-08 20:48:59 +01:00
Santiago Forero bbcdb90fbb core: update Spanish translations 2021-11-08 20:25:41 +01:00
Sébastien Helleu 253b25db03 core: fix random integer number with large range in evaluation of expressions on GNU/Hurd 2021-11-07 20:16:26 +01:00
Sébastien Helleu 4c9e7ed09e tests: fix allocation of test_ptr_1_hashtable_dyn in hdata tests 2021-11-07 18:13:03 +01:00
Sébastien Helleu 12043622e6 tests: add tests on UTF-8 string functions 2021-11-07 14:39:48 +01:00
Sébastien Helleu f4a1baaed3 irc: extend size of some internal buffers 2021-11-07 08:57:07 +01:00
Sébastien Helleu 9303f5abd9 core: update ChangeLog 2021-11-06 18:57:49 +01:00
Sébastien Helleu 1b8ad40b81 irc: do not display a message parsing error when a channel buffer can not be created 2021-11-06 18:19:12 +01:00
Sébastien Helleu 2f177dd188 irc: fix join of channels with name longer than 127 chars (closes #1717) 2021-11-06 18:17:39 +01:00
Sébastien Helleu edfc415e9e irc: fix memory leak in main IRC message callback 2021-11-06 17:58:48 +01:00
Sébastien Helleu 8bb5e33348 irc: fix memory leak in callback of IRC message 353 2021-11-06 17:55:31 +01:00
Sébastien Helleu b3cf7658f7 doc: replace ${name} by ${server_name} in example of function hdata_search (plugin API reference) 2021-11-06 16:03:40 +01:00
Sébastien Helleu 2081fa54af core: reverse diff arguments in CI 2021-11-06 15:59:28 +01:00
Sébastien Helleu 2da2172593 api: add parameters pointers, extra_vars and options in function hdata_search 2021-11-06 15:59:18 +01:00
Sébastien Helleu 018a4bda53 core: add hdata changes in release notes 2021-11-05 20:21:39 +01:00
Sébastien Helleu 14c6ef3d83 tests: add missing include of string.h 2021-11-05 20:21:17 +01:00
Sébastien Helleu 9c5837d143 core: add unit tests on hdata 2021-11-05 20:04:10 +01:00
Sébastien Helleu 5e08f9876a core: fix access to integer/long/time arrays in hdata, add support of static arrays in hdata 2021-11-04 23:55:02 +01:00
Sébastien Helleu ee66fc3a85 core: fix crash in function hdata_set when pointer value is NULL in hashtable 2021-11-03 23:54:12 +01:00
Sébastien Helleu 13472adfff core: check that time is valid in function hdata_set 2021-11-03 23:23:09 +01:00
Sébastien Helleu 60b374901f core: remove useless test in function hdata_update 2021-11-03 23:02:01 +01:00
Sébastien Helleu d8a3a0137c core: check that hdata and name are not NULL in function hdata_compare 2021-11-02 21:08:24 +01:00
Sébastien Helleu f66e55564e core: check that name is not NULL in function hdata_get_var 2021-11-01 22:16:50 +01:00
Sébastien Helleu 6e83225e6f core: use a "free value" callback in hashtable weechat_hdata 2021-10-29 22:13:53 +02:00
Sébastien Helleu f03622d141 doc: update Polish auto-generated files 2021-10-24 09:23:01 +02:00
Krzysztof Korościk 4f20417cb2 po: updated polish translation 2021-10-24 00:38:46 +02:00
Krzysztof Korościk f15337ea9a doc: updated polish translation 2021-10-23 23:29:34 +02:00
Sébastien Helleu 49221b56b9 doc: update German auto-generated file 2021-10-23 20:58:16 +02:00
Nils Görs 75f71cd311 core: update German translations 2021-10-23 17:58:01 +02:00
Sébastien Helleu 505a9f937a core: fix typo in ChangeLog 2021-10-23 15:13:53 +02:00
Sébastien Helleu 08d3e3b2b7 core: update ChangeLog (closes #1666) 2021-10-23 14:44:20 +02:00
Sébastien Helleu fb4d947a8c core: update translations 2021-10-23 14:44:11 +02:00
Sébastien Helleu 2ca6420e17 irc: do not display first parameter in numeric command when it is "*" 2021-10-17 21:28:31 +02:00
Sébastien Helleu cde0d5f7a5 irc: do not display "*" when received as nick in command 900 2021-10-17 21:28:31 +02:00
Sébastien Helleu ba5b744397 irc: add URL to extended-join extension 2021-10-17 21:28:31 +02:00
Sébastien Helleu 1447c7ad83 irc: fix URL to invite-notify extension 2021-10-17 21:28:31 +02:00
Sébastien Helleu b57d19c893 irc: add more CAP command examples 2021-10-17 21:28:31 +02:00
Sébastien Helleu 9063546acc irc: remove parameters argc/argv/argv_eol from command callbacks 2021-10-17 21:28:31 +02:00
Sébastien Helleu f1cb767001 irc: keep trailing spaces in received message 322 2021-10-17 21:28:31 +02:00
Sébastien Helleu 634eac455d tests: ensure trailing spaces are preserved in some incoming IRC commands 2021-10-17 21:28:31 +02:00
Sébastien Helleu 2f90fc0299 irc: don't keep trailing spaces in received message TAGMSG 2021-10-17 21:28:31 +02:00
Sébastien Helleu d2bd952210 tests: protect IRC message with quotes in command /server fakerecv 2021-10-17 21:28:31 +02:00
Sébastien Helleu 9fbe18eb27 irc: remove quotes around message in command /server fakerecv
This preserves trailing spaces at the end of the message.
2021-10-17 21:28:31 +02:00
Sébastien Helleu 2ca37a9128 irc: remove server in "903" and "904" command callbacks examples 2021-10-17 21:28:31 +02:00
Sébastien Helleu a73e9eb8ca irc: use parsed command parameters in "901" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu a3ddeba9f9 irc: use parsed command parameters in "900" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu baa91a45a8 irc: use parsed command parameters in "730", "731", "732", "733" and "734" command callbacks 2021-10-17 21:28:31 +02:00
Sébastien Helleu 6124bf3c92 irc: use parsed command parameters in "729" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 6a8ec55118 irc: use parsed command parameters in "728" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 4b6038975c irc: use parsed command parameters in "470" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 5e63161b5b irc: use parsed command parameters in "438" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 32c99047f4 irc: use parsed command parameters in "437" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 2ef9509dbe irc: remove server in "432" and "433" command callbacks examples 2021-10-17 21:28:31 +02:00
Sébastien Helleu c7cb025582 irc: use parsed command parameters in "368" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 96288d69e2 irc: use parsed command parameters in "367" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu aad86a1955 irc: use parsed command parameters in "366" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu dcbf534d53 irc: use parsed command parameters in "353" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu c8329da6e0 irc: use parsed command parameters in "352" and "354" command callbacks 2021-10-17 21:28:31 +02:00
Sébastien Helleu 3e1b621f52 tests: add extra tests on notice message received with just a server address 2021-10-17 21:28:31 +02:00
Sébastien Helleu 56cb9e50af irc: fix display of address in notice messages received 2021-10-17 21:28:31 +02:00
Sébastien Helleu 9b17f1fee4 irc: use parsed command parameters in "351" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu cee4bf7e3c irc: use parsed command parameters in "349" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 027ecc6b0e irc: use parsed command parameters in "348" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 22ecfda777 irc: use parsed command parameters in "347" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 2ae974f5c3 irc: use parsed command parameters in "346" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 99d565f6df irc: use parsed command parameters in "345" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 5546b0af0e irc: use parsed command parameters in "344" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 741343e9aa irc: use parsed command parameters in "341" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 0e9710de81 irc: use parsed command parameters in "338" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 32ae101096 irc: use parsed command parameters in "333" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 3a5a2abeea irc: use parsed command parameters in "332" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu de567aa1d3 irc: use parsed command parameters in "331" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu a5e470a16a irc: use parsed command parameters in "330" and "343" command callbacks 2021-10-17 21:28:31 +02:00
Sébastien Helleu b3ce8b5282 irc: use parsed command parameters in "329" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 31b15c1423 irc: use parsed command parameters in "328" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 60c9beab2b irc: rename some variables "str_params" to a more meaningful name 2021-10-17 21:28:31 +02:00
Sébastien Helleu 10a1c9bda4 irc: use parsed command parameters in "327" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 6f8f547242 irc: use parsed command parameters in "324" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 2509486c6a irc: use parsed command parameters in "323" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu df9c32b0c3 irc: use parsed command parameters in "322" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu c577da0375 irc: use parsed command parameters in "321" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 4e1d40034e irc: use parsed command parameters in "317" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu a1a4f337ff irc: use parsed command parameters in "315" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu e412a34668 irc: use parsed command parameters in "314" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 3c7d4b0516 irc: use parsed command parameters in "312" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 572bcc2c59 irc: use parsed command parameters in "311" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 3360cadd55 irc: use parsed command parameters in "whois" and "whowas" command callbacks 2021-10-17 21:28:31 +02:00
Sébastien Helleu f51f3dbe29 irc: use parsed command parameters in "305" and "306" command callbacks 2021-10-17 21:28:31 +02:00
Sébastien Helleu efecdf5d45 irc: use parsed command parameters in "303" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 76b75ad5cd irc: use parsed command parameters in "numeric" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 74ceaa1a68 irc: use parsed command parameters in "301" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 12a4519448 irc: use parsed command parameters in "221" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 033fbf63b0 irc: use parsed command parameters in "008" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 1029780ce2 irc: use parsed command parameters in "005" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 0ea0b24563 irc: use parsed command parameters in "001" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu ec816b4be5 irc: use parsed command parameters in "wallops" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 7c1ea1cb32 irc: use parsed command parameters in "topic" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 27f554659e irc: use parsed command parameters in "973", "974" and "975" command callbacks 2021-10-17 21:28:31 +02:00
Sébastien Helleu 5389ceb237 irc: use parsed command parameters in "tagmsg" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 03e0122155 irc: use parsed command parameters in "setname" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 8d12187f3d irc: require nick in "away" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu bf8c85f422 irc: use parsed command parameters in "quit" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 179822fb91 irc: use parsed command parameters in "privmsg" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 5e712d7145 irc: use parsed command parameters in "pong" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 8ea41d91c9 irc: use parsed command parameters in "ping" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 7a88e007a5 tests: check missing nick in IRC commands invite/join/kick/kill/mode/nick/part 2021-10-17 21:28:31 +02:00
Sébastien Helleu 257fe7362a tests: fix comments 2021-10-17 21:28:31 +02:00
Sébastien Helleu 52cc1165c4 irc: ensure the nick is not empty when the nick is required in a command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 0be96b7c66 irc: fix messages displayed when prefix/nick is missing 2021-10-17 21:28:31 +02:00
Sébastien Helleu 9d4119232f irc: remove check of address/host in command callbacks 2021-10-17 21:28:31 +02:00
Sébastien Helleu adcc04cc5a irc: fix extraction of address from prefix
Do not return the nick when the address is missing.
2021-10-17 21:28:31 +02:00
Sébastien Helleu e5996f626b irc: use parsed command parameters in "part" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu d8c7cf41b5 irc: use parsed command parameters in "notice" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 5123483c33 tests: fix IRC protocol tests 2021-10-17 21:28:31 +02:00
Sébastien Helleu 33a3c485be irc: shorten error in case of missing parameters in command received 2021-10-17 21:28:31 +02:00
Sébastien Helleu 7b4d48c46d irc: fix number of required parameters in generic error command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 4ee82d1c70 irc: use parsed command parameters in "nick" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu a1a4d627e1 irc: use parsed command parameters in "mode" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 5a5c2cbd1a irc: rename macro IRC_PROTOCOL_CHECK_HOST to IRC_PROTOCOL_CHECK_PREFIX 2021-10-17 21:28:31 +02:00
Sébastien Helleu 2bd3681eef irc: use parsed command parameters in "kill" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 604415e19e irc: use parsed command parameters in "kick" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu e653ee04d2 irc: use parsed command parameters in "join" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 3c737ca304 irc: use parsed command parameters in "invite" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 1f83df7a18 irc: use parsed command parameters in "fail", "warn" and "note" command callbacks 2021-10-17 21:28:31 +02:00
Sébastien Helleu eda8ad9de5 irc: use parsed command parameters in "generic_error" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu df6f32a7bb irc: use parsed command parameters in "error" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu a2a733fc36 irc: use parsed command parameters in "chghost" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 56edeba7fc irc: use parsed command parameters in "cap" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 15392e4a81 irc: use parsed command parameters in "away" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu cb856a7f3a irc: use parsed command parameters in "authenticate" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 69c457287d irc: use parsed command parameters in "account" command callback 2021-10-17 21:28:31 +02:00
Sébastien Helleu 5458382bb8 irc: fix typo in a comment 2021-10-17 21:28:31 +02:00
Sébastien Helleu 849105ebd6 irc: replace "message" by "command" in description of functions 2021-10-17 21:28:31 +02:00
Sébastien Helleu cbc4073815 irc: send parsed parameters to IRC command callbacks 2021-10-17 21:28:30 +02:00
Sébastien Helleu c4b4d80936 irc: parse and return command parameters in message parser 2021-10-17 21:28:30 +02:00
Sébastien Helleu f0898eae64 doc: update Serbian auto-generated file 2021-10-17 21:27:41 +02:00
Ivan Pešić 9378a7572b core: Update Serbian translation 2021-10-17 21:26:20 +02:00
Sébastien Helleu 3cd97b5131 tests: add missing include of string.h 2021-10-14 21:08:28 +02:00
Sébastien Helleu d8b8bf5a84 tests: check displayed message/error for all simulated IRC commands received 2021-10-14 21:00:47 +02:00
Sébastien Helleu 238c17bd0e irc: display command in lower case when there is a parsing error 2021-10-14 20:39:23 +02:00
Sébastien Helleu 1206e9e5c3 tests: fix typo in comment 2021-10-14 20:38:16 +02:00
Sébastien Helleu f3b4336bc4 irc: do not display message with "(null)" for 973/974/975 command received if pos_mode is NULL 2021-10-14 20:37:32 +02:00
Sébastien Helleu 55df7805c2 irc: display a single error message when parsing of a command failed 2021-10-13 18:45:36 +02:00
Sébastien Helleu 9102e4f552 irc: display a single error message when a command is not found 2021-10-13 18:45:14 +02:00
Sébastien Helleu 57ad90c3c0 irc: do not display message with "(null)" for numeric command received if pos_args is NULL 2021-10-13 18:42:47 +02:00
Sébastien Helleu ed9104fbea irc: fix parsing of CAP message when there is no prefix (closes #1707) 2021-10-09 11:27:51 +02:00
Sébastien Helleu 68a3aca643 plugins: use a different plugin priority for each scripting language 2021-10-02 20:50:35 +02:00
Sébastien Helleu 6fe354439c doc: update German auto-generated file 2021-10-02 20:41:09 +02:00
Nils Görs 63b93a8147 core: update German translations 2021-10-02 19:49:38 +02:00
Sébastien Helleu ad5fa7c99f core: add command /toggle 2021-10-01 22:55:38 +02:00
Sébastien Helleu 9548a4cf74 core: check that option is not NULL in function config_file_option_value_to_string 2021-09-27 23:23:01 +02:00
Sébastien Helleu 301f0942c6 core: fix search of option when the section is not given 2021-09-27 22:35:14 +02:00
Sébastien Helleu fb57ad147e core: check that option_name is not NULL in config file functions 2021-09-27 22:02:22 +02:00
Nils Görs 3ee2f40fb3 core: update German translations 2021-09-26 20:25:20 +02:00
Sébastien Helleu edd1971ae8 irc: fix parsing of TAGMSG message when there is a colon before the channel
This fixes the display of typing notifications on some IRC servers like
inspircd.
2021-09-21 20:41:18 +02:00
Sébastien Helleu a6826af796 core: add creation of user variables in evaluated expressions with ${define:name,value} 2021-09-20 21:15:28 +02:00
Jan Palus bd21b25bad typing: correct typo in CMake option description 2021-09-19 14:58:07 +02:00
Sébastien Helleu 48a4a043b7 Version 3.4-dev 2021-09-19 12:23:06 +02:00
Sébastien Helleu 3b9217e460 Version 3.3 2021-09-19 10:14:18 +02:00
Sébastien Helleu eaacd805ae php: add missing header files in autotools build 2021-09-19 09:54:01 +02:00
Sébastien Helleu e9d303c4fa debian: update changelog 2021-09-18 10:33:04 +02:00
Sébastien Helleu fb1bf569a9 debian: bump Standards-Version to 4.6.0.1 2021-09-18 10:32:39 +02:00
Sébastien Helleu e00937875d Version 3.3-rc1 2021-09-11 09:20:58 +02:00
a1346054 5dbf24d179 docs: trim excess whitespace 2021-09-11 00:17:36 +02:00
a1346054 9d7cac2396 build: fix shellcheck warnings 2021-09-11 00:17:36 +02:00
a1346054 04977fa9da legal: use license file from gnu.org
Downloaded from:
https://www.gnu.org/licenses/gpl-3.0.txt
2021-09-11 00:17:36 +02:00
Sébastien Helleu 4aa2b86ee2 doc: update German auto-generated file 2021-09-10 23:07:23 +02:00
Sébastien Helleu f3fc1f5f85 core: remove empty line displayed in output of /plugin list <name> 2021-09-10 23:06:05 +02:00
Nils Görs a7d3f9d4e8 core: update German translations 2021-09-10 09:59:14 +02:00
Sébastien Helleu 91d32be93c core: add options "-o", "-ol", "-i" and "-il" in command "/plugin list" 2021-09-09 21:32:58 +02:00
Sébastien Helleu a76eedcd1f core: replace deprecated cmake command "exec_program" by "execute_process"
This fixes a compilation issue on Debian Sid with the latest version of
debianutils (5.4-3), where the "which" command is now deprecated.
2021-09-08 20:46:44 +02:00
Sébastien Helleu 7742b48098 doc: update German auto-generated file 2021-09-07 21:40:01 +02:00
Nils Görs 4d0245711d core: update German translations 2021-09-07 09:42:30 +02:00
Sébastien Helleu 7d1b557627 core: fix indentation in examples of /help eval 2021-09-06 22:39:29 +02:00
Sébastien Helleu 5b3929b321 api: add split of string and shell arguments in evaluation of expressions
Split of string: ${split:number,separators,flags,xxx}
Split of shell arguments: ${split_shell:number,xxx}
2021-09-06 13:32:04 +02:00
Sébastien Helleu 8852e9fd0c core: add CVE id in ChangeLog 2021-09-05 20:54:14 +02:00
Sébastien Helleu d5b68e6b75 core: update ChangeLog (closes #1599) 2021-09-05 09:31:43 +02:00
Ivan Pešić 2446e5814f core: update Serbian translations 2021-09-04 22:01:41 +02:00
Sébastien Helleu 885b470d51 lua: add detection of Lua 5.4 2021-09-04 19:46:14 +02:00
Sébastien Helleu 97b809d164 core: add version 3.2.1 2021-09-04 16:28:04 +02:00
Sébastien Helleu 97bdd51112 relay: fix crash when decoding a malformed websocket frame 2021-09-04 15:55:37 +02:00
Nils Görs 75b9ba03a1 core: update German translations 2021-09-03 15:00:09 +02:00
Sébastien Helleu 5fb7ebdfce irc: fix send of empty JOIN when connecting to a server with only parted channels (closes #1638) 2021-09-03 13:43:07 +02:00
Sébastien Helleu 6fc6166cfe core: update translations 2021-08-31 22:39:17 +02:00
Sébastien Helleu 12be3b8c33 core: add options in command /input and new keys to remove/restore buffers in hotlist
New options in command /input:

- hotlist_remove_buffer
- hotlist_restore_buffer
- hotlist_restore_all

New keys:

- alt+h, alt+c: clear the whole hotlist (former key: alt+h)
- alt+h, alt+m: mark the current buffer as read by removing it from the hotlist
- alt+h, alt+r: restore latest hotlist removed in the current buffer
- alt+h, alt+shift+R: restore latest hotlist removed in all buffers
2021-08-31 22:32:38 +02:00
Sébastien Helleu 5b5626a82b doc: fix typo in French plugin API reference 2021-08-30 13:54:28 +02:00
Sébastien Helleu 968d17b806 core: update ChangeLog (closes #1689) 2021-08-29 10:54:51 +02:00
Sébastien Helleu 2de272ee6c api: add "${re:repl_index}" to get the index of replacement in function string_eval_expression 2021-08-29 10:40:52 +02:00
Sébastien Helleu 009a2889e3 core: ensure python stub is up-to-date in CI 2021-08-16 22:59:32 +02:00
Sébastien Helleu 86e3c672bb doc: write python stub on standard output 2021-08-16 22:59:07 +02:00
Sébastien Helleu 254c1a3e8b doc: update German auto-generated file 2021-08-13 21:08:40 +02:00
Nils Görs fa3cd3dd08 core: update German translations 2021-08-13 09:14:50 +02:00
Sébastien Helleu 89b28e362c irc: add option "-parted" in command /allchan (closes #1685) 2021-08-12 18:15:16 +02:00
Sébastien Helleu cf27302dac core: add terminal and color info in output of /debug color 2021-08-11 18:49:22 +02:00
Sébastien Helleu da8b7a85bb doc: update German auto-generated file 2021-08-10 20:37:50 +02:00
Nils Görs 964d3e54d1 core: update German translations 2021-08-10 14:55:21 +02:00
Sébastien Helleu 960b633517 core: switch to PHP 8.0 in CI 2021-08-08 18:56:16 +02:00
Sébastien Helleu addd80e7b7 doc: update auto-generated files with hdata 2021-08-08 18:44:05 +02:00
Sébastien Helleu 8e676edd1a irc: save CLIENTTAGDENY from message 005 in server, do not send typing messages if "typing" client tag is denied 2021-08-08 18:37:15 +02:00
Sébastien Helleu 415ea95eb4 core: update ChangeLog (issue #1668) 2021-08-08 09:03:22 +02:00
Adam Saponara ede09a843c php: add ifdef for zend_file_handle.filename 2021-08-08 09:00:24 +02:00
Adam Saponara 5442612bc9 php: fix PHP 8+ build 2021-08-08 09:00:24 +02:00
Sébastien Helleu 2b12b4077a php: add detection of PHP 8.0, fix compilation errors 2021-08-08 09:00:24 +02:00
Sébastien Helleu 61c3169068 core: add contributor (issue #1656) 2021-08-07 11:20:08 +02:00
Sébastien Helleu 5b48eef4fe core: update ChangeLog (issue #1656) 2021-08-07 11:19:51 +02:00
Sébastien Helleu 9b75118b83 debian: add Spanish FAQ in Debian packaging 2021-08-07 11:15:28 +02:00
Sébastien Helleu def564c5af doc: add build of Spanish FAQ 2021-08-07 11:15:28 +02:00
Victorhck 57ea636fd6 doc: add Spanish version of the FAQ 2021-08-07 11:15:28 +02:00
Victorhck 84d8120060 doc: fix typo in FAQ 2021-08-07 10:56:56 +02:00
Sébastien Helleu 20866a0457 core: fix decoding of attributes in basic ANSI colors (closes #1678) 2021-08-06 20:33:31 +02:00
Sébastien Helleu 79d50837c9 irc: fix read out of bounds in case of malformed AUTHENTICATE message (issue #1679) 2021-08-03 20:01:15 +02:00
Sébastien Helleu 791b910a77 irc: fix SASL authentication when AUTHENTICATE message is received with a server name (closes #1679) 2021-08-03 19:58:13 +02:00
Sébastien Helleu d89c4f559c api: add random integer number in evaluation of expressions with "random:min,max" 2021-08-03 19:46:41 +02:00
Nils Görs 0be4020b68 core: update German translations 2021-08-03 18:30:47 +02:00
Sébastien Helleu 72a9b87c1c irc: display a different message for setname applied on self and other nicks (closes #1676) 2021-08-01 10:30:06 +02:00
Nils Görs 88d59de940 doc: update German documentation 2021-07-12 09:51:27 +02:00
Sébastien Helleu 6ff46776a4 doc: rename secured data name in IRC server example (user's guide) 2021-07-11 21:56:28 +02:00
Sébastien Helleu 77d96fec23 doc: fix columns width in user's guide 2021-07-10 20:08:36 +02:00
Sébastien Helleu 9404097756 doc: add chapters on IRC servers, channels, private messages (user's guide) 2021-07-10 18:35:57 +02:00
Sébastien Helleu a16616637a irc: remove unneeded message about Diffie-Hellman shared secret exchange during SSL connection to server (closes #857) 2021-07-10 16:02:19 +02:00
Sébastien Helleu 2b1582c816 core: add lint with bandit in CI 2021-07-09 23:56:24 +02:00
Sébastien Helleu efea27bb24 relay: remove dead assignment 2021-07-08 23:02:50 +02:00
Sébastien Helleu 6052c1a5c0 doc: update German auto-generated file 2021-07-04 20:50:41 +02:00
Sébastien Helleu 3199877bc0 core: add bar item "typing" in status bar by default 2021-07-04 20:49:58 +02:00
Sébastien Helleu b0d4b9aaba typing: remove trailing space in translated message 2021-07-04 19:42:30 +02:00
Nils Görs 6a1425d5ba core: update German translations 2021-07-04 19:18:35 +02:00
Sébastien Helleu 64b52da406 typing: add option typing.look.input_min_chars 2021-07-04 14:02:15 +02:00
Sébastien Helleu 5ae4af1549 core: update ChangeLog 2021-07-04 13:37:52 +02:00
Sébastien Helleu f79929b382 core: update translations 2021-07-04 13:36:32 +02:00
Sébastien Helleu a4507539fb typing: add option typing.look.item_max_length 2021-07-04 13:27:33 +02:00
Sébastien Helleu 5b87e0c544 api: add function string_cut 2021-07-04 13:27:33 +02:00
Sébastien Helleu 1746e832ec typing: remove hashtables when typing is turned off 2021-07-04 13:27:33 +02:00
Sébastien Helleu ed24930547 typing: add note for translators 2021-07-04 13:27:33 +02:00
Sébastien Helleu 7c83ee02f2 tests: add tests on typing plugin functions 2021-07-04 13:27:33 +02:00
Sébastien Helleu 8dc75564c2 doc: add typing plugin files in developer's guide 2021-07-04 13:27:33 +02:00
Sébastien Helleu 5b7f55090b build: add typing plugin in Cygwin packaging 2021-07-04 13:27:33 +02:00
Sébastien Helleu de61048cd2 debian: add typing plugin in Debian packaging 2021-07-04 13:27:33 +02:00
Sébastien Helleu 252d1bbc9d doc: add file typing.conf in man page 2021-07-04 13:27:33 +02:00
Sébastien Helleu 0355f3fc1a doc: add chapter on typing extension in user's guide 2021-07-04 13:27:33 +02:00
Sébastien Helleu 09d871deb4 doc: add column for min WeeChat version in function buffer_set (plugin API reference) 2021-07-04 13:27:33 +02:00
Sébastien Helleu 503a3cb755 doc: add column for min WeeChat version in function hook_set (plugin API reference) 2021-07-04 13:27:33 +02:00
Sébastien Helleu c127d1693a doc: add column for min WeeChat version in function hook_modifier_exec (plugin API reference) 2021-07-04 13:27:33 +02:00
Sébastien Helleu 134f4374f8 doc: add column for min WeeChat version in function hook_modifier (plugin API reference) 2021-07-04 13:27:33 +02:00
Sébastien Helleu ab916d3d90 doc: add column for min WeeChat version in function hook_hsignal (plugin API reference) 2021-07-04 13:27:33 +02:00
Sébastien Helleu 3d54365d67 doc: add column for min WeeChat version in function hook_process_hashtable (plugin API reference) 2021-07-04 13:27:33 +02:00
Sébastien Helleu 3c920f9a80 doc: add typing signals in plugin API reference 2021-07-04 13:27:33 +02:00
Sébastien Helleu 954f943e8e irc, typing: display typing status for IRC nicks 2021-07-04 13:27:33 +02:00
Sébastien Helleu bba300e191 typing: translate strings in typing plugin sources 2021-07-04 13:27:33 +02:00
Sébastien Helleu 7954dbc1f4 typing: replace linked list with a hashtable to store typing status on buffers 2021-07-04 13:27:33 +02:00
Sébastien Helleu b108e97085 irc: send typing status as TAGMSG to other users 2021-07-04 13:27:33 +02:00
Sébastien Helleu dccf605e66 typing: add typing plugin 2021-07-04 13:27:32 +02:00
Sébastien Helleu b585ec09f8 core: fix number of bytes read in function dir_file_copy 2021-07-03 16:50:30 +02:00
Sébastien Helleu 5253478279 script: fix move of installed script on another filesystem (closes #1667) 2021-07-03 16:06:02 +02:00
Sébastien Helleu 8a11a18dc5 api: add function file_copy (issue #1667) 2021-07-03 16:04:50 +02:00
Sébastien Helleu 9432b44a2b irc: remove dead assignments in SASL functions 2021-07-02 21:58:50 +02:00
Sébastien Helleu 1ac800906b doc: update Polish auto-generated files 2021-06-29 00:17:18 +02:00
Krzysztof Korościk 5d4adf8010 doc: updated polish translation 2021-06-28 21:43:37 +02:00
Krzysztof Korościk 689a2c1705 po: updated polish translation 2021-06-28 21:12:17 +02:00
Sébastien Helleu 9bd737ae1a doc: update German auto-generated file 2021-06-28 20:35:06 +02:00
Nils Görs f1761b66c6 core: update German translations 2021-06-28 08:58:28 +02:00
Sébastien Helleu 2205bb6b45 core: add capability message-tags in release notes 2021-06-27 10:41:24 +02:00
Sébastien Helleu e84a3676f6 core: add note about buffers that are not opened in /help layout 2021-06-27 10:35:04 +02:00
Sébastien Helleu 253598d83c doc: mention WeeChat version for WEECHAT_RC_OK_EAT in signals "irc_raw_in" and "irc_in" (plugin API reference) (issue #1657) 2021-06-27 09:56:45 +02:00
Sébastien Helleu ff6bc95429 doc: remove tag "translation missing" in French user's guide (issue #1642) 2021-06-27 09:53:47 +02:00
Sébastien Helleu 61a6b0c705 core: add contributor (issue #1657) 2021-06-27 09:49:36 +02:00
Simon Ser ff8beb1918 irc: allow signals "irc_raw_in" and "irc_in" to eat messages (issue #1657)
This is useful to implement IRC protocol extensions which introduce
new commands.
2021-06-27 09:48:16 +02:00
Ivan Pešić 59853d9b30 doc: update Serbian translations 2021-06-27 09:26:50 +02:00
Sébastien Helleu a48a615613 api: remember insertion order in hashtables 2021-06-26 21:37:02 +02:00
Sébastien Helleu 5a59482cc8 doc: update German auto-generated file 2021-06-25 13:35:16 +02:00
Nils Görs 2478a4187a core: update German translations 2021-06-25 13:27:20 +02:00
Sébastien Helleu 0fb88527ce irc: implement IRCv3.2 SASL authentication, add command /auth (closes #413) 2021-06-25 11:15:22 +02:00
Sébastien Helleu 7a0020f067 irc: fix comment on TAGMSG callback function (issue #1654) 2021-06-25 10:41:27 +02:00
Sébastien Helleu f662ca9398 doc: update German auto-generated files 2021-06-25 10:37:32 +02:00
Nils Görs 8f19798834 core: update German translations 2021-06-25 09:30:14 +02:00
Sébastien Helleu 22a7e18842 irc: add support of capability "message-tags" (closes #1654) 2021-06-24 21:04:52 +02:00
Sébastien Helleu 51123b755d core: add missing source files for gettext 2021-06-24 21:02:13 +02:00
Sébastien Helleu b1cf12700d irc: add keys/values with tags in output of irc_message_parse_to_hashtable (issue #1654)
Key is "tag_xxx" (where "xxx" is the name of tag) and value is the unescaped
tag value.
2021-06-24 21:02:03 +02:00
Sébastien Helleu 8ea1ee06e5 irc: add support of TAGMSG messages (issue #1654) 2021-06-24 21:01:22 +02:00
Sébastien Helleu 23c46c3f2b irc: escape/unescape IRC message tags values (issue #1654)
Spec: https://ircv3.net/specs/extensions/message-tags#escaping-values
2021-06-24 20:59:21 +02:00
Sébastien Helleu b3b4ef648b core: fix use of uninitialized hash when call to weecrypto_hmac fails 2021-06-23 20:46:53 +02:00
Sébastien Helleu 60b9e36ae2 core: fix function string_match with joker in the string if multiple words matched in input string
Before fix:

  string_match("script.color.text_description", "*script*color*", 0) => 0

After fix:

  string_match("script.color.text_description", "*script*color*", 0) => 1
2021-06-22 21:54:16 +02:00
Sébastien Helleu 3d3cdf3884 tests: fix modifier name in comment 2021-06-21 19:58:53 +02:00
Sébastien Helleu e04cc87f60 irc: set notify level to "private" for received WALLOPS 2021-06-21 19:57:54 +02:00
Sébastien Helleu f2d1acb899 core: fix chapter name in release notes 2021-06-20 08:53:45 +02:00
Sébastien Helleu 1fb2fcbbd4 doc: update German auto-generated file 2021-06-19 18:46:45 +02:00
Nils Görs 296f795ff3 core: update German translations 2021-06-19 18:43:06 +02:00
Sébastien Helleu ef318cb70c irc: enable all capabilities by default (supported by both server and WeeChat) (closes #320)
Capabilities can be excluded with the format: "*,!account-*,!extended-join".
2021-06-19 18:22:49 +02:00
Sébastien Helleu 947f73bd50 irc: add option irc.look.display_account_message (issue #320) 2021-06-19 18:14:38 +02:00
Sébastien Helleu 5a89825669 irc: add option irc.look.display_extended_join (issue #320) 2021-06-19 18:12:22 +02:00
Sébastien Helleu eb2a42c99e doc: update German auto-generated file 2021-06-19 18:10:15 +02:00
Nils Görs 60d4489b5e core: update German translations 2021-06-18 08:36:21 +02:00
Sébastien Helleu 2225ac4e56 core: add option "certs" in command /debug 2021-06-17 21:51:18 +02:00
Sébastien Helleu fa785e8668 doc: update German auto-generated files 2021-06-17 21:48:39 +02:00
Sébastien Helleu 0ceccb9798 tests: fix tests on signal_search_number 2021-06-16 12:34:30 +02:00
Sébastien Helleu 0b7e4977be core: fix build on macOS (closes #1662) 2021-06-16 12:34:14 +02:00
Sébastien Helleu bfa0b4376c core: add build on macOS in CI 2021-06-16 12:32:06 +02:00
Nils Görs 70c1a002e3 doc: update German documentation 2021-06-16 10:50:21 +02:00
Nils Görs e4b6db5de2 core: update German translations 2021-06-16 10:42:27 +02:00
Sébastien Helleu e8cdda318f irc: drop support of DH-BLOWFISH and DH-AES SASL mechanisms (closes #175) 2021-06-15 21:49:45 +02:00
Sébastien Helleu 51740eb21e doc: keep previous msgids of translated messages in .po files 2021-06-15 20:34:25 +02:00
Sébastien Helleu 936e2fddaf core: update ChangeLog 2021-06-15 18:56:46 +02:00
Sébastien Helleu 70b66c4f6b irc: add command /setname, add support of message and capability "setname" (closes #1653) 2021-06-15 18:56:41 +02:00
Sébastien Helleu 0525922ee4 irc: always set realname in nicks even when extended-join capability is not enabled (issue #1653) 2021-06-15 18:50:22 +02:00
Sébastien Helleu b8baee1c06 irc: add support of FAIL/WARN/NOTE messages (issue #1653)
Spec: https://ircv3.net/specs/extensions/standard-replies
2021-06-15 18:49:49 +02:00
Sébastien Helleu 88edc19149 doc: update user's guide translations (issue #1642) 2021-06-14 21:39:27 +02:00
Giuseppe Bilotta f6a4841dab doc: ref the layout, buffer and window sections and commands
Add some references between the Screen layout and Buffers and windows
sections, linking also to the appropriate commands.

This should make it easier to discover the `/layout` command and its
relevance to the windows and buffer management.

(Small contribution to GitHub issue #1641)
2021-06-14 21:38:45 +02:00
Sébastien Helleu 19e41eb28a core: add contributor (issue #1655) 2021-06-13 16:30:24 +02:00
eevan78 31b22fec09 doc: add Serbian translations 2021-06-13 16:28:33 +02:00
Krzysztof Korościk 1624b0ba97 doc: updated polish translation 2021-06-13 14:59:07 +02:00
Krzysztof Korościk 9fe937a7fd po: updated polish translation 2021-06-13 14:41:02 +02:00
Sébastien Helleu f6d1991833 Version 3.3-dev 2021-06-13 09:51:42 +02:00
Sébastien Helleu 70c09f1f5a Version 3.2 2021-06-13 09:28:25 +02:00
Sébastien Helleu 1adf6927e5 irc: fix translation of SASL errors 2021-06-13 09:16:09 +02:00
Sébastien Helleu de6575dd32 doc: update Polish auto-generated files 2021-06-10 21:28:15 +02:00
Krzysztof Korościk 4b3785ad1e po: updated polish translation 2021-06-10 00:18:03 +02:00
Sébastien Helleu 2a71d79b37 doc: update German auto-generated file 2021-06-07 07:13:54 +02:00
Nils Görs 5775e9cd10 core: update German translations 2021-06-05 23:09:34 +02:00
Sébastien Helleu 7dd3b0016c Version 3.2-rc1 2021-06-04 21:30:54 +02:00
Sébastien Helleu f8872c415b doc: add IRC SASL SCRAM mechanisms in user's guide (issue #1628) 2021-06-01 21:29:55 +02:00
Sébastien Helleu 8c57e8abd3 irc: add comments about parameter sasl_error (issue #1628) 2021-06-01 21:17:13 +02:00
Sébastien Helleu e365e66eeb irc: add support of SASL mechanisms SCRAM-SHA-1, SCRAM-SHA-256 and SCRAM-SHA-512 (closes #1628) 2021-06-01 20:45:11 +02:00
Sébastien Helleu 5cffb7179f api: add function crypto_hmac (issue #1628) 2021-06-01 20:39:04 +02:00
Sébastien Helleu 6ac6cf7293 tests: add test of base64 encode/decode with NUL char in string 2021-06-01 20:39:04 +02:00
Sébastien Helleu 576406888c doc: update German auto-generated files 2021-06-01 20:39:04 +02:00
Nils Görs ae60c3ec66 core: update German translations 2021-05-30 19:06:05 +02:00
Sébastien Helleu 466fed4f5b irc: add ${target} in help of server msg_kick option 2021-05-30 15:22:30 +02:00
Sébastien Helleu b21589944e core, irc, script: fix typos 2021-05-29 14:33:13 +02:00
Sébastien Helleu 4a41625989 irc: add variable "${target}" (target nick) in commands /kick and /kickban 2021-05-29 14:26:30 +02:00
Nils Görs a9b976274e doc: update German documentation 2021-05-28 13:46:02 +02:00
Sébastien Helleu 1181ab454e doc: use secured data in relay examples (user's guide) 2021-05-28 13:37:31 +02:00
Nils Görs c676148a63 core: update German translations 2021-05-28 09:30:29 +02:00
Victorhck f3428d48f3 doc: update Spanish quickstart guide 2021-05-27 20:59:53 +02:00
Sébastien Helleu 557dd8f4a5 core: update translations (issue #1647) 2021-05-27 18:28:52 +02:00
Filip H.F. "FiXato" Slagter d4f3bc596d clarify (max) bar size to be in chars/lines
(max) bar size was described to be in chars, though this only applies to the left/right bars. This change clarifies that top/bottom bars would have their size defined in lines.
2021-05-27 18:14:18 +02:00
Filip H.F. "FiXato" Slagter ddc5d56a65 Typo fix
Zomming -> Zooming
2021-05-26 19:53:11 +02:00
Sébastien Helleu b94907c249 doc: replace freenode-tor by a generic TOR example in user's guide 2021-05-26 10:07:59 +02:00
Sébastien Helleu dfdd5b1c50 core: add signals "cursor_start" and "cursor_end" 2021-05-26 08:53:31 +02:00
Sébastien Helleu 7cc61cdbb3 core: replace freenode by libera in command examples 2021-05-25 18:44:10 +02:00
Sébastien Helleu e5f58b77c1 core, buflist, irc, relay: replace freenode by libera in comments 2021-05-25 13:39:55 +02:00
Sébastien Helleu 18c82fc5c7 tests: replace freenode by libera in tests 2021-05-25 13:38:12 +02:00
Sébastien Helleu f55dcde4ff doc: replace freenode by libera in release notes 2021-05-25 13:37:43 +02:00
Sébastien Helleu a25f0f1928 doc: replace freenode by libera in contributing guide 2021-05-25 13:37:24 +02:00
Sébastien Helleu c20d3778d6 doc: replace freenode by libera in man page 2021-05-25 07:59:21 +02:00
Sébastien Helleu 1a7e49ac3f doc: replace freenode by libera in user's guide 2021-05-25 07:56:07 +02:00
Sébastien Helleu 8bd0df9b70 doc: replace freenode by libera in tester's guide 2021-05-25 07:34:01 +02:00
Sébastien Helleu afaff533c8 doc: replace freenode by libera in scripting guide 2021-05-25 07:27:13 +02:00
Sébastien Helleu 08ab8bef83 doc: replace freenode by libera in replay protocol 2021-05-25 07:22:32 +02:00
Sébastien Helleu 14c5e656f2 doc: replace freenode by libera in plugin API reference 2021-05-25 07:13:44 +02:00
Sébastien Helleu dc46bbf63d doc: replace freenode by libera in FAQ 2021-05-25 07:07:12 +02:00
Sébastien Helleu 0577fd1c99 doc: replace freenode by libera in quickstart guide 2021-05-25 07:02:55 +02:00
Krzysztof Korościk 6915f4e4c0 doc: updated polish translation 2021-05-24 22:52:51 +02:00
Sébastien Helleu f7dd2dbd55 doc: update Polish auto-generated files 2021-05-24 13:00:09 +02:00
Krzysztof Korościk d436ab6b0d po: updated polish translation 2021-05-23 18:25:01 +02:00
Sébastien Helleu 0886b38725 doc: update German auto-generated file 2021-05-23 08:15:33 +02:00
Nils Görs e3f4c4811f core: update German translations 2021-05-22 23:42:16 +02:00
Sébastien Helleu 35b35f6923 core: fix typo 2021-05-22 09:47:30 +02:00
Sébastien Helleu f8419c6aa6 doc: update auto-generated files 2021-05-22 09:17:36 +02:00
Sébastien Helleu 9ac3f887a5 core: add split of commands before evaluation in release notes (issue #1643) 2021-05-22 09:16:32 +02:00
Sébastien Helleu 15b001b011 core: update translations (issue #1643) 2021-05-22 08:58:36 +02:00
Sébastien Helleu d949ebb088 core: split signal command before evaluating it (issue #1643) 2021-05-22 08:52:46 +02:00
Sébastien Helleu b74af1d2da core: split startup command before evaluating it (issue #1643) 2021-05-22 08:51:38 +02:00
Sébastien Helleu e350437c81 irc: split server command before evaluating it (issue #1643) 2021-05-22 08:48:24 +02:00
Sébastien Helleu 4065972000 core: fix tests when NLS is disabled 2021-05-21 13:51:47 +02:00
Giuseppe Bilotta 916f57f31d core: fix build error if ENABLE_NLS is OFF
wee-eval.c calls gettext directly, but gettext is not a function if
ENABLE_NLS is off. Fix by defining a gettext macro (that expands to its
first argument) if NLS support is disabled.
2021-05-21 13:22:05 +02:00
Sébastien Helleu badd231b82 core: add build without NLS in CI 2021-05-21 13:19:16 +02:00
Sébastien Helleu 2f2cf55f74 doc: format script with black 2021-05-20 20:07:36 +02:00
Nils Görs 5d4ee9e471 core: update German translations 2021-05-20 14:19:01 +02:00
Sébastien Helleu d09fe80fd1 core: merge two entries into one about GnuTLS options 2021-05-18 21:34:24 +02:00
Sébastien Helleu 447abad79e core: display old default values for options affected by XDG directories in release notes 2021-05-18 21:30:34 +02:00
Sébastien Helleu b43958ac92 irc: use constant GNUTLS_TLS1_3 only with GnuTLS >= 3.6.3
This constant was introduced in GnuTLS 3.6.3.

This fixes a build error on these old distributions:

- Debian Stretch
- Debian Jessie
- Ubuntu Bionic
- Ubuntu Xenial
2021-05-17 12:59:41 +02:00
Sébastien Helleu a071ee5012 tests: remove dependency on French locale in eval tests 2021-05-16 20:17:07 +02:00
Sébastien Helleu cf7ac76de9 tests: add missing include of locale.h in eval tests 2021-05-16 19:09:18 +02:00
Sébastien Helleu 215f12d859 tests: remove commented includes 2021-05-16 19:08:35 +02:00
Nils Görs 59d1811987 core: update German translations 2021-05-16 16:29:54 +02:00
Sébastien Helleu 89e43eaf40 core: set server name when connecting to server with TLS (SNI extension) only if it's not an IPV4/IPv6 (closes #1635) 2021-05-16 14:52:11 +02:00
Sébastien Helleu e03642e9df tests: add tests on translation in evaluated expressions 2021-05-16 14:09:07 +02:00
Sébastien Helleu 58c66474ce core: add contributor (issue #1609) 2021-05-16 13:50:19 +02:00
Emir Sarı 431b799b01 core: update Turkish translations (issue #1609) 2021-05-16 13:39:44 +02:00
Sébastien Helleu 4c25151f31 core: move build option CA_FILE in build section 2021-05-16 10:11:23 +02:00
Sébastien Helleu dd916d5e52 doc: update auto-generated files 2021-05-16 10:08:04 +02:00
Sébastien Helleu d18680e442 core: update ChangeLog (issue #1622) 2021-05-16 10:01:17 +02:00
Sébastien Helleu 92410e9949 irc: sort config options alphabetically (issue #1622) 2021-05-16 10:01:14 +02:00
Sébastien Helleu e6a3d08704 buflist, irc, xfer: do not translate "cleartext" in buffer local variable "tls_version" (issue #1622)
The text "cleartext" is translated for display only: directly with gettext in
IRC plugin and with "${translate:${tls_version}}" in the buflist evaluated
format.
2021-05-16 10:01:07 +02:00
Sébastien Helleu 5bce484c01 api: add translated string in evaluation of expressions with "translate:xxx" (issue #1622) 2021-05-16 10:01:03 +02:00
Sébastien Helleu 7e10038f4b core: update translations (issue #1622) 2021-05-16 10:00:57 +02:00
Andrew Potter 94c902adfc irc, buflist: add bar item "tls_version" with options for colors, add buflist format "${format_tls_version}" (issue #1622) 2021-05-16 10:00:30 +02:00
Nils Görs 670c5cd745 core: update German translations 2021-05-15 23:45:36 +02:00
Sébastien Helleu a7db77e253 core: remove obsolete translations 2021-05-15 16:53:14 +02:00
Sébastien Helleu 3102eccda2 core: fix French translation of /help fifo 2021-05-15 16:52:43 +02:00
Sébastien Helleu b714d3dc91 core: fix punctuation in German translation 2021-05-15 14:40:01 +02:00
Nils Görs 0d8aeee738 core: update German translations 2021-05-15 13:58:01 +02:00
Sébastien Helleu 9d96d5d450 doc: add missing names for anchors in scripting guide 2021-05-14 19:19:49 +02:00
Sébastien Helleu 168dbaf020 doc: add link to Python stub in scripting guide (issue #1377) 2021-05-14 19:19:45 +02:00
Sébastien Helleu 13cb870b9a core: add generator and Python stub file for WeeChat API (issue #1377) 2021-05-14 19:19:45 +02:00
Sébastien Helleu a5903e8020 doc: add type annotations in Python prototype (scripting guide) (issue #1377) 2021-05-13 20:24:59 +02:00
Sébastien Helleu fafe2c9d2e doc: add type annotations in Python prototypes (plugin API reference) (issue #1377) 2021-05-13 20:24:59 +02:00
Sébastien Helleu 3e122ed900 doc: add types of constants in scripting guide (issue #1377) 2021-05-13 15:47:21 +02:00
Sébastien Helleu 33767b22f3 doc: fix translations in Italian and Japanese plugin API reference 2021-05-13 09:57:50 +02:00
Sébastien Helleu 11b311ce2f core: add GnuTLS CA changes in release notes 2021-05-12 21:00:21 +02:00
Sébastien Helleu bbdeb51bc1 doc: add missing French translations in user's guide 2021-05-12 20:44:07 +02:00
Sébastien Helleu c588ee21bc core: improve options to load GnuTLS system/user CAs (closes #972)
Changes:

* new option: weechat.network.gnutls_ca_system
* option weechat.network.gnutls_ca_file renamed to
  weechat.network.gnutls_ca_user
* reload certificates when options are changed
* remove build option CA_FILE
2021-05-12 20:39:40 +02:00
Sébastien Helleu b7112e4090 core: add slack.py version in release notes 2021-05-11 22:41:13 +02:00
Sébastien Helleu be575e5400 core: update translations (issue #1285) 2021-05-11 21:39:46 +02:00
Sébastien Helleu 7f8f5f94e3 core: update ChangeLog (issue #1285) 2021-05-11 21:07:43 +02:00
Sébastien Helleu 6e528a1d62 core: add XDG directories in release notes (issue #1285) 2021-05-11 21:07:41 +02:00
Sébastien Helleu a9e210121b fifo: add PID in default FIFO pipe filename (issue #1285)
This is to prevent two WeeChat using the same runtime directory to use the same
FIFO pipe.
2021-05-11 21:07:39 +02:00
Sébastien Helleu 6925ea3ccb doc: add missing names for anchors in user's guide (issue #1285) 2021-05-11 21:07:36 +02:00
Sébastien Helleu 70cdf21681 doc: add XDG directories support in docs (issue #1285) 2021-05-11 21:07:30 +02:00
Sébastien Helleu 87d4ea9286 doc: remove tag "translation missing" in French user's guide (issue #1285) 2021-05-11 21:07:28 +02:00
Sébastien Helleu d9f5bce6ee doc: add file wee-dir.c in developer's guide (issue #1285) 2021-05-11 21:07:26 +02:00
Sébastien Helleu f71b4f78fd doc: add link to CMake option in environment variable WEECHAT_HOME (user's guide) (issue #1285) 2021-05-11 21:07:24 +02:00
Sébastien Helleu a3f8647a72 doc: change default value of WEECHAT_HOME CMake option to empty string (user's guide) (issue #1285) 2021-05-11 21:07:21 +02:00
Sébastien Helleu 664fb12db7 doc: remove wrong default value of option weechat.network.gnutls_ca_file (user's guide) (issue #1285) 2021-05-11 21:07:19 +02:00
Sébastien Helleu cb4c3b0226 doc: use XDG config directory in Relay SSL chapter (user's guide) (issue #1285) 2021-05-11 21:07:17 +02:00
Sébastien Helleu 7d75d82f6a doc: use XDG config directory in chapter on IRC server certificate (user's guide) (issue #1285) 2021-05-11 21:07:15 +02:00
Sébastien Helleu 49844a71f0 doc: use XDG config directory in SASL ECDSA-NIST256P-CHALLENGE chapter (user's guide) (issue #1285) 2021-05-11 21:07:11 +02:00
Sébastien Helleu 5210d501d4 doc: replace "%h" by "${weechat_config_dir}" in examples of values for IRC server option "ssl_cert" (user's guide) (issue #1285) 2021-05-11 21:07:09 +02:00
Sébastien Helleu 3833b965e4 doc: replace "%h" by "${weechat_config_dir}" in examples of values for IRC server option "sasl_key" (user's guide) (issue #1285) 2021-05-11 21:07:07 +02:00
Sébastien Helleu 703106a31f core: mention evaluation with string_eval_path_home for CMake/autotools option CA_FILE (issue #1285) 2021-05-11 21:07:04 +02:00
Sébastien Helleu 43ba8d3b73 xfer: remove "%h" from /help xfer.file.upload_path (issue #1285) 2021-05-11 21:07:02 +02:00
Sébastien Helleu 6170f97cd6 xfer: change default value of option xfer.file.download_path to "${weechat_data_dir}/xfer" (issue #1285) 2021-05-11 21:07:00 +02:00
Sébastien Helleu 19bf10647c script: change default value of option script.scripts.path to "${weechat_cache_dir}/script" (issue #1285) 2021-05-11 21:06:58 +02:00
Sébastien Helleu 4459119409 relay: change default value of option relay.network.ssl_cert_key to "${weechat_config_dir}/ssl/relay.pem" (issue #1285) 2021-05-11 21:06:56 +02:00
Sébastien Helleu 047a668275 relay: remove "%h" from help on UNIX socket path option (issue #1285) 2021-05-11 21:06:54 +02:00
Sébastien Helleu 36847bd305 relay: remove "%h" from /help relay (issue #1285) 2021-05-11 21:06:51 +02:00
Sébastien Helleu 005ef8a4a9 logger: change default value of option logger.file.path to "${weechat_data_dir}/logs" (issue #1285) 2021-05-11 21:06:49 +02:00
Sébastien Helleu 7e79145d46 fifo: change default value of option fifo.file.path to "${weechat_runtime_dir}/weechat_fifo" (issue #1285) 2021-05-11 21:06:46 +02:00
Sébastien Helleu d2c5bba356 core: change default value of option weechat.plugin.path to "${weechat_data_dir}/plugins" (issue #1285) 2021-05-11 21:06:42 +02:00
Sébastien Helleu 0f9640a5f3 core: split WeeChat home in 4 directories, use XDG directories by default (issue #1285)
The 4 directories (which can be the same):

- config: configuration files, certificates
- data: log/upgrade files, local plugins, scripts, xfer files
- cache: script repository, scripts downloaded (temporary location)
- runtime: FIFO pipe, relay UNIX sockets
2021-05-11 21:06:34 +02:00
Sébastien Helleu 4c5fcb743b core: move home directory functions from weechat.c to wee-dir.c (issue #1285) 2021-05-11 21:06:32 +02:00
Sébastien Helleu 269576eea2 core: move directory/file functions from wee-util.c to wee-dir.c (issue #1285) 2021-05-11 21:06:29 +02:00
Sébastien Helleu 9eecad496d logger: remove unused variable weechat_dir (issue #1285) 2021-05-11 21:06:27 +02:00
Sébastien Helleu 5361722699 core: set WeeChat home to empty string by default in CMake and autotools (issue #1285) 2021-05-11 21:06:24 +02:00
Sébastien Helleu e07221d7c5 relay: evaluate option relay.network.ssl_cert_key (issue #1285) 2021-05-11 21:06:22 +02:00
Sébastien Helleu 39b629550b irc: evaluate options irc.server_default.ssl_cert and irc.server.xxx.ssl_cert (issue #1285) 2021-05-11 21:06:19 +02:00
Sébastien Helleu d7d594873b irc: evaluate options irc.server_default.sasl_key and irc.server.xxx.sasl_key (issue #1285) 2021-05-11 21:06:17 +02:00
Sébastien Helleu f923524a21 core: evaluate option weechat.plugin.path (issue #1285) 2021-05-11 21:06:13 +02:00
Sébastien Helleu e5d18e1221 core: evaluate option weechat.network.gnutls_ca_file (issue #1285) 2021-05-11 21:05:42 +02:00
Sébastien Helleu 9e7d052517 core: update ChangeLog (issue #1636) 2021-05-08 07:33:17 +02:00
Sébastien Helleu f3f3c54372 core: add detection of function mallinfo2 in autotools (issue #1636) 2021-05-08 07:33:12 +02:00
Andrew Potter b222e75019 core: Use mallinfo2() when available
mallinfo() is deprecated in glibc 2.33
2021-05-08 07:25:44 +02:00
Sébastien Helleu aa7860c942 doc: update German auto-generated file 2021-05-05 13:59:04 +02:00
Sébastien Helleu ed560a785a doc: fix list of supported OS in FAQ 2021-05-05 13:57:11 +02:00
Sébastien Helleu e95fdc3a0a core: display a warning when the file with certificate authorities is not found (option weechat.network.gnutls_ca_file) 2021-05-04 20:37:15 +02:00
Sébastien Helleu 9f0e7fb47e xfer: make file transfer fail when option xfer.file.auto_rename is off and file already exists (closes #1633) 2021-04-26 20:51:17 +02:00
Nils Görs bcd889cf90 doc: update German documentation 2021-04-21 07:53:47 +02:00
Sébastien Helleu 65ea67204c doc: translate changes in chapter on bar conditions (user's guide) 2021-04-18 12:08:11 +02:00
Tobias Rehbein 2c674a54d4 doc: Update weechat.bar.*.condition to use info:term_width
In cf93e953b the `weechat.bar.*.condition` examples have been changed to use
`${info:term_width}` instead of `${window.win_width}`. The user guide still
shows the old example. This commit syncs the user guide with the on-line help.
2021-04-18 12:00:29 +02:00
Nils Görs 2fbedfec1a doc: update German documentation 2021-04-18 09:58:09 +02:00
Sébastien Helleu 1181ac069e doc: add link to Archlinux wiki page about core dump files (user's guide) 2021-04-17 14:21:50 +02:00
Nils Görs 950c2bb898 core: update German translations 2021-04-13 11:44:40 +02:00
Sébastien Helleu 6b62456119 Revert "core: add option "-save" in command /upgrade (closes #1630)"
This reverts commit 1df1903d23.

This is not so easy to implement: it requires saving state of plugins, and
plugins like irc can not save the connected state (except in a real upgrade
case where the sockets are still valid after exec of the new binary).
2021-04-13 00:11:11 +02:00
Sébastien Helleu 1df1903d23 core: add option "-save" in command /upgrade (closes #1630) 2021-04-12 20:48:32 +02:00
Sébastien Helleu ae39b7ce61 tests: fix if/else blocks in trigger tests 2021-04-11 10:42:24 +02:00
Sébastien Helleu 044bcd0751 doc: improve display of WeeChat version in info_hashtable "irc_message_parse" (scripting guide) 2021-04-11 09:47:13 +02:00
Sébastien Helleu 5d30e0faac doc: mark info "python2_bin" as deprecated since version 2.6 (plugin API reference) 2021-04-11 09:31:49 +02:00
Sébastien Helleu e58c827c91 trigger: add tests on main trigger functions 2021-04-11 09:20:49 +02:00
Sébastien Helleu 1f0636bab6 irc: remove unused variable ptr_address and dead code 2021-04-10 14:11:11 +02:00
Sébastien Helleu 7bd23700de irc: remove dead assignment on variable pos_message 2021-04-10 13:26:46 +02:00
Sébastien Helleu 937ecb62c4 trigger: remove useless test 2021-04-10 12:21:16 +02:00
Sébastien Helleu 2e67b13edd trigger: check that option is not NULL in function trigger_search_with_option 2021-04-09 21:36:12 +02:00
Sébastien Helleu 7c5cbefd51 trigger: fix description of function trigger_name_valid 2021-04-08 20:56:37 +02:00
Sébastien Helleu b6b78df3d2 trigger: check that trigger is not NULL in functions trigger_rename and trigger_copy 2021-04-08 20:55:37 +02:00
Nils Görs 4da5647e9f doc: update German documentation 2021-04-07 12:38:35 +02:00
Sébastien Helleu fae9bdf8f8 trigger: add variables "${tg_shell_argc}" and "${tg_shell_argvN}" in command trigger evaluated strings (closes #1624) 2021-04-06 18:37:22 +02:00
Sébastien Helleu 3bf585ba04 core: evaluate left/right part of comparison after split on the comparison operator in ${if:xxx} (closes #1627)
To force evaluation of the expression before doing the comparison (less safe),
the "${eval_cond:xxx}" can be used.

With the old behavior we had:

    >> ${if:a==b}
    == [0]
    >> ${if:${raw:a==b}}
    == [0]
    >> ${if:${eval_cond:${raw:a==b}}}
    == [0]

And with the new behavior, we have:

    >> ${if:a==b}
    == [0]
    >> ${if:${raw:a==b}}
    == [1]
    >> ${if:${eval_cond:${raw:a==b}}}
    == [0]
2021-04-04 14:44:18 +02:00
Sébastien Helleu 1aefb0a546 doc: update German auto-generated file 2021-03-29 22:32:56 +02:00
Nils Görs efd5a8bd14 core: update German translations 2021-03-29 09:22:07 +02:00
Sébastien Helleu 4f606ceb64 buflist: improve help on option buflist.look.sort 2021-03-21 09:34:40 +01:00
Sébastien Helleu 027966e5e9 core: update ChangeLog (issue #1621) 2021-03-21 09:01:08 +01:00
Trygve Aaberge 6b23d855d8 buflist: Fix wrong pointers being used in hdata_compare
This used pointer1 and pointer2 which are pointers to the buffers, but
it should use ptr_hotlist1 and ptr_hotlist1 which are pointers to the
hotlists it is trying to compare.
2021-03-21 08:59:37 +01:00
Sébastien Helleu e8a58a27cd core: update ChangeLog (issue #1591, issue #1592) 2021-03-20 13:08:35 +01:00
Trygve Aaberge 472eab38e5 core: Prevent switching to start of visited buffers when jumping to next
If you run /input jump_next_visited_buffer right after switching to a
buffer, weechat changes to the first buffer in the visited buffers list.
That is, it wraps around and goes to the buffer you visited the longest
ago. This patch fixes that.

The reason it happens is that when you switch to a buffer (normally,
i.e. in another way than using jump_previously_visited_buffer/
jump_next_visited_buffer) gui_buffers_visited_index is set to -1 (in
gui_buffer_visited_add). This makes gui_buffer_visited_get_index_next
return 0 because it returns gui_buffers_visited_index + 1, which makes
gui_input_jump_next_visited_buffer jump to the first buffer in the list
of visited buffers.

Fixes #1591
2021-03-20 13:07:20 +01:00
Sébastien Helleu aa4beb99e8 doc: update German auto-generated file 2021-03-20 09:20:51 +01:00
Nils Görs 741c1b4e87 doc: update German documentation 2021-03-20 07:52:35 +01:00
Nils Görs a715403d60 core: update German translations 2021-03-20 06:36:19 +01:00
Sébastien Helleu 40ab0bb11e core: update ChangeLog 2021-03-19 23:27:00 +01:00
Sébastien Helleu 3b76a8dd82 core: add repository ppa:ondrej/php in CI 2021-03-19 07:12:23 +01:00
Sébastien Helleu bcddb06094 core: do not force build of JavaScript plugin in CI 2021-03-19 09:14:59 +01:00
Sébastien Helleu 611ea27edc tests: disable pylint error useless-object-inheritance 2021-03-19 09:14:59 +01:00
Sébastien Helleu bacd50c7a7 core: replace pylint3 by pylint in CI on Ubuntu 20.04 2021-03-19 09:14:59 +01:00
Sébastien Helleu da91ddef98 core: first remove package php7.4-common in CI on Ubuntu 20.04
See: https://github.com/actions/virtual-environments/issues/2859
2021-03-19 09:14:59 +01:00
Sébastien Helleu 692d313fe3 core: switch from Ubuntu 18.04 to 20.04 in CI 2021-03-19 09:14:59 +01:00
Sébastien Helleu 4d96a3a84d core: add pointer name in description of function eval_replace_vars_cb 2021-03-18 07:35:12 +01:00
Sébastien Helleu 0d5b7ae9d0 doc: update German auto-generated files 2021-03-17 21:58:18 +01:00
Sébastien Helleu 8ee7d46605 api: add support of pointer names in function string_eval_expression (direct and in hdata)
These two formats are now supported, if "pointer_name" is present in the
"pointers" hashtable:

* "${pointer_name}": value of pointer (example: "0x1234abcd")
* ${buffer[pointer_name].full_name}: use of a pointer name instead of pointer
  value or list name
2021-03-17 21:57:16 +01:00
Sébastien Helleu c54cadace5 tests: use macros UINT32_C and UINT64_C for integer constants of type uint32_t and uint64_t
This fixes the following compiler warnings: "integer constant is so large that
it is unsigned".
2021-03-17 21:56:43 +01:00
Nils Görs 84d9de798a core: update German translations 2021-03-17 14:16:16 +01:00
Sébastien Helleu e4ff17e162 doc: add section "plugin" in weechat.conf (user's guide) 2021-03-16 19:03:45 +01:00
Sébastien Helleu 0dc7fbcb0c core: add options to customize commands on system signals, quit by default on SIGHUP when not running headless (closes #1595)
New options to customize behavior on signals received, with the default
behavior:

- weechat.signal.sighup: quit in normal mode, reload config in headless
- weechat.signal.sigquit: quit
- weechat.signal.sigterm: quit
- weechat.signal.sigusr1: no command executed by default
- weechat.signal.sigusr2: no command executed by default

The signals SIGUSR1 and SIGUSR2 are introduced by this commit, so it's now
possible to run commands when they are received.

The SIGHUP signal makes now WeeChat quit, it was the behavior before version
2.9 of WeeChat (see commit de1e61f7cd).
2021-03-16 18:47:31 +01:00
Sébastien Helleu bb41de8c02 api: add info "weechat_daemon" 2021-03-14 14:11:06 +01:00
Sébastien Helleu a02a2fbaae doc: use full path /usr/bin/pass in example for option sec.crypt.passphrase_command 2021-03-14 13:38:50 +01:00
Sébastien Helleu e37f2569f9 core: mention /fset command in header comment of configuration files 2021-03-14 11:36:07 +01:00
Sébastien Helleu ab282db3a6 core: update ChangeLog (closes #1618) 2021-03-14 10:56:51 +01:00
Sébastien Helleu 8c793fe7cc fset: add fset bar on configuration reload (issue #1618) 2021-03-14 10:56:24 +01:00
Sébastien Helleu 35b5adbc4c buflist: always add buflist bar when plugin is loaded, hide bar by default if buflist is disabled (issue #1618) 2021-03-14 10:55:48 +01:00
Sébastien Helleu a4440ba8e5 buflist: add buflist bar on configuration reload (issue #1618) 2021-03-14 10:55:24 +01:00
Nils Görs 3bdae5b464 doc: update German documentation 2021-03-13 23:56:16 +01:00
Sébastien Helleu d2c56084f8 doc: add upgrade chapter in user's guide 2021-03-13 15:17:01 +01:00
Sébastien Helleu 5311c103d5 debian: update debian/ubuntu patches with new Standards-Version 2021-03-08 20:48:06 +01:00
Sébastien Helleu 39bd4e2099 debian: fix watch according to download page changes 2021-03-08 20:38:25 +01:00
Sébastien Helleu 35ca5cde9c debian: bump Standards-Version to 4.5.1 2021-03-08 20:37:43 +01:00
Sébastien Helleu c49255a851 core: add missing include of sys/time.h in C headers 2021-03-07 13:21:24 +01:00
Sébastien Helleu 2b1c2d6d05 Version 3.2-dev 2021-03-07 12:11:55 +01:00
Sébastien Helleu ae2f25109c Version 3.1 2021-03-07 11:54:55 +01:00
Sébastien Helleu 7dd7da1d7b core: reorder release notes for version 3.1 2021-03-07 09:45:06 +01:00
Sébastien Helleu 3983e9fa1e core: fix compilation of tests on FreeBSD 2021-03-07 09:33:06 +01:00
Sébastien Helleu 4307733853 debian: update changelog 2021-03-07 08:57:53 +01:00
Sébastien Helleu 4014c1140a doc: update Polish auto-generated files 2021-03-06 19:02:53 +01:00
Krzysztof Korościk 65a732449e doc: updated polish user guide 2021-03-06 18:49:12 +01:00
Krzysztof Korościk 4fd3c5e1d6 po: updated polish translation 2021-03-06 18:10:42 +01:00
Sébastien Helleu e9c8b8bf0f core: add contributor in AUTHORS.adoc (issue #1615) 2021-03-05 21:00:17 +01:00
Sébastien Helleu ca4d7b37c6 core: fix pt_BR translations 2021-03-05 20:51:43 +01:00
Érico Rolim 23a3096e1d core: update pt_BR translations. 2021-03-05 20:50:50 +01:00
Sébastien Helleu c17aeeba29 core: force Ubuntu 18.04 for CI 2021-03-05 20:45:31 +01:00
Sébastien Helleu c3cc06ff27 core: fix quoted line in cursor mode (closes #1602)
Regression was introduced in version 2.7 by commit
93d2dbf3e1.
2021-02-28 17:13:52 +01:00
Sébastien Helleu 3ca58c2fd9 Version 3.1-rc1 2021-02-28 12:06:49 +01:00
Sébastien Helleu 1862f4b3d2 core: add missing "xxx" in format of evaluated expressions (ChangeLog) 2021-02-28 12:03:47 +01:00
Nils Görs f06d434a0c Merge branch 'master' of https://github.com/weechat/weechat 2021-02-27 13:58:11 +01:00
Nils Görs 00d6183cd8 doc: update German documentation 2021-02-27 13:57:49 +01:00
Sébastien Helleu ceaf480ba7 core: fix paragraph in release notes 2021-02-27 13:49:55 +01:00
Sébastien Helleu 0f71b4ccc8 irc: add bar item "irc_nick_prefix" 2021-02-27 13:44:24 +01:00
Sébastien Helleu a811da3a42 doc: add missing available bar items (user's guide) 2021-02-27 12:56:09 +01:00
Sébastien Helleu 83379469aa irc: fix separator between nick and host in bar item "irc_nick_host"
Use "!" instead of "@" to separate nick from host, like it is done in IRC
protocol.

The nick and host is now displayed as "nick!user@host" instead of
"nick@user@host".
2021-02-27 09:02:09 +01:00
Sébastien Helleu 6a7da6d473 fset: fix description of function fset_bar_item_fset_cb 2021-02-27 08:57:32 +01:00
Sébastien Helleu 7b15742a11 doc: fix example of value for bar item "irc_nick_modes" (user's guide) 2021-02-26 18:45:21 +01:00
Sébastien Helleu 5339e6aa17 doc: update German auto-generated file 2021-02-26 18:41:14 +01:00
Nils Görs 2a31544242 core: update German translations 2021-02-26 14:02:42 +01:00
Sébastien Helleu 3d587ad37d core: add info_hashtable "secured_data" 2021-02-25 19:06:47 +01:00
Sébastien Helleu 5725c8561c doc: remove references to Savannah in developer's guide 2021-02-20 11:12:14 +01:00
Sébastien Helleu 49ac7dd9f5 doc: split dependencies in two tables: required and optional (user's guide) 2021-02-19 20:12:18 +01:00
Sébastien Helleu d10e8342d3 core: convert "totp" to upper case in ChangeLog 2021-02-16 07:47:42 +01:00
Sébastien Helleu 1a86036edb doc: update German auto-generated file 2021-02-11 07:16:11 +01:00
Sébastien Helleu ab47c1abf7 core: move line from "New features" to "Bug fixes" (issue #1612) 2021-02-11 07:12:55 +01:00
Nils Görs 69af1ac0ae core: update German translations 2021-02-10 08:10:06 +01:00
Sébastien Helleu b6a935b1c3 core: move line to appropriate version in ChangeLog 2021-02-10 07:56:43 +01:00
Sébastien Helleu 45c372ebc8 core: move line from "New features" to "Bug fixes" (issue #1613) 2021-02-09 20:42:58 +01:00
Sébastien Helleu 840551dcfa doc: update German auto-generated files 2021-02-09 20:37:35 +01:00
Sébastien Helleu 630fe0581f buflist: add option buflist.look.use_items to speed up display of buflist (closes #1613) 2021-02-09 20:34:56 +01:00
Sébastien Helleu d74f2e3183 core: add fixed behavior of command /window splitv in release notes 2021-02-09 20:19:22 +01:00
Sébastien Helleu 00409cba6a core: fix wrong size of the new window after vertical split (closes #1612) 2021-02-08 18:47:44 +01:00
Nils Görs 8a6a135b45 core: update German translations 2021-02-08 13:41:59 +01:00
Sébastien Helleu 47112a113e core: update help on option sec.crypt.passphrase_command, update translations 2021-02-08 13:12:54 +01:00
Sébastien Helleu d08e9aed1c core: update translations 2021-02-07 11:00:12 +01:00
Sébastien Helleu 1c3c8c92c7 core: update ChangeLog (closes #992, closes #993) 2021-02-07 09:52:15 +01:00
Kevin Pulo df12f8de34 core: add options weechat.look.hotlist_update_on_buffer_switch and weechat.look.read_marker_update_on_buffer_switch
Both default to "on" (no change to previous behavior).

If hotlist_update_on_buffer_switch is "off", then when switching away from a
buffer, the hotlist is not cleared.

If read_marker_update_on_buffer_switch is "off", then when switching away from
a buffer, the read marker is not set to the end of the buffer.

This allows users to choose to have fully manual control over when hotlist
counts and buffer read markers are reset.

Fixes #992.
2021-02-07 09:48:19 +01:00
Sébastien Helleu 84d4be1bee core: update ChangeLog (remove option sec.crypt.passphrase_file) 2021-02-06 16:20:11 +01:00
Sébastien Helleu f1c681c832 core: replace option sec.crypt.passphrase_file by sec.crypt.passphrase_command (closes #141)
The command is used to read the passphrase on startup, for example using your
favorite password manager.

Note: only the passphrase is read from the program, the secured data is still
stored encrypted in sec.conf and handled by WeeChat itself.
2021-02-06 16:07:14 +01:00
Sébastien Helleu fe9ec8fbda doc: update German auto-generated files 2021-02-05 20:08:18 +01:00
Sébastien Helleu a93e598c35 core: add raw string in evaluation of expressions with "raw:xxx" (closes #1611) 2021-02-05 20:07:16 +01:00
Nils Görs 64fe602aae core: update German translations 2021-02-05 10:56:49 +01:00
Sébastien Helleu a34959a619 irc: add info "irc_is_message_ignored" 2021-02-03 18:30:32 +01:00
Sébastien Helleu 42a86f0a36 core: add version 3.0.1 in ChangeLog, release notes and weechat.spec 2021-01-31 10:38:57 +01:00
Nils Görs a250a50ca5 core: update German translations 2021-01-31 10:32:26 +01:00
Nils Görs 8bdc58f32d core: update German translations 2021-01-31 09:32:26 +01:00
Sébastien Helleu 691c9a0a0f irc: add function irc_server_get_chantypes 2021-01-30 10:34:23 +01:00
Sébastien Helleu 0c98b0cfa4 irc: use server option "default_chantypes" as fallback in function irc_nick_is_nick 2021-01-30 09:59:04 +01:00
Sébastien Helleu ba892ee5a0 core: update translations 2021-01-30 09:55:02 +01:00
Sébastien Helleu a11c90ab70 core: add contributor in AUTHORS.adoc (issue #1610) 2021-01-30 09:34:30 +01:00
Sébastien Helleu 201979fa8d doc: update auto-generated files with options 2021-01-30 09:32:59 +01:00
Sébastien Helleu dd589cd141 irc: use server option "default_chantypes" as fallback when automatically adding channel type on join 2021-01-30 09:31:31 +01:00
Sébastien Helleu e305b4e960 core: update ChangeLog 2021-01-30 09:25:55 +01:00
Sébastien Helleu ec2ffedab6 irc: improve help on server option "default_chantypes" 2021-01-30 09:25:06 +01:00
Sébastien Helleu 293402143b irc: fix name of option "default_chantypes" in list of server options 2021-01-30 09:24:34 +01:00
Sébastien Helleu e74dd22707 irc: simplify code in function irc_channel_is_channel 2021-01-30 09:05:49 +01:00
Matti Virkkunen bad6dc8a57 irc: make default chantypes configurable 2021-01-30 01:01:51 +02:00
Nils Görs dc8df133ea doc: update German documentation 2021-01-27 07:48:05 +01:00
Sébastien Helleu d465ec2a39 doc: update Polish auto-generated files 2021-01-27 00:06:34 +01:00
Sébastien Helleu fd672a0fa4 doc: add a second note on default configuration files in user's guide 2021-01-27 00:04:30 +01:00
Sébastien Helleu 7b1b482cc7 core: add command "/buffer listvar" in release notes 2021-01-26 23:39:49 +01:00
Sébastien Helleu 7255fac60b core: add contributor in AUTHORS.adoc (issue #1607) 2021-01-16 13:35:54 +01:00
Sébastien Helleu bb6152d8a3 core: update ChangeLog 2021-01-16 13:20:14 +01:00
Jan Palus b142617cca doc: don't build headless man page if headless is disabled 2021-01-16 13:15:45 +01:00
Krzysztof Korościk 1c3cb4364d po: updated polish translation 2021-01-15 21:35:27 +01:00
Krzysztof Korościk c81eac325d doc: updated polish translation 2021-01-15 21:17:37 +01:00
Sébastien Helleu 25ed384418 doc: add missing non-breaking spaces before punctuation in French docs 2021-01-09 20:22:22 +01:00
Nils Görs 84b02c1296 core: update German translations 2021-01-05 09:15:43 +01:00
Sébastien Helleu efc7a588d6 core: update copyright dates 2021-01-02 21:34:16 +01:00
Sébastien Helleu df4b9170f1 irc: remove obsolete comment on translation 2021-01-02 15:22:02 +01:00
Sébastien Helleu b8acaf8a14 irc: fix ambiguity on translation of word "server"
This fixes the following warning:

/usr/bin/xgettext: warning: msgid 'server' is used without plural and with plural.
                            ./src/plugins/irc/irc-bar-item.c:136: Here is the occurrence without plural.
                            ./src/plugins/irc/irc.c:154: Here is the occurrence with plural.
                            Workaround: If the msgid is a sentence, change the wording of the sentence; otherwise, use contexts for disambiguation.
2021-01-02 15:18:26 +01:00
Sébastien Helleu 470e3ef9cf core: move debug_id assignation in macro EVAL_DEBUG_MSG 2021-01-02 14:43:40 +01:00
Sébastien Helleu 943374f789 doc: add note about call to "regfree" after call to "string_regcomp" (plugin API reference) 2021-01-01 18:10:47 +01:00
Sébastien Helleu d413ccdf4f core: add indentation and colors in /eval debug output 2021-01-01 17:08:59 +01:00
Sébastien Helleu 63ead3da49 doc: update German auto-generated file 2021-01-01 15:47:35 +01:00
Nils Görs 565837f75a core: update German translations 2021-01-01 11:21:57 +01:00
Sébastien Helleu 2ad3da03a2 core: display more verbose debug with two "-d" in command /eval
Now a single -d in command /eval shows less debug messages than previous
versions.

To get the same debug messages than previous versions, two -d must be used.
2020-12-31 20:37:43 +01:00
Sébastien Helleu 33c7b96146 core: fix typo in comment 2020-12-30 23:02:37 +01:00
Nils Görs 7b13bb5cf9 doc: update German documentation 2020-12-28 10:14:42 +01:00
Sébastien Helleu 9bc194c898 doc: update question about config files sharing (FAQ) 2020-12-28 00:17:05 +01:00
Sébastien Helleu 0942b04c52 doc: add info about sensitive data in relay.conf (user's guide) 2020-12-28 00:08:45 +01:00
Sébastien Helleu 2e3cef4c41 doc: update Polish auto-generated files 2020-12-27 21:56:10 +01:00
Krzysztof Korościk 05a9a7904c po: updated polish translation 2020-12-27 19:05:51 +01:00
Sébastien Helleu ee9aa28a8c core: do not remove quotes in arguments of command /eval (closes #1601)
Now, /eval -n -c "a" == "a" returns True instead of False.

When quotes were removed, the condition evaluated was: a" == "a (which is
False).
2020-12-25 00:21:03 +01:00
Sébastien Helleu a8abfcd7b4 doc: update German auto-generated files 2020-12-21 18:33:48 +01:00
Sébastien Helleu cc5c34d4dc doc: add missing parenthesis in user's guide 2020-12-21 18:31:08 +01:00
Nils Görs f9b4f4e7e6 doc: update German documentation 2020-12-21 13:40:39 +01:00
Nils Görs 18f9ba3c0c core: update German translations 2020-12-21 13:07:23 +01:00
Sébastien Helleu 09f57476d2 doc: add a chapter on buffer local variables (user's guide) 2020-12-19 21:23:16 +01:00
Sébastien Helleu 7e2396ade8 core: add options "setvar" and "delvar" in command /buffer, rename option "localvar" to "listvar"
The option "localvar" (introduced long time ago, in WeeChat 0.3.0) is still
recognized by WeeChat, to stay compatible with any extension/script calling
it (or referencing it in the documentation).

It is deprecated and will be removed in a future release.
2020-12-19 20:59:38 +01:00
Sébastien Helleu 1526f58d7a doc: replace "core" by "weechat" in table with extra info for bar item "buffer_nicklist" (plugin API reference) 2020-12-19 15:00:02 +01:00
Sébastien Helleu 0294b246f6 core: add buffer local variable "completion_default_template" (evaluated) (closes #1600)
When this local variable is set, it overrides the value of option
"weechat.completion.default_template".

It is evaluated, that means the global default template can be used to append
some custom completion. For example:

  /buffer set localvar_set_completion_default_template ${weechat.completion.default_template}|%(my_completion)
2020-12-19 14:25:13 +01:00
Sébastien Helleu e4152c3535 core: remove unneeded return of WEECHAT_RC_OK in filter command 2020-12-18 20:28:41 +01:00
Sébastien Helleu dc5277fe89 core: add option "recreate" in command /filter 2020-12-18 20:28:16 +01:00
Sébastien Helleu 73eabdbe80 doc: update German auto-generated file 2020-12-18 19:55:44 +01:00
Nils Görs 5e17f0039b core: update German translations 2020-12-17 11:05:15 +01:00
Sébastien Helleu 13e4af7b46 script: add status of scripts in output of command /script list in /help script 2020-12-15 20:41:13 +01:00
Nils Görs 1efcaa9752 doc: update German documentation 2020-12-13 11:55:38 +01:00
Sébastien Helleu b95e91e1a2 doc: add command to run WeeChat with address sanitizer (user's guide) 2020-12-13 11:01:04 +01:00
Nils Görs 3dea65aa05 doc: update German documentation 2020-12-07 08:59:07 +01:00
Sébastien Helleu a69cfbdb19 core: add contributor in AUTHORS.adoc (issue #1597) 2020-12-06 15:54:44 +01:00
Sébastien Helleu d01a98950a doc: update auto-generated files with commands 2020-12-06 15:51:12 +01:00
Sébastien Helleu ee25c74903 irc: fix completion of commands /halfop and /dehalfop 2020-12-06 15:48:55 +01:00
Sébastien Helleu cd7947d8fc irc: add missing parameter "-yes" in /help dehalfop 2020-12-06 15:47:52 +01:00
dotflac 4974c2f0a2 add -yes to output of /help voice
currently /help voice does not tell you that you need -yes if you are using *. i have changed it to match /help op, /help deop and /help devoice
2020-12-06 15:43:36 +01:00
Sébastien Helleu 33cdf3eb90 doc: add question about buflist customization 2020-12-06 15:13:55 +01:00
Sébastien Helleu 58a94df61d core: update ChangeLog 2020-12-05 19:57:53 +01:00
Sébastien Helleu 08ebc99dea Revert "exec: return NULL immediately if the task id is invalid"
This reverts commit dff1bf6f0f.
2020-12-05 19:57:24 +01:00
Sébastien Helleu 03f4afe65e Revert "core: add extra compiler options to check overflow of destination buffer and output truncation"
This reverts commit 4ff4a64209.

These compiler flags are not supported on old compiler version, for example on
Debian Stretch/Jessie and Ubuntu Xenial (16.04).
2020-11-29 11:05:38 +01:00
Tim Gates 08db4407ed docs: fix simple typo, confiuration -> configuration
There is a small typo in src/core/weechat.c.

Should read `configuration` rather than `confiuration`.
2020-11-28 09:46:23 +01:00
Sébastien Helleu 4ff4a64209 core: add extra compiler options to check overflow of destination buffer and output truncation 2020-11-28 09:43:57 +01:00
Sébastien Helleu 21aef706cd core: allocate dynamic string size for colors 2020-11-23 21:25:41 +01:00
Sébastien Helleu 345bdddf62 script: increase buffer size in function script_buffer_detail_label
This fixes a compiler warning complaining about a too small buffer for
snprintf, even if this should never happen.
2020-11-22 15:00:19 +01:00
Sébastien Helleu d1cad18f01 core: increase buffer size in function plugin_api_info_uptime_cb
This fixes a compiler warning complaining about a too small buffer for
snprintf, even if this should never happen.
2020-11-22 14:59:06 +01:00
Sébastien Helleu a8dd0e1337 core: increase buffer size in function gui_bar_item_time_cb
This fixes a compiler warning complaining about a too small buffer for
snprintf, even if this should never happen.
2020-11-22 14:56:55 +01:00
Sébastien Helleu 070eb3f7b0 core: increase buffer size in HTTP proxy connection
In case of long address/username/password, the HTTP CONNECT message could be
truncated.
2020-11-21 21:13:13 +01:00
Sébastien Helleu 194f8b5b74 core: increase command buffer size in /color command
In case of long alias name, the command to set color alias could be truncated.
2020-11-21 21:13:05 +01:00
Sébastien Helleu ee24fac586 spell: fix crash with IRC color codes in command line (closes #1589) 2020-11-20 21:50:05 +01:00
Sébastien Helleu a2266e4e3f core: add missing cast to unsigned char on first argument to function isdigit 2020-11-19 22:20:48 +01:00
Sébastien Helleu 214f4f66d9 doc: update German auto-generated file 2020-11-18 22:58:32 +01:00
Nils Görs 14e66962c8 core: update German translations 2020-11-18 09:44:17 +01:00
Sébastien Helleu 5cbda03fca core: fix and normalize error messages 2020-11-17 21:54:24 +01:00
Sébastien Helleu 21eadc9488 core: display an error when the buffer is not found with command /command -buffer 2020-11-17 13:43:20 +01:00
Sébastien Helleu 6fda5a7e5f core: remove option to open a blank issue 2020-11-16 22:58:17 +01:00
Sébastien Helleu b9c8569422 trigger: add variable "${tg_trigger_name}" in command trigger evaluated strings (closes #1580)
${tg_trigger_name} is replaced by the trigger name in these command strings:

- description
- arguments
- description of arguments
- completion
2020-11-14 09:32:24 +01:00
Sébastien Helleu b626df72fb core: add evaluation of conditions in evaluation of expressions with "eval_cond:" (closes #1582) 2020-11-14 09:28:46 +01:00
Sébastien Helleu eb90a73fe8 spell: fix refresh of bar item "spell_suggest" when the input becomes empty (closes #1586)
When the input is empty, length of string is zero: when sending zero to
function weechat_string_dyn_alloc, the function returns NULL and therefore we
return immediately instead of handling the empty input, which is a valid value.

The regression was introduced by the use of dynamic strings, commit:
299f74bfef
2020-11-13 21:30:06 +01:00
Sébastien Helleu 4065d32e68 Version 3.1-dev 2020-11-11 09:30:24 +01:00
Sébastien Helleu 72936fd3be Version 3.0 2020-11-11 08:46:53 +01:00
Sébastien Helleu 3da91d702e debian: update changelog 2020-11-10 18:32:26 +01:00
Sébastien Helleu 43d9b3a723 Version 3.0-rc1 2020-11-01 10:09:17 +01:00
Nils Görs 5beb5d7052 doc: update German documentation 2020-10-30 12:55:53 +01:00
Sébastien Helleu 0ff08e54f5 trigger: add variable "tg_argc" in data set by command trigger (closes #1576) 2020-10-21 19:10:37 +02:00
Sébastien Helleu 30e48336f4 irc: remove SASL timeout message displayed by error after successful SASL authentication (closes #1515)
The SASL timer is removed immediately when the SASL authentication is
successful or has failed.
2020-10-18 09:35:04 +02:00
Sébastien Helleu 2807a8374b doc: update German auto-generated file 2020-10-16 21:15:43 +02:00
Nils Görs da934d9818 core: update German translations 2020-10-16 16:38:50 +02:00
Sébastien Helleu 939b16230c script: allow command /script list when option script.scripts.download_enabled is set to off (closes #1574) 2020-10-15 20:38:43 +02:00
Trygve Aaberge c3707bb6e1 doc: Update hotlist example to match hotlist_prefix
hotlist_prefix defaults to "H: ", so the example should show the same to
make it easier to understand what it is.
2020-10-15 13:46:27 +02:00
Sébastien Helleu fa46a2fe2d exec: add option "-oerr" to send stderr to buffer (now disabled by default) (closes #1566) 2020-10-11 16:33:50 +02:00
Sébastien Helleu 4d696d7cc8 exec: add missing option "-oc" in /help exec 2020-10-11 15:55:40 +02:00
Sébastien Helleu c8f2ebcea3 core: add terminal and terminal multiplexer in GitHub issue template 2020-10-11 08:52:54 +02:00
Sébastien Helleu 72fdd689a2 core: update ChangeLog (issue #1567) 2020-10-10 13:36:26 +02:00
Sébastien Helleu 2384dbe193 trigger: add a function to set variables common to all triggers (issue #1567) 2020-10-10 13:32:36 +02:00
Sébastien Helleu fd72226a71 doc: translate tg_trigger_name variable under triggers (issue #1567) 2020-10-10 13:22:49 +02:00
Simmo Saan 765d2dd277 doc: add tg_trigger_name variable under triggers (issue #1567) 2020-10-10 10:13:42 +03:00
Simmo Saan 8c87b7a1f0 trigger: add tg_trigger_name variable to all triggers (closes #1567) 2020-10-10 10:13:42 +03:00
Sébastien Helleu 07565a4aa6 doc: update German auto-generated file 2020-10-07 20:32:51 +02:00
Nils Görs 79f71a0e1a core: update German translations 2020-10-05 12:22:21 +02:00
Sébastien Helleu c016e7ea87 core: use apt-get option --no-install-recommends instead of modifying config file /etc/apt/apt.conf 2020-10-04 19:11:39 +02:00
Sébastien Helleu bb82dbc0ec tests: add missing braces around if/else in macro WEE_NICK_STRDUP_FOR_COLOR (issue #1565) 2020-10-04 08:53:08 +02:00
Sébastien Helleu f8403c76db api: add optional list of colors in infos "nick_color" and "nick_color_name" (closes #1565) 2020-10-04 08:46:36 +02:00
Sébastien Helleu 657e659c42 core: add argument "num_colors" in function gui_nick_hash_color, add tests on nick functions (issue #1565)
Functions tested:

- gui_nick_hash_djb2_64
- gui_nick_hash_djb2_32
- gui_nick_hash_sum_64
- gui_nick_hash_sum_32
- gui_nick_get_forced_color
- gui_nick_strdup_for_color
- gui_nick_find_color
- gui_nick_find_color_name
2020-10-04 08:46:25 +02:00
Sébastien Helleu 1c5e5824e7 tests: run callback when resetting options in tests 2020-10-03 14:40:59 +02:00
Sébastien Helleu b32f561f77 irc: fix again typo in English plural form of "normal" 2020-09-12 18:49:42 +02:00
Sébastien Helleu 1745b78b57 irc: fix typo in English plural form of "normal" (normals -> normal) 2020-09-12 18:08:13 +02:00
Sébastien Helleu 7ce5dce8f9 doc: update German auto-generated file 2020-09-12 17:22:19 +02:00
Nils Görs 8544d9ef0b core: update German translations 2020-09-08 13:15:31 +02:00
Sébastien Helleu 3c987f3a1c script: add option script.scripts.download_enabled (closes #1548) 2020-09-06 19:15:15 +02:00
Sébastien Helleu 9ccf62979f script: do not automatically download list of scripts on startup if the file is too old (closes #1548)
The repository file is downloaded anyway if too old on any /script action.
2020-09-02 19:22:56 +02:00
Sébastien Helleu 579af1b265 tests: fix compilation with CppUTest ≥ 4.0
MemoryLeakWarningPlugin::turnOnNewDeleteOverloads is replaced by
MemoryLeakWarningPlugin::turnOnThreadSafeNewDeleteOverloads, which is available
in both CppUTest 3.x and 4.0.
2020-08-29 10:18:50 +02:00
Sébastien Helleu 54b7c88553 spell: also skip IRC color attributes codes when checking words in input (issue #1547) 2020-08-28 18:32:50 +02:00
Sébastien Helleu aac14f28dd irc: add comments in functions irc_color_decode and irc_color_encode 2020-08-25 19:37:47 +02:00
Sébastien Helleu e25c364790 spell: skip IRC color codes when checking words in input (closes #1547) 2020-08-25 19:37:42 +02:00
Sébastien Helleu 299f74bfef spell: use dynamic string functions to return modified string 2020-08-24 22:12:45 +02:00
Sébastien Helleu cfd221014c api: add argument "bytes" in function string_dyn_concat 2020-08-23 23:27:57 +02:00
Sébastien Helleu b459dab84b spell: properly skip WeeChat color codes when checking words in input (closes #1547) 2020-08-22 08:56:21 +02:00
Sébastien Helleu 268aa631c6 api: add function string_color_code_size (issue #1547) 2020-08-22 08:55:16 +02:00
Sébastien Helleu 7dd5abd625 fset: fix refresh of option values in fset buffer (issue #1553) 2020-08-20 20:31:07 +02:00
Sébastien Helleu d53fb92a30 irc: replace calls to malloc by calloc
After these calls to malloc the memory is set to zero, so it's better to call
calloc that does it already.
2020-08-17 20:06:17 +02:00
Sébastien Helleu fbc2438c1c core: replace calls to malloc by calloc
After these calls to malloc the memory is set to zero, so it's better to call
calloc that does it already.
2020-08-17 19:57:10 +02:00
Sébastien Helleu fca5a4b42c core: set notify_level to 3 if highlight is forced in gui_line_hook_update (only if tag "notify_none" is not in the line) (issue #1529) 2020-08-16 12:40:41 +02:00
Sébastien Helleu 330d7d50d2 core: set notify_level to 3 in case of highlight in gui_line_hook_update only if tag "notify_none" is not in the line (issue #1529) 2020-08-16 12:40:01 +02:00
Sébastien Helleu 786072806b core: set notify_level to 3 in case of highlight only if tag "notify_none" is not in the line (issue #1529) 2020-08-16 08:27:00 +02:00
Sébastien Helleu d15db0ecbb core: set "notify_level" to 3 if there is a highlight in the line (closes #1529) 2020-08-15 14:02:40 +02:00
Sébastien Helleu 45ce1d7604 doc: update German auto-generated file 2020-08-13 08:38:45 +02:00
Nils Görs 0e1a59cbef core: update German translations 2020-08-11 18:47:46 +02:00
Sébastien Helleu 1054cdf1e9 fset: add option fset.look.auto_refresh (closes #1553) 2020-08-09 10:56:03 +02:00
Sébastien Helleu 0cc5df6649 irc: send all channels in a single JOIN command when reconnecting to the server (closes #1551) 2020-08-05 20:05:36 +02:00
Sébastien Helleu 36c55f6973 tests: fix name of some unit tests 2020-08-05 07:28:30 +02:00
Sébastien Helleu 00c34b0ba8 core: replace "unit" by module for changes in unit tests 2020-08-05 07:22:38 +02:00
Sébastien Helleu 8cf56dfdf9 tests: add tests on GUI line functions
Functions tested:

- gui_line_lines_alloc
- gui_line_lines_free
- gui_line_tags_alloc
- gui_line_tags_free
- gui_line_is_displayed
- gui_line_has_tag_no_filter
- gui_line_search_tag_starting_with
- gui_line_get_nick_tag
2020-08-04 23:42:20 +02:00
Sébastien Helleu 0ab44c02a4 core: check that line is not NULL in functions gui_line_is_displayed and gui_line_get_nick_tag 2020-08-04 23:12:18 +02:00
Sébastien Helleu 6704825d7b core: check that line_data is not NULL in functions gui_line_tags_alloc and gui_line_has_tag_no_filter 2020-08-04 22:56:02 +02:00
Sébastien Helleu ec898732a1 core: rename functions to allocate/free lines 2020-08-04 22:42:59 +02:00
Sébastien Helleu 9262720a65 doc: add instructions to build WeeChat with address sanitizer (user's guide) 2020-08-01 09:53:47 +02:00
Sébastien Helleu 26085575d5 core: disable debug by default in autotools build 2020-08-01 01:41:40 +02:00
Sébastien Helleu 7412f5815c trigger: fix recursive calls to triggers using regex (closes #1546) 2020-07-31 20:50:33 +02:00
Sébastien Helleu 00e25af470 doc: update German auto-generated file 2020-07-21 18:28:38 +02:00
Nils Görs 6fc40fb8d4 core: update German translations 2020-07-21 11:36:35 +02:00
Sébastien Helleu 3e6c8b6a88 core: update ChangeLog (issue #1535, issue #1538) 2020-07-21 08:29:03 +02:00
Sébastien Helleu c002c5f77f doc: add "irc_nick" in hashtable sent to hook_focus callback (plugin API reference) (issue #1538) 2020-07-21 08:28:01 +02:00
Simmo Saan b69e47d0a2 irc: add pointer "irc_nick" in hashtable sent to hook focus callback (closes #1535) 2020-07-21 08:18:43 +02:00
Sébastien Helleu 84e30438d4 irc: allow to send text on buffers with commands /allchan, /allpv and /allserv 2020-07-20 22:39:28 +02:00
Sébastien Helleu ee3a4a1fc0 irc: evaluate command executed by commands /allchan, /allpv and /allserv (closes #1536)
The extra variables are now replaced (in addition to `$server`, `$channel` and
`$nick`):

- `${irc_server.xxx}`: variable xxx in server
- `${irc_channel.xxx}`: variable xxx in channel
2020-07-20 22:20:22 +02:00
Sébastien Helleu 5bf571c60f doc: improve description of tags "notify_xxx" in chapter on lines tags (user's guide) (issue #1529) 2020-07-20 21:48:20 +02:00
Sébastien Helleu e0e905ca7f trigger: check that tag "notify_none" is not present in message to run command of default trigger beep (issue #1529) 2020-07-20 21:08:59 +02:00
Sébastien Helleu 2b16036f08 core: do not add line with highlight and tag "notify_none" to hotlist (closes #1529) 2020-07-20 09:26:36 +02:00
Sébastien Helleu 9ef793fd65 Version 3.0-dev 2020-07-18 14:27:37 +02:00
Sébastien Helleu c096750e96 Version 2.9 2020-07-18 13:59:02 +02:00
Sébastien Helleu 0ebed7e7b0 doc: replace wildcard command by list of included files in Makefile.am files
This fixes the `make distcheck` command.
2020-07-11 12:23:14 +02:00
Sébastien Helleu cef0a77ace core: add contributor in AUTHORS.adoc (issue #1537) 2020-07-07 20:29:03 +02:00
Sébastien Helleu 19e98e7599 core: update ChangeLog (issue #1537) 2020-07-07 20:27:57 +02:00
Marco Sirabella ab7104e34c Add $weechat_sharedir/python for global python package import
Related: #1461

Some scripts (eg weechat-matrix) ship directories that need to be
imported from the script.

Rather than globally installing the python packages to python's
`site-packages` the directories can be installed alongside the script in
`WEECHAT_SHAREDIR/python`.

This change adds that directory to the `$PYTHONPATH` to import
successfully.
2020-07-07 20:26:17 +02:00
Sébastien Helleu af03f8ab50 Version 2.9-rc1 2020-07-05 23:27:57 +02:00
Sébastien Helleu dfcf1f0398 doc: update German auto-generated file 2020-07-04 17:32:55 +02:00
Nils Görs d75e747dff core: update German translations 2020-07-04 14:10:30 +02:00
Sébastien Helleu bde4b30021 doc: fix description of "_chat_bol" and "_chat_eol" in function hook_focus (plugin API reference) 2020-06-30 21:01:11 +02:00
Sébastien Helleu 9510301f46 doc: harmonize example of pointers in plugin API reference and relay protocol 2020-06-30 20:54:31 +02:00
Sébastien Helleu b17e1bcf89 api: add pointer "_bar_window" in hashtable sent to hook focus callback (closes #1450) 2020-06-30 20:16:19 +02:00
Sébastien Helleu c868a4d3f8 doc: fix typo (relay protocol) 2020-06-29 22:08:00 +02:00
Sébastien Helleu ee91d38965 doc: fix flake8 errors in docgen.py 2020-06-28 10:26:04 +02:00
Sébastien Helleu acfb5a7638 relay: add missing field "notify_level" in message "_buffer_line_added" (issue #1529) 2020-06-26 08:03:15 +02:00
Sébastien Helleu b0ecbdbf1d core: add bar option "color_bg_inactive" (issue #732) 2020-06-21 18:59:54 +02:00
Sébastien Helleu 5b151d1639 irc: check that the first nick char is not a prefix char or chantype in function irc_nick_is_nick 2020-06-21 10:22:37 +02:00
Sébastien Helleu 4a42cda3a5 irc: change default chantypes from "#&+!" to "#&"
The default chantypes was conflicting with
irc_server_prefix_chars_default ("@+").
2020-06-21 10:22:04 +02:00
Sébastien Helleu 9446610452 tests: add test of function irc_nick_is_nick with invalid UTF-8 string 2020-06-20 17:44:48 +02:00
Sébastien Helleu 12051a506d irc: add support of UTF8MAPPING, add support of optional server in info "irc_is_nick" (closes #1528) 2020-06-20 17:28:28 +02:00
Sébastien Helleu bf964de939 tests: add tests on IRC function irc_channel_is_channel 2020-06-20 12:04:40 +02:00
Sébastien Helleu 2a60a25443 irc: return NULL in info "irc_is_channel" if arguments is NULL or empty string 2020-06-20 10:04:40 +02:00
Sébastien Helleu 86cb2d4256 doc: update German auto-generated file 2020-06-17 23:35:05 +02:00
Nils Görs 2dc3676af5 core: update German translations 2020-06-16 18:34:40 +02:00
Sébastien Helleu e41eeaf203 tests: add tests on IRC command ACCOUNT with colon before the account name 2020-06-16 08:07:55 +02:00
Sébastien Helleu eba9c31da0 irc: fix display of ACCOUNT message when the account name is ":*" (closes #1526) 2020-06-15 23:03:58 +02:00
Sébastien Helleu d0ae0fea49 irc: skip semicolon before account name in ACCOUNT message 2020-06-15 07:12:06 +02:00
Sébastien Helleu 340d6646a6 javascript: disable build by default and remove Debian packaging of JavaScript plugin (issue #360) 2020-06-13 14:34:13 +02:00
Sébastien Helleu 99a324b76f buflist: add "window" pointer in bar item evaluation only if it's not NULL (if bar type is "window") 2020-06-10 20:39:07 +02:00
Sébastien Helleu fad07d1ff2 core: update ChangeLog (issue #1514) 2020-06-07 11:10:06 +02:00
Sébastien Helleu 5034798e7a core: add contributor in AUTHORS.adoc (issue #1514) 2020-06-07 11:08:33 +02:00
Sébastien Helleu 08a00739f2 guile: fix compiler warning (issue #1514) 2020-06-07 11:07:48 +02:00
Joram Schrijver 297a140bea guile: fix memory leak in output port 2020-06-07 11:07:03 +02:00
Joram Schrijver cb5d90dcc7 guile: re-enable "/guile eval" (issue #1098)
With the output port now properly implemented for Guile >= 2.2, this
command works again.
2020-06-07 11:07:03 +02:00
Joram Schrijver cac45aab46 guile: fix printing of output to buffer (issue #1098)
The support for Guile 2.2 did not implement the custom port correctly,
and did not configure it to be the default output port. This caused
output from Guile to be printed straight to the TTY, breaking the
WeeChat interface.

Note that the port is unbuffered, so that code like

    (display "test")

immediately results in output, without an explicit call to force-output.
2020-06-07 11:07:03 +02:00
Sébastien Helleu e784a994b5 api: fix use of pointer after free in function key_unbind 2020-06-07 09:11:24 +02:00
Sébastien Helleu f52c706ee0 doc: remove tag "translation missing" in French plugin API reference 2020-06-06 08:59:25 +02:00
Sébastien Helleu 52b4f07414 doc: add URL to the Debian download page in user's guide 2020-06-06 08:54:15 +02:00
Sébastien Helleu 196a4e28aa irc: fix add of ignore with flags in regex, display full ignore mask in list of ignores (closes #1518) 2020-06-04 08:05:57 +02:00
Sébastien Helleu f41b17563f doc: update auto-generated files (issue #1250) 2020-06-03 08:00:24 +02:00
Sébastien Helleu 207642a3ec core: update translations (issue #1250) 2020-06-03 07:59:04 +02:00
Sébastien Helleu e80bf16d4a core: update ChangeLog (issue #1250) 2020-06-03 07:59:04 +02:00
Max Teufel 0027c23b7e irc: display account messages in buffers 2020-06-03 07:59:04 +02:00
Sébastien Helleu 1f2d90b643 core: update ChangeLog (issue #1517) 2020-06-02 23:33:27 +02:00
Sébastien Helleu 41cd8a438f core: add contributor in AUTHORS.adoc (issue #1517) 2020-06-02 23:32:19 +02:00
Christian Duerr c35e31cad2 Add Alacritty title escape sequence support 2020-06-02 23:27:51 +02:00
Sébastien Helleu 1dacb2de7f doc: add missing p-path pointer in hdata example (relay protocol) 2020-06-01 23:18:44 +02:00
Sébastien Helleu 03724423da doc: fix example of NULL pointer (relay protocol) 2020-06-01 23:18:16 +02:00
Sébastien Helleu 8818fbb233 tests: fix memory leak in test of function string_hex_dump 2020-05-31 14:51:41 +02:00
Sébastien Helleu 527aa3c563 doc: use a single line for some object examples (relay protocol) 2020-05-30 09:46:48 +02:00
Nils Görs e6e7339a69 doc: update German documentation 2020-05-29 15:41:24 +02:00
Sébastien Helleu b56843de87 doc: mention callback argument "callback_pointer" in differences with C API (scripting guide) 2020-05-27 22:26:31 +02:00
Sébastien Helleu c4832737e9 core: add CI with GitHub Actions, move codecov.io upload to GitHub Actions 2020-05-22 19:04:12 +02:00
Sébastien Helleu a43b0f074c doc: update German auto-generated files 2020-05-22 18:17:51 +02:00
Nils Görs a86c447972 core: update German translations 2020-05-22 17:34:12 +02:00
Sébastien Helleu 7f02e1804b doc: add missing "id" in commands input, sync, desync, ping and quit (relay protocol) 2020-05-21 10:49:41 +02:00
Sébastien Helleu aaa49d3188 tests: add tests on function string_input_for_buffer with custom command chars 2020-05-21 10:06:51 +02:00
Sébastien Helleu f4913d0a6b tests: add tests on function string_is_command_char with custom command chars 2020-05-21 10:06:42 +02:00
Sébastien Helleu 99b13aa671 tests: add test on function string_base64_decode with truncated base64 string 2020-05-21 09:56:35 +02:00
Sébastien Helleu a997893cfe tests: add test on function string_base16_decode with a char >= 0xA0 2020-05-21 09:55:40 +02:00
Sébastien Helleu 66d4590dab core: add base 16/32/64 encoding/decoding in evaluation of expressions 2020-05-21 09:36:35 +02:00
Sébastien Helleu 1994d5641d core: move functions string_base_encode and string_base_decode from plugin-api.c to wee-string.c 2020-05-21 00:02:24 +02:00
Sébastien Helleu 0ac936a5cf core: return -1 in case of error in functions string_base16_decode and string_base64_decode 2020-05-21 00:01:35 +02:00
Sébastien Helleu 8f308ea918 core: split function eval_replace_vars_cb into multiple functions 2020-05-20 00:04:45 +02:00
Sébastien Helleu 4a67c4a1ab irc: do not remove spaces at the end of users messages received (closes #1513)
The regression was introduced in version 2.5 by commit
2b70d71aa1.
2020-05-19 20:12:27 +02:00
Sébastien Helleu d1d3be6fd5 doc: add missing non-breaking spaces before colons and semicolons in French docs 2020-05-18 23:50:03 +02:00
Sébastien Helleu 62ccee9505 tests: run tests on plugins only if the plugins are enabled and compiled 2020-05-17 15:29:06 +02:00
Sébastien Helleu a489fa6eb4 core: update ChangeLog (issue #592) 2020-05-17 09:49:43 +02:00
Sébastien Helleu 0aa9f7de64 trigger: add (void) before calls to trigger_callback_execute when the returned value is ignored 2020-05-17 09:48:07 +02:00
Simmo Saan b14cf0ac3d trigger: only return trigger's return code when condition evaluates to true 2020-05-17 09:46:10 +02:00
Sébastien Helleu 8f6cc60a3f core: update ChangeLog (issue #1509) 2020-05-16 19:58:48 +02:00
Trygve Aaberge 40b5cf7ab0 Fix /window scroll_beyond_end when buffer has fewer lines than terminal height 2020-05-16 19:56:27 +02:00
Sébastien Helleu f500c972dd core: update translations (closes #1245, closes #1257) 2020-05-16 14:40:19 +02:00
Sébastien Helleu aa86d82796 core: rename info_hashtable "gui_focus_info" to "focus_info" (issue #1257) 2020-05-16 14:23:18 +02:00
Sébastien Helleu a3747fefcd core: move creation of info_hashtable from gui-focus.c to plugin-api-info.c (issue #1257) 2020-05-16 14:23:09 +02:00
Simmo Saan a5b851826e gui: make key optional in gui_focus_to_hashtable 2020-05-16 14:23:09 +02:00
Simmo Saan 3f0c6ac96b gui: add gui_focus_info hashtable info (#1245) 2020-05-16 14:23:09 +02:00
Sébastien Helleu 5e5e1c0cd7 core: update ChangeLog (issue #1505) 2020-05-16 13:41:11 +02:00
Sébastien Helleu dba94f0c5d core: add color in /buffer output for notification level, update translations (issue #1505) 2020-05-16 13:40:08 +02:00
Trygve Aaberge d2f49755c7 core: Allow displaying notify level with /buffer notify 2020-05-16 13:35:36 +02:00
Sébastien Helleu 1d357533b9 core: add bar items with nicklist groups and nicks/groups (closes #1506)
The bar item "buffer_nicklist_count" is now the number of displayed nicks
only (not groups).

New bar items:

- "buffer_nicklist_count_groups": number of groups displayed
- "buffer_nicklist_count_all": number of nicks and groups displayed
2020-05-16 11:27:41 +02:00
Sébastien Helleu 45a9ba3e9e doc: add missing arguments in "info" command (English and Japanese relay protocol) 2020-05-16 10:55:38 +02:00
Sébastien Helleu 40a14b4574 core: force buffer property "time_for_each_line" to 0 for buffers with free content (closes #1485) 2020-05-14 18:21:42 +02:00
Sébastien Helleu 4f4f32b9ed relay: increase default limits for IRC backlog options
Default value is changed for the following options:

* relay.irc.backlog_max_minutes: from 1440 to 0 (unlimited)
* relay.irc.backlog_max_number: from 256 to 1024
2020-05-12 18:56:40 +02:00
Nils Görs 2c303d1698 doc: update German documentation 2020-05-10 15:02:35 +02:00
Sébastien Helleu ec1b381521 core: set default size for input bar to 0 (automatic) (issue #1498) 2020-05-10 10:43:07 +02:00
Sébastien Helleu b2d1f37782 core: add default key alt-enter to insert a newline (issue #1498) 2020-05-10 10:39:57 +02:00
Sébastien Helleu 1c269e9a81 core: don't collapse consecutive newlines in lines displayed before the first buffer is created 2020-05-10 10:29:01 +02:00
Sébastien Helleu 8712e557d6 core: update ChangeLog ((issue #1500) 2020-05-10 10:08:57 +02:00
Trygve Aaberge d5e7cb2487 core: Don't remove consecutive newlines when pasting
Relates to #1498
2020-05-10 10:07:53 +02:00
Trygve Aaberge 1e2a8c4682 core: Don't collapse consecutive newlines in bar content
This allows blank lines to be displayed in the input bar when you input
multiple consecutive newlines.

Relates to #1498
2020-05-10 10:07:53 +02:00
Trygve Aaberge 867e07aa18 core: properly display newlines in input for all buffers
Supporting multiple lines in the input bar is useful even for buffers
without input_multiline set, because it enables you to compose multiple
lines at once, even if it is sent as multiple messages. It is
particularly useful when you paste multiple lines and want to edit some
of it before you send the message.
2020-05-10 00:10:38 +02:00
Sébastien Helleu 09f4f98ad9 core: update ChangeLog (issue #1497) 2020-05-09 19:43:24 +02:00
Simmo Saan 517c4c2903 irc: fix realname delimiter color in WHO/WHOX response 2020-05-09 19:31:34 +02:00
Sébastien Helleu f987e445ec core: properly display newlines in input when multiline is enabled in buffer (issue #984, issue #1063) 2020-05-09 18:23:33 +02:00
Trygve Aaberge 63714855d3 core: add an option for multiline input in a buffer (closes #984)
This allows the input callback function for a buffer to receive multiple
lines at once, instead of the message being split on newline before
being sent to the callback. It adds a new flag, input_multiline, to
control this. This flag defaults to 0 which is the current behavior.
2020-05-09 18:07:36 +02:00
Sébastien Helleu 30afb3debe core: add contributor in AUTHORS.adoc (issue #1456) 2020-05-09 15:29:47 +02:00
Sébastien Helleu 2c5a26b882 core: update ChangeLog (issue #1454, issue #1456) 2020-05-09 15:28:50 +02:00
Sébastien Helleu 1ed82fb93f core: remove top/left shadow in WeeChat logo (issue #1454, issue #1456) 2020-05-09 15:28:27 +02:00
Shun Sakai 702cc21810 Regenerate icons
- Inkscape SVG icon -> plain SVG icon
- regenerate PNG icons from SVG icon
2020-05-09 15:16:18 +02:00
Shun Sakai 4c71d4903e Add Inkscape SVG format icon 2020-05-09 15:16:18 +02:00
Sébastien Helleu 72dbae0d43 core: add note about triggers and argument "modifier_data" of weechat_print modifier callback 2020-05-09 10:22:33 +02:00
Sébastien Helleu 3505324096 api: use buffer pointer in argument "modifier_data" sent to weechat_print modifier callback (closes #42) 2020-05-09 10:08:18 +02:00
Sébastien Helleu 7f1aeae5fb core: update GnuTLS section in release notes 2020-05-08 20:01:15 +02:00
Sébastien Helleu 7aed668468 doc: update German auto-generated file 2020-05-08 19:59:07 +02:00
Nils Görs f3d5b06e48 core: update German translations 2020-05-08 19:38:00 +02:00
Sébastien Helleu 4c050b343d irc: reuse a buffer with wrong type "channel" when a private message is received (closes #869) 2020-05-08 13:27:20 +02:00
Sébastien Helleu 88bef0b1b1 core: rename functions hook_completion_{get_string|list_add} to completion_{get_string|list_add}
Old functions are kept for compatibility reasons.
2020-05-08 10:51:30 +02:00
Sébastien Helleu b7765ed960 trigger: fix truncated trigger command with commands /trigger input|output|recreate 2020-05-07 08:19:31 +02:00
Sébastien Helleu b1c3a29ac7 core: add include comparison operators in evaluation of expressions
New comparison operators:

- "==*": is matching mask, case sensitive (wildcard "*" is allowed)
- "!!*": is NOT matching mask, case sensitive (wildcard "*" is allowed)
- "==-": is included, case sensitive
- "!!-": is NOT included, case sensitive
- "=-": is included, case insensitive
- "!-": is NOT included, case insensitive
2020-05-05 20:43:45 +02:00
Sébastien Helleu 8df8d20f81 tests: replace compiler by different env lines (Travis CI) 2020-05-03 23:24:39 +02:00
Sébastien Helleu 162efe1f1b tests: switch to Ubuntu Bionic, use pylint3 to lint Python scripts (Travis CI) 2020-05-03 23:24:39 +02:00
Sébastien Helleu 2b05b64cc1 tests: fix pylint errors 2020-05-03 20:22:21 +02:00
Sébastien Helleu dff1bf6f0f exec: return NULL immediately if the task id is invalid 2020-05-03 16:33:02 +02:00
Sébastien Helleu 5438f62f74 exec: fix use of same task id for different tasks (closes #1491) 2020-05-03 16:07:11 +02:00
Sébastien Helleu df26301d03 doc: fix pylint errors 2020-05-03 14:48:25 +02:00
Sébastien Helleu 0cc76fbe72 core: update ChangeLog 2020-05-03 14:14:16 +02:00
Sébastien Helleu 6e3ffab2ef doc: remove extra separator lines in auto-generated files 2020-05-03 14:12:21 +02:00
Sébastien Helleu 505a91c600 doc: merge 53 autogen files into 11 files, move them to includes directory 2020-05-03 14:05:18 +02:00
Sébastien Helleu 7bcb8ff0d8 core: disable pylint of script docgen.py (Travis CI) 2020-05-03 11:55:13 +02:00
Sébastien Helleu c910b431f8 Revert "core: use pylint3 to lint Python scripts (Travis CI)"
This reverts commit 03ec80f7d3.
2020-05-03 11:54:25 +02:00
Sébastien Helleu 03ec80f7d3 core: use pylint3 to lint Python scripts (Travis CI) 2020-05-03 11:46:13 +02:00
Sébastien Helleu 15735b6cba doc: drop Python 2 support in script docgen.py
The script now requires Python 3.6+.
2020-05-02 17:23:31 +02:00
Sébastien Helleu 2c76343bda doc: fix path of cmdline_options.XX.adoc and man.XX.adoc (developer's guide) 2020-05-02 15:20:40 +02:00
Sébastien Helleu 6c93d1d711 doc: move files cmdline_options.xx.adoc and man.xx.adoc into "includes" directory 2020-05-02 15:13:13 +02:00
Sébastien Helleu 2ff18a8d46 doc: merge files man_*.xx.adoc into a single file man.xx.adoc 2020-05-02 14:48:10 +02:00
Sébastien Helleu 9e8cdd5e40 doc: merge files cmdline_options_debug.xx.adoc into cmdline_options.xx.adoc 2020-05-02 14:18:43 +02:00
Sébastien Helleu 71aa3dd451 doc: add missing key "compression" in handshake responses (relay protocol) 2020-05-02 12:50:49 +02:00
Sébastien Helleu 7699c0b757 relay: add "compression" in response to handshake command (weechat protocol)
The value can be "zlib" (default in relay) or "off".
2020-05-02 12:45:47 +02:00
Sébastien Helleu 46a2979aa1 doc: add examples of command responses in relay protocol 2020-05-02 12:28:14 +02:00
Sébastien Helleu 5b4d690ed7 relay: fix slow send of data to clients when SSL is enabled 2020-05-01 18:52:08 +02:00
Sébastien Helleu b3478fa712 doc: improve indenting in examples (relay protocol) 2020-04-29 19:12:58 +02:00
Sébastien Helleu 8353959e9a doc: update German auto-generated files 2020-04-29 19:12:40 +02:00
Nils Görs b3dc2a662f core: update German translations 2020-04-29 09:24:05 +02:00
Sébastien Helleu 909a976cee core: update translations 2020-04-28 16:40:41 +02:00
Sébastien Helleu 8c9eeb7fd4 core: update ChangeLog (issue #713) 2020-04-28 16:38:32 +02:00
Quentin Glidic f697a5b295 fifo: Open the fifo for writing too
That will make it survive, avoiding the need to reopen it.

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2020-04-28 16:37:39 +02:00
Sébastien Helleu b6cc42cbf7 relay: add command "completion" in weechat relay protocol (closes #1484) 2020-04-28 11:15:30 +02:00
Sébastien Helleu f2507a68a7 core: remove obsolete comment
The completion context can be "GUI_COMPLETION_NULL" if there's no base word
found (for example empty input).
2020-04-28 10:53:49 +02:00
Sébastien Helleu d1a427b67f api: return integer in function gui_completion_search (issue #1484) 2020-04-28 10:46:49 +02:00
Sébastien Helleu 2bd8e91b54 api: add hdata "completion_word" (issue #1484) 2020-04-27 22:18:03 +02:00
Sébastien Helleu d3020976d5 api: add functions completion_new, completion_search and completion_free (issue #1484) 2020-04-27 22:15:42 +02:00
Sébastien Helleu 0f1cee08bf relay: fix error message for an invalid buffer received in a command (weechat protocol) 2020-04-26 23:41:31 +02:00
Sébastien Helleu 6f22b82a7c debian: add patch to build on Ubuntu Groovy 2020-04-26 23:16:53 +02:00
Sébastien Helleu f3b9eb979d doc: protect monospace text with plus characters (relay protocol) 2020-04-25 00:29:31 +02:00
Sébastien Helleu fbb188d323 doc: protect monospace text with plus characters (plugin API reference) 2020-04-25 00:27:33 +02:00
Sébastien Helleu bac0af7494 doc: protect monospace text with plus characters (FAQ) 2020-04-25 00:20:09 +02:00
Sébastien Helleu e12925dc58 doc: protect monospace text with plus characters (scripting guide) 2020-04-25 00:12:51 +02:00
Sébastien Helleu 01eedd4565 doc: protect monospace text with plus characters (user's guide) 2020-04-24 23:53:13 +02:00
Sébastien Helleu 442f6a3bff doc: fix markup error in function hdata_update (plugin API reference) 2020-04-24 22:49:34 +02:00
Sébastien Helleu 33ea747040 core: add default key alt-shift-N to toggle nicklist bar 2020-04-24 22:45:07 +02:00
Sébastien Helleu 0abd0292da buflist: add default key alt-shift-B to toggle buflist 2020-04-24 22:44:13 +02:00
Sébastien Helleu 916c22a3d0 buflist: add options enable/disable/toggle in command /buflist 2020-04-24 22:39:44 +02:00
Sébastien Helleu 6e18f31cb2 core: translate log message when the signal SIGHUP is received 2020-04-21 22:39:51 +02:00
Sébastien Helleu 100440c8a1 core: restore signal "signal_sighup", and if eaten do not reload configuration 2020-04-21 22:34:42 +02:00
Tom Fitzhenry de1e61f7cd core: reload config on SIGHUP
fixes https://github.com/weechat/weechat/issues/1476
2020-04-22 01:25:08 +10:00
Sébastien Helleu 60b75f4677 tests: add tests on functions relay_auth_password_hash_algo_search and relay_auth_generate_nonce 2020-04-20 07:16:08 +02:00
Nils Görs 8ac9336d2a core: update German translations 2020-04-19 12:06:31 +02:00
Sébastien Helleu 5a16a2b49c core: add contributor in AUTHORS.adoc (issue #1477) 2020-04-19 11:34:42 +02:00
Sébastien Helleu 0b994d718d core: add command line option "--stdout" in weechat-headless binary (closes #1475, closes #1477) 2020-04-19 11:28:39 +02:00
Tom Fitzhenry 18a837c55b core: log to stdout, if headless
Fixes https://github.com/weechat/weechat/issues/1475 .
2020-04-19 11:05:22 +02:00
Sébastien Helleu d38701f99f tests: reduce number of iterations in PBKDF2 tests from 100000 to 1000
This speeds up tests by about 30%.
2020-04-19 10:56:25 +02:00
Sébastien Helleu bfe22fc66a tests: remove obsolete file test-relay-weechat-protocol.cpp 2020-04-19 10:56:11 +02:00
Sébastien Helleu 3d8607e34c core: disable build with obsolete autotools option "--disable-gnutls" (Travis CI) 2020-04-19 10:31:09 +02:00
Sébastien Helleu 862cf34ba7 doc: fix asciidoctor options in autotools build 2020-04-18 21:52:50 +02:00
Sébastien Helleu 350227419e doc: fix table sizes on small screens 2020-04-18 20:38:52 +02:00
Sébastien Helleu 3133ea9e79 doc: prevent lines from wrapping in <pre> elements 2020-04-18 20:37:54 +02:00
Sébastien Helleu b847a052c8 doc: update default trigger cmd_pass in user's guide 2020-04-18 15:43:38 +02:00
Sébastien Helleu 0d126c44dd trigger: do not hide values of options with /set command in cmd_pass trigger 2020-04-18 15:38:45 +02:00
Sébastien Helleu 5394ca6e10 doc: update auto-generated files with relay options 2020-04-18 11:35:27 +02:00
Sébastien Helleu e130ee7358 core: make GnuTLS a required dependency 2020-04-18 11:34:59 +02:00
Sébastien Helleu 80693dcea9 relay: move variable nonce in relay client structure 2020-04-18 09:30:51 +02:00
Sébastien Helleu 95b2d686a2 relay: allow only one handshake in weechat protocol 2020-04-18 00:33:15 +02:00
Sébastien Helleu 970c99961c relay: immediately close connection if the handshake failed (weechat protocol) 2020-04-18 00:08:11 +02:00
Sébastien Helleu 242c378290 doc: fix examples of handshake command (relay protocol) 2020-04-17 23:41:12 +02:00
Sébastien Helleu 95c908e83c relay: rename configuration options and keywords in handshake command (weechat protocol)
Configuration options renamed:

* relay.network.auth_password -> relay.network.password_hash_algo
* relay.network.hash_iterations -> relay.network.password_hash_iterations

Handshake command options renamed:

* password -> password_hash_algo

Handshake reply keys renamed:

* auth_password -> password_hash_algo
* hash_iterations -> password_hash_iterations
2020-04-17 23:34:27 +02:00
Sébastien Helleu 86a941e28e doc: use real nonce values in handshake/init examples (relay protocol) 2020-04-17 22:02:43 +02:00
Sébastien Helleu 94c6233100 doc: add missing "(id)" in commands handshake and init (relay protocol) 2020-04-17 21:25:37 +02:00
Sébastien Helleu 853a91d870 doc: replace "safest" by "most secure" (relay protocol) 2020-04-17 21:21:25 +02:00
Sébastien Helleu a5770a224a doc: add example of option "compression" in command "handshake" (relay protocol) 2020-04-17 21:06:21 +02:00
Sébastien Helleu 4f2b2700bc doc: update German auto-generated files 2020-04-17 20:59:36 +02:00
Sébastien Helleu de2c91609c doc: fix examples of password hashes in commands handshake and init (relay protocol) 2020-04-17 10:01:00 +02:00
Nils Görs c9f540e229 core: update German translations 2020-04-17 00:45:34 +02:00
Sébastien Helleu 4cc557f421 relay: fix "id" sent in response to handshake command (weechat protocol) 2020-04-16 10:27:37 +02:00
Sébastien Helleu 8560b09dad relay: add missing gcrypt lib in CMake and autotools files
This fixes build on Cygwin.
2020-04-15 22:50:27 +02:00
Sébastien Helleu 0c7d7c3fdc doc: revert arrows chars in relay protocol 2020-04-14 22:16:48 +02:00
Sébastien Helleu 9fa3609c85 relay: add command "handshake" in weechat relay protocol and nonce to prevent replay attacks (closes #1474)
This introduces a new command called "handshake" in the weechat relay protocol.
It should be sent by the client before the "init" command, to negotiate the way
to authenticate with a password.

3 new options are added:

* relay.network.auth_password
* relay.network.hash_iterations
* relay.network.nonce_size
2020-04-14 21:38:12 +02:00
Sébastien Helleu ccd45e4921 relay: update message displayed when the client is connected/authenticated 2020-04-12 20:24:39 +02:00
Sébastien Helleu 6d99f5da45 core: move line from "Bug fixes" to "New features" (issue #1358) 2020-04-12 19:42:58 +02:00
Sébastien Helleu b947512c9a relay: add option relay.network.auth_timeout 2020-04-12 19:36:12 +02:00
Sébastien Helleu fb6fc22c74 relay: add a function to send outqueue to the client 2020-04-12 19:25:21 +02:00
Sébastien Helleu 9f55f90bbf relay: update default colors for client status
Colors changed:

* relay.color.status_active: lightblue -> green
* relay.color.status_auth_failed: lightred -> lightmagenta
* relay.color.status_connecting: yellow -> white
* relay.color.status_waiting_auth: brown -> yellow

The color relay.color.status_disconnected remains lightred by default.
2020-04-12 18:02:27 +02:00
Sébastien Helleu 7ddc815726 relay: actually use the client status "waiting_auth" in irc and weechat protocols (closes #1358)
Now the status "waiting_auth" is used and displayed in the relay buffer.

When a client connects, there are now 2 messages (except for irc protocol if
there's no password required):

relay: new client on port 9000: 1/weechat/1.2.3.4 (waiting auth)
relay: client 1/weechat/1.2.3.4 authenticated

If the authentication fails, the messages are:

relay: new client on port 9000: 1/weechat/1.2.3.4 (waiting auth)
=!= relay: authentication failed with client 1/weechat/1.2.3.4
2020-04-12 17:46:46 +02:00
Sébastien Helleu 07505bb53c relay: add comments in truct t_relay_weechat_data 2020-04-12 15:35:03 +02:00
Sébastien Helleu b781dd92fb core: update ChangeLog (issue #1461) 2020-04-12 10:19:01 +02:00
Sébastien Helleu b907f6b643 core: fix indentation 2020-04-12 10:17:03 +02:00
Eli Schwartz 973a4b2e77 cmake: fix bugged WEECHAT_SHAREDIR definition exposed by DATAROOTDIR rename
configure.ac defines this to /usr/share/weechat, which means scripts can
load from this directory as a fallback for $HOME/.weechat/, but cmake
defines this instead as /usr/share, which means system-installed
fallback scripts would need to be installed to /usr/share/python/foo.py
instead, and that's completely insane!

Fix this discrepancy by creating a cmake define specifically for
WEECHAT_SHAREDIR based on the datarootdir, just like autotools does it.
2020-04-12 10:16:41 +02:00
Eli Schwartz 683464626d cmake: rename internal variable SHAREDIR to DATAROOTDIR
This is how other build systems (e.g. autotools) see the variable, and
cmake's own GNUInstallDirs defines the same. It more clearly describes
what this setting does vs. the ambiguous "sharedir".
2020-04-12 10:16:41 +02:00
Sébastien Helleu 8bdd540df7 trigger: evaluate arguments of command when the trigger is created (closes #1472) 2020-04-12 09:30:56 +02:00
Sébastien Helleu c9329f6fb1 core: add contributor in AUTHORS.adoc (issue #1460) 2020-04-11 09:51:10 +02:00
Sébastien Helleu 28ef93905b core: update ChangeLog (issue #1460) 2020-04-11 09:50:38 +02:00
Sébastien Helleu aa4a0bb272 core: remove file cmake/FindPackageHandleStandardArgs.cmake from top Makefile.am (issue #1460) 2020-04-11 09:50:33 +02:00
Danilo Spinella 62b61cef07 cmake: removed vendored FindPackageHandleStandardArgs 2020-04-11 09:48:20 +02:00
Sébastien Helleu 7fbd4c1079 tests: add missing include of locale.h
This fixes build of tests on FreeBSD.
2020-04-11 00:01:31 +02:00
Sébastien Helleu 9afe63b77a tests: fix name of tests 2020-04-10 23:43:27 +02:00
Sébastien Helleu 007fd03bc8 tests: add tests on calc functions
Functions tested:

- calc_operator_precedence
- calc_pop_value
- calc_list_free_cb
- calc_operation
- calc_operation_stacks
2020-04-08 21:38:51 +02:00
Sébastien Helleu a693125c81 tests: add missing include of stdio.h (issue #1469) 2020-04-07 22:20:11 +02:00
Sébastien Helleu d78ac827e9 core: fix memory leak in calculation of expression on FreeBSD (closes #1469)
The memory leak was caused by a bug in function setlocale on FreeBSD:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243195

The fix is the following:

* Remove the calls to setlocale when formatting the result.
* The function snprintf is still called, and then is now locale dependent,
  for example in French the decimal separator is a comma instead of a dot.
* A new function calc_sanitize_decimal_number is introduced to "sanitize" a
  decimal number: keep only the decimal separator (replace it by a dot) and
  remove any other separator found.

Unit tests are added on these functions:

* calc_sanitize_decimal_number
* calc_format_result
2020-04-07 21:37:48 +02:00
Sébastien Helleu e998417f5c core: fix resize of a bar when its size is 0 (automatic) (closes #1470) 2020-04-07 19:00:33 +02:00
Sébastien Helleu fdd39c6b97 buflist: evaluate option buflist.look.sort (closes #1465)
The evaluation allows to use different sort for the bar items, for example with
such value:

    ${if:${bar_item.name}==buflist?number:short_name}

This sorts by number on the first bar item and by short name on the two other
bar items.
2020-04-06 20:49:17 +02:00
Sébastien Helleu a072d769fd doc: update Polish auto-generated files 2020-04-05 19:59:22 +02:00
Krzysztof Korościk b50f100dbb doc: update polish translation 2020-04-05 19:34:41 +02:00
Krzysztof Korościk e4892ff6f4 po: update polish translation 2020-04-05 13:45:24 +02:00
Sébastien Helleu 62fc851d81 doc: fix broken literal blocks in Japanese docs with Firefox (closes #1466) 2020-04-05 12:25:39 +02:00
Sébastien Helleu fae149b361 python: fix crash when invalid UTF-8 string is in a WeeChat hashtable converted to a Python dict (closes #1463) 2020-04-04 18:10:02 +02:00
Sébastien Helleu e4bd582a97 doc: update German auto-generated file 2020-04-03 20:56:07 +02:00
Nils Görs 7322561ccc core: update German translations 2020-04-03 20:04:48 +02:00
Sébastien Helleu 2f8fd4c0ef fset: fix help on options fset.format.option1 and fset.format.option2 2020-04-02 20:38:37 +02:00
Sébastien Helleu c59f812c74 tests: add tests on function irc_protocol_cb_353 with option irc.look.color_nicks_in_names set to on 2020-03-31 21:16:09 +02:00
Sébastien Helleu eb7b12f0da tests: add tests on IRC color functions
Functions tested:

- irc_color_convert_rgb2irc
- irc_color_convert_term2irc
- irc_color_for_tags
- irc_color_modifier_cb
- irc_color_weechat_add_to_infolist
2020-03-30 20:58:16 +02:00
Sébastien Helleu 052d4d1fc0 tests: add test with remapped color in function irc_color_decode 2020-03-30 20:55:43 +02:00
Sébastien Helleu 4481b93d35 irc: add missing modifier "irc_color_decode_ansi" in comment on function irc_color_modifier_cb 2020-03-30 07:31:11 +02:00
Sébastien Helleu 1098e157c9 core: remove directory usr/share/applications/ from cygport file 2020-03-29 11:55:20 +02:00
Sébastien Helleu 1ec6fd1116 Version 2.9-dev 2020-03-29 09:58:29 +02:00
Sébastien Helleu 7d5dc53cd9 Version 2.8 2020-03-29 09:39:36 +02:00
Sébastien Helleu e086bc44f5 core: add version 2.7.1 in weechat.spec 2020-03-29 09:30:35 +02:00
Sébastien Helleu 8738196b68 tests: add tests on remaining IRC protocol functions and callbacks 2020-03-28 16:06:45 +01:00
Sébastien Helleu f072eb8d78 tests: add tests on function irc_protocol_get_message_tags 2020-03-28 13:40:39 +01:00
Sébastien Helleu 03ffd396a4 irc: move functions irc_protocol_get_message_tags and irc_protocol_parse_time before protocol callbacks 2020-03-28 13:39:48 +01:00
Sébastien Helleu 2efad93220 irc: remove empty lines 2020-03-28 10:36:10 +01:00
Sébastien Helleu 349251feb1 irc: fix typo in description of message 001 2020-03-27 22:51:15 +01:00
Sébastien Helleu 0834286843 irc: add examples of NOTICE and PRIVMSG messages to channel ops 2020-03-27 22:50:52 +01:00
Sébastien Helleu 4245641767 tests: add tests on function irc_protocol_cb_ping 2020-03-26 23:05:34 +01:00
Nils Görs 359253f610 doc: update German documentation 2020-03-26 11:09:12 +01:00
Sébastien Helleu b82a887f2a tests: add tests on function irc_protocol_cb_part 2020-03-25 20:48:54 +01:00
Sébastien Helleu cecbad1803 tests: add test with no arguments for AWAY command 2020-03-24 16:58:11 +01:00
Sébastien Helleu 9fac350b3f tests: add tests on IRC protocol functions with not enough arguments 2020-03-24 16:56:57 +01:00
Sébastien Helleu fa931b46eb core: fix compiler warnings on Cygwin 2020-03-23 07:23:08 +01:00
Sébastien Helleu e6723bb5a8 doc: add question about configuration for a small terminal size in FAQ 2020-03-22 19:23:37 +01:00
Sébastien Helleu dcebdd6a55 doc: fix font size in literal blocks 2020-03-22 19:10:25 +01:00
Sébastien Helleu 186a465575 doc: update German auto-generated file 2020-03-22 14:25:44 +01:00
Nils Görs c6c485df43 core: update German translations 2020-03-22 14:09:43 +01:00
Sébastien Helleu d8f57628b7 Version 2.8-rc1 2020-03-22 11:10:15 +01:00
Sébastien Helleu d2f3e98f37 core: fix C++ compiler flags with autotools 2020-03-22 11:09:27 +01:00
Sébastien Helleu 8a9b6c1554 php: add detection of PHP 7.4 in autotools
Support of PHP 7.4 was added for CMake (in commit
72b107a970) but was still missing in autotools.
2020-03-22 10:58:09 +01:00
Sébastien Helleu 5ca64fc389 ruby: fix compiler warning on third argument of function weechat_ruby_hash_foreach_cb 2020-03-22 10:29:53 +01:00
Sébastien Helleu c14d5ba004 irc: use larger buffer for message in function irc_message_split_authenticate, just in case 2020-03-21 14:31:53 +01:00
Sébastien Helleu 4480c7b7cc irc: split AUTHENTICATE message in 400-byte chunks (closes #1459) 2020-03-21 14:28:53 +01:00
Sébastien Helleu bf42a1ebc5 irc: replace "char *" by "const char *" in arguments of split functions 2020-03-21 14:27:47 +01:00
Sébastien Helleu c29b45a0f2 api: add info "auto_connect" (closes #1453) 2020-03-20 20:42:05 +01:00
Sébastien Helleu c05cb595dc doc: add note about call to "free" on result of info_get (plugin API reference) 2020-03-20 07:08:14 +01:00
Sébastien Helleu 5c1dfcbe5b tests: add tests on functions irc_protocol_cb_mode and irc_protocol_cb_nick 2020-03-19 23:01:59 +01:00
Sébastien Helleu b45d461c3a tests: add tests on functions irc_protocol_cb_kick and irc_protocol_cb_kill 2020-03-18 22:27:15 +01:00
Sébastien Helleu a709dd05a6 tests: add tests on function irc_protocol_cb_join 2020-03-17 20:54:07 +01:00
Sébastien Helleu 332a4adc26 tests: add tests on function irc_protocol_cb_chghost 2020-03-16 20:49:50 +01:00
Sébastien Helleu f33cfc89a0 doc: update German auto-generated file 2020-03-15 07:20:57 +01:00
Sébastien Helleu e3ffe8c785 irc: set channel modes to NULL instead of "+" when no modes are remaining 2020-03-15 07:19:16 +01:00
Sébastien Helleu 851d1fb00a tests: rename function run_cmd_server to server_recv 2020-03-15 07:19:16 +01:00
Sébastien Helleu 4033c55fa2 irc: add another example of MODE message 2020-03-15 07:19:16 +01:00
Sébastien Helleu 00913de02f irc: remove unused variable "modes" from function irc_bar_item_buffer_name_content 2020-03-15 07:19:16 +01:00
Nils Görs 042c8fb02f core: update German translations 2020-03-14 21:20:12 +01:00
Sébastien Helleu aa3941fee2 tests: always run callback in calls to function config_file_option_set 2020-03-13 23:12:22 +01:00
Sébastien Helleu ba70173a2e irc: fix variable name in function irc_server_connect when GnuTLS is disabled 2020-03-12 07:35:04 +01:00
Sébastien Helleu 9545d37ab0 tests: add tests on IRC protocol functions and some callbacks
Functions tested:

* irc_protocol_is_numeric_command
* irc_protocol_log_level_for_command
* irc_protocol_tags
* irc_protocol_nick_address
* irc_protocol_cb_account
* irc_protocol_cb_away
* irc_protocol_cb_001
* irc_protocol_cb_005
2020-03-11 20:53:49 +01:00
Sébastien Helleu 5f94636b91 irc: rename argument in function irc_protocol_is_numeric_command 2020-03-10 19:19:38 +01:00
Sébastien Helleu 2fe27584ff irc: return 0 in function irc_protocol_is_numeric_command if the command is NULL or empty 2020-03-10 19:15:59 +01:00
Sébastien Helleu 8a5046f0a1 irc: add support of fake servers (no I/O, for testing purposes) 2020-03-09 21:09:55 +01:00
Sébastien Helleu 3590302183 irc: copy temporary server flag in command /server copy 2020-03-08 13:56:30 +01:00
Sébastien Helleu dcd10657b1 tests: add tests on functions weecrypto_totp_generate and weecrypto_totp_validate 2020-03-05 22:21:48 +01:00
Sébastien Helleu dabf32f213 tests: add tests on functions weecrypto_hash and weecrypto_hash_pbkdf2 with NULL hash 2020-03-04 08:24:46 +01:00
Sébastien Helleu c48815673d core: update ChangeLog (issue #1455) 2020-03-03 21:51:03 +01:00
Sébastien Helleu 91fe8da039 core: add detection of Ruby 2.7 in autotools 2020-03-03 21:50:17 +01:00
Lucas Kanashiro 60e86f929d core: add detection for Ruby 2.7 2020-03-03 21:49:32 +01:00
Sébastien Helleu 4afaacd34e tests: add tests on function weecrypto_get_hash_algo 2020-03-03 21:29:44 +01:00
Sébastien Helleu 7af8e6c652 core: add minimum libgcypt version 1.7.0 for SHA3 algorithms in comment of function weecrypto_hash 2020-03-02 22:57:44 +01:00
Sébastien Helleu 8ffe9be8a7 core: fix ChangeLog entry 2020-03-02 22:57:44 +01:00
Sébastien Helleu 3604abba7d core: fix copyright date in wee-crypto sources 2020-03-02 22:57:39 +01:00
Sébastien Helleu 2d7829b2d5 core: require libgcrypt >= 1.7.0 for SHA3 algorithms 2020-03-02 21:49:30 +01:00
Sébastien Helleu c6757f642f tests: fix generation of test scripts with Python 3.8 2020-03-02 21:39:27 +01:00
Sébastien Helleu dc7f1e81fb core: add CVE ids in ChangeLog 2020-03-02 20:42:26 +01:00
Sébastien Helleu 2d2b49bfaa relay: accept hash of password in init command with option "password_hash"
Allowed algorithms are:

* PBKDF2 (SHA256 or SHA512, salt, iterations)
* SHA256
* SHA512
2020-03-02 00:46:10 +01:00
Sébastien Helleu 1882686f8a script: rename variable length_hash to hash_size 2020-03-01 23:14:55 +01:00
Sébastien Helleu 0271eacbe5 relay: rename variable length_hash to hash_size 2020-03-01 23:14:55 +01:00
Sébastien Helleu 3157d1f06e api: add function crypto_hash_pbkdf2 2020-03-01 23:14:55 +01:00
Sébastien Helleu 9a6a27ef58 core: move crypto functions to wee-crypto.c, rename API function string_hash to crypto_hash 2020-03-01 21:24:27 +01:00
Sébastien Helleu c4ef3d6c2e core: merge functions string_hash_binary and string_hash into a single function string_hash 2020-03-01 16:41:28 +01:00
Sébastien Helleu 1ae2591458 core: add function secure_hash_pbkdf2 2020-03-01 14:26:24 +01:00
Sébastien Helleu 3472793d24 script: call function string_hash in script_repo_sha512sum_file to compute SHA512 hash
This removes dependency on libgcrypt in script plugin.
2020-03-01 09:08:48 +01:00
Sébastien Helleu bb363ab27f relay: call function string_hash_binary in relay_websocket_build_handshake to compute SHA1 hash
This removes dependency on libgcrypt in relay plugin.
2020-03-01 09:03:49 +01:00
Sébastien Helleu 7449bc8827 core: add support of CRC32 algorithm in hash functions 2020-02-29 21:12:13 +01:00
Sébastien Helleu 410a5b341f api: add functions string_hash_binary and string_hash 2020-02-29 21:02:42 +01:00
Sébastien Helleu 7e808e2ef7 core: call function secure_hash_binary in secure_derive_key to compute SHA512 hash 2020-02-29 15:46:25 +01:00
Sébastien Helleu 600c43dcf5 tests: add tests on function secure_derive_key 2020-02-29 15:46:25 +01:00
Sébastien Helleu 45fd04ee72 core: return 0 in case of invalid parameters received in function secure_derive_key 2020-02-29 15:46:25 +01:00
Sébastien Helleu e2135fc3eb core: add functions to compute binary/hex hash of data 2020-02-29 15:46:25 +01:00
Sébastien Helleu 91701cbdb4 php: fix crash when loading script with PHP 7.4 (closes #1452) 2020-02-28 21:28:29 +01:00
Nils Görs 3f67cfecc8 django.po: Update German translations 2020-02-26 15:38:23 +01:00
Sébastien Helleu 5655778afa core: update stable version in version.sh 2020-02-21 16:09:22 +01:00
Sébastien Helleu ff4e9d6e69 core: add version 2.7.1 in release notes 2020-02-20 22:17:05 +01:00
Sébastien Helleu a4fcd5570f core: add version 2.7.1 in ChangeLog 2020-02-20 22:14:28 +01:00
Sébastien Helleu 7352ddfcf0 build: ignore file usr/share/applications/weechat.desktop in Cygwin build 2020-02-20 22:09:12 +01:00
Sébastien Helleu 6daa09b0b8 script: fix memory leak in read of script repository file if it has invalid content 2020-02-18 21:04:21 +01:00
Sébastien Helleu c6e9e18aaa script: fix unexpected display of scripts list in buffer with command /script list -i 2020-02-16 08:04:58 +01:00
Sébastien Helleu 3fc0f1957e script: remove dead assignment of variable length in function script_action_list_input 2020-02-16 07:59:02 +01:00
Sébastien Helleu 4cb0e2dc55 doc: update auto-generated files 2020-02-15 07:39:41 +01:00
Nils Görs 774345cea9 core: update German translations 2020-02-14 18:54:36 +01:00
Sébastien Helleu 09aa6dbf06 core: add CVE-2020-8955 in ChangeLog 2020-02-14 07:41:56 +01:00
Sébastien Helleu 230f648584 irc: use irc_server_prefix_chars_default if server->prefix_chars is NULL 2020-02-10 21:18:47 +01:00
Sébastien Helleu 9904cb6d2e irc: fix crash when receiving a malformed message 352 (who)
Thanks to Stuart Nevans Locke for reporting the issue.
2020-02-10 07:37:11 +01:00
Sébastien Helleu 40ccacb433 irc: fix crash when a new message 005 is received with longer nick prefixes
Thanks to Stuart Nevans Locke for reporting the issue.
2020-02-09 20:04:45 +01:00
Sébastien Helleu 5edbeea338 core: fix unlikely memory leak in completion 2020-02-09 06:56:53 +01:00
Sébastien Helleu 7fde75797c doc: remove reference to obsolete script shell.py in FAQ 2020-02-08 21:59:14 +01:00
Sébastien Helleu 40e8e928cd doc: add question about timezone in FAQ 2020-02-08 21:59:14 +01:00
Sébastien Helleu 6f4f147d8e irc: fix crash when receiving a malformed message 324 (channel mode)
Thanks to Stuart Nevans Locke for reporting the issue.
2020-02-08 20:24:50 +01:00
Sébastien Helleu 39f2591cf5 tests: add tests on ANSI default text/background colors 2020-02-08 10:29:07 +01:00
Sébastien Helleu 2769989751 irc: remove nested switches in function irc_color_decode_ansi_cb 2020-02-07 21:29:46 +01:00
Sébastien Helleu b8d7af54e3 doc: add keys and actions on fset and script buffers in user's guide 2020-02-06 21:17:54 +01:00
Sébastien Helleu 60f2734184 irc: use dynamic string in function irc_color_encode 2020-02-05 21:51:11 +01:00
Sébastien Helleu 5b902eb804 irc: replace realloc by dynamic string in function irc_color_decode 2020-02-05 21:50:39 +01:00
Sébastien Helleu 6f69d98ee9 core: fix typo in French translation of /help fset 2020-02-04 22:04:18 +01:00
Sébastien Helleu 84648a5cd8 tests: add eval tests with debug enabled 2020-02-04 20:56:59 +01:00
Sébastien Helleu 15f7d7aeb1 core: update ChangeLog 2020-02-03 21:41:25 +01:00
Sébastien Helleu f76a5a8b57 tests: add unit tests on function util_file_get_content 2020-02-03 21:39:06 +01:00
Sébastien Helleu 3edae5af86 tests: add unit tests on function util_get_time_diff 2020-02-02 13:58:35 +01:00
Sébastien Helleu 27266ccd02 core: rename function util_get_uptime to util_get_time_diff
The two times must be sent as parameters, which makes the function not specific
to uptime. It is now easier to test the function in unit tests.
2020-02-02 13:57:39 +01:00
Sébastien Helleu 4e2718d234 irc: add nick changes in the hotlist (except self nick change) 2020-02-01 23:02:55 +01:00
Sébastien Helleu 95e34c71d6 core: update ChangeLog (issue #1442) 2020-01-30 22:07:32 +01:00
orbea 6d2d304136 Fix the build with guile-3.0.0.
v2: Update configure.ac too.

Signed-off-by: orbea <orbea@riseup.net>
2020-01-30 22:05:43 +01:00
Sébastien Helleu d2dda92daf tests: add eval tests with hdata variables of different types 2020-01-27 23:04:24 +01:00
Sébastien Helleu b7c09ed084 tests: add eval tests on conditions with text after closing parenthesis 2020-01-27 23:04:24 +01:00
Sébastien Helleu a6a6fb74c2 tests: add eval tests on conditions with leading and trailing spaces (ignored) 2020-01-27 23:04:24 +01:00
Sébastien Helleu 2839dc7ddf tests: add eval tests on "regex not matching" comparison 2020-01-27 23:04:24 +01:00
Sébastien Helleu 0975c407e0 tests: add eval tests with hdata list name and pointer 2020-01-27 23:04:24 +01:00
Sébastien Helleu 201b4da169 tests: add eval tests with buffer local variables 2020-01-27 23:04:24 +01:00
Sébastien Helleu 8107b5d162 tests: add eval tests on options with different types 2020-01-27 23:04:24 +01:00
Sébastien Helleu dd13393896 tests: add eval test with empty value for "date:" 2020-01-27 23:04:24 +01:00
Sébastien Helleu 70f0c81a2c tests: add eval tests with invalid values for "modifier:" 2020-01-27 23:04:24 +01:00
Sébastien Helleu 6d9a247df3 tests: add eval tests with invalid values for "repeat:" 2020-01-27 23:04:24 +01:00
Sébastien Helleu 1914ceb74f tests: add eval tests with invalid values for "cut:" and "cutscr:" 2020-01-27 23:04:22 +01:00
Sébastien Helleu 34bb43379a tests: add eval test with invalid value for "hide:" 2020-01-27 21:21:01 +01:00
Sébastien Helleu 070e86bd6e tests: add eval test with invalid regex group 2020-01-27 21:17:17 +01:00
Sébastien Helleu 1d77b9742e tests: add evaluation tests with ternary operator and escape of prefix ("$") 2020-01-27 21:09:54 +01:00
Sébastien Helleu d91d1ebb8c tests: add other calc tests with multiple operators
The order of operators are different from the initial test, so this increases
the code coverage in wee-calc.c.
2020-01-27 20:54:23 +01:00
Sébastien Helleu f980820395 logger: fix crash when disabling logging on a buffer (closes #1444)
Crash happens if the log file was deleted before disabling logging and if the
option logger.file.info_lines is on.
2020-01-25 13:42:12 +01:00
Sébastien Helleu 4d67af399d core: flush stdout/stderr before forking in hook_process function (closes #1441) 2020-01-20 21:15:15 +01:00
Sébastien Helleu 7cd566e8d3 core: reset variable "old_full_name" after send of signal "buffer_renamed" (issue #1428) 2020-01-12 17:09:47 +01:00
Sébastien Helleu b79cd6d546 relay: update buffers synchronization when buffers are renamed (closes #1428) 2020-01-12 17:03:16 +01:00
Sébastien Helleu 1fac6fd404 core: add variable "old_full_name" in buffer, set before the buffer is renamed (issue #1428) 2020-01-12 16:57:08 +01:00
Sébastien Helleu 4f9c4fecd3 irc: case-insensitive comparison on incoming CTCP command, force upper case on CTCP replies (closes #1439) 2020-01-11 11:02:41 +01:00
Sébastien Helleu 4f42f407c1 doc: remove space in example of hsignal irc_redirect_command (plugin API reference) 2020-01-05 09:15:40 +01:00
Sébastien Helleu 9ac4639c8c xfer: send signal "xfer_ended" after the received file has been renamed (closes #1438) 2020-01-04 11:19:47 +01:00
Sébastien Helleu feb6258910 core: update copyright dates 2020-01-04 10:41:26 +01:00
Sébastien Helleu 481da803cb buflist: add pointer "window" in bar item evaluation 2019-12-26 22:44:19 +01:00
Sébastien Helleu e11075e2cd doc: update German auto-generated file 2019-12-23 22:14:33 +01:00
Nils Görs cc7ac1284d core: update German translations 2019-12-23 20:00:02 +01:00
Sébastien Helleu 330149b9b6 relay: reject client with weechat protocol if password or totp is received in init command but not set in WeeChat (closes #1435) 2019-12-21 10:47:35 +01:00
Sébastien Helleu e612e63140 core: fix evaluation of condition with nested "if" (closes #1434) 2019-12-18 21:22:36 +01:00
Sébastien Helleu a13099aa63 core: add debug option "-d" in command /eval (issue #1434) 2019-12-18 21:18:59 +01:00
Sébastien Helleu 7e833ee60b core: add missing variable "proxy" in function hook_connect_print_log 2019-12-18 07:55:39 +01:00
Sébastien Helleu 72da71880c doc: update German auto-generated files 2019-12-15 21:22:51 +01:00
Nils Görs b341432887 core: update German translations 2019-12-15 21:17:33 +01:00
Sébastien Helleu bb62485aa9 irc: fix memory leak when the channel topic is changed 2019-12-15 07:27:45 +01:00
Sébastien Helleu 72b107a970 php: add detection of PHP 7.4 2019-12-14 11:25:07 +01:00
Sébastien Helleu 019bc79b0f core: update ChangeLog (issue #1433) 2019-12-13 21:34:01 +01:00
Sébastien Helleu 517bdaa4a8 core: update translations (issue #1433) 2019-12-13 21:33:48 +01:00
Sébastien Helleu 00485af7c9 core: add contributor in AUTHORS.adoc (issue #1433) 2019-12-13 21:31:30 +01:00
Matthew Horan f966329862 api: add info "weechat_headless" 2019-12-13 21:30:54 +01:00
Sébastien Helleu 5ae0485404 core: fix version in ChangeLog 2019-12-13 21:27:02 +01:00
Sébastien Helleu 60fa5a7555 core: update ChangeLog (issue #1431) 2019-12-13 21:22:45 +01:00
Sébastien Helleu 8d107912d6 core: update translations 2019-12-13 21:21:02 +01:00
Simmo Saan c487965e8b irc: add GnuTLS >= 3.1.0 requirement to ssl_password option help (issue #115) 2019-12-13 21:18:22 +01:00
Simmo Saan 139a7053e4 irc: fix compilation with GnuTLS < 3.1.0 (issue #115)
Due to this ssl_password will be partially unused with GnuTLS < 3.1.0.
In that case an encrypted SSL client cert import will simply fail.
2019-12-13 21:18:22 +01:00
Sébastien Helleu 9c227de6bf core: add directory /usr/share/applications/ in cygwin package "weechat" 2019-12-08 15:56:23 +01:00
Sébastien Helleu da28c392ea Version 2.8-dev 2019-12-08 10:18:33 +01:00
Sébastien Helleu 236dbe3f62 Version 2.7 2019-12-08 09:48:53 +01:00
Sébastien Helleu 632755d51d core: remove obsolete file FindTCL.cmake from root Makefile.am 2019-12-08 09:23:35 +01:00
Sébastien Helleu ee52c8ceae debian: fix debian/wheezy and ubuntu/trusty patches 2019-12-08 09:13:46 +01:00
Sébastien Helleu dda3ac7963 debian: update changelog 2019-12-08 08:23:07 +01:00
Sébastien Helleu e81d0787e4 debian: bump Standards-Version to 4.4.0 2019-12-08 08:22:45 +01:00
Sébastien Helleu 54aa8b82b3 doc: update Polish auto-generated files 2019-12-01 18:03:07 +01:00
Krzysztof Korościk 39ae55322d doc: updated polish traslation 2019-12-01 17:14:12 +01:00
Krzysztof Korościk 10f4e16695 po: update polish translation 2019-12-01 16:24:32 +01:00
Sébastien Helleu cfd7d31f95 doc: update German auto-generated files 2019-12-01 11:42:49 +01:00
Nils Görs 621b87ea8a core: update German translations 2019-11-29 09:17:37 +01:00
Sébastien Helleu c947d1575f core: exit makedist.sh script if command "cd" failed 2019-11-28 21:28:07 +01:00
Sébastien Helleu d876ec49fc core: replace "! -z" by "-n" in build-debian.sh 2019-11-28 21:27:43 +01:00
Sébastien Helleu d2300e62af core: replace "-o" by "||" in tools scripts 2019-11-28 21:26:45 +01:00
Sébastien Helleu a727516e0d core: run command and check return code on same line in tools scripts 2019-11-28 21:25:47 +01:00
Sébastien Helleu c0e48b0370 core: double quote variables in tools scripts 2019-11-28 21:23:59 +01:00
Sébastien Helleu 45509c3560 core: double quote variables in script autogen.sh 2019-11-27 20:17:48 +01:00
Sébastien Helleu fb8f0590b0 Version 2.7-rc1 2019-11-26 20:10:18 +01:00
Sébastien Helleu 3dab07d659 tests: add unit tests on hash algorithms with salt (issue #635) 2019-11-25 23:02:05 +01:00
Sébastien Helleu cd53fc61cf core: fix typo in French translation (issue #635) 2019-11-25 22:43:55 +01:00
Sébastien Helleu d66a02ca9d core: move each hash algorithm in a separate function (issue #635) 2019-11-25 22:31:36 +01:00
Sébastien Helleu 771b932dec doc: update auto-generated files with WeeChat options (issue #635) 2019-11-25 21:44:27 +01:00
Sébastien Helleu 41911babd3 core: remove obsolete translations 2019-11-25 21:42:57 +01:00
Sébastien Helleu f69079e3d0 core: update ChangeLog (issue #635) 2019-11-25 21:39:02 +01:00
Sébastien Helleu b43ab911fd core: add more info in /help weechat.look.nick_color_hash_salt (issue #635) 2019-11-25 21:38:58 +01:00
Sébastien Helleu 0044fa1902 core: remove allocation of string when salt is used (issue #635) 2019-11-25 21:38:55 +01:00
Simmo Saan 1a00368888 core: add option weechat.look.nick_color_hash_salt to allow for reshuffling of colors (issue #635) 2019-11-25 21:38:20 +01:00
Sébastien Helleu c634d6c56e doc: list the things removed by WeeChat on /plugin unload (user's guide) 2019-11-24 09:40:53 +01:00
Sébastien Helleu 661ef1e653 doc: fix translations in French plugin API reference 2019-11-24 09:32:35 +01:00
Sébastien Helleu 8223263e0e doc: remove flags "translation missing" in French docs 2019-11-24 09:29:02 +01:00
Sébastien Helleu a843e8fb14 doc: bump version of documentation generator 2019-11-22 21:01:14 +01:00
Sébastien Helleu e1692ab7e9 doc: add function to print counters, add separator lines (documentation generator) 2019-11-22 21:00:58 +01:00
Sébastien Helleu 73b3ff1491 doc: simplify function to compute SHA256 checksum, move function outside class AutogenDoc (documentation generator) 2019-11-22 20:59:58 +01:00
Sébastien Helleu 178b3eb8a6 doc: sort locales in documentation generator 2019-11-22 20:59:06 +01:00
Sébastien Helleu 2f99033384 doc: remove path option in documentation generator 2019-11-22 20:57:59 +01:00
Sébastien Helleu f1641604b0 doc: remove obsolete ignored options/completions in documentation generator 2019-11-22 20:57:52 +01:00
Sébastien Helleu e743e731ec irc: do not automatically open a channel with name "0" (closes #1429)
"0" is a special channel name which causes a client to leave all the channels
it is presently on.

Note that when option irc.look.buffer_open_before_join is on, WeeChat may still
open channel buffers with an invalid channel name like "1".  The server should
reply something like that, displayed on the server buffer:

  1: No such channel
2019-11-21 20:35:32 +01:00
Sébastien Helleu 64aae8b959 core: update build directories in .gitignore 2019-11-19 07:40:11 +01:00
Sébastien Helleu e4a9f95e38 core: remove arguments for endforeach() in CMake files 2019-11-18 20:18:54 +01:00
Sébastien Helleu 7aa24ecd88 core: add different icons sizes (16x16 to 512x512) (closes #1347) 2019-11-18 20:05:43 +01:00
Sébastien Helleu 8cde654c6f core: set buffer name, short name and title only if the value has changed
This fix reduces the number of messages "_buffer_title_changed" sent to the
weechat relay clients in IRC private buffers (this message was sent for every
new message received in the private buffer).
2019-11-17 21:48:17 +01:00
Sébastien Helleu 9a40aa04f8 core: rename label "enhancement" to "feature" 2019-11-15 21:06:15 +01:00
Sébastien Helleu 3a03184d7a irc: mention /filter command in /help irc.look.smart_filter 2019-11-15 08:38:40 +01:00
Sébastien Helleu b5804bd64d core: add labels in GitHub issue templates 2019-11-14 07:24:54 +01:00
Sébastien Helleu 005e5fd8f5 core: fix French translation of "uptime" 2019-11-13 21:17:14 +01:00
Sébastien Helleu fe7a05cb1f core: update ChangeLog 2019-11-12 21:20:43 +01:00
Eli Schwartz 76c6f52e8c build: support python 3.8
In python 3.8, in order to link to -lpython3.8, you need to use the
exported pkg-config interface 'python3-embed' (or 'python3-config --libs
--embed'), see https://bugs.python.org/issue36721 for details.
2019-11-12 21:19:47 +01:00
Eli Schwartz 5c8ac69f73 python: use more idiomatic cmake pkg-config linking
cmake documentation is absolutely atrocious, and I don't know why they
mention all the wrong things to use, and the cargo cult of successfully
writing a cmake build definition (copy-pasting what works from other
projects) also uses all the wrong things. But it turns out it is
possible to correctly link a PkgConfig target despite all that, at
least, *iff* you use cmake >= 3.13. I've chosen option 2, which is to
vendor in cmake >= 3.13's FindPkgConfig module in the previous commit.

Using IMPORTED_TARGET GLOBAL in a pkg-config check will result in a
proper linker target being created. For comparison, this is like using
meson's dependency() target, except meson forces you to do this by
default. The result is that the build system's internal representation
of how to link something, is used instead of manually passing build
flags defined in variables.

This is an important distinction to make, because cmake does not have a
list datatype, and instead turns lists into strings separated by ';'
which are indistinguishable from, like, strings which contain ';'
characters. When you pass the resulting list-which-isn't-really-a-list
to link an executable/library, you either need to preprocess the
variable to replace ';' with ' ' (just in case there are multiple
elements) or use cmake functions which magically know to do this
themselves -- or at least, I assume there are cmake functions that
correctly handle so-called "lists", or there would be no need for
"lists" to exist.

The IMPORTED_TARGET will define a bunch of INTERFACE_* properties which
do seem to do exactly this. The resulting build definition should
actually, correctly, link python, thereby fixing #1398 in a better way.
2019-11-12 21:19:47 +01:00
Eli Schwartz 682e558f76 cmake: vendor in a new version of FindPkgConfig
The current one is anciently ancient, and dates back to commit
4d2925ef1c which vendored this "for old
versions of cmake". Well, currently it just stops using new versions of
FindPkgConfig, so we're stuck on the 2006 version from cmake 2.5.0.

Instead of deleting it entirely (the minimum version of cmake is
currently 3.0) make this vendored file continue to be useful by using it
to vendor in the latest version of FindPkgConfig from cmake 3.16.0-rc3
with a bunch of useful improvements.
2019-11-12 21:19:47 +01:00
Sébastien Helleu a36e17abf9 debian: disable javascript plugin on Debian Sid and Ubuntu Eoan 2019-11-11 08:38:05 +01:00
Sébastien Helleu 38bb297d91 core: update ChangeLog (issue #1420) 2019-11-10 11:06:49 +01:00
Sébastien Helleu 421d6481da core: link with libnetwork and not libpthread on Haiku (autotools) (issue #1420) 2019-11-10 11:06:39 +01:00
Jerome Duval 8d991f1284 Haiku: link libnetwork, not libpthread. 2019-11-10 11:04:47 +01:00
Sébastien Helleu 9f8162651f irc: set option irc.look.display_pv_warning_address to off by default (issue #892)
This is because the bitlbee server causes the warning to be displayed when it
is not expected (the address of remote nick changes multiple times on login).
2019-11-08 21:27:12 +01:00
Sébastien Helleu 17d3032b73 core: move line from "New features" to "Bug fixes" 2019-11-07 19:46:55 +01:00
Sébastien Helleu 90aec7bec7 core: update URL of WeeChat blog 2019-11-05 07:50:30 +01:00
Sébastien Helleu 07577194c5 doc: add examples of division in ${calc:...} (plugin API reference) 2019-11-04 19:01:31 +01:00
Sébastien Helleu 9264de9ce0 doc: fix list of "updated in" versions in function string_eval_expression (plugin API reference) 2019-11-04 18:59:32 +01:00
Sébastien Helleu 4f7a51f72b core: fix sentence in release notes 2019-11-03 21:10:48 +01:00
Sébastien Helleu 6507544947 irc: fix typo and examples in /help server 2019-11-03 14:54:45 +01:00
Nils Görs cdcbdc94e0 core: update German translations 2019-11-03 14:48:43 +01:00
Sébastien Helleu 10f85df867 irc: set raw filter to "*" if local variable "filter" was not set after /upgrade on raw buffer 2019-11-03 09:55:09 +01:00
Sébastien Helleu 7e07954fbf irc: restore irc raw filter after /upgrade (issue #1000) 2019-11-03 09:28:16 +01:00
Sébastien Helleu 015ae4a94b irc: add filters on raw buffer (closes #1000) 2019-11-03 09:01:44 +01:00
Sébastien Helleu 4a86ab55d8 fset: add comment on filter by evaluated expression 2019-10-30 19:41:56 +01:00
Sébastien Helleu 7cac32fc1f fset: fix filter variable used to match filter string 2019-10-30 19:41:31 +01:00
Sébastien Helleu c6161d0e4a plugins: sort options added in configuration sections 2019-10-23 19:45:06 +02:00
Sébastien Helleu ecc7edda9e core: optimize search of options in configuration sections
Since options are sorted in sections, it is faster to search from the last
option to the first one.

For configuration files with many options in a single section (like
plugins.conf), the load of configuration file is about 2 to 3x faster.
2019-10-23 19:45:06 +02:00
Sébastien Helleu fbc9faed42 doc: add keys to type for the example message with color codes (user's guide) 2019-10-22 07:54:50 +02:00
Sébastien Helleu c99889cb15 core: fix typo in French translation of /help fset 2019-10-21 19:14:31 +02:00
Sébastien Helleu f85f097c25 debian: disable javascript plugin on Ubuntu Focal 2019-10-20 21:27:21 +02:00
Sébastien Helleu 5d4220a91f core: fix scrolling up in bare mode when switched to bare mode at the top of the buffer (closes #899, issue #978) 2019-10-14 20:44:15 +02:00
Sébastien Helleu 7e6d933d74 doc: update German auto-generated file 2019-10-13 21:05:32 +02:00
Nils Görs 92853e1b47 core: update German translations 2019-10-13 18:54:48 +02:00
Sébastien Helleu 577a932201 core: add info about Python 3 and strings in release notes 2019-10-13 08:18:38 +02:00
Sébastien Helleu 899550ca94 doc: fix typo in scripting guide 2019-10-13 08:18:30 +02:00
Sébastien Helleu ab6a991de2 doc: fix language in links to plugin API reference (scripting guide) 2019-10-12 23:26:16 +02:00
Sébastien Helleu 2dbc283023 doc: add links on signals and hsignals (plugin API reference) 2019-10-12 23:17:33 +02:00
Sébastien Helleu 513f5a1ee7 python: send "bytes" instead of "str" to callbacks in Python 3 when the string is not UTF-8 valid (issue #1220, closes #1389) 2019-10-12 22:21:48 +02:00
Sébastien Helleu 8fc8f728d4 core: add reverse of string for screen in evaluation of expressions with "revscr:" 2019-10-12 20:14:36 +02:00
Sébastien Helleu 9535f4a70b doc: update German auto-generated file 2019-10-11 22:45:08 +02:00
Nils Görs f85adf5cf1 core: update German translations 2019-10-11 22:41:19 +02:00
Sébastien Helleu 876a0a1609 irc: add option irc.look.display_pv_warning_address (closes #892)
If the address of remote nick changes in a private buffer, a warning is
displayed.
2019-10-11 20:26:34 +02:00
Sébastien Helleu 1dda5ffd02 doc: add value -1 for notify level in function hook_line (plugin API reference) 2019-10-10 18:39:31 +02:00
Sébastien Helleu dc9964ccc6 irc: add server option "ssl_password" (issue #115, issue #1416) 2019-10-09 21:40:43 +02:00
Sébastien Helleu 37415e61d5 core: update translations (issue #115, issue #1416) 2019-10-09 21:39:25 +02:00
Simmo Saan 116150c2fc irc: add server option ssl_password for SSL certificate private key password (closes #115) 2019-10-09 21:37:41 +02:00
Sébastien Helleu 5398f5d566 irc: fix compiler warning on uninitialized variable 2019-10-09 07:17:32 +02:00
Nils Görs 02c63beef9 core: add German translations in weechat.desktop 2019-10-08 20:54:25 +02:00
Sébastien Helleu 6619219297 doc: add value -1 for notify level in trigger of type line (user's guide) 2019-10-08 20:30:59 +02:00
Sébastien Helleu 6fa0f49a28 core: update ChangeLog (issue #982, issue #408) 2019-10-07 21:06:55 +02:00
Sébastien Helleu afe64aefbf core: add keywords in weechat.desktop (issue #982, issue #408) 2019-10-07 21:06:55 +02:00
Sébastien Helleu 85f9ead7b8 core: add French translations in weechat.desktop (issue #982, issue #408) 2019-10-07 21:06:55 +02:00
Sébastien Helleu b35c94cc91 core: install weechat.desktop with autotools (issue #982, issue #408) 2019-10-07 21:06:50 +02:00
Lucas Hoffmann 8054cb0ee1 core: add a desktop file (closes #982, closes #408) 2019-10-07 20:47:43 +02:00
Sébastien Helleu cbeecc0cde core: ensure completion_item is not NULL before using it 2019-10-06 21:47:56 +02:00
Sébastien Helleu 528c769e71 core: fix crash in completion of filenames 2019-10-06 21:45:27 +02:00
Sébastien Helleu d2a63b2b44 doc: update German auto-generated files 2019-10-06 19:17:15 +02:00
Sébastien Helleu 86e623a554 doc: fix chapter on IRC server connection in quickstart guide 2019-10-06 19:12:47 +02:00
Sébastien Helleu c391fe5fa5 core: update ChangeLog (closes #630) 2019-10-06 19:11:15 +02:00
Sébastien Helleu c3b33859ae core: fix long lines 2019-10-06 19:09:29 +02:00
Sébastien Helleu f2551b8403 Merge remote-tracking branch 'origin/pr/630' 2019-10-06 19:07:25 +02:00
Sébastien Helleu 98d9dc1a03 core: update ChangeLog (closes #610, closes #617, closes #619) 2019-10-06 18:14:50 +02:00
Sébastien Helleu e6570d6e3a core: fix line too long, add comment on argument "with_suffix" 2019-10-06 18:11:58 +02:00
Sébastien Helleu e47002884a core: count suffix in alignment computed for context info 2019-10-06 18:08:52 +02:00
Sébastien Helleu c77bccba87 Merge remote-tracking branch 'origin/pr/619' 2019-10-06 18:08:17 +02:00
Sébastien Helleu af5951c123 Merge pull request #1415 from ingank/doc-de-improve-pr
doc: update German documentation
2019-10-06 17:25:00 +02:00
Ingolf Ankert 1eb54f4065 doc: update German documentation
Reviewed: from @flashcode
2019-10-06 17:14:07 +02:00
Sébastien Helleu de0209e6d6 Merge pull request #1414 from ingank/improve-po-de
core: update German translations
2019-10-06 17:03:27 +02:00
Ingolf Ankert 903cb0baf3 doc: update German documentation
fix: typos in doc/de/weechat_faq.de.adoc
fix: typos, spelling, grammar in doc/de/weechat_quickstart.de.adoc
2019-10-06 16:55:26 +02:00
Ingolf Ankert 5518b56561 core: update German translations 2019-10-06 15:53:57 +02:00
Sébastien Helleu 53360a7909 logger: fix write in log file if it has been deleted or renamed (closes #123) 2019-10-06 13:36:35 +02:00
Sébastien Helleu 529af39612 doc: translate description of logger masks in user's guide 2019-10-06 10:19:01 +02:00
Sébastien Helleu 79e124d6e4 Merge pull request #1413 from FiXato/patch-2
Added introductory description of Logger masks
2019-10-06 10:18:32 +02:00
Sébastien Helleu d3254262ac doc: fix styles in plugin API reference 2019-10-06 10:01:49 +02:00
Sébastien Helleu 587f5bf15b irc: use path from option xfer.file.upload_path to complete filename in command "/dcc send" (closes #60) 2019-10-06 09:38:52 +02:00
Sébastien Helleu 6e382d26a9 core: add optional default path (evaluated) in completion "filename" (issue #60) 2019-10-06 09:38:20 +02:00
Sébastien Helleu 88aa82d672 core: add support of modifiers in evaluation of expressions with "modifier:name,data,string" (issue #60) 2019-10-06 09:13:35 +02:00
Sébastien Helleu 1a0ba4a9dc api: add modifier "eval_path_home" (issue #60) 2019-10-06 09:06:55 +02:00
Sébastien Helleu e921b9f432 core: fix comments on modifier callback functions in plugin API 2019-10-06 08:56:12 +02:00
Filip H.F. "FiXato" Slagter 86dcbc09c0 Added introductory description of Logger masks
While the documentation for Logger filename masks contained examples, it didn't actually describe it would try to match in order of descending specificity.
2019-10-05 20:43:29 +02:00
Sébastien Helleu 587ddf7222 core: add reference to issue #66 for hook_line function in ChangeLog 2019-10-05 18:55:27 +02:00
Sébastien Helleu c521392207 core: add quotes around commands with arguments in ChangeLog 2019-10-05 18:18:07 +02:00
Sébastien Helleu 1da5b9126e core: fix typo in ChangeLog 2019-10-05 18:17:49 +02:00
Sébastien Helleu 3c0bdc18f3 xfer: add option xfer.file.download_temporary_suffix with default value ".part" (closes #1237) 2019-10-05 18:11:39 +02:00
Sébastien Helleu 6c23f632b1 xfer: fix memory leak when a xfer is freed and when the plugin is unloaded 2019-10-05 17:49:07 +02:00
Sébastien Helleu 3e189fa60d irc: fix typo in /help links 2019-10-04 20:44:09 +02:00
Sébastien Helleu f9dcb573ca doc: update German auto-generated files 2019-10-03 20:39:48 +02:00
Sébastien Helleu 8c31306f30 Merge pull request #1410 from ingank/ingank/german-translation
core: update German translations
2019-10-03 20:32:37 +02:00
Sébastien Helleu d2be0e8e1d Merge pull request #1409 from ingank/master
doc: update German documentation
2019-10-03 20:32:10 +02:00
Ingolf Ankert b03a4e192c core: update German translations 2019-10-03 15:25:42 +02:00
Sébastien Helleu 70fd722278 logger: add option logger.file.color_lines (closes #528, closes #621) 2019-10-02 20:44:12 +02:00
Ingolf Ankert f3376f4264 doc: update German documentation 2019-10-01 21:48:44 +02:00
Sébastien Helleu e386965aba api: add modifier "color_encode_ansi" (issue #528) 2019-10-01 18:31:41 +02:00
Sébastien Helleu 90f711a965 core: add function to convert WeeChat colors to ANSI colors (issue #528) 2019-10-01 18:31:41 +02:00
Sébastien Helleu 177fa6c528 core: add support of reverse video in ANSI color codes 2019-10-01 18:31:41 +02:00
Sébastien Helleu a8ca4b5b3a tests: add tests on GUI color functions 2019-10-01 18:31:41 +02:00
Sébastien Helleu daad558291 core: fix typos in comments 2019-10-01 18:31:41 +02:00
Sébastien Helleu baf8f635ff core: fix style in CMake files 2019-10-01 18:31:41 +02:00
Sébastien Helleu 779420d50d core: fix typo in ChangeLog 2019-10-01 18:29:59 +02:00
Sébastien Helleu 92cad366a2 core: fix typos in French translations 2019-09-30 21:46:56 +02:00
Sébastien Helleu cddb314a10 doc: update German auto-generated files 2019-09-28 15:06:11 +02:00
Ingolf Ankert 45a55895fb core: update German translations 2019-09-28 14:42:32 +02:00
Sébastien Helleu 2067136506 core: add contributor in AUTHORS.adoc (issue #1406) 2019-09-27 20:56:17 +02:00
Sébastien Helleu 41cf758864 core: update ChangeLog (issue #1406) 2019-09-27 20:56:17 +02:00
Kyle Sabo 0678e0c9b3 core: fix build on Alpine (closes #1406) 2019-09-27 20:56:09 +02:00
Sébastien Helleu ae38b11407 irc: add "user" in output of irc_message_parse (closes #136) 2019-09-27 20:52:00 +02:00
Sébastien Helleu 3f33b327b1 logger: move logger backlog functions to logger-backlog.c 2019-09-26 21:26:23 +02:00
Sébastien Helleu 8ab6422520 debian: switch to Guile 2.2 in Debian build
Guile 2.2 is now used by default in Debian/Ubuntu builds, except on these old
distribution versions where only Guile 2.0 is available:

- Debian Stretch
- Debian Jessie
- Debian Wheezy
- Ubuntu Xenial
- Ubuntu Trusty
2019-09-25 20:58:22 +02:00
Nils Görs 4b0e6d5da2 core: update German translations 2019-09-24 21:43:30 +02:00
Sébastien Helleu 3a356f109f core: add power operator "**" in calc expressions (issue #997) 2019-09-24 21:03:56 +02:00
Sébastien Helleu 7d795c4d53 core: fix wrong results with the unary minus in calc expressions 2019-09-24 20:49:48 +02:00
Sébastien Helleu dc5e334f5c doc: update German auto-generated file 2019-09-23 23:10:40 +02:00
Nils Görs aa45748bff core: update German translations 2019-09-23 22:07:41 +02:00
Sébastien Helleu fe193a350b core: update translations (issue #683) 2019-09-23 21:31:09 +02:00
Simmo Saan e437613acb irc: add separate options for kick/kill message coloring (closes #683)
Add new options irc.color.message_kick and irc.color.reason_kick to be used
for coloring KICK and KILL messages.
2019-09-23 21:22:49 +02:00
Sébastien Helleu c5ffc3917f doc: update German auto-generated files 2019-09-22 21:37:23 +02:00
Nils Görs 6942444a2b core: update German translations 2019-09-22 21:32:46 +02:00
Sébastien Helleu 39b6fb6137 irc: remove option irc.network.channel_encode, add server option "charset_message" (closes #832)
This new option controls which part of the IRC message is decoded/encoded to
the target charset, and the new default behavior is to decode/encode the whole
IRC message (behavior in WeeChat >= 1.3 was to decode/encode only the text by
default).
2019-09-22 20:41:00 +02:00
Sébastien Helleu 12ee9cb75c core: build with Guile 2.2 on Cygwin (issue #1098) 2019-09-21 15:54:12 +02:00
Sébastien Helleu bed26f42a1 core: remove detection of Ruby 1.8, since Ruby >= 1.9.1 is now required (issue #1404) 2019-09-21 15:42:23 +02:00
Sébastien Helleu fbb0e85525 core: update ChangeLog (closes #1098) 2019-09-21 14:53:52 +02:00
Sébastien Helleu afce4804f5 guile: disable "/guile eval" as this does not (yet) work with Guile >= 2.2 (issue #1098) 2019-09-21 14:48:09 +02:00
Sébastien Helleu 387a44f5ec guile: add support of Guile 2.2 (issue #1098) 2019-09-21 14:48:05 +02:00
Sébastien Helleu e1a4612797 core: ignore color codes in ${length:xxx} and ${lengthscr:xxx} 2019-09-21 13:54:36 +02:00
Nils Görs de45636388 core: update German translations 2019-09-21 08:31:40 +02:00
Sébastien Helleu dcfc4e8ed5 core: add "length:xxx" and "lengthscr:xxx" in evaluation of expressions 2019-09-21 07:56:21 +02:00
Nils Görs 1919f23c2d core: update German translations 2019-09-20 23:13:03 +02:00
Sébastien Helleu bd3f1b5f00 doc: add file test-core-calc.cpp in developer's guide 2019-09-20 21:42:44 +02:00
Sébastien Helleu 92ecbe29ae core: move bugs below new features in ChangeLog 2019-09-20 21:37:21 +02:00
Sébastien Helleu 997894edc0 core: add calculation of expression in evaluation of expressions with "calc:..." (issue #997) 2019-09-20 21:37:01 +02:00
Sébastien Helleu 0109c51937 core: add chapter about CMake fatal errors on missing dependencies in release notes 2019-09-20 09:25:26 +02:00
Sébastien Helleu a81d266b31 doc: update auto-generated files 2019-09-20 09:25:03 +02:00
Nils Görs 4fca523b17 core: update German translations 2019-09-19 21:56:38 +02:00
Sébastien Helleu 5cf419dd63 core: remove extra spaces in arguments of /help uptime and /help version 2019-09-19 21:25:27 +02:00
Sébastien Helleu 85f6c5eeda script: add options "-ol" and "-il" in command /script, display "No scripts loaded" if no scripts are loaded 2019-09-19 21:20:55 +02:00
Sébastien Helleu 8a3ffda0a2 doc: set minimum Ruby version to 1.9.1 in user's guide (closes #1404)
This is now required after the changes introduced by commit
156d855787 in version 2.6.
2019-09-18 21:18:40 +02:00
Sébastien Helleu e04c30f00b doc: update German auto-generated files 2019-09-18 13:58:56 +02:00
Nils Görs 4324ff7c4b Merge branch 'master' of github.com:weechat/weechat 2019-09-18 13:52:31 +02:00
Nils Görs 29cd012627 core: update German translations 2019-09-18 13:51:46 +02:00
Sébastien Helleu d26893a70d core: update ChangeLog (closes #1400) 2019-09-17 21:29:28 +02:00
Tobias Stoeckmann f7b84fcc67 Fixed segfault during excessive evaluation.
It is possible to trigger a segmentation fault while processing
an evaluation of repeating string. On a Linux 64 bit system,
enter this (or adjust arguments for 32 bit accordingly):

/eval -n ${repeat:1073741824,----}

It will overflow an integer calculation because int instead of
size_t is used. Proper check of int limitations fixes this issue.

I haven't changed this specific piece of code to size_t because it
would crash in other parts of the code tree instead. For now, int
is a limitating factor when it comes to strings (and should be
enough for sane use cases).

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2019-09-17 21:26:52 +02:00
Sébastien Helleu 63a05d72d9 buflist: fix extra spaces between buffers when conditions are used to hide buffers (closes #1403)
This is a regression introduced in version 2.6 by commit
bf21ca072d.
2019-09-17 21:21:28 +02:00
Sébastien Helleu 40eb257d0d doc: update German auto-generated file 2019-09-17 09:02:45 +02:00
Nils Görs 8e267ad9f3 core: update German translations 2019-09-17 08:41:54 +02:00
Sébastien Helleu e8be4f62af core: mention possible background color in /help weechat.look.nick_color_force 2019-09-16 20:58:12 +02:00
Sébastien Helleu ea0bdbab1b debian: fix build of packages on Debian Jessie (issue #916, issue #956)
With the new errors on missing libraries in CMake, the PHP plugin must be
explicitly disabled.
2019-09-16 08:46:00 +02:00
Sébastien Helleu d690544499 core: update ChangeLog 2019-09-15 14:53:02 +02:00
Sébastien Helleu ab768ce902 core: remove obsolete file FindTCL.cmake (issue #916, issue #956)
This is file is provided by CMake and is not needed any more.  Moreover, it
causes an error on FreeBSD (TCL not found), even if TCL was properly detected
and used during the build.
2019-09-15 14:48:52 +02:00
Sébastien Helleu bff40e4c26 core: display an error on missing dependency in CMake (closes #916, closes #956) 2019-09-15 07:49:03 +02:00
Sébastien Helleu 9cb6857672 Version 2.7-dev 2019-09-08 08:33:06 +02:00
Sébastien Helleu 7477845205 Version 2.6 2019-09-08 08:13:58 +02:00
Sébastien Helleu ea139e7fdb doc: update Polish auto-generated files 2019-09-07 16:04:57 +02:00
Krzysztof Korościk 2d2d349d3c update polish translation 2019-09-07 15:54:13 +02:00
Sébastien Helleu 948caf0857 Version 2.6-rc2 2019-09-01 11:27:07 +02:00
Sébastien Helleu f24538646f core: update python dependency from python2-devel to python3-devel in cygport file 2019-08-31 20:49:42 +02:00
Sébastien Helleu 1beebdf01e core: fix compilation with autotools on FreeBSD 12.0 2019-08-31 14:18:55 +02:00
Sébastien Helleu 8bb4549494 core: fix compilation of Python plugin on FreeBSD 12.0 (closes #1398) 2019-08-31 14:13:58 +02:00
Sébastien Helleu 63902ef52d debian: add Python version in description of python plugin package 2019-08-30 18:34:31 +02:00
Sébastien Helleu 93775de7ff Version 2.6-rc1 2019-08-27 22:31:43 +02:00
Sébastien Helleu 62944b7168 core: disable option "-Werror-implicit-function-declaration" for C++ compiler
This option is valid for C compiler only.
2019-08-27 22:26:57 +02:00
Sébastien Helleu f0001ed670 doc: update German auto-generated file 2019-08-25 21:01:46 +02:00
Nils Görs e11f6e3046 core: update German translations 2019-08-25 20:05:18 +02:00
Sébastien Helleu 68d6f1b415 api: add infos "term_colors" and "term_color_pairs" 2019-08-25 19:10:32 +02:00
Sébastien Helleu f0685dd1b1 ruby: remove unused variable "ruby_hide_errors" 2019-08-25 07:14:42 +02:00
Sébastien Helleu 0884c9b33c core: move "Python 3 by default" as first item in the release notes 2019-08-24 17:43:49 +02:00
Sébastien Helleu 3938328375 doc: update German auto-generated file 2019-08-24 08:36:52 +02:00
Nils Görs 16592fdbbb core: update German translations 2019-08-24 08:06:44 +02:00
Sébastien Helleu bad8db720e irc: fix parsing of message 346, 348 and 728 when there is a colon before the timestamp (issue #1396)
IRC Messages:
- 346: invite list
- 348: exception list
- 728: quiet list
2019-08-24 07:19:01 +02:00
Sébastien Helleu 61c5d08320 fset: add filters "h=xxx" and "he=xxx" to filter options by description (translated or in English) 2019-08-24 07:13:34 +02:00
Sébastien Helleu 04162214d4 doc: update German auto-generated file 2019-08-22 07:45:10 +02:00
Nils Görs 2fa33b102b core: update German translations 2019-08-21 21:58:47 +02:00
iwalkalone 1e7232b8c2 irc: fix parsing of message 367 (banlist) when there is a colon before the timestamp (closes #1396) 2019-08-21 08:21:07 +02:00
Sébastien Helleu 608ec9f483 core: add values djb2_32 and sum_32 for option weechat.look.nick_color_hash (issue #1394) 2019-08-20 21:20:33 +02:00
Sébastien Helleu 21dca71ee0 ruby: fix compilation with Ruby < 2.3 2019-08-20 07:57:01 +02:00
Sébastien Helleu 7f62985f89 core: use fixed-width integer for computing hashtable DJB2 key hash (closes #1394) 2019-08-19 23:29:22 +02:00
Sébastien Helleu 80f103b68a core: use fixed-width integer for computing nick hash (issue #1394) 2019-08-19 23:27:11 +02:00
Sébastien Helleu 156d855787 ruby: fix conversion of big integers on 32bit architecture (closes #1395) 2019-08-19 23:21:12 +02:00
Sébastien Helleu bf21ca072d buflist: use extra variables in option buflist.look.display_conditions (closes #1393) 2019-08-17 08:57:40 +02:00
Sébastien Helleu a3e8163f37 Revert "buflist: mention variables available for option buflist.look.display_conditions in its help and in /help buflist (closes #1393)"
This reverts commit 39e5b0574c.
2019-08-17 08:43:22 +02:00
Nils Görs ceb579653f doc: update German documentation 2019-08-17 08:28:27 +02:00
Sébastien Helleu 39e5b0574c buflist: mention variables available for option buflist.look.display_conditions in its help and in /help buflist (closes #1393) 2019-08-17 08:17:11 +02:00
Sébastien Helleu 05744f3b61 doc: translate new Freenode Tor Hidden Service (user's guide) 2019-08-15 23:09:39 +02:00
Alfredo Ramos 783aebfd53 doc: use the new Freenode Tor Hidden Service (user's guide)
And add a note for users using an old version of Tor
2019-08-15 23:09:35 +02:00
Sébastien Helleu c411ee475a core: create or update option weechat.notify.xxx when function buffer_set is called with "notify" property (closes #1390) 2019-08-10 17:48:34 +02:00
Sébastien Helleu a409080d8b doc: update German auto-generated file 2019-08-10 17:33:59 +02:00
weechatter b1ae6ad1c6 core: update German translations 2019-08-10 17:22:00 +02:00
Andrew Potter 0957231d30 api: add function list_user_data (issue #666) 2019-08-10 12:55:43 +02:00
Sébastien Helleu 464d31155a core: update ChangeLog (issue #615) 2019-08-10 11:23:51 +02:00
Sébastien Helleu 5f1b895f27 irc: replace calls to strcpy and strcat with a call to snprintf 2019-08-10 11:20:43 +02:00
Sébastien Helleu dfcbb6b058 irc: rename variable vars_replaced to command2, remove fallback on *ptr_command 2019-08-10 11:16:21 +02:00
Sébastien Helleu dd133af522 Merge remote-tracking branch 'origin/pr/615' 2019-08-10 11:12:13 +02:00
Sébastien Helleu befa97ea81 core: mention there's no fallback on the other Python version in release notes 2019-08-10 10:42:53 +02:00
Sébastien Helleu a906afc3d7 core: replace python-dev by python3-dev in dependencies (user's guide) 2019-08-06 22:48:59 +02:00
Sébastien Helleu b4215ee466 tests: add tests on IRC function irc_nick_is_nick 2019-08-06 22:13:10 +02:00
Sébastien Helleu 210e864899 irc: fix memory leak when removing a server 2019-08-05 20:58:24 +02:00
Sébastien Helleu 47010dd9c6 doc: update auto-generated files with hdata 2019-08-04 16:43:48 +02:00
Sébastien Helleu b6cc5ef70f irc: fix length of user/nick/host in split of messages (closes #1387) 2019-08-04 16:39:18 +02:00
Sébastien Helleu 59ba378eec tests: add missing space after name of function 2019-08-04 14:39:58 +02:00
Sébastien Helleu 0bf5a5ae9c irc: add variables "user_max_length" and "host_max_length" in server structure (issue #1387) 2019-08-04 14:39:58 +02:00
Sébastien Helleu 4fa62a83f1 tests: add unit tests on IRC functions irc_message_split* (issue #1387) 2019-08-04 14:39:58 +02:00
Sébastien Helleu 067f237ec3 tests: add unit tests on IRC function irc_message_convert_charset 2019-08-04 14:04:45 +02:00
Sébastien Helleu fbc022a77a core: return NULL immediately if string is NULL in function hook_modifier_exec 2019-08-04 13:30:53 +02:00
Sébastien Helleu c46255b1d0 tests: add unit tests on IRC functions irc_message_parse and irc_message_parse_to_hashtable 2019-08-03 13:57:50 +02:00
Sébastien Helleu d79e0cbd31 tests: add unit tests on IRC function irc_message_replace_vars 2019-08-03 11:34:42 +02:00
Sébastien Helleu 28d79d0c93 tests: add unit tests on IRC functions irc_message_get_{nick,address}_from_host 2019-08-03 11:30:35 +02:00
Sébastien Helleu 478ca22054 irc: return NULL in function irc_message_get_address_from_host if the received host is NULL 2019-08-03 10:53:17 +02:00
Sébastien Helleu 1f52101a41 doc: update German auto-generated files 2019-08-03 10:52:58 +02:00
Sébastien Helleu 9be225b201 core: fix description of changes on Python build in release notes
There's no fallback on the other Python version:
- with no option: build with Python 3 only
- with option ENABLE_PYTHON2: build with Python 2 only.
2019-08-03 08:31:57 +02:00
weechatter 07878046d2 doc: update German documentation 2019-08-01 18:45:49 +02:00
Sébastien Helleu 2e07121457 core: update ChangeLog (issue #1384) 2019-07-31 22:55:40 +02:00
Sébastien Helleu f8b8669d2e Merge pull request #1384 from l2dy/memory
core: fix memory leak in case of error
2019-07-31 22:51:12 +02:00
Sébastien Helleu f3426f4388 doc: update note on Python recommended version in user's guide 2019-07-31 22:42:38 +02:00
Sébastien Helleu ad64fd16e1 core: update ChangeLog (issue #1382) 2019-07-31 22:17:28 +02:00
Sébastien Helleu 99bb662bc5 core: add contributor in AUTHORS.adoc 2019-07-31 22:16:42 +02:00
Sébastien Helleu 8bc5725278 core: remove obsolete checks of old Python version in configure, properly set Python version (issue #1382) 2019-07-31 21:53:16 +02:00
Sébastien Helleu 8897e04c0d core: fix help on python to build with Python 2 (issue #1382) 2019-07-31 21:24:36 +02:00
Eli Schwartz 4744c3fa41 work around broken travis environment variables
See: https://github.com/travis-ci/travis-ci/issues/5301
2019-07-31 20:46:02 +02:00
Eli Schwartz ad7d16a5b3 build: use pkg-config to properly link python
fixes incorrect (non)detection of libpython3.Ym.so due to PEP 3149 since
python's officially exported build flags know how to correctly link to
python.
2019-07-31 20:45:59 +02:00
weechatter b8d69307ee core: update German translations 2019-07-30 22:56:52 +02:00
Sébastien Helleu 015ec85f10 core: add some missing default keys in /help cursor 2019-07-29 22:49:29 +02:00
Zero King acbf021330 core: fix memory leak in case of error 2019-07-27 18:51:29 +00:00
Sébastien Helleu 93cd05bdd8 core: fix French translations on IRC ignores 2019-07-24 18:46:25 +02:00
Sébastien Helleu 5eeb98e40c buflist: use existing variable buflist_hdata_buffer to check buffer pointers in infolist "buflist" 2019-07-13 22:16:25 +02:00
Sébastien Helleu f6bc6fec2e doc: add function "register" in the plugin API reference 2019-07-11 21:12:33 +02:00
Sébastien Helleu c463b84421 doc: add Python prototype for function window_get_string (plugin API reference) 2019-07-11 20:51:52 +02:00
Sébastien Helleu 6461aefcae doc: fix return value of function window_get_string (plugin API reference) 2019-07-11 20:51:48 +02:00
Sébastien Helleu 643376fc1d core: update translations (issue #1375) 2019-07-11 07:30:01 +02:00
Sébastien Helleu 26c0b1270f core: update ChangeLog (issue #1375) 2019-07-11 07:29:56 +02:00
Sébastien Helleu ccaf99ff40 buflist: check validity of buffer pointers in info "buflist" (issue #1375) 2019-07-11 07:29:54 +02:00
Simmo Saan 0fdf2c13a5 buflist: add infolist "buflist" (issue #1375) 2019-07-11 07:29:46 +02:00
Sébastien Helleu fd592c2323 irc: quote NICK command argument sent to the server only if there's a ":" in the nick (closes #1376, issue #1319) 2019-07-11 07:08:36 +02:00
Sébastien Helleu 82a92bd4e9 irc: add unit tests on ignore functions 2019-07-10 19:20:09 +02:00
Sébastien Helleu 162ca1fade irc: split function irc_ignore_check into three functions 2019-07-10 19:19:35 +02:00
Sébastien Helleu e56c7e8c9b debian: disable Javascript plugin on Debian Buster/Bullseye (closes #1374) 2019-07-08 18:29:50 +02:00
Sébastien Helleu 5e9efeb2e3 debian: switch from Lua 5.1 to 5.3 in Debian build 2019-07-07 14:14:37 +02:00
Sébastien Helleu 965173ded5 doc: fix typos in examples of function hook_process_hashtable (plugin API reference) 2019-07-06 20:39:02 +02:00
Sébastien Helleu 768c0d9acc core: move line from "New features" to "Bug fixes" in ChangeLog 2019-07-05 08:43:29 +02:00
Sébastien Helleu 15ce4b2be5 irc: return all arguments in the PONG response to a PING (closes #1369) 2019-07-04 18:48:46 +02:00
Sébastien Helleu 789fa972f8 core: add Python 3 in release notes 2019-07-01 22:16:23 +02:00
Sébastien Helleu 179b00b4a3 doc: update auto-generated files with hdata 2019-07-01 22:09:58 +02:00
Sébastien Helleu 45fc8f1012 doc: rename option ENABLE_PYTHON3 to ENABLE_PYTHON2 in user's guide 2019-07-01 22:04:02 +02:00
Sébastien Helleu c99dd0f611 core: remove pyenv in Travis CI 2019-07-01 21:28:33 +02:00
Sébastien Helleu ab81128a7a core: compile with Python 3 by default
The CMake option ENABLE_PYTHON3 is renamed to ENABLE_PYTHON2, to use Python 2
first then fallback on Python 3.

In the same way, the configure option --enable-python3 is renamed to
--enable-python2, to use Python 2 first then fallback on Python 3.
2019-07-01 21:28:33 +02:00
Sébastien Helleu f9b6f359dd doc: update chapter on colors in user's guide (issue #1343, issue #1345) 2019-06-28 20:58:00 +02:00
Sébastien Helleu a9a1066e63 core: update ChangeLog (closes #1343, closes #1345) 2019-06-28 20:47:07 +02:00
Sébastien Helleu d540ea91ae Merge remote-tracking branch 'origin/pr/1345' 2019-06-28 20:43:21 +02:00
Sébastien Helleu b1ab2a0c50 doc: add description of arguments sent to the weechat_plugin_init plugin function (plugin API reference) 2019-06-26 21:20:01 +02:00
Sébastien Helleu 33ee803609 core: send command line parameter to plugins only if the name starts with the plugin name followed by a colon 2019-06-26 21:13:36 +02:00
Sébastien Helleu 1d6714e428 core: auto disable upgrade process (command line option "--upgrade") if the file weechat.upgrade is not found 2019-06-24 21:35:37 +02:00
Sébastien Helleu 98b5e90469 doc: update German auto-generated file 2019-06-22 08:43:24 +02:00
Sébastien Helleu b0ad684f6b irc: fix help of /connect command: the server is optional 2019-06-22 08:42:38 +02:00
weechatter ca73fabc72 core: update German translations 2019-06-18 19:15:15 +02:00
Sébastien Helleu f15a24b2ec core: add option "close" in command /window (closes #853) 2019-06-17 21:08:07 +02:00
Sébastien Helleu e5f963f78a doc: update auto-generated files with URL options 2019-06-16 23:03:48 +02:00
Sébastien Helleu 087d4c7af3 core: add Curl options for versions 7.53.0 to 7.63.0 2019-06-16 22:28:08 +02:00
Sébastien Helleu 07a8c4a0ec doc: update German auto-generated file 2019-06-16 16:13:17 +02:00
weechatter eb2535982c core: update German translations 2019-06-16 14:10:11 +02:00
Sébastien Helleu fe90a5ed4e core: replace newlines by spaces in argument "completion" of function hook_command (closes #538) 2019-06-16 08:14:24 +02:00
Sébastien Helleu 60c61c3962 irc: disable server reconnection when the server buffer is closed (closes #236) 2019-06-15 22:46:14 +02:00
Sébastien Helleu 0d9b7ec954 irc: strip spaces at beginning/end of addresses in server option "addresses" (closes #195) 2019-06-15 20:50:48 +02:00
Sébastien Helleu 9178156354 api: add argument "strip_items" in function string_split 2019-06-15 20:47:14 +02:00
Sébastien Helleu 866a29c7e6 core: check that string pointer is not NULL in function "string_shared_get" 2019-06-15 17:21:06 +02:00
Sébastien Helleu 95cbf3a48b irc: remove capability from cap_list when a client capability is disabled (issue #151) 2019-06-15 08:56:48 +02:00
Sébastien Helleu b6c304ac87 irc: fix display of enabled/disabled client capabilities received in command CAP ACK (closes #151) 2019-06-15 08:14:22 +02:00
Sébastien Helleu 31d0742aed doc: remove obsolete options for "brew install" command (user's guide) 2019-06-12 23:37:17 +02:00
Sébastien Helleu 7d24dd5a6c core: add contributor in AUTHORS.adoc 2019-06-12 23:34:36 +02:00
Johan Rylander 6c114bbba7 doc: remove obsolete options for "brew install" command (FAQ) 2019-06-12 23:33:33 +02:00
Sébastien Helleu 4b90549b86 doc: improve tree with log files in user's guide 2019-06-12 23:07:32 +02:00
Sébastien Helleu 04fd587fff exec: evaluate option exec.command.shell, change default value to "${env:SHELL}" (closes #1356) 2019-06-12 18:29:07 +02:00
Sébastien Helleu eb216de9b8 core: add contributor in AUTHORS.adoc 2019-06-07 21:36:58 +02:00
Sébastien Helleu 4d8785289d core: update ChangeLog 2019-06-07 21:36:28 +02:00
jesopo 4ea193c981 alias: remove default aliases /AME and /AMSG 2019-06-07 21:35:15 +02:00
Sébastien Helleu 7aa82db471 core: replace char "," by "~" in color codes to separate foreground from background (closes #1264) 2019-06-07 21:29:05 +02:00
Sébastien Helleu f065b43b71 doc: replace "cmake" by "CMake" 2019-06-07 21:14:17 +02:00
Sébastien Helleu 96d1276446 Version 2.6-dev 2019-06-06 21:03:56 +02:00
Sébastien Helleu 2904a2e811 Version 2.5 2019-06-06 20:43:20 +02:00
Sébastien Helleu c64cbe1a84 doc: update French auto-generated file 2019-06-06 20:09:08 +02:00
Sébastien Helleu 40f12ec20f core: add FUNDING.yml 2019-06-05 21:32:54 +02:00
Sébastien Helleu 4c9b61755b Version 2.5-rc2 2019-06-04 23:12:40 +02:00
Sébastien Helleu 22895f3f5e relay: set socket option SO_KEEPALIVE only for TCP sockets when creating the socket (issue #733) 2019-06-04 22:59:42 +02:00
Sébastien Helleu 479d234ced relay: set socket option SO_REUSEADDR only for TCP sockets when creating the socket (issue #733) 2019-06-04 22:54:00 +02:00
Sébastien Helleu 86d9cb1e41 relay: set socket option SO_REUSEADDR only for TCP sockets (issue #733) 2019-06-04 22:45:54 +02:00
Sébastien Helleu b4dadd6d98 relay: add UNIX domain socket completion for command /relay add (issue #733) 2019-06-04 22:29:18 +02:00
Sébastien Helleu bfbb511169 relay: fix typo in French translation of /help relay (issue #733) 2019-06-04 22:27:03 +02:00
Sébastien Helleu 22e6777aed relay: fix crash when deleting a relay (issue #733) 2019-06-04 22:19:39 +02:00
Sébastien Helleu 66011b4bee relay: fix truncated path when the unix socket path is longer than the authorized one (issue #733) 2019-06-04 22:19:31 +02:00
Sébastien Helleu 917b2ddf69 spell: add a warning if aspell.conf is still present (on first spell load) 2019-06-04 20:56:05 +02:00
Sébastien Helleu c4a482e067 core: sort changes by importance instead of commit date in release notes 2019-06-04 07:52:42 +02:00
Sébastien Helleu 5edf6ff1c5 doc: update Polish auto-generated files 2019-06-02 06:01:05 +02:00
Krzysztof Korościk a6f44be396 po: upated polish translation 2019-06-01 00:15:12 +02:00
Krzysztof Korościk 5e1174d135 doc: updated polish translation 2019-05-31 23:18:12 +02:00
weechatter 2ab08885be doc: update German documentation 2019-05-27 22:49:17 +02:00
Sébastien Helleu 99bb53f693 doc: add example of WeeChat command to setup the password in a WeeChat IRC relay client (user's guide) 2019-05-27 21:40:01 +02:00
Sébastien Helleu a599e0328b doc: disambiguate key binding "l", which is lower "L" (not "1") 2019-05-27 21:38:39 +02:00
weechatter f3f5bf1d31 core: update German translations 2019-05-26 15:00:15 +02:00
Sébastien Helleu 92a4948666 doc: add extra left/right margins on key sequences 2019-05-26 14:52:00 +02:00
Sébastien Helleu c0bb243541 doc: add links to WeeChat directories and files (user's guide) 2019-05-26 14:51:14 +02:00
Sébastien Helleu f1f1474fda doc: update Japanese auto-generated file 2019-05-26 13:22:17 +02:00
Sébastien Helleu b0554c7415 Merge pull request #1349 from l/master/translation/ja_JP
core: update Japanese translations
2019-05-26 13:21:35 +02:00
AYANOKOUZI, Ryuunosuke 26c844cd25 core: update Japanese translations 2019-05-26 09:00:00 +09:00
Sébastien Helleu ad40118469 doc: increase font size for key bindings 2019-05-25 16:10:23 +02:00
Sébastien Helleu bea63c7b60 doc: remove extra spaces before colons 2019-05-24 21:53:41 +02:00
Sébastien Helleu d3c3e97a0d doc: remove extra space in python dict (scripting guide) 2019-05-24 21:53:17 +02:00
Sébastien Helleu 7cf4585690 doc: fix styles in user's guide 2019-05-24 21:52:35 +02:00
Sébastien Helleu c9762c84e1 doc: fix style in bar items chapter (user's guide) 2019-05-23 21:12:40 +02:00
Sébastien Helleu c716ec1398 doc: update German auto-generated file 2019-05-16 22:02:52 +02:00
weechatter 403555d1be core: update German translations 2019-05-16 20:55:13 +02:00
Sébastien Helleu b6d56d4972 Version 2.5-rc1 2019-05-14 20:31:36 +02:00
Sébastien Helleu 34adcde2ff irc: add extra check on argument "nick" in functions "irc_nick_set_*" 2019-05-14 07:26:48 +02:00
Sébastien Helleu f6d6f7bac5 irc: fix crash when the nick in incoming message is not found in channel 2019-05-14 07:25:04 +02:00
Sébastien Helleu 90610c55c8 relay: remove useless condition
This fixes a compilation warning on FreeBSD.
2019-05-13 22:08:35 +02:00
Sébastien Helleu 828710737a core: update ChangeLog (closes #733, closes #1333) 2019-05-13 21:57:42 +02:00
Sébastien Helleu ec5aca81e7 relay: set address to "local" if not known 2019-05-13 21:57:23 +02:00
Sébastien Helleu 9ed89beaa0 core: update translations 2019-05-13 21:43:11 +02:00
Sébastien Helleu 8121747e7b relay: rename variables in function relay_config_check_path_length 2019-05-13 20:50:13 +02:00
Simmo Saan 5988d17d2d gui: simplify and revert FindNcurses using PATH_SUFFIXES for system default search 2019-05-13 14:18:02 +00:00
Simmo Saan 980d26956f gui: fix wide ncurses header on FreeBSD (issue #1343) 2019-05-13 13:48:39 +00:00
Sébastien Helleu 6f3e563f8b relay: fix comment 2019-05-12 22:57:25 +02:00
Sébastien Helleu 4d156ed8d7 doc: update chapter on relay unix domain sockets; add translations (user's guide) 2019-05-12 22:52:33 +02:00
Sébastien Helleu d1577b34da relay: set mode 700 on the unix socket file (only the owner can use it) 2019-05-12 22:27:43 +02:00
Sébastien Helleu ef1fcbd183 relay: do not overwrite a file if it's not a socket, display an error when the socket can not be created 2019-05-12 22:18:42 +02:00
Sébastien Helleu 585eb337e8 relay: evaluate path of unix socket relay 2019-05-12 21:53:23 +02:00
Sébastien Helleu b228ccdfc3 relay: rename function relay_config_check_path_len to relay_config_check_path_length 2019-05-12 21:39:22 +02:00
Sébastien Helleu ade52cdc7d relay: fix update of port/path variables in relay server when options relay.port.* and relay.path.* are changed with /set 2019-05-12 21:39:22 +02:00
Sébastien Helleu eacc08f2e1 relay: fix section used when the unix relay does not start with "unix." 2019-05-12 21:39:22 +02:00
Sébastien Helleu f273487688 relay: add unix relay format in /help relay 2019-05-12 21:39:22 +02:00
Sébastien Helleu 170c523c84 relay: remove extra newline at the end of /help relay 2019-05-12 21:39:22 +02:00
Sébastien Helleu c4230ecece relay: remove local variable ptr_server from function relay_config_check_path_cb (not needed) 2019-05-12 21:39:22 +02:00
Sébastien Helleu c1af2702b8 relay: improve message displayed on a new client 2019-05-12 21:39:22 +02:00
Sébastien Helleu 78fda01dd5 relay: improve message displayed when the relay is removed 2019-05-12 21:39:22 +02:00
Sébastien Helleu 9d04bc5801 relay: improve message displayed when the relay is added 2019-05-12 21:39:22 +02:00
Sébastien Helleu abe85999d8 relay: rename function relay_config_create_option_port to relay_config_create_option_port_path 2019-05-12 21:39:22 +02:00
Sébastien Helleu df3848e1f0 relay: fix code style 2019-05-12 21:39:22 +02:00
Sébastien Helleu c78fb8dc7c relay: rename variable "un" to "unix_socket" 2019-05-12 18:52:22 +02:00
Ryan Farley ffefd1b785 relay: add UNIX socket support (closes #733) 2019-05-12 18:51:13 +02:00
Nils Görs 5f87112ec5 doc: update German documentation 2019-05-12 14:28:40 +02:00
Sébastien Helleu 01795251f9 doc: fix typo in French scripting guide 2019-05-12 09:27:43 +02:00
Sébastien Helleu 1d3d0aa66e doc: add chapter about WeeChat architecture in scripting guide 2019-05-12 09:25:45 +02:00
Sébastien Helleu a24817b141 irc: rename server variable "nick_host" to "host" 2019-05-12 07:46:01 +02:00
Sébastien Helleu e1fb8433ce core: update ChangeLog (issue #1346) 2019-05-11 20:33:37 +02:00
Sébastien Helleu e3c38d7163 core: add detection of Ruby 2.6 in autotools 2019-05-11 20:32:45 +02:00
Sébastien Helleu b66655b1de Merge pull request #1346 from J0WI/patch-1
core: add detection for Ruby 2.6
2019-05-11 20:31:30 +02:00
J0WI 38b195214b core: add detection for Ruby 2.6 2019-05-11 13:31:34 +02:00
Sébastien Helleu 26ba04b454 irc: set buffer local variable "nick_host" when a channel buffer is opened 2019-05-10 22:25:56 +02:00
Sébastien Helleu 35237c8088 irc: add bar items "irc_nick", "irc_host" and "irc_nick_host" 2019-05-10 22:00:33 +02:00
Sébastien Helleu 06aa7034fb irc: add variable "nick_host" in server structure 2019-05-10 21:59:31 +02:00
Sébastien Helleu 2073408b86 irc: fix parsing of MODE command when there are colons after the first mode argument (closes #1296) 2019-05-10 19:29:58 +02:00
Simmo Saan 5910bcf3c8 gui: fix wbkgrndset for non-wide ncurses by fallback to wbkgdset (issue #1343)
cchar_t, setcchar and wbkgrndset are actually widec ncurses features,
not ext-colors features, but NCURSES_WIDECHAR doesn't accurately reflect
their existence so NCURSES_EXT_COLORS is used instead.
2019-05-04 14:31:11 +03:00
Simmo Saan c7b242ffd9 gui: readd color buffer table zero padding and dashes (issue #1343) 2019-05-02 21:16:57 +03:00
Simmo Saan bf1462d7a1 gui: change command line option "-c" color pairs table to match (issue #1343) 2019-05-02 21:06:42 +03:00
Simmo Saan f5f6cf028c gui: change color buffer pairs table to only show allocated pairs (issue #1343) 2019-05-02 19:30:22 +03:00
Simmo Saan d392b406c5 gui: increase ncurses color pair limit from 255 to 32767 (issue #1343) 2019-05-02 19:30:22 +03:00
Simmo Saan 08719963de gui: replace ncurses COLOR_PAIR attribute usage with special functions (issue #1343) 2019-05-02 19:30:22 +03:00
Sébastien Helleu 141b42817f core: update ChangeLog (issue #1341, issue #1342) 2019-05-01 08:35:07 +02:00
Sébastien Helleu 4ddfbc9714 core: add contributor in AUTHORS.adoc 2019-05-01 08:33:47 +02:00
Sébastien Helleu 2712f0991b core: replace CMAKE_INSTALL_PREFIX by ${prefix} in libdir (weechat.pc) 2019-05-01 08:32:36 +02:00
Sébastien Helleu 1102f8ccf0 Merge pull request #1342 from ryan-farley/libdir_fix
cmake: allow custom libdir (fix #1341)
2019-05-01 08:29:59 +02:00
Ryan Farley 8df3ad3d26 cmake: allow custom libdir (fix #1341)
Allows for custom LIBDIR to specified with cmake builds. WEECHAT_LIBDIR
is used for a custom Weechat directory, or set from LIBDIR (as LIBDIR
used to be set).
2019-04-25 16:53:55 -05:00
Sébastien Helleu 38535686f8 core: update ChangeLog 2019-04-20 11:00:29 +02:00
Sébastien Helleu ece92efd81 tests: add link with iconv library (if found)
This fixes a compilation error on FreeBSD.
2019-04-20 10:15:01 +02:00
Nils Görs 4718112c1c doc: update German documentation 2019-04-19 23:07:36 +02:00
Sébastien Helleu d9d1fa7210 doc: translate quickstart changes in other languages 2019-04-19 21:25:33 +02:00
Sébastien Helleu 7f00a51e19 Merge remote-tracking branch 'origin/pr/1340' 2019-04-19 20:55:23 +02:00
Michael Siegel 0b330762fa quick start guide: make two separate sections out of section 2 2019-04-19 18:18:47 +00:00
Nils Görs 88404452e0 doc: update German documentation 2019-04-19 07:12:45 +02:00
Sébastien Helleu ebff142511 core: add contributor in AUTHORS.adoc 2019-04-17 07:45:00 +02:00
Sébastien Helleu a706ee976c doc: translate quickstart changes in other languages 2019-04-17 07:44:03 +02:00
Sébastien Helleu 1e63cdcd9f Merge remote-tracking branch 'origin/pr/1339' 2019-04-17 07:32:03 +02:00
Michael Siegel ec337a7601 quick start guide: rearrange content in section 2
Put everything help-related first, then explain how to set options.
2019-04-16 22:02:19 +00:00
Sébastien Helleu 1582d923e6 core: use getopt to parse command line arguments
Multiple options can now be given in a single flag, for example:

  weechat -ast

Following formats were allowed for command line argument with a value:

  weechat -d /tmp/weechat
  weechat --dir /tmp/weechat

Now these extra formats are supported as well:

  weechat -d/tmp/weechat
  weechat --dir=/tmp/weechat
2019-04-14 13:35:47 +02:00
Sébastien Helleu cc2a6db335 doc: update Japanese auto-generated files 2019-04-14 13:21:09 +02:00
Sébastien Helleu cb28372dd7 Merge pull request #1337 from l/master/translation/ja_JP
core: update Japanese translations
2019-04-14 13:20:03 +02:00
Sébastien Helleu b376f9f013 Merge pull request #1336 from msiism/master
quick start guide: insert “the” where missing
2019-04-14 09:11:33 +02:00
Sébastien Helleu 0e2baa56cf doc: update German auto-generated files 2019-04-14 08:55:19 +02:00
AYANOKOUZI, Ryuunosuke 1876e84c82 core: update Japanese translations 2019-04-14 09:00:00 +09:00
Michael Siegel b4ecfa0159 quick start guide: insert “the” where missing 2019-04-13 20:22:17 +00:00
Nils Görs 2b65c351a8 core: update German translations 2019-04-13 21:18:56 +02:00
Sébastien Helleu 4063abc86b core: bump API version
This is required after changes on functions hook_info and info_get.
2019-04-13 20:48:42 +02:00
Sébastien Helleu dbf6691243 core: add contributor in AUTHORS.adoc (issue #931) 2019-04-13 20:48:11 +02:00
Sébastien Helleu ebf38f142e core: merge functions gui_line_prefix_is_same_nick_as_{previous|next} (issue #931) 2019-04-13 20:46:05 +02:00
Sébastien Helleu 573377e2d9 core: fix /help weechat.look.buffer_time_same 2019-04-13 20:38:19 +02:00
Adrian Bjugård 0b5bff9ef5 core: add option weechat.look.prefix_same_nick_middle (closes #930, closes #931) 2019-04-13 20:36:41 +02:00
Nils Görs 36fc3fdc3b core: update German translations 2019-04-13 18:48:08 +02:00
Nils Görs 92e3217cf5 core: update German translations 2019-04-13 17:40:47 +02:00
Simmo Saan 97e9046918 core: add option weechat.look.buffer_time_same (closes #1127) 2019-04-13 14:45:53 +02:00
Sébastien Helleu 63c992922c Merge pull request #1334 from msiism/master
Improve intro of “Start WeeChat” section
2019-04-13 13:54:27 +02:00
Sébastien Helleu 30768d4d24 trigger: add hook "info_hashtable" 2019-04-13 13:53:16 +02:00
Sébastien Helleu 8bc06ea101 trigger: add hook "info" 2019-04-13 08:52:40 +02:00
Sébastien Helleu 299c308f00 irc: fix memory leak in infos "irc_server_isupport" and "irc_server_isupport_value" 2019-04-13 08:42:45 +02:00
Sébastien Helleu 3d95217745 api: return allocated string in hook_info callback and function info_get 2019-04-13 08:42:45 +02:00
Michael Siegel beb04085d8 Improve intro of “Start WeeChat” section 2019-04-11 21:58:09 +00:00
Sébastien Helleu c80dc2a5ca Merge pull request #1332 from msiism/master
Two grammar fixes for WeeChat user’s guide
2019-04-11 22:40:56 +02:00
Michael Siegel 20c4cb5ae4 Improve grammar in “Screen layout” section 2019-04-11 19:46:57 +00:00
Michael Siegel 734d17993c Add missing “the” to footnote in “Files and directories” 2019-04-11 19:34:27 +00:00
Sébastien Helleu f701caf5bb doc: fix styles in user guide and plugin API reference 2019-04-11 20:56:35 +02:00
Sébastien Helleu 5440c9d91c doc: update German auto-generated file 2019-04-07 10:22:31 +02:00
Nils Görs 1f170bd7f3 core: update German translations 2019-04-06 22:15:58 +02:00
Sébastien Helleu a84c32cf30 xfer: add option xfer.network.speed_limit_recv (closes #269)
For consistency, the option xfer.network.speed_limit has been renamed to
xfer.network.speed_limit_send.
2019-04-06 14:11:07 +02:00
Sébastien Helleu 6ebd97cc63 core: fix typos in README 2019-04-04 20:50:49 +02:00
Sébastien Helleu f8d5776ec9 core: add links to Mastodon and Twitter in README 2019-04-04 20:49:23 +02:00
Sébastien Helleu a34233d54b core: remove link to Google+ in README 2019-04-04 20:49:06 +02:00
Nils Görs 544d006fb7 core: update German translations 2019-04-02 22:08:58 +02:00
Sébastien Helleu 6fa4494aae tests: add test with multiple wildcards in call to function string_match 2019-04-01 00:18:21 +02:00
Sébastien Helleu 5d02ff9a6d tests: add tests on function util_signal_search 2019-04-01 00:15:25 +02:00
Sébastien Helleu d2571ab53b tests: add tests on util_timeval functions 2019-04-01 00:07:32 +02:00
Sébastien Helleu 709334eede tests: add tests on function util_parse_delay with unit "ms" (milliseconds) 2019-04-01 00:02:49 +02:00
Sébastien Helleu 5f1b2722c8 doc: update Japanese auto-generated files 2019-03-31 23:54:50 +02:00
Sébastien Helleu 413aa499cc core: add documentation on command line debug options (in --help and man pages)
Command line debug options are now documented:

* --no-dlclose: do not call the function dlclose after plugins are unloaded
* --no-gnutls: do not call the init and deinit functions of GnuTLS library
* --no-gcrypt: do not call the init and deinit functions of Gcrypt library

These options must not be used in production, they're for debug only and can be
used with tools like Valgrind or electric-fence.
2019-03-31 23:53:54 +02:00
Sébastien Helleu c469f30be5 doc: fix generation of man page weechat-headless with autotools 2019-03-31 23:51:28 +02:00
Sébastien Helleu 5980a4deb8 Merge pull request #1328 from l/master/translation/ja_JP
core: update Japanese translations
2019-03-31 23:46:27 +02:00
AYANOKOUZI, Ryuunosuke 80becc9a29 core: update Japanese translations 2019-04-01 09:00:00 +09:00
Sébastien Helleu c77bffaa52 doc: update German auto-generated file 2019-03-29 23:27:45 +01:00
Sébastien Helleu dad451af34 core: send code coverage only with gcc, not with clang 2019-03-29 23:17:27 +01:00
Sébastien Helleu 3f80ae0ee8 core: add codecov badge 2019-03-29 23:17:09 +01:00
Sébastien Helleu d91954490f core: move coverage.info in parent directory 2019-03-29 23:01:27 +01:00
Sébastien Helleu 56d6b510e6 core: move upload of code coverage from build-test.sh to .travis.yml 2019-03-29 22:53:26 +01:00
Sébastien Helleu 33cefb7daa core: fix upload of code coverage to codecov.io 2019-03-29 22:46:13 +01:00
Sébastien Helleu 3e22bc116b core: upload code coverage on codecov.io in Travis CI 2019-03-29 22:37:03 +01:00
Nils Görs 4df26f391d core: update German translations 2019-03-29 22:34:33 +01:00
Sébastien Helleu b97fc2bd0f core: don't execute command scheduled by /repeat if the buffer does not exist any more 2019-03-29 20:42:00 +01:00
Sébastien Helleu 2571d17cb9 core: don't execute command scheduled by /wait if the buffer does not exist any more 2019-03-29 20:37:18 +01:00
Sébastien Helleu f1d18f4c26 core: use seconds by default in /repeat interval, allow unit for the interval 2019-03-29 20:31:19 +01:00
Sébastien Helleu fa5b1eed77 core: move parsing of /wait delay in a separate function, with unit tests 2019-03-29 20:17:26 +01:00
Sébastien Helleu b3cf270d1d core: allow text in addition to a command in command /repeat 2019-03-29 08:37:57 +01:00
Sébastien Helleu 8251f1fd13 core: update ChangeLog 2019-03-28 22:18:16 +01:00
Sébastien Helleu da43e95c75 relay: use option "delay" in call to command_options (closes #1327)
This fixes a crash when sending "/plugin reload relay" from a relay client.
2019-03-28 22:07:25 +01:00
Sébastien Helleu 4e9e5f2652 api: add option "delay" in hashtable options of function command_options (issue #1327) 2019-03-28 22:07:04 +01:00
Sébastien Helleu 2f37de9148 core: make "input_commands_allowed" work with /wait and /repeat commands (issue #928) 2019-03-28 18:45:22 +01:00
Sébastien Helleu 9b4fa10923 core: set CMake minimum version required to 3.0
This is required for add_library() with INTERFACE library type.
2019-03-25 08:52:53 +01:00
Sébastien Helleu c713a0e475 tests: fix scripting API tests on 32-bit arch
The problem is that on 32-bit arch (like GNU/Hurd), the number 42000000000000
is converted to 42000000000000L in Python, which is causing troubles in other
languages like Perl.

The fix is to use a smaller number. Such large size for function
string_format_size is tested in the C++ test suite anyway.
2019-03-25 00:18:55 +01:00
Sébastien Helleu b04d8934ee tests: fix style in CMake file 2019-03-24 13:43:19 +01:00
Sébastien Helleu 96d3a3834c doc: improve description of CMake option ENABLE_PYTHON3 in user's guide 2019-03-24 09:38:43 +01:00
Sébastien Helleu 429fafd42f doc: fix typo Gnutls -> GnuTLS in user's guide 2019-03-24 09:38:43 +01:00
Sébastien Helleu 6c41e627cd doc: fix description of man/doc CMake options in user's guide 2019-03-24 09:38:43 +01:00
Sébastien Helleu 2612adf899 core: add CMake option "ENABLE_CODE_COVERAGE" to compile with code coverage options
This option is OFF by default and should be enabled only for tests, to measure
test coverage.
2019-03-24 09:38:43 +01:00
Sébastien Helleu 47c4329404 debian: update changelog 2019-03-23 22:15:18 +01:00
Sébastien Helleu ecfe6756f8 core: switch from Ubuntu Trusty to Xenial in Travis CI 2019-03-23 22:00:26 +01:00
Sébastien Helleu e68754aafe lua: add detection of Lua 5.3 with autotools 2019-03-23 22:00:03 +01:00
Sébastien Helleu 34bf68d38e tests: remove extra output before/after tests 2019-03-23 20:08:17 +01:00
Sébastien Helleu ff32112396 irc: fix length of string for SHA-512, SHA-256 and SHA-1 in help on ssl_fingerprint option 2019-03-21 23:36:24 +01:00
Sébastien Helleu 2da148eb55 core: add Haiku as supported platform in README 2019-03-21 22:02:31 +01:00
Nils Görs 21e227020f core: update German translations 2019-03-19 23:18:33 +01:00
Sébastien Helleu bb017b2613 irc: display an error with /allchan -current or /allpv -current if the current buffer is not an irc buffer (closes #1325) 2019-03-19 20:37:06 +01:00
Sébastien Helleu 766bea3f9e tests: remove value for first #define in headers 2019-03-19 20:33:30 +01:00
Sébastien Helleu c4bf528b4e php: remove value for first #define in headers 2019-03-19 20:33:16 +01:00
Sébastien Helleu 8f79b1c0fc doc: add missing keys Ctrl+F1 and Ctrl+F2 for buflist (FAQ) 2019-03-19 20:32:27 +01:00
Sébastien Helleu f6c5061590 irc: fix update of channels modes with arguments when joining a channel (closes #1324) 2019-03-18 20:39:42 +01:00
Sébastien Helleu 1ef7a55e72 core: fix typo: Weechat -> WeeChat 2019-03-17 18:34:21 +01:00
Sébastien Helleu 3ee87bcfce core: fix description of Cygwin "weechat" package 2019-03-17 18:12:54 +01:00
Sébastien Helleu 58f4c37a63 core: fix version numbering scheme in cygport file 2019-03-17 14:40:36 +01:00
Sébastien Helleu 413221bc9e doc: update German auto-generated file 2019-03-12 22:58:54 +01:00
Nils Görs 840c815bb0 Merge branch 'master' of github.com:weechat/weechat 2019-03-12 22:43:03 +01:00
Nils Görs 27f33624bd core: update German translations 2019-03-12 22:42:39 +01:00
Sébastien Helleu 78cabc2e06 relay: fix compilation warning when gnutls is not found 2019-03-12 22:26:55 +01:00
Sébastien Helleu 5c2c19c0cd irc: fix compilation warning when gnutls is not found 2019-03-12 22:26:28 +01:00
Sébastien Helleu 99e48d7fa3 core: set max length to 4096 for /secure passphrase (closes #1323) 2019-03-12 21:30:01 +01:00
Sébastien Helleu bc6c1f274c core: improve message displayed when a command is not allowed (issue #928)
The whole command with arguments and the full buffer name are now displayed in
the warning message (in debug mode only).
2019-03-11 21:12:40 +01:00
Sébastien Helleu 92e176ab89 relay: use empty value by default for option relay.weechat.commands (issue #928)
The relay client is supposed to be safe by default, and the relay connection
should be protected by the different ways (restriction on IP address, SSL,
strong password, Time-based One-Time Password, local bind address and use of
SSH tunnel…).

So this option lets the user add extra security by allowing only some
commands (whitelist), or allowing any commands except a list of given
commands (blacklist).
2019-03-11 21:12:23 +01:00
Sébastien Helleu e44c4904c3 relay: add forbidden commands /key and /trigger in weechat protocol (issue #928) 2019-03-10 22:58:50 +01:00
Sébastien Helleu 508f224af9 relay: add forbidden commands /wait and /repeat in weechat protocol (issue #928) 2019-03-10 18:29:22 +01:00
Sébastien Helleu 2b70d71aa1 core: replace argument "keep_eol" by "flags" in function string_split (closes #1322) 2019-03-10 18:29:16 +01:00
Sébastien Helleu 8aa5f5375e core: add value -1 for keep_eol in function string_strip (issue #1322)
The value -1 means it's a standard split, but empty items are kept, and
separators are not removed at beginning/end of string.
2019-03-09 21:56:05 +01:00
Sébastien Helleu 79d0910c08 doc: update German auto-generated file 2019-03-09 20:51:31 +01:00
Nils Görs b925ed5950 core: update German translations 2019-03-09 19:34:40 +01:00
Sébastien Helleu dd44c1db16 relay: add extra forbidden commands in weechat protocol (issue #928)
Commands were already forbidden (option relay.weechat.commands):

- /exec
- /upgrade
- /quit

These extra commands are now forbidden by default:

- /fset
- /set
- /unset
- /plugin
- /script
- /python
- /perl
- /ruby
- /lua
- /tcl
- /guile
- /javascript
- /php
- /secure
2019-03-09 17:54:06 +01:00
Sébastien Helleu 2f5aa3b509 core: use bitwise shift operator to define flag constants 2019-03-02 11:09:52 +01:00
Sébastien Helleu 76290729b7 core: add contributor in AUTHORS.adoc (issue #1319) 2019-03-01 07:42:32 +01:00
Sébastien Helleu b9044f5ca1 core: update ChangeLog (issue #1319) 2019-03-01 07:41:24 +01:00
Sébastien Helleu 7b43d2fe43 Merge pull request #1319 from phy1729/quote-nick
irc: quote argument to NICK
2019-03-01 07:40:42 +01:00
Matthew Martin 77a9322bbf irc: quote argument to NICK 2019-02-28 18:55:26 -06:00
Nils Görs 6a0e9818a9 core: update German translations 2019-02-28 21:41:09 +01:00
Sébastien Helleu 791406f26f doc: fix typo in FAQ 2019-02-28 21:38:05 +01:00
Sébastien Helleu c91e47c414 script: use SHA-512 instead of MD5 for script checksum
Related to weechat/weechat.org@66a8b72ab1
2019-02-28 20:55:10 +01:00
Sébastien Helleu d290de2cba relay: add option relay.weechat.commands (closes #928) 2019-02-28 20:24:25 +01:00
Sébastien Helleu 80b980b2af api: add function command_options (issue #928) 2019-02-28 20:19:18 +01:00
Sébastien Helleu 64043d5a6c php: fix memory leak in functions using hashtable parameters
Functions fixed in PHP plugin:

- string_eval_expression
- string_eval_path_home
- key_bind
- hook_process_hashtable
- hook_hsignal_send
- info_get_hashtable
- hdata_update
2019-02-27 07:51:02 +01:00
Sébastien Helleu c079cc124e doc: fix typo in plugin API reference 2019-02-27 07:46:33 +01:00
Sébastien Helleu 55501b84d6 core: remove function gui_buffer_match_list_split, use function string_match_list 2019-02-27 07:46:29 +01:00
Sébastien Helleu 17a218e6b6 core: use function string_match_list for the autoload of plugins 2019-02-27 07:46:26 +01:00
Sébastien Helleu c2859096cb api: add function string_match_list 2019-02-27 07:46:22 +01:00
Sébastien Helleu e473161c9f core: remove parentheses after function names in ChangeLog 2019-02-26 20:02:21 +01:00
Sébastien Helleu e6850dcf9e Merge pull request #1318 from arza-zara/typos
fset: fix typo in /help fset.format.option2
2019-02-26 19:55:16 +01:00
arza 2af3157dc2 fset: fix typo in /help fset.format.option2 2019-02-26 19:33:03 +02:00
Sébastien Helleu a10769f0f8 doc: move spell chapter after scripts in user's guide 2019-02-26 08:01:42 +01:00
Sébastien Helleu 4ef149b591 core: clarify changes on option weechat.completion.nick_completer in release notes 2019-02-25 18:49:46 +01:00
Sébastien Helleu f1d30dc0b1 core: fix alignment of images in README 2019-02-24 17:03:01 +01:00
Sébastien Helleu a817327b0e core: add WeeChat logo in README 2019-02-24 16:14:57 +01:00
Sébastien Helleu 471f9c61da relay: remove obsolete comment 2019-02-24 16:13:04 +01:00
Sébastien Helleu 466268d5ef doc: update German auto-generated files 2019-02-24 10:03:30 +01:00
Nils Görs 485f5d3e87 core: update German translations 2019-02-23 23:25:22 +01:00
Sébastien Helleu 8eb24f4338 core: update ChangeLog (issue #1055, issue #1312) 2019-02-23 13:41:49 +01:00
Sébastien Helleu 4a13e1ac7e core: update translations (issue #1055, issue #1312) 2019-02-23 13:40:23 +01:00
Simmo Saan c84ac65954 core: add /filter addreplace (closes #1055) 2019-02-23 13:37:46 +01:00
Sébastien Helleu 525417c2c6 core: update ChangeLog (issue #1309, issue #1311) 2019-02-23 11:23:14 +01:00
Sébastien Helleu 68b56291f9 core: merge two comments in a single one (issue #1309, issue #1311) 2019-02-23 11:22:58 +01:00
Sébastien Helleu 7b79fbbd09 Merge remote-tracking branch 'origin/pr/1311' 2019-02-23 11:17:02 +01:00
Sébastien Helleu bdc905df16 core: replace "Desired behavior" by "Expected behavior" in bug report template 2019-02-22 21:46:24 +01:00
Sébastien Helleu baa598276c fset: fix slow refresh of fset buffer during /reload (closes #1313) 2019-02-22 21:33:39 +01:00
Sébastien Helleu 355843b27a core: move "Current behavior" after "Steps to reproduce" in bug report template 2019-02-22 21:00:55 +01:00
Simmo Saan 8ac4a75969 gui: fix use after free bug in /filter del (issue #1309)
Deleting (freeing) a filter also frees its buffers, so refilter must
happen before freeing. Disabling the filter temporarily fixes the bug.

This fix disables the filter before filter_removing signal, though.
2019-02-21 16:15:58 +02:00
Simmo Saan 91936ff583 gui: only refilter affected buffers on filter change (closes #1309) 2019-02-21 16:03:15 +02:00
Sébastien Helleu 33581dd1a7 doc: update German auto-generated files 2019-02-20 08:40:34 +01:00
Nils Görs d2ac854bfa core: update German translations 2019-02-20 08:36:58 +01:00
Nils Görs dd8969413d core: update German translations 2019-02-20 08:25:50 +01:00
Sébastien Helleu 21c02a0378 core: add command to change key alt+s in release notes 2019-02-19 22:42:11 +01:00
Sébastien Helleu 8344f0addc core: add command /spell and default key alt+s in release notes 2019-02-19 22:40:11 +01:00
Sébastien Helleu 7b0507bb47 core: add reason of aspell renaming in release notes 2019-02-19 22:35:08 +01:00
Sébastien Helleu cccd4f07e5 core: add extra instructions about spell plugin in release notes 2019-02-19 22:04:17 +01:00
Sébastien Helleu 3368557cc7 core: update translations (issue #1299) 2019-02-19 21:38:53 +01:00
Sébastien Helleu 27481df277 core: force new API version to prevent the old aspell plugin to load (issue #1299) 2019-02-19 21:21:20 +01:00
Sébastien Helleu 57aa9e060e spell: rename "aspell" plugin to "spell" (issue #1299)
The following things have been renamed:

- file aspell.conf -> spell.conf
- options aspell.* -> spell.*
- bar item aspell_dict -> spell_dict
- bar item and local variable aspell_suggest -> spell_suggest
- info aspell_dict -> spell_dict
2019-02-19 21:15:56 +01:00
Sébastien Helleu e8159298ad core: update ChangeLog (issue #1306, issue #1307) 2019-02-19 20:41:34 +01:00
Sébastien Helleu 9985af8b5d Merge remote-tracking branch 'origin/pr/1307' 2019-02-19 20:38:14 +01:00
Sébastien Helleu 6a9937f08a core: fix compilation on Mac OS (closes #1308)
This adds the missing include "unistd.h" for function "mkdtemp" (required on
Mac OS only).
2019-02-18 19:28:20 +01:00
Simmo Saan 62dfe2ac63 aspell: optimize stripping of nick_completer (issue #1306) 2019-02-18 11:48:48 +02:00
Simmo Saan d512cc324a aspell: strip trailing spaces from nick_completer (closes #1306) 2019-02-18 11:19:42 +02:00
Sébastien Helleu 0a6172c128 Version 2.5-dev 2019-02-17 08:46:20 +01:00
Sébastien Helleu ff6ae69c3f Version 2.4 2019-02-17 08:20:07 +01:00
Sébastien Helleu c76b6c024e core: add contributor in AUTHORS.adoc (issue #1304) 2019-02-16 08:27:30 +01:00
Sébastien Helleu 46a5e1d291 Merge pull request #1304 from ZethJack/patch-1
Fix czech translation kick message
2019-02-16 08:24:23 +01:00
ZethJack 4d4b254d7a Fix czech translation kick message
original: <op> byl vykopnut <user> results in confusing message caused by mistranslation: op was kicked user
proposed fix: <op> vykopnul <user> should result in more understandeable message: op has kicked user
2019-02-15 11:09:01 +01:00
Sébastien Helleu 7d4da3f9e4 doc: update Polish auto-generated files 2019-02-09 21:38:34 +01:00
Krzysztof Korościk 7caaf255b4 updated polish translation 2019-02-09 21:00:59 +01:00
Krzysztof Korościk c2a94d93c5 doc: updated polish translation 2019-02-09 19:50:01 +01:00
Sébastien Helleu 5adf94ffbe Version 2.4-rc1 2019-02-04 20:48:41 +01:00
Sébastien Helleu 87932bcb57 irc: fix parsing of whois messages in notify 2019-02-04 20:47:59 +01:00
Sébastien Helleu a511771802 core: update translations 2019-02-03 19:02:40 +01:00
Sébastien Helleu 4c05648faf Merge pull request #1301 from arza-zara/typos
Fix typo "part or words" -> "part of words"
2019-02-03 19:00:11 +01:00
arza 54c7afa6e2 Fix typo "part or words" -> "part of words" 2019-02-03 19:32:09 +02:00
Sébastien Helleu 82da8a79c4 Merge pull request #1300 from l/master/translation/ja_JP
core: update Japanese translations
2019-02-03 13:42:08 +01:00
AYANOKOUZI, Ryuunosuke c4c4f4d1ef core: update Japanese translations 2019-02-03 09:00:00 +09:00
Sébastien Helleu 5d43b5b80f core: add "travis_retry" on commands that can fail due to network error (Travis CI) 2019-01-31 21:42:07 +01:00
Sébastien Helleu 6932810c70 doc: remove obsolete note about gcrypt in chapter on IRC SASL authentication (user's guide) 2019-01-31 21:34:02 +01:00
Sébastien Helleu 6e09499163 irc: fix crash in parsing of IRC channel modes (issue #1296, closes #1297)
Regression was introduced by commit b38b2abe3b.
2019-01-31 21:13:58 +01:00
Sébastien Helleu b38b2abe3b irc: fix parsing of MODE, 341 (invite) and CHGHOST commands when there are colons (closes #1296) 2019-01-29 21:10:49 +01:00
Sébastien Helleu c869aa3809 relay: fix crash on /upgrade when the real IP is not set (closes #1294) 2019-01-28 20:37:38 +01:00
Nils Görs 50415dfbb7 doc: update German documentation 2019-01-27 15:00:29 +01:00
Sébastien Helleu b955b19388 doc: add example with command "/input set_unread" in question about terminal focus (issue #1295) 2019-01-27 13:23:20 +01:00
Sébastien Helleu 7e547ee70b aspell: look for suggestions only if the misspelled word has changed (closes #1175) 2019-01-27 10:33:12 +01:00
Nils Görs 68bdc5fb09 aspell: set a misspelled word without suggestions in local variable "aspell_suggest" (closes #1288) 2019-01-26 22:38:22 +01:00
Sébastien Helleu 5a681f3c5e core: fix sentence in release notes 2019-01-26 15:34:56 +01:00
Sébastien Helleu 1a34f87163 core: do not automatically add a space when completing "nick:" at the beginning of command line
The space can be added in option weechat.completion.nick_completer
(this is now the default value of the option):

  /set weechat.completion.nick_completer ": "
2019-01-26 14:54:57 +01:00
Sébastien Helleu 4d9fd4c4aa core: fix compilation of empty regular expression (not allowed on FreeBSD) 2019-01-26 10:21:39 +01:00
Sébastien Helleu 6d217ca8c5 doc: fix regex examples to be compatible with FreeBSD
The following special sequences are not supported in regular expressions on
FreeBSD:

- "\w": replaced with "[a-zA-Z0-9_]"
- "\S": replaced with "[^ ]" (it should be "[^ \t\n\r\f\v]", but in practice
  only spaces could be a problem when we use this sequence).
2019-01-26 10:15:35 +01:00
Sébastien Helleu 73a4901fe1 tests: fix evaluation tests on FreeBSD
The following special sequences are not supported in regular expressions on
FreeBSD:

- "\w": replaced with "[a-zA-Z0-9_]"
- "\S": replaced with "[^ ]" (it should be "[^ \t\n\r\f\v]", but in practice
  only spaces could be a problem when we use this sequence).
2019-01-26 10:00:47 +01:00
Sébastien Helleu 507dfec781 tests: fix UTF-8 tests on FreeBSD
Tests for size on screen are made on U+2EE9 (CJK Radical Simplified Yellow)
instead of U+24B62 (CJK Unified Ideograph-24B62) which returns a length of 1 on
FreeBSD and 2 on Linux.
2019-01-26 09:57:30 +01:00
Sébastien Helleu 7e0da4b68a script: add missing input actions "A" and "v" in /help script 2019-01-20 20:13:54 +01:00
Sébastien Helleu eb0828ec6c tests: fix link of tests on GNU Hurd and FreeBSD 2019-01-20 16:53:00 +01:00
Sébastien Helleu 142d312ad7 tests: add missing include of stdio.h 2019-01-20 15:59:04 +01:00
Sébastien Helleu 98249ada86 tests: add tests on IRC color functions
Functions tested:

- irc_color_decode
- irc_color_encode
- irc_color_decode_ansi
2019-01-20 15:17:21 +01:00
Sébastien Helleu fec7d38e3d irc: return IRC color code instead of WeeChat color code when decoding a too short ANSI color sequence 2019-01-20 15:07:21 +01:00
Sébastien Helleu 85ee15d4e2 irc: fix encoding of italic attribute when colors are removed 2019-01-20 15:04:52 +01:00
Sébastien Helleu ada2994062 buflist: add alternate key codes for alt-F1/alt-F2 (xterm) 2019-01-20 01:33:47 +01:00
Sébastien Helleu a199d243ca buflist: fix typo on key code for ctrl-F2 2019-01-20 01:32:09 +01:00
Sébastien Helleu e847068a3c buflist: add default keys ctrl-F1/F2 to scroll up/down one page in buflist (same action as F1/F2) 2019-01-20 01:29:33 +01:00
Sébastien Helleu 9d6ebeda0d core: add default keys ctrl-F11/F12 to scroll up/down one page in nicklist (same action as F11/F12) 2019-01-20 01:29:28 +01:00
Sébastien Helleu 09a124c226 buflist: add alternate key codes for F1/F2 and alt-F1/alt-F2 (compatibility with terminals) 2019-01-20 01:09:26 +01:00
Sébastien Helleu 7d442f8492 irc: fix compiler warning on GNU Hurd
This fixes the following warning:

irc-ctcp.c:411:46: warning: '%s' directive output may be truncated writing up
to 1023 bytes into a region of size between 0 and 1023 [-Wformat-truncation=]
2019-01-13 20:14:11 +01:00
Sébastien Helleu a294b791a8 doc: add missing file test-irc-protocol.cpp in developer's guide 2019-01-13 20:13:30 +01:00
Sébastien Helleu 4fab6dcd05 irc: do not use strptime to parse a time as float number (issue #1289) 2019-01-13 15:25:22 +01:00
Sébastien Helleu 1b26d0608f core: update ChangeLog 2019-01-13 14:48:16 +01:00
Sébastien Helleu 34a6fce134 tests: add tests on function irc_protocol_parse_time 2019-01-13 14:47:35 +01:00
Sébastien Helleu 6343924c16 irc: check return code of calls to strptime (issue #1289) 2019-01-13 14:46:43 +01:00
Nils Görs 1dae5827c6 doc: update German documentation 2019-01-12 22:36:57 +01:00
Sébastien Helleu 0fe6adb269 doc: add question about autojoin option in FAQ (closes #1287) 2019-01-12 21:49:57 +01:00
Sébastien Helleu 8009094717 irc: fix parsing of "time" message tag on FreeBSD (issue #1289) 2019-01-11 22:40:06 +01:00
Sébastien Helleu c96e2f3593 tests: add tests on function irc_config_check_autojoin 2019-01-11 22:27:28 +01:00
Sébastien Helleu 8629bf4b06 debian: switch debhelper compatibility to 12 2019-01-08 22:07:10 +01:00
Sébastien Helleu f8df26f57f debian: bump Standards-Version to 4.3.0 2019-01-08 21:57:31 +01:00
Sébastien Helleu 2b0057239b core: update copyright dates 2019-01-01 15:40:51 +01:00
Sébastien Helleu 169a84384c core: remove obsolete directory from .gitattributes 2018-12-24 15:57:29 +01:00
Sébastien Helleu 4912c46593 doc: update German auto-generated file 2018-12-22 11:03:55 +01:00
Nils Görs b3b58f89a4 core: update German translations 2018-12-22 10:19:49 +01:00
Sébastien Helleu f3db256ce4 core: add note about option sec.crypt.passphrase_file in /help secure (issue #1286) 2018-12-22 09:37:25 +01:00
Sébastien Helleu 237bf80920 doc: update German auto-generated files 2018-12-14 07:31:57 +01:00
Nils Görs cf5aaec3be core: update German translations 2018-12-13 22:38:26 +01:00
Sébastien Helleu d9849b4efe doc: add example of aspell dict for all channels of an IRC server (user's guide) (closes #1284) 2018-12-13 21:24:12 +01:00
Sébastien Helleu c214ca603f doc: update Japanese auto-generated files 2018-12-09 17:06:04 +01:00
Sébastien Helleu 1cd0fb4882 Merge pull request #1283 from l/master/translation/ja_JP
core: update Japanese translations
2018-12-09 17:04:51 +01:00
AYANOKOUZI, Ryuunosuke 8964e994c6 core: update Japanese translations 2018-12-09 09:00:00 +09:00
Sébastien Helleu 4034d07d5a core: use https for links in comments 2018-12-01 08:21:49 +01:00
Nils Görs 89f1f61458 doc: update German documentation 2018-11-30 07:42:25 +01:00
Sébastien Helleu d6e4bbf244 doc: add "WeeChat" term for core command /filter (FAQ) 2018-11-29 23:19:16 +01:00
Sébastien Helleu 342261d35b core: use https for all links where secured http is supported 2018-11-29 23:18:55 +01:00
Sébastien Helleu 4712d0bb06 core: use https for links to GNU GPL license 2018-11-29 23:16:07 +01:00
Sébastien Helleu d9fbf59c6b core: remove obsolete links to wiki in release notes 2018-11-29 23:15:23 +01:00
Nils Görs f6498c14a0 doc: update German documentation 2018-11-24 18:36:27 +01:00
Sébastien Helleu 4803cd62af doc: translate FAQ changes in other languages (issue #1280) 2018-11-19 21:00:21 +01:00
Filip H.F. "FiXato" Slagter fc0a3ef10a doc: add question "How can I disable highlights for specific nicks?" in FAQ (closes #1280) 2018-11-19 20:59:31 +01:00
Sébastien Helleu d8b2be8f91 doc: update German auto-generated file 2018-11-19 20:11:07 +01:00
Nils Görs 968d4ce2af doc: update German documentation 2018-11-18 14:43:16 +01:00
Nils Görs b08155410d Merge branch 'master' of github.com:weechat/weechat 2018-11-18 12:37:46 +01:00
Sébastien Helleu d26380a9bb core: replace "Mac OS X" and "OS X" by "macOS" (issue #1272) 2018-11-18 11:04:29 +01:00
Sébastien Helleu 3c0f72d48b doc: translate FAQ changes in other languages (issue #1272) 2018-11-18 10:55:39 +01:00
Filip H.F. "FiXato" Slagter d8fe89f7e9 doc: spelling/grammar fixes & documentation links added (FAQ) (closes #1272)
A number of spelling/grammar fixes, some restructured sentences to improve
readability and replacement of previous names for Apple Macintosh's OS with the
current 'macOS' name.

Also added some more references to User's guide documentation sections.

Also clarified that a window can not only display 1 buffer, but also a set of
merged buffers.

Finally, added a version note about the /script command.
2018-11-18 10:52:08 +01:00
Nils Görs 4e9203bb7d core: update German translations 2018-11-17 11:58:28 +01:00
Sébastien Helleu 916d99ad40 exec: add option exec.command.shell to customize the shell used with /exec -sh 2018-11-17 11:39:28 +01:00
Sébastien Helleu c94a8f4c68 exec: fix command displayed in debug message 2018-11-17 11:17:37 +01:00
Nils Görs ba9b087ca3 core: update German translations 2018-11-17 11:05:31 +01:00
Sébastien Helleu af382ffb91 core: add test on some WeeChat command line options on Travis CI 2018-11-17 10:46:12 +01:00
Sébastien Helleu 85d7c9b6c5 core: add command line option "-t" (or "--temp-dir") to create a temporary WeeChat home (deleted on exit) 2018-11-17 10:36:58 +01:00
Sébastien Helleu b480c7e7c0 core: add missing include of time.h in wee-secure.h
This fixes a compilation issue on FreeBSD 11.0.
2018-11-17 00:40:34 +01:00
Sébastien Helleu 1355a26920 doc: update German auto-generated file 2018-11-16 23:04:26 +01:00
Nils Görs ecd26fb678 core: update German translations 2018-11-16 16:26:30 +01:00
Sébastien Helleu 34fd37fa50 core: fix forced highlight on messages sent to other buffers (closes #1277)
The C compiler flag "-fsigned--char" is used to force "char" data type to be
always signed (which is what WeeChat expects).

On ARM systems, char is unsigned by default, which is causing problems when
WeeChat stores -1 in the notify_level (type: char).
2018-11-14 22:23:34 +01:00
Sébastien Helleu 638ed2ecf5 core: fix C++ compiler flags (cmake) 2018-11-14 22:06:35 +01:00
Sébastien Helleu 88adc5d703 doc: add missing variable "pointer" to make C compiler really happy (plugin API reference) 2018-11-13 20:48:04 +01:00
Sébastien Helleu b2d9b2f0ba doc: fix name of compiled plugin example (plugin API reference) 2018-11-13 20:43:26 +01:00
Sébastien Helleu 3766beb13e doc: update German auto-generated files 2018-11-12 22:54:56 +01:00
Nils Görs c78f322c9e core: update German translations 2018-11-12 22:44:30 +01:00
Sébastien Helleu 37a0cd0017 core: improve help on option irc.look.server_buffer (closes #1269) 2018-11-12 21:02:25 +01:00
Sébastien Helleu 39abe2fcd9 core: improve help on option weechat.look.nick_color_stop_chars (closes #1268) 2018-11-12 20:57:55 +01:00
Sébastien Helleu de8d640958 relay: add support of close frame in websocket connection (closes #1281) 2018-11-12 20:43:48 +01:00
Sébastien Helleu 594917bff4 core: add fix of memory leak in ChangeLog 2018-11-08 08:42:00 +01:00
Sébastien Helleu 6cdcebed8c buflist: add variable ${number2}, always set with the indented buffer number 2018-11-05 22:21:03 +01:00
Filip H.F. "FiXato" Slagter 5d338fee4e Added documentation links to README 2018-11-04 22:04:39 +01:00
Sébastien Helleu 0285ea785e Merge pull request #1270 from FiXato/patch-1
Make WeeChat screenshots link more descriptive.
2018-11-04 21:57:43 +01:00
Sébastien Helleu 5a132f06fd core: replace ellipses by "etc." (in English) and "etc..." by "etc." in French 2018-11-04 21:53:11 +01:00
Sébastien Helleu dd0b3c5692 core: replace "web site" by "website" 2018-11-04 21:32:35 +01:00
Sébastien Helleu fe586ae662 core: add contributor in AUTHORS.adoc (issue #1273) 2018-11-04 16:55:34 +01:00
Sébastien Helleu ba3d805167 Merge pull request #1273 from half-duplex/master
Fix regex in relay.network.allowed_ips doc
2018-11-04 16:46:11 +01:00
Sébastien Helleu d8ad7e6a8d tests: add missing file test-secure.cpp in autotools 2018-11-04 15:03:54 +01:00
Sébastien Helleu cb73c168b5 core: update translations 2018-11-04 14:50:53 +01:00
Sébastien Helleu dc7d99fa73 core: improve description of infos "totp_generate" and ""totp_validate" 2018-11-04 14:50:53 +01:00
Sébastien Helleu 738535e7f6 relay: add support of Time-based One-Time Password (TOTP) as second authentication factor in weechat protocol 2018-11-04 14:50:53 +01:00
Sébastien Helleu f02fc06dd0 doc: fix styles in relay protocol 2018-11-04 14:50:53 +01:00
Sébastien Helleu ed3f281ba9 api: add functions string_base_{encode,decode}, remove functions string_{encode,decode}_base64 2018-11-04 14:49:11 +01:00
Sébastien Helleu a8b6fa08b7 core: split plugin-api.c into 2 files (API wrappers and infos/infolists) 2018-11-03 23:01:46 +01:00
Sébastien Helleu 6d72868e15 api: return integer in function string_encode_base16 2018-11-02 14:20:16 +01:00
Sébastien Helleu 8848b0e22a api: return integer in function string_encode_base64 2018-11-02 14:09:23 +01:00
Sébastien Helleu 74a17d821f tests: add tests on functions secure_encrypt_data and secure_decrypt_data 2018-11-02 14:06:14 +01:00
Sébastien Helleu d0ea801724 core: add support of TOTP generation/validation (Time-based One-Time Password) 2018-11-02 14:06:14 +01:00
Sébastien Helleu 172736989a doc: add missing source files for tests (developer's guide) 2018-10-27 10:55:57 +02:00
Sébastien Helleu 70c2e27110 core: split wee-secure.c into 3 files (secured data functions, buffer and config) 2018-10-27 08:54:10 +02:00
Sébastien Helleu 3f067f2065 buflist: fix warning displayed when script buffers.pl is loaded (closes #1274) 2018-10-27 08:52:20 +02:00
Sébastien Helleu a6a90aebff doc: add commands to update .po files (developer's guide) 2018-10-25 08:00:14 +02:00
Trevor Bergeron 9121e5812c Fix regex in relay allowed_ips doc 2018-10-23 00:33:01 -04:00
Filip H.F. "FiXato" Slagter c2a2146ad8 Make WeeChat screenshots link more descriptive.
Restructured sentence to avoid using self-non-descriptive 'this page' anchors.
2018-10-23 02:34:56 +02:00
Sébastien Helleu 99ae73066c Version 2.4-dev 2018-10-21 12:53:37 +02:00
Sébastien Helleu 6620f40efa Version 2.3 2018-10-21 11:12:41 +02:00
Sébastien Helleu 438313d331 core: replace call to strncpy by memcpy
This fixes a gcc warning: "warning: ‘strncpy’ output truncated before
terminating nul copying as many bytes from a string as its length
[-Wstringop-truncation]".
2018-10-21 08:54:04 +02:00
Sébastien Helleu eb77c78dad irc: fix uninitialized variables in function irc_protocol_cap_sync 2018-10-21 08:53:22 +02:00
Sébastien Helleu 1a3bd49a46 debian: update changelog 2018-10-21 08:30:35 +02:00
Sébastien Helleu e3e4c89b5e debian: fix copyright Format URI 2018-10-21 08:28:50 +02:00
Sébastien Helleu 5bc37eeee3 debian: bump Standards-Version to 4.1.5 2018-10-21 08:22:31 +02:00
Sébastien Helleu 4939e9659f doc: update Polish auto-generated files 2018-10-19 20:24:35 +02:00
Krzysztof Korościk e9be61b133 po: updated polish translation 2018-10-19 20:17:56 +02:00
Krzysztof Korościk 585257196d doc: updated polish translation 2018-10-19 19:46:23 +02:00
Sébastien Helleu e7cb025e68 php: add detection of PHP 7.3 2018-10-16 23:02:13 +02:00
Sébastien Helleu 9bc9b4c86b core: add contributor in AUTHORS.adoc (issue #1267) 2018-10-14 21:05:09 +02:00
Sébastien Helleu f17cee75dc core: update ChangeLog (issue #1267) 2018-10-14 21:03:56 +02:00
Sébastien Helleu c5ccac9e22 Merge pull request #1267 from emkw/master
lua: mkdir API functions should return ERROR on error.
2018-10-14 21:03:24 +02:00
Sébastien Helleu 37da24ca22 doc: update auto-generated files with IRC options 2018-10-14 21:02:03 +02:00
Nils Görs 21b4294f4e core: update German translations 2018-10-14 20:50:03 +02:00
emk 63e2a3dab9 lua: mkdir API functions should return ERROR on error. 2018-10-14 20:39:00 +02:00
Sébastien Helleu d07701dae6 irc: fix colors 14 and 15 in /help irc.color.mirc_remap (closes #1266) 2018-10-14 20:38:14 +02:00
Sébastien Helleu 8d1dcb666a doc: update Japanese auto-generated file 2018-10-14 09:14:48 +02:00
Sébastien Helleu b348479e4c Merge pull request #1265 from l/master/translation/ja_JP
core: update Japanese translations
2018-10-14 09:13:48 +02:00
AYANOKOUZI, Ryuunosuke 85544ca6dd core: update Japanese translations 2018-10-14 09:00:00 +09:00
Sébastien Helleu a3e0c3f0e4 Version 2.3-rc1 2018-10-13 15:57:20 +02:00
Sébastien Helleu 96938d47f1 doc: update German auto-generated file 2018-10-11 21:09:01 +02:00
Nils Görs 72d5274d54 core: update German translations 2018-10-10 19:27:15 +02:00
Sébastien Helleu 8da3458f4c core: add repeat of string in evaluation of expressions with "repeat:count,string" (closes #958) 2018-10-09 21:12:02 +02:00
Sébastien Helleu 82697714e1 core: fix evaluation of nested ternary operators (closes #1263) 2018-10-08 22:51:08 +02:00
Sébastien Helleu a774ffd4e8 doc: update German auto-generated file 2018-10-08 21:35:39 +02:00
Nils Görs 7f69fff41e core: update German translations 2018-10-08 21:06:18 +02:00
Sébastien Helleu 102fc6662b code: fix issue in docgen.py with hashlib and Python 3 2018-10-06 09:58:22 +02:00
Sébastien Helleu e6e46bcae6 core: update ChangeLog (issue #1259) 2018-10-06 07:13:23 +02:00
Sébastien Helleu 40a87970e1 core: update translations 2018-10-06 07:12:21 +02:00
Sébastien Helleu 5173e19ff3 core: fix style 2018-10-06 07:10:36 +02:00
Sébastien Helleu e688fa4daa Merge remote-tracking branch 'origin/pr/1259' 2018-10-06 07:07:35 +02:00
Sébastien Helleu 5c766317df core: update WeeChat URL in debian NEWS file 2018-10-03 21:39:29 +02:00
Sébastien Helleu 30121ff9df aspell: remove useless test on max_suggestions 2018-10-01 23:00:05 +02:00
Sébastien Helleu ecdbaef288 relay: remove useless test on length 2018-10-01 22:59:05 +02:00
Sébastien Helleu 4b58ea37c0 relay: remove useless test on num_sent 2018-10-01 22:58:25 +02:00
Sébastien Helleu fc63620f1e irc: remove useless test on argc 2018-10-01 22:58:13 +02:00
Sébastien Helleu fb3ca3caae core: fix format of variables in printf-like functions (from int to long and long long) 2018-10-01 22:57:13 +02:00
Sébastien Helleu d6d8b9094f irc: replace call to gmtime by gmtime_r 2018-10-01 22:22:06 +02:00
Sébastien Helleu 56daba869e core: replace call to gmtime by gmtime_r 2018-10-01 22:21:56 +02:00
Sébastien Helleu 50567b0f64 core: add missing argument in call to log_printf 2018-10-01 22:21:43 +02:00
Sébastien Helleu 8abd05fe3d core: replace "long unsigned int" by "unsigned long" 2018-10-01 22:21:25 +02:00
Sébastien Helleu b7f3ba69e1 doc: update Japanese auto-generated file 2018-09-30 10:01:41 +02:00
Sébastien Helleu e28cb00106 relay: add real IP in client description (closes #1256) 2018-09-30 09:59:45 +02:00
Sébastien Helleu 0f782166e2 Merge pull request #1255 from l/master/translation/ja_JP
core: update Japanese translations
2018-09-30 09:01:19 +02:00
AYANOKOUZI, Ryuunosuke 9c96ce825b core: update Japanese translations 2018-09-30 09:00:00 +09:00
Sébastien Helleu eec2e37d20 doc: update German auto-generated file 2018-09-24 23:55:03 +02:00
Nils Görs 6bb0130e7b core: update German translations 2018-09-24 22:28:24 +02:00
Sébastien Helleu ff66a8a161 logger: add more info about log levels in /help logger (closes #1254) 2018-09-24 19:05:46 +02:00
Sébastien Helleu 7b3ec510ca logger: move logger command into a separate source file 2018-09-24 19:05:21 +02:00
Sébastien Helleu 4f0a64cc8b Merge pull request #1251 from l/master/translation/ja_JP
core: update Japanese translations
2018-09-22 08:48:34 +02:00
AYANOKOUZI, Ryuunosuke 4cf86af506 core: update Japanese translations 2018-09-22 09:00:00 +09:00
Sébastien Helleu ce9bcadaa8 doc: update German auto-generated file 2018-09-20 22:32:08 +02:00
Nils Görs a7a04783d4 doc: update German documentation 2018-09-20 21:20:01 +02:00
Sébastien Helleu 126b7d4433 core: update translations 2018-09-20 21:05:26 +02:00
Sébastien Helleu 93b5e60441 irc: display a warning when the value of option irc.server.xxx.autojoin is set to an invalid value 2018-09-20 20:32:47 +02:00
Sébastien Helleu 65f1c82a87 core: allow multiple arguments in command /buffer close 2018-09-18 21:27:44 +02:00
Simmo Saan 54cd82e4a4 core: allow specifying buffer number/name for /buffer localvar 2018-09-09 19:42:31 +03:00
Sébastien Helleu 7b8faf6d97 relay: fix URL to the page with remote interfaces in /help relay 2018-09-09 10:07:16 +02:00
Sébastien Helleu 1ff9d1f52a core: add missing slash at the end of weechat.org URLs 2018-09-09 10:00:53 +02:00
Nils Görs 952640e88c core: update German translations 2018-09-06 22:26:38 +02:00
Sébastien Helleu fcf7469d76 core: allow multiple options "-r" ("--run-command") in command line arguments (closes #1248) 2018-09-06 21:52:02 +02:00
Sébastien Helleu 8945e70f81 doc: add question about aspell dictionaries in FAQ 2018-09-06 21:22:50 +02:00
Sébastien Helleu f0d0612a33 doc: add missing comma in example of function config_new_option (plugin API reference) 2018-09-01 08:14:42 +02:00
Sébastien Helleu 796859b873 core: fix copyright dates 2018-09-01 08:13:12 +02:00
Sébastien Helleu 533dbf972d core: rename variable "plugin_blacklisted" to "plugin_forbidden" 2018-08-30 22:10:46 +02:00
Sébastien Helleu 1d85ff0f8d doc: fix hdata example (relay protocol) (closes #1242) 2018-08-30 22:08:55 +02:00
Nils Görs a9e84bfc52 core: update German translations 2018-08-20 20:40:40 +02:00
Sébastien Helleu b53045281e doc: update Japanese auto-generated file 2018-08-19 19:58:24 +02:00
Sébastien Helleu f4dbc060b8 Merge pull request #1234 from l/master/translation/ja_JP
core: update Japanese translations
2018-08-19 19:57:45 +02:00
AYANOKOUZI, Ryuunosuke 1495ecf6d0 core: update Japanese translations 2018-08-19 09:00:00 +09:00
Sébastien Helleu 6bf0dfddd6 core: fix evaluation of condition when the left operand is an empty string 2018-08-18 15:30:16 +02:00
Sébastien Helleu 97ad48e317 core: fix typo in release notes 2018-08-18 11:05:26 +02:00
Sébastien Helleu 41d5cdd14b core: move "new" info in release notes 2018-08-18 11:01:25 +02:00
Sébastien Helleu 5c9608f05c doc: update German auto-generated file 2018-08-17 21:52:54 +02:00
Nils Görs b4842dd707 Merge branch 'master' of github.com:weechat/weechat 2018-08-17 21:49:00 +02:00
Nils Görs cd5d48fc87 core: update German translations 2018-08-17 21:48:28 +02:00
Sébastien Helleu f4ea802322 doc: fix typo in German user guide 2018-08-17 21:46:39 +02:00
Nils Görs 79f204eeb9 core: update German translations 2018-08-17 20:49:31 +02:00
Sébastien Helleu 466dbbe75b core: add option "-P" (or "--plugins") to customize the plugins to load at startup
If given, the option replaces the option weechat.plugin.autoload.
2018-08-17 19:44:41 +02:00
Sébastien Helleu 822270ccca core: update translations 2018-08-17 19:37:31 +02:00
Sébastien Helleu fad6768318 doc: split list of modifiers into two tables (plugin API reference) 2018-08-17 19:33:46 +02:00
Sébastien Helleu 85681772f0 core: add "line" trigger in ChangeLog 2018-08-17 08:48:09 +02:00
Sébastien Helleu 669aa2741a doc: rename variable "tg_tags" to "tags" in line trigger (user guide) 2018-08-17 08:16:14 +02:00
Sébastien Helleu 968d7ede29 trigger: add variables "tg_prefix_nocolor" and "tg_message_nocolor" in line trigger 2018-08-17 07:59:20 +02:00
Sébastien Helleu e7096810c4 trigger: rename variable "tg_tags" to "tags" in line trigger 2018-08-17 07:43:56 +02:00
Sébastien Helleu 9105c3ba1f trigger: allow creation of temporary variables with the regex 2018-08-16 22:47:47 +02:00
Sébastien Helleu 1a0087a7d7 core: fix string evaluation with regex replacement when the string is empty 2018-08-16 22:45:42 +02:00
Sébastien Helleu ca90f28beb tests: add tests on modifier hook 2018-08-16 18:27:04 +02:00
Sébastien Helleu 6ca2408c99 core: fix weechat_print modifier
All changes:
- always send the Tab char in the weechat_print modifier string
- handle special cases in weechat_print modifier: no prefix (" \t...") or no
  date ("\t\t...")
2018-08-16 18:19:07 +02:00
Sébastien Helleu ec5a5fd73f core: fix use of NULL pointer in command /buffer when the GUI is not yet initialized 2018-08-15 16:24:07 +02:00
Sébastien Helleu f10578b18b core: remove use of pointer "buffer" once the line has been initialized 2018-08-15 16:16:31 +02:00
Sébastien Helleu cfc491f7d1 core: remove unneeded initialization of variable "highlight" 2018-08-15 16:11:27 +02:00
Sébastien Helleu eb64c8d65c irc: add missing initialization of variable "chghost" 2018-08-15 16:02:43 +02:00
Sébastien Helleu 053d432eec doc: update auto-generated files with hdata 2018-08-15 12:36:20 +02:00
Sébastien Helleu 50bedd10b6 core: update translations 2018-08-15 12:36:01 +02:00
Sébastien Helleu cb8b60028b trigger: fix /help trigger 2018-08-15 12:35:42 +02:00
Sébastien Helleu ba820a0172 doc: fix list of variables that can be updated in a hook_line trigger (user guide) 2018-08-15 12:28:15 +02:00
Sébastien Helleu 8c47ca6926 core: add comments in function to print a line 2018-08-15 12:17:42 +02:00
Sébastien Helleu 7b0cced319 core: fix destruction of line prefix in weechat_print modifier 2018-08-15 12:16:52 +02:00
Sébastien Helleu 8e939b089d core: fix comparison of strings in weechat_print modifier 2018-08-15 12:16:06 +02:00
Sébastien Helleu 2f2263afa6 trigger: add missing initialization of variable "tags" in hook line callback 2018-08-15 11:59:26 +02:00
Sébastien Helleu b8ec088fd9 doc: fix typos in plugin API reference 2018-08-15 09:56:18 +02:00
Sébastien Helleu 057f2c3396 tests: properly initialize variable argc before tests on function string_split 2018-08-15 09:43:35 +02:00
Sébastien Helleu cdc7faf93f tests: add test on function string_split with a string having only delimiters 2018-08-15 09:42:59 +02:00
Sébastien Helleu 6d061a9ac0 api: fix memory leak in function string_split 2018-08-15 09:42:43 +02:00
Sébastien Helleu aff752c50b trigger: fix memory leak in hook_line trigger callback 2018-08-15 09:33:25 +02:00
Sébastien Helleu bb8ac59c32 core: fix memory leak when removing a line hook 2018-08-15 09:32:56 +02:00
Sébastien Helleu 51bda896c8 doc: add list of variables that can be updated by type of trigger (user guide) 2018-08-15 09:07:01 +02:00
Sébastien Helleu 66d11b7e46 trigger: add missing values for line trigger 2018-08-15 09:02:58 +02:00
Sébastien Helleu d8c7b3fd5e doc: add more info about line, print and modifier functions for new lines (plugin API reference) 2018-08-15 09:01:55 +02:00
Sébastien Helleu 3bdab1c538 core: fix type of variables "buffer_name" and "buffer_type" sent to the hook_line callback 2018-08-14 14:51:18 +02:00
Sébastien Helleu 49c3e62106 core: split wee-hook.c into multiple sources 2018-08-14 07:15:39 +02:00
Sébastien Helleu 42be1a74a0 api: add function hook_line 2018-08-12 21:45:00 +02:00
Sébastien Helleu 12a6f74ec0 core: fix check of tags in lines
All changes:
- fix check of tags in lines: check lines without tags, fix check of tags with
  negation ("!tag")
- add string functions string_split_tags and string_free_split_tags
- add tests on function gui_line_match_tags
2018-08-12 20:30:13 +02:00
Sébastien Helleu d699ae89aa doc: fix style (relay protocol) 2018-08-12 20:29:26 +02:00
Sébastien Helleu e85bf426c1 doc: add length of field "id" in binary message (relay protocol) (closes #1233) 2018-08-12 20:23:24 +02:00
Sébastien Helleu 48cbf3ad37 doc: add "/msg nickserv set password" in list of commands handled by default trigger "cmd_pass" (user guide) 2018-08-11 09:48:32 +02:00
Sébastien Helleu 737a16b7de doc: fix default conditions of beep trigger (user guide) 2018-08-11 09:38:54 +02:00
Nils Görs 6140aac57f doc: update German documentation 2018-07-29 20:41:17 +02:00
Sébastien Helleu b3fc7c1b1a core: update weechat.org URLs to match latest version of the site 2018-07-29 11:03:24 +02:00
Sébastien Helleu 2047d4f1f7 doc: replace features page with remote interfaces (FAQ) 2018-07-29 10:57:39 +02:00
Sébastien Helleu ac5f26367a core: add contributor in AUTHORS.adoc (issue #1228) 2018-07-28 22:29:19 +02:00
Sébastien Helleu 9b3ec88559 Merge pull request #1228 from Redfoxmoon3/master
don't overwrite user installed GNU auto* files
2018-07-28 22:21:53 +02:00
Ørjan Malde ea4aad0b1d don't overwrite user installed GNU auto* files
autoreconf -f overwrites user installed GNU auto* files like config.sub and config.guess
2018-07-27 21:32:27 +02:00
Sébastien Helleu 9fb8ca649e core: update ChangeLog (issue #1162) 2018-07-27 07:53:17 +02:00
Sébastien Helleu a14973816b Merge pull request #1225 from weechatter/partial_completion
gui: fix uncleared completion item (#1162)
2018-07-27 07:51:36 +02:00
Sébastien Helleu 7d7ca34a41 core: allow partial buffer name in command /buffer close (closes #1226) 2018-07-27 07:48:02 +02:00
Sébastien Helleu b7d6be5936 scripts: fix duplicated lines in output of script eval (python, perl, ruby, lua and guile)
When there was a call to a hook callback during the eval, the output buffer was
cleared too late, and displayed multiple times in the buffer.

This commit clears the buffer even before we display it (this display can
trigger a hook callback).
2018-07-25 20:19:26 +02:00
Nils Görs b934e874d0 gui: fix uncleared completion item (#1162) 2018-07-21 12:50:39 +02:00
Sébastien Helleu df27a3b76a core: send signal "key_pressed" for mouse code only if the string is UTF-8 valid (closes #1220) 2018-07-15 15:09:31 +02:00
Jos Ahrens 738585d9e2 doc: mention there is an option to enable crash core files (user's guide)
For people skimming the section, it will not be immediately clear to
them, especially since everything seems to suggest this option is
enabled by default.
2018-07-15 14:18:07 +02:00
Jos Ahrens 62ad65ef45 core: improve instructions to report the crash 2018-07-15 14:09:34 +02:00
Sébastien Helleu 20a23484ed Merge pull request #1223 from l/master/translation/ja_JP
doc: update Japanese translations
2018-07-14 20:42:39 +02:00
Sébastien Helleu a3179c8c0d Version 2.3-dev 2018-07-14 13:36:04 +02:00
AYANOKOUZI, Ryuunosuke dd0b04d057 doc: update Japanese translations 2018-07-14 09:00:00 +09:00
Simmo Saan d12e29620b irc: make command characters optional in server's command option 2017-06-17 18:38:37 +03:00
Simmo Saan 49ce989de6 gui: fix separator overlap check for deeply nested windows 2015-12-22 10:39:58 +02:00
Simmo Saan 9cc68b641b gui: fix window separators not respecting window splits 2015-12-21 17:41:38 +02:00
Simmo Saan 93d2dbf3e1 gui: add missing line pointer to long words split across lines (closes #617)
Displaying a word which was forced to be split across lines added the new
coords without pointer to the original line. This made them unquotable in
cursor mode.
2015-12-03 12:00:22 +02:00
Simmo Saan bcb7ac7777 gui: fix focus data being offset when prefix_align is none (closes #610)
window->coords_x_message stored a single x coordinate for the entire
window which was used for message position calculation. Such approach
does not work when prefix_align is none, thus now the x coordinate in
question is exactly calculated for a line individually.
2015-12-03 11:57:09 +02:00
1355 changed files with 478769 additions and 244938 deletions
+30
View File
@@ -0,0 +1,30 @@
# SPDX-FileCopyrightText: 2024 Emil Velikov <emil.l.velikov@gmail.com>
# SPDX-FileCopyrightText: 2024-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# To use this config on you editor, follow the instructions at:
# https://editorconfig.org
root = true
[*]
charset = utf-8
insert_final_newline = true
indent_size = 4
indent_style = space
tab_width = 8
trim_trailing_whitespace = true
[{*.{c,cpp,h}}]
max_line_length = 80
[{CMakeLists.txt,*.cmake}]
max_line_length = 80
indent_size = 2
[*.html]
indent_size = 2
[*.yml]
indent_size = 2
+5 -3
View File
@@ -1,9 +1,11 @@
# SPDX-FileCopyrightText: 2013-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
# files/directories excluded from tarballs
.git* export-ignore
debian-devel export-ignore
debian-stable export-ignore
weechat.spec export-ignore
.mailmap export-ignore
tests/ubuntu/ export-ignore
tools/build-debian.sh export-ignore
tools/build_debian.sh export-ignore
+5
View File
@@ -0,0 +1,5 @@
# SPDX-FileCopyrightText: 2019-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
custom: https://weechat.org/donate/
-40
View File
@@ -1,40 +0,0 @@
---
name: Bug report
about: Create a bug report (please do not report security issues here)
---
<!-- Please do not report any security issue here, see file Contributing.adoc -->
## Bug summary
## Current behavior
## Steps to reproduce
1. 
2. 
3. 
## Desired behavior
## Suggested solutions
## Additional information
---
<!-- MANDATORY INFO: -->
- WeeChat version: 
- OS, distribution and version: 
+114
View File
@@ -0,0 +1,114 @@
# SPDX-FileCopyrightText: 2023-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: Bug report
description: Create a bug report
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Before submitting a bug, please check that it has not already been reported by searching in [open and closed bugs](https://github.com/weechat/weechat/issues?q=is%3Aissue+label%3Abug).
If you don't use the latest version, please try if possible with the latest stable release to be sure the issue is still present and report the issue on this version.
**IMPORTANT**: please do not report any security issue here, see [CONTRIBUTING.md](https://github.com/weechat/weechat/blob/main/CONTRIBUTING.md#security-reports).
- type: textarea
id: bug-description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: |
Steps to reproduce the issue.
If possible, please try to reproduce with a default configuration and no scripts loaded (`weechat -t`). If the issue is related to a script, please mention the list of all scripts loaded.
placeholder: |
1.
2.
3.
validations:
required: true
- type: textarea
id: current-behavior
attributes:
label: Current behavior
description: |
What currently happens.
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: What is actually supposed to happen.
validations:
required: true
- type: textarea
id: suggested-solutions
attributes:
label: Suggested solutions
description: How you think this issue can be resolved.
validations:
required: false
- type: textarea
id: additional-information
attributes:
label: Additional information
description: |
For a crash, please include a backtrace from gdb, see the [User's guide](https://weechat.org/doc/weechat/user/#report_crashes).
For a display issue, please add a screenshot if it makes sense.
Please mention if other versions are affected as well and if some versions are not affected (regression?).
And any additional information you deem relevant.
validations:
required: false
- type: input
id: weechat-version
attributes:
label: WeeChat version
description: |
For a stable release: output of `weechat --version`.
For the development version: output of command `/v` in WeeChat.
placeholder: "4.1.1"
validations:
required: true
- type: input
id: os-version
attributes:
label: What OS/distribution are you using?
description: Name of the operating system and its version.
placeholder: Debian 12, Ubuntu 24.04, macOS 14, ...
validations:
required: true
- type: input
id: terminal
attributes:
label: On which terminal are you running WeeChat?
description: The name of terminal if you think it can be related to the issue (mainly for display issues).
placeholder: Terminator, Xterm, GNOME Terminal, Urxvt, ...
validations:
required: false
- type: input
id: terminal-multiplexer
attributes:
label: Which terminal multiplexer are you using?
description: The name of the terminal multiplexer if you think it can be related to the issue (mainly for display issues).
placeholder: none, tmux, screen, ...
validations:
required: false
+5
View File
@@ -0,0 +1,5 @@
# SPDX-FileCopyrightText: 2020-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
blank_issues_enabled: false
@@ -1,7 +0,0 @@
---
name: Feature request
about: Request a new feature / enhancement
---
## Feature description
@@ -0,0 +1,21 @@
# SPDX-FileCopyrightText: 2023-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: Feature request
description: Request a new feature / enhancement
labels: ["feature"]
body:
- type: markdown
attributes:
value: |
Before submitting a feature request, please check that it has not already been reported by searching in [open and closed feature requests](https://github.com/weechat/weechat/issues?q=is%3Aissue+label%3Afeature).
- type: textarea
id: feature
attributes:
label: Feature description
description: A description of the feature you would like.
validations:
required: true
-14
View File
@@ -1,14 +0,0 @@
---
name: Question
about: Ask a question (please read first FAQ and docs)
---
## Question
---
- WeeChat version: 
- OS, distribution and version: 
+25
View File
@@ -0,0 +1,25 @@
# SPDX-FileCopyrightText: 2023-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: Question
description: Ask a question
labels: ["question"]
body:
- type: markdown
attributes:
value: |
Before opening an issue with a question:
- please read the [FAQ](https://weechat.org/doc/weechat/faq) and [documentation](https://weechat.org/doc/weechat/)
- please ask on #weechat channel (on server irc.libera.chat).
**IMPORTANT**: please do not report any security issue here, see [CONTRIBUTING.md](https://github.com/weechat/weechat/blob/main/CONTRIBUTING.md#security-reports).
- type: textarea
id: question
attributes:
label: Question
description: Your question.
validations:
required: true
+476
View File
@@ -0,0 +1,476 @@
# SPDX-FileCopyrightText: 2020-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: CI
on:
push:
pull_request:
schedule:
- cron: '22 9 * * 2'
env:
CHECK_DEPS_UBUNTU: >-
curl
gettext
hunspell
hunspell-en-us
hunspell-fr
pipx
shellcheck
WEECHAT_DEPS_UBUNTU: >-
asciidoctor
build-essential
cmake
curl
devscripts
equivs
gem2deb
guile-3.0-dev
lcov
libargon2-dev
libaspell-dev
libcjson-dev
libcpputest-dev
libcurl4-gnutls-dev
libgcrypt20-dev
libgnutls28-dev
liblua5.4-dev
libncurses-dev
libperl-dev
libphp-embed
libsodium-dev
libv8-dev
libzstd-dev
ninja-build
php-dev
pipx
pkgconf
python3-dev
ruby-pygments.rb
tcl8.6-dev
zlib1g-dev
WEECHAT_DEPS_ROCKYLINUX: >-
asciidoctor
aspell-devel
cjson-devel
clang
cmake
cpputest-devel
gcc
gettext
glibc-langpack-en
gnutls-devel
guile30-devel
libcurl-devel
libgcrypt-devel
libzstd-devel
lua-devel
ncurses-devel
perl-devel
php-devel
php-embedded
python-devel
ruby-devel
sudo
tcl-devel
zlib-devel
WEECHAT_DEPS_FREEBSD: >-
aspell
cmake
cpputest
curl
gcc
gettext
git
gnutls
guile3
libargon2
libcjson
libgcrypt
libiconv
llvm
lua54
ncurses
perl5
php83
pkgconf
python3
ruby
rubygem-asciidoctor
sudo
tcl86
zstd
WEECHAT_DEPS_MACOS: >-
asciidoctor
aspell
cjson
guile
lua
pkg-config
ruby
jobs:
checks:
strategy:
matrix:
os:
- ubuntu-24.04
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.CHECK_DEPS_UBUNTU }}
pipx install msgcheck ruff
cargo install --version 0.0.10 poexam
- name: Check gettext files (msgcheck)
run: msgcheck po/*.po
- name: Check gettext files (poexam)
run: poexam check --file-stats --rule-stats
- name: Check shell and Python scripts
run: ./tools/check_scripts.sh
- name: Check Python stub file
run: ./tools/generate_python_stub.py | diff src/plugins/python/weechat.pyi -
- name: Check Curl symbols
run: curl --silent --show-error --fail --retry 10 https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
install:
strategy:
matrix:
os:
- ubuntu-24.04
config:
- name: "gcc"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON"
- name: "gcc_ninja"
cc: "gcc"
cxx: "g++"
buildargs: "-G Ninja -DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON"
- name: "gcc_release_hardened"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_TESTS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=\"-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3\" -DCMAKE_CXX_FLAGS=\"-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3\""
- name: "gcc_no_nls"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_TESTS=ON -DENABLE_NLS=OFF"
- name: "gcc_no_zstd"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_TESTS=ON -DENABLE_ZSTD=OFF"
- name: "gcc_no_cjson"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_TESTS=ON -DENABLE_CJSON=OFF"
- name: "gcc_no_perl_multiplicity"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_TESTS=ON -DCMAKE_C_FLAGS=\"-DNO_PERL_MULTIPLICITY=1\""
- name: "gcc_coverage"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON -DENABLE_CODE_COVERAGE=ON"
- name: "clang"
cc: "clang"
cxx: "clang++"
buildargs: "-DENABLE_CODE_COVERAGE=ON -DENABLE_FUZZ=ON"
name: "install (${{ matrix.os }}, ${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPS_UBUNTU }}
# uninstall php imagick as is causes a crash when loading php plugin (see #2009)
sudo apt-get --yes purge php8.3-imagick
pipx install schemathesis
- name: Build and run tests
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
run: ./tools/build_test.sh ${{ matrix.config.buildargs }}
- name: Run WeeChat
env:
TERM: xterm-256color
run: |
weechat --help
weechat-curses --help
weechat --version
weechat --build-info
weechat --colors
weechat --license
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
- name: Test Relay OpenAPI
if: ${{ matrix.config.name == 'gcc' }}
env:
RELAY_PASSWORD: test
run: |
weechat-headless \
--dir /tmp/weechat-test-api \
--run-command '/set relay.network.password "${{ env.RELAY_PASSWORD }}"' \
--run-command '/set relay.network.password_hash_iterations 100' \
--run-command '/set relay.network.max_clients 0' \
--run-command '/relay add api 9000' \
--daemon \
;
sleep 5
schemathesis run --url http://localhost:9000/api ./src/plugins/relay/api/weechat-relay-api.yaml
echo '*/quit' >/tmp/weechat-test-api/weechat_fifo_*
- name: Code coverage
if: ${{ matrix.config.name == 'gcc_coverage' }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: |
cd build-tmp-*
lcov --directory . --capture --output-file coverage.info
lcov --remove coverage.info '/usr/*' --output-file coverage.info
lcov --list coverage.info
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error'
install_rockylinux:
strategy:
matrix:
os:
- ubuntu-24.04
config:
- name: "gcc"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON"
- name: "clang"
cc: "clang"
cxx: "clang++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON -DENABLE_CODE_COVERAGE=ON -DENABLE_FUZZ=ON"
name: "install (rockylinux:9, ${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
container:
image: rockylinux:9
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
dnf install -y epel-release dnf-plugins-core
dnf config-manager --set-enabled crb
# pin a working ruby stream (ruby:4.0 has broken module metadata on Rocky 9.8)
dnf module enable -y ruby:3.3
dnf install -y ${{ env.WEECHAT_DEPS_ROCKYLINUX }}
- name: Build and run tests
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
run: ./tools/build_test.sh ${{ matrix.config.buildargs }}
- name: Run WeeChat
env:
TERM: xterm-256color
run: |
weechat --help
weechat-curses --help
weechat --version
weechat --build-info
weechat --colors
weechat --license
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
install_freebsd:
strategy:
matrix:
os:
- ubuntu-24.04
config:
# - name: "gcc"
# cc: "gcc"
# cxx: "g++"
# buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON"
- name: "clang"
cc: "clang"
cxx: "clang++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON -DENABLE_CODE_COVERAGE=ON -DENABLE_FUZZ=ON"
name: "install (freebsd, ${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Install dependencies, build and run tests, run WeeChat
uses: vmactions/freebsd-vm@v1
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
TERM: xterm-256color
with:
envs: "CC CXX TERM"
usesh: true
prepare: pkg install -y ${{ env.WEECHAT_DEPS_FREEBSD }}
run: |
./tools/build_test.sh ${{ matrix.config.buildargs }}
weechat --help
weechat-curses --help
weechat --version
weechat --build-info
weechat --colors
weechat --license
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
install_macos:
strategy:
matrix:
os:
- macos-14
config:
- name: "gcc"
cc: "gcc"
cxx: "g++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_DOC_INCOMPLETE=ON -DENABLE_PHP=OFF -DENABLE_TESTS=OFF"
- name: "clang"
cc: "clang"
cxx: "clang++"
buildargs: "-DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_DOC_INCOMPLETE=ON -DENABLE_PHP=OFF -DENABLE_TESTS=OFF"
name: "install (${{ matrix.os }}, ${{ matrix.config.name }})"
runs-on: ${{ matrix.os }}
steps:
- name: Setup Homebrew
id: setup-homebrew
uses: Homebrew/actions/setup-homebrew@main
- name: Install dependencies
run: |
brew update
brew install ${{ env.WEECHAT_DEPS_MACOS }}
- uses: actions/checkout@v6
- name: Build
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
RUN_TESTS: "0"
JOBS: "2"
run: ./tools/build_test.sh ${{ matrix.config.buildargs }}
- name: Run WeeChat
env:
TERM: xterm-256color
run: |
weechat --help
weechat-curses --help
weechat --version
weechat --build-info
weechat --colors
weechat --license
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
build_debian:
strategy:
matrix:
os:
- ubuntu-24.04
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPS_UBUNTU }}
- name: Test Debian patches
run: ./tools/build_debian.sh test-patches
- name: Build Debian packages
run: ./tools/build_debian.sh devel ubuntu/noble
- name: Install Debian packages
run: sudo dpkg -i ../weechat-devel*.deb
- name: Run WeeChat
env:
TERM: xterm-256color
run: |
weechat --help
weechat-curses --help
weechat --version
weechat --build-info
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
codeql_analysis:
strategy:
matrix:
os:
- ubuntu-24.04
runs-on: ${{ matrix.os }}
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPS_UBUNTU }}
# uninstall php imagick as is causes a crash when loading php plugin (see #2009)
sudo apt-get --yes purge php8.3-imagick
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: cpp
- name: Autobuild
uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:cpp"
+22
View File
@@ -0,0 +1,22 @@
# SPDX-FileCopyrightText: 2025-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: REUSE Compliance Check
on:
- push
- pull_request
jobs:
test:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v4
+12 -55
View File
@@ -1,56 +1,13 @@
# ignored files for Git
# SPDX-FileCopyrightText: 2007-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
*.a
*.gmo
*.la
*.lai
*.lo
*.m4
*.o
*.Plo
*.Po
*.so
*.so.0
*.so.0.0.0
*.1
ABOUT-NLS
autom4te*
build*/*
compile
config.guess
config.h
config.h.in*
config-git.h
config.log
config.rpath
config.status
config.sub
configure
debian
!tools/debian
debian-devel/changelog
debian-devel/*.log
debian-stable/*.log
depcomp
insert-header.sin
install-sh
intl/*
libtool
ltmain.sh
Makefile
Makefile.in*
Makevars.template
missing
po/*quot*
POTFILES
remove-potcdate.sed
Rules-quot
weechat.pc
weechat-*.cygport
*stamp
stamp*
src/gui/curses/weechat
src/gui/curses/weechat-curses
/build
/builddir
/debian
/debian-devel/changelog
/debian-devel/*.log
/debian-devel/*-stamp
/debian-stable/*.log
/debian-stable/*-stamp
/release
+7 -1
View File
@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2014-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# Map author and committer names and email addresses to canonical real names
# and email addresses.
#
@@ -11,7 +15,9 @@ Sébastien Helleu <flashcode@flashtux.org> <flashcode>
Sébastien Helleu <flashcode@flashtux.org> <uid67137>
Nils Görs <weechatter@arcor.de>
Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
Krzysztof Korościk <soltys1@gmail.com> <soltys@szluug.org> <soltys@soltys.info>
Krzysztof Korościk <soltys@soltys.info>
Krzysztof Korościk <soltys@soltys.info> <soltys1@gmail.com>
Krzysztof Korościk <soltys@soltys.info> <soltys@szluug.org>
Marco Paolone <marcopaolone@gmail.com>
<marcopaolone@gmail.com> <marco@DrB4tch.sitecomwl601>
<mikaela.suomalainen@outlook.com> <mkaysi@outlook.com>
+281
View File
@@ -0,0 +1,281 @@
Atheme
Autojoin
Charset
Diffie-Hellman
Esc
FlashCode
GnuTLS
Hashtable
Helleu
IPs
Sébastien
WeeChat
Xfer
abc
ack
acks
addcompletion
addinput
addoff
addraw
addreplace
addreplacecompletion
addword
algo
allchan
allpv
alnum
andrew
ansi
api
args
argsN
aspell
autoconnect
autojoin
autoload
autoloaded
autoreconnect
autorejoin
bg
bindctxt
bitlbee
bkl
blocksize
bool
buflist
cJSON
calc
ccc
charset
charsets
chghost
chmod
cleartext
clientinfo
cmd
codepoint
concat
cond
config
crypted
ctcp
ctrl
ctrl-
ctrl-c
ctrl-h
ctrl-n
ctrl-x
ctrl-y
cutscr
cxx
darkgray
deinit
deldict
deloutq
delvar
dhkey
dirs
dlclose
eg
enum
enums
env
esc
eval
fd
ffff
fg
fifo
flashcode
flashtux
freebsd
fset
fsync
gcrypt
getrlimit
getrusage
gnutls
grayscale
gui
gzip
halfop
halfops
hashtable
hdata
hh
horiz
hostname
hostnames
hotlist
hsignal
http
https
hup
ident
ie
il
inclose
infolist
infolists
infos
installremove
irc
ison
javascript
json
kf
kickban
killall
lengthscr
libera
libgcrypt
libs
lightblue
lightcyan
lightgreen
lightmagenta
lightred
linux
listdefault
listdict
listdiff
listfull
listitems
listrelay
listvar
lua
mallinfo
malloc
mirc
modelist
msg
msgN
msgbuffer
multiline
ncurses
newbuffer
nf
nickbot
nicklist
nickserv
nl
noautoload
nobg
nocl
noflush
nohelp
nojoin
noln
nonblock
nooption
norc
nostdin
nosw
noswitch
notls
num
oc
oerr
oftc
ok
ol
osinfo
outqueue
ovh
paramN
params
perl
permessage-deflate
pgdn
pgup
pid
prev
privmsg
ptr
pv
py
quickstart
rc
realname
recv
reinitializing
reop
resetall
resetctxt
revindex
revscr
rgb
rlimit
rusage
rw-rw-r--
sasl
setauto
setdict
setname
setnew
setrlimit
setvar
signon
skipempty
sockaddr
splith
splitv
stderr
stdin
stdout
strcasecmp
strftime
strftimeval
strlen
sublist
subplugin
sw
sys
tThe
tcl
tg
tls
tlscertkey
toggleautoload
togglecmd
toto
totp
truncature
un
unalias
unban
unbindctxt
undef
unescaped
unhide
unhold
unicode
unix
unmark
unmerge
unzoom
uptime
url
urlserver
usec
userhost-in-names
usr
util
valgrind
versiongit
waitpid
wcswidth
wctype
wcwidth
websocket
websockets
weechat
whois
www
xdigit
xfer
xyz
yy
zlib
zstd
+611
View File
@@ -0,0 +1,611 @@
Atheme
Autojoin
Curl
Curses
Debug
Dec
Diffie-Hellman
Filter
FlashCode
GnuTLS
Guile
Helleu
IPs
Lag
Ping
Protocol
Relay
Remote
Reop
Tab
Trigger
Triggers
Typing
URLs
Wallops
WeeChat
Xfer
account
account-
account-notify
account-tag
ack
acks
add
addcompletion
addinput
addoff
addraw
addreplace
addreplacecompletion
addresse
addword
align
all
allchan
allow
allowed
allpv
alnum
alt
alt-c
alt-k
alt-s
alt-v
alt-z
andrew
ansi
apply
area
args
argsN
aspell
attributes
auth
autoconnect
autojoin
autoload
autorejoin
away
away-notify
backspace
bare
bash
beep
before
beginning
beyond
bg
bin
bind
bindctxt
bitlbee
bkl
blue
bold
bool
boolean
both
bottom
bracketed
brown
buflist
cJSON
calc
callbacks
cap-notify
capabilities
capability
ccc
cert
certs
changed
channel
charset
charsets
check
chghost
chmod
cipher
clear
clientinfo
clipboard
cmd
color
colors
command
commands
complete
completion
concat
cond
confirm
connect
connected
connecting
control
copy
core
count
crypt
ctcp
ctrl
ctrl-
ctrl-c
ctrl-h
ctrl-n
ctrl-x
ctrl-y
curl
current
cursor
cut
cutscr
cxx
d'ignore
d'infolist
daemon
darkgray
days
debug
decode
decrypt
default
define
deinit
del
deldict
delete
deloutq
delvar
desc
describe
dhkey
dict
diff
dim
dir
dirs
disable
discard
disconnect
disconnected
display
displayed
dlclose
doc-gen
down
download
draft
dummy
dump
eat
echo-message
edge
emphasized
empty
enable
enabled
end
enum
error
esc
eval
example
exclude
exec
extended-join
external
exts
fail
failed
fast
fd
ffff
fifo
filter
fingerprint
first
flashcode
flashtux
foo
formatted
free
freebsd
fset
fsync
gcrypt
get
getrlimit
getrusage
ghost
giga-octets
git
glitch
gnutls
grab
group
gzip
halfop
halfops
handshake
hash
hashtable
hdata
he
headless
help
here
hexa
hh
hidden
hide
highest
highlight
highlights
history
hold
hook
hooks
horiz
host
hotlist
hsignal
hup
ident
identify
ids
ignored
inclose
include
indent
infolist
infolistes
infolists
init
install
installremove
int
integer
interval
invite-notify
irc
ison
iterations
javascript
join
json
jump
keep
key
keys
kf
kickban
kill
killall
l'autojoin
l'id
lag
last
layout
leave
left
legacy
length
lengthscr
level
lib
libera
libgcrypt
libs
lightblue
lightcyan
lightgreen
lightmagenta
lightred
limit
line
lines
linux
list
listdefault
listdict
listdiff
listen
listfull
listitems
listrelay
listvar
load
logger
loggers
lower
lowest
ls
lua
mallinfo
malloc
marked
mask
memory
merge
merged
meta
meta-
method
mirc
missing
modified
mouse
move
msg
msgN
msgbuffer
multi-prefix
multiline
my
n-
name
names
ncurses
near
network
newbuffer
newline
next
nf
nick
nickbot
nicklist
nicks
nickserv
no-connect
noautoload
nobg
nocl
noflush
nohelp
nojoin
noln
nonblock
nooption
norc
nosh
nostdin
nosw
noswitch
notify
notls
null
num
number
numeric
object
oerr
of
offline
oftc
ok
ol
ops
osinfo
ovh
paramN
params
parted
pass
passphrase
password
password-store
paste
path
paused
pct
pending
perl
permessage-deflate
pgdn
pgup
pid
ping
pong
pos
prefix
prev
previous
print
priority
private
privmsg
property
ptr
py
quit
quoted
rafraichie
rafraichir
rafraichissement
random
raw
rc
realname
reconnect
recreate
recv
red
redirected
redo
refresh
regex
register
relay
reload
remote
remove
rename
renumber
reorder
rep
repeat
reply
req
reset
resetall
resetctxt
resize
restart
restore
return
rev
revindex
revscr
rgb
right
rlimit
root
ruby
run
run-command
runtime
rusage
rw-rw-r--
réinit
safe
sasl
save
scheme
screen
scroll
search
secure
selected
send
server
server-time
setauto
setdict
setname
setnew
setrlimit
setvar
sh
share
shift
shift-
shift-Tab
size
skipempty
sockaddr
sorted
space
speaking
spell
split
splith
splitv
ss
start
status
stderr
stdin
stdout
str
strcasecmp
strftime
strftimeval
strip
strlen
sucks
suffix
suggest
sum
sw
switch
sys
tLe
tab
target
tcl
term
text
tg
time
timeout
timer
tiny
title
tls
tlscertkey
to
toggle
toggleautoload
togglecmd
topic
totp
trigger
triggers
trim
typing
téra-octets
unalias
unavailable
unban
unbind
unbindctxt
undef
undo
unhide
unicode
unix
unload
unmerge
unread
unset
up
update
upper
url
urlserver
usec
userhost-in-names
username
users
usr
util
valer
verbose
verify
versiongit
visited
voice
wait
waiting
waitpid
wallops
wcswidth
wctype
wcwidth
websocket
websockets
weechat
where
white
whitespace
whois
width
window
windows
without
word
words
xdigit
xfer
xxx
xyz
yellow
yes
yy
zero
zlib
zstd
Échap
+25
View File
@@ -0,0 +1,25 @@
# SPDX-FileCopyrightText: 2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
[check]
select = [
"checks",
]
ignore = [
"brackets",
"double-quotes",
"double-words",
"header",
"html-tags",
"paths",
"punc-space-str",
"unchanged",
"unicode-ctrl",
"urls",
]
path_words = "."
langs = [
"en_US",
"fr",
]
-44
View File
@@ -1,44 +0,0 @@
language: c
compiler:
- gcc
- clang
sudo: required
dist: trusty
env:
- BUILDTOOL="cmake" BUILDARGS=""
# - BUILDTOOL="cmake" BUILDARGS="-DENABLE_PYTHON3=ON"
- BUILDTOOL="cmake" BUILDARGS="-DENABLE_GNUTLS=OFF"
- BUILDTOOL="autotools" BUILDARGS=""
# - BUILDTOOL="autotools" BUILDARGS="--enable-python3"
- BUILDTOOL="autotools" BUILDARGS="--disable-gnutls"
before_script:
# Workaround https://github.com/travis-ci/travis-ci/issues/5326
- export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
- echo 'APT::Install-Recommends "false";' | sudo tee -a /etc/apt/apt.conf
- sudo add-apt-repository -y ppa:ondrej/php
- sudo apt-get update -qq
- sudo apt-get -y install devscripts equivs python-pip libenchant-dev autopoint cmake pkg-config libncursesw5-dev gem2deb libperl-dev python-dev python3-dev libaspell-dev liblua5.1-0-dev tcl8.5-dev guile-2.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt11-dev libgnutls-dev zlib1g-dev curl libcpputest-dev php7.0-dev libphp7.0-embed
- sudo gem install asciidoctor
- sudo pip install msgcheck pylint
- phpenv local system
script:
- ./tools/build-test.sh
- msgcheck po/*.po
- pylint --version
- pylint doc/docgen.py
- pylint tests/scripts/python/testapigen.py
- pylint tests/scripts/python/testapi.py
- pylint tests/scripts/python/unparse.py
- ./tools/build-debian.sh test-patches
after_success:
- weechat --help
- weechat-curses --help
matrix:
fast_finish: true
-131
View File
@@ -1,131 +0,0 @@
= WeeChat Authors
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: en
== Developers
* General code
** Sébastien Helleu (FlashCode) <flashcode@flashtux.org>
* Scripts plugins, debian packager
** Emmanuel Bouthenot (kolter) <kolter@openics.org>
== Contributors
Alphabetically:
* Adam Saponara (adsr)
* Ailin Nemui (Nei)
* Aleksey V Zapparov
* Alex Tarkovsky
* Anders Bergh
* Andrew Potter (talisein)
* Antoine Pietri (seirl)
* Arvydas Sidorenko
* Asakura
* Bazerka
* Benoit Papillault (benoit)
* Chris Hills
* Christian Heinz
* Christopher O'Neill (deltafire)
* coypoop
* David Flatz
* Dmitry Kobylin
* Dominik Honnef
* Dominique Martinet
* Eduardo Elias
* Elizabeth Myers (Elizacat)
* Elián Hanisch (m4v)
* Emanuele Giaquinta
* Esteban I. Ruiz Moreno (Exio)
* Evgeny Shmarnev
* Felix Eckhofer
* Frank Zacharias
* Fredrik Fornwall
* Grant Wu
* Gu1ll4um3r0m41n
* Guido Berhoerster
* Gwenn
* Hasan Kiran (turgay)
* Ivan Sichmann Freitas
* Jakub Jirutka
* Jason A. Donenfeld (zx2c4)
* JD Horelick (jdhore)
* Jim Ramsay (lack)
* Jiri Golembiovsky (GolemJ)
* Joey Pabalinas (alyptik)
* Jos Ahrens
* Joseph Kichline
* Juan Francisco Cantero Hurtado
* Julien Louis (ptitlouis)
* Karthik K
* Koka El Kiwi (KiwiDash)
* Krzysztof Koroscik (soltys)
* Kyle Fuller (kylef)
* Leonid Evdokimov
* Lázaro A.
* Linus Heckemann
* Maarten de Vries
* Mantas Mikulėnas (grawity)
* Marco Paolone
* Mateusz Poszwa
* Matt Robinson
* Max Anton Teufel
* Maxim Baz
* Miroslav Koskar
* Murilo Opsfelder Araujo
* Neui
* Nick (SolitaryCipher)
* Nicolas Cavigneaux
* Nils Görs (nils_2)
* nyuszika7h
* Odin
* Ondřej Súkup
* Patrick Steinhardt
* Patrik Janoušek
* Paul Komkoff
* Pavel Shevchuk (Stalwart)
* Peter Boström (pbos)
* Phillip Sz
* Pierre Carru
* Piotr Szymaniak
* Pistos
* Quentin Glidic (SardemFF7)
* Quentin Pradet
* Quico Noizeux
* Raghavendra Prabhu
* raspbeguy
* Rettub
* Rob Campbell
* Romero B. de S. Malaquias
* Rudolf Polzer (divVerent)
* Ruslan Bekenev
* Ryuunosuke Ayanokouzi
* scumjr
* Sergio Durigan Junior
* Shane McCarron
* Shawn Smith
* Simmo Saan (sim642)
* Simon Arlott
* Simon Kuhnle
* Stefano Pigozzi
* Stfn
* Sven Knurr (Cthulhux)
* Tim D. Smith
* Tim Harder
* Tobias Stoeckmann
* Tom Alsberg
* Tomoe Mami
* Tor Hveem (xt)
* Valentin Lorentz (progval)
* Vasco Almeida
* Voroskoi
* Wojciech Kwolek
* W. Trevor King
* Yannick Palanque
== Contact
See https://weechat.org/files/doc/devel/weechat_user.en.html#support[user's guide]
or https://weechat.org/dev/support
+174
View File
@@ -0,0 +1,174 @@
<!--
SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
SPDX-License-Identifier: GPL-3.0-or-later
-->
# WeeChat Authors
## Developers
- General code
- [Sébastien Helleu](https://github.com/flashcode) (FlashCode)
- Scripts plugins, debian packager
- [Emmanuel Bouthenot](https://github.com/k0lter) (kolter)
## Contributors
Alphabetically:
- Adam Saponara (adsr)
- Adrian Bjugård
- Ailin Nemui (Nei)
- Aleksey V Zapparov
- Alex Tarkovsky
- Anders Bergh
- Andrew Potter (talisein)
- Antoine Pietri (seirl)
- Arvydas Sidorenko
- Asakura
- Bazerka
- Benoit Papillault (benoit)
- Caleb Josue Ruiz Torres
- Chris Hills
- Christian Duerr
- Christian Heinz
- Christopher O'Neill (deltafire)
- coypoop
- Daniel Lublin
- Danilo Spinella
- David Flatz
- Dmitry Kobylin
- Dominik Honnef
- Dominique Martinet
- dotflac
- Eduardo Elias
- Eli Schwartz
- Elizabeth Myers (Elizacat)
- Elián Hanisch (m4v)
- Emanuele Giaquinta
- Emil Velikov
- Emir Sarı
- emk
- Érico Nogueira
- Esteban I. Ruiz Moreno (Exio)
- Evgeny Shmarnev
- Felix Eckhofer
- Frank Zacharias
- Fredrik Fornwall
- Grant Wu
- Gu1ll4um3r0m41n
- Guido Berhoerster
- Gwenn
- Hasan Kiran (turgay)
- Ivan Pešić
- Ivan Sichmann Freitas
- Jakub Jirutka
- James C. Morey
- Jan Palus
- Jason A. Donenfeld (zx2c4)
- JD Horelick (jdhore)
- jesopo
- Jim Ramsay (lack)
- Jiri Golembiovsky (GolemJ)
- Joe Hermaszewski
- Joey Pabalinas (alyptik)
- Johan Rylander
- Johannes Kuhn
- Joram Schrijver
- Jos Ahrens
- Joseph Kichline
- Josh Soref
- Juan Francisco Cantero Hurtado
- Julien Louis (ptitlouis)
- Karthik K
- Koka El Kiwi (KiwiDash)
- Krzysztof Koroscik (soltys)
- Kyle Fuller (kylef)
- Kyle Sabo
- Latchezar Tzvetkoff
- Lázaro A.
- Leonid Evdokimov
- Linus Heckemann
- LuK1337
- Maarten de Vries
- Mantas Mikulėnas (grawity)
- Marco Paolone
- Marco Sirabella
- Mario Campos
- Mateusz Poszwa
- Matt Robinson
- Matthew Horan
- Matthew Martin
- Matti Virkkunen
- Max Anton Teufel
- Maxim Baz
- Michael Siegel
- Miko
- Miroslav Koskar
- Murilo Opsfelder Araujo
- Neui
- Nick (SolitaryCipher)
- Nicolas Cavigneaux
- Nils Görs (nils_2)
- nyuszika7h
- Odin
- Ondřej Súkup
- Patrick Steinhardt
- Patrik Janoušek
- Paul Komkoff
- Pavel Shevchuk (Stalwart)
- Peter Boström (pbos)
- Phillip Sz
- Pierre Carru
- Piotr Szymaniak
- Pistos
- Quentin Glidic (SardemFF7)
- Quentin Pradet
- Quico Noizeux
- rafasc
- Raghavendra Prabhu
- raspbeguy
- Rettub
- Rob Campbell
- Romero B. de S. Malaquias
- Rudolf Polzer (divVerent)
- Ruslan Bekenev
- Ryan Farley
- Ryan Qian
- Ryuunosuke Ayanokouzi
- scumjr
- Sergio Durigan Junior
- Shane McCarron
- Shawn Smith
- Shun Sakai
- Simmo Saan (sim642)
- Simon Arlott
- Simon Kuhnle
- Simon Ser
- Stefano Pigozzi
- Stfn
- Sven Knurr (Cthulhux)
- Tim D. Smith
- Tim Harder
- Tobias Stoeckmann
- Tom Alsberg
- Tom Fitzhenry
- Tomoe Mami
- Tor Hveem (xt)
- Trevor Bergeron
- Valentin Lorentz (progval)
- Vasco Almeida
- Victorhck
- Voroskoi
- wfrsk
- Wojciech Kwolek
- W. Trevor King
- Yannick Palanque
- Yiheng Cao
- ZethJack
- Ørjan Malde
## Contact
See the [support page](https://weechat.org/about/support/).
+4568
View File
File diff suppressed because it is too large Load Diff
+233 -169
View File
@@ -1,7 +1,9 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2007-2008 Julien Louis <ptitlouis@sysif.net>
# SPDX-FileCopyrightText: 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -16,289 +18,351 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
cmake_minimum_required(VERSION 2.4)
cmake_minimum_required(VERSION 3.18)
project(weechat C)
# CMake options
set(CMAKE_VERBOSE_MAKEFILE OFF)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_SKIP_RPATH ON)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror-implicit-function-declaration")
# compiler options
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration -Wformat -Werror=format-security")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra")
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
# extra options specific to GCC
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wformat-overflow=2 -Wformat-truncation=2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat-overflow=2 -Wformat-truncation=2")
endif()
# version
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-major OUTPUT_VARIABLE VERSION_MAJOR)
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-minor OUTPUT_VARIABLE VERSION_MINOR)
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-patch OUTPUT_VARIABLE VERSION_PATCH)
execute_process(COMMAND "${CMAKE_SOURCE_DIR}/version.sh" devel-major OUTPUT_VARIABLE VERSION_MAJOR)
execute_process(COMMAND "${CMAKE_SOURCE_DIR}/version.sh" devel-minor OUTPUT_VARIABLE VERSION_MINOR)
execute_process(COMMAND "${CMAKE_SOURCE_DIR}/version.sh" devel-patch OUTPUT_VARIABLE VERSION_PATCH)
string(REGEX REPLACE "\n" "" VERSION_MAJOR "${VERSION_MAJOR}")
string(REGEX REPLACE "\n" "" VERSION_MINOR "${VERSION_MINOR}")
string(REGEX REPLACE "\n" "" VERSION_PATCH "${VERSION_PATCH}")
if(VERSION_PATCH STREQUAL "")
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}")
else()
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
endif()
# license
set(LICENSE "GPL3")
# add definitions for version and license
if(COMMAND cmake_policy)
cmake_policy(SET CMP0005 NEW)
add_definitions(-DWEECHAT_VERSION="${VERSION}" -DWEECHAT_LICENSE="${LICENSE}")
else()
add_definitions(-DWEECHAT_VERSION='"${VERSION}"' -DWEECHAT_LICENSE='"${LICENSE}"')
endif()
add_definitions(-DWEECHAT_VERSION="${VERSION}" -DWEECHAT_LICENSE="GPL3")
# package string
set(PKG_STRING "${PROJECT_NAME} ${VERSION}")
string(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
if(DEFINED LIBDIR)
set(LIBDIR ${LIBDIR}/${PROJECT_NAME})
else()
set(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME})
if(NOT DEFINED LIBDIR)
set(LIBDIR "${CMAKE_INSTALL_PREFIX}/lib")
endif()
if(NOT DEFINED SHAREDIR)
set(SHAREDIR ${CMAKE_INSTALL_PREFIX}/share)
if(NOT DEFINED WEECHAT_LIBDIR)
set(WEECHAT_LIBDIR "${LIBDIR}/${PROJECT_NAME}")
endif()
if(NOT DEFINED DATAROOTDIR)
set(DATAROOTDIR "${CMAKE_INSTALL_PREFIX}/share")
endif()
if(NOT DEFINED WEECHAT_SHAREDIR)
set(WEECHAT_SHAREDIR "${DATAROOTDIR}/weechat")
endif()
if(NOT DEFINED MANDIR)
set(MANDIR ${SHAREDIR}/man)
set(MANDIR "${DATAROOTDIR}/man")
endif()
if(NOT DEFINED LOCALEDIR)
set(LOCALEDIR ${SHAREDIR}/locale)
set(LOCALEDIR "${DATAROOTDIR}/locale")
endif()
if(DEFINED INCLUDEDIR)
set(INCLUDEDIR ${INCLUDEDIR}/${PROJECT_NAME})
set(INCLUDEDIR "${INCLUDEDIR}/${PROJECT_NAME}")
else()
set(INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
set(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME}")
endif()
option(ENABLE_NCURSES "Compile the Ncurses interface" ON)
option(ENABLE_HEADLESS "Compile the headless binary (required for tests)" ON)
option(ENABLE_NLS "Enable Native Language Support" ON)
option(ENABLE_GNUTLS "Enable SSLv3/TLS support" ON)
option(ENABLE_LARGEFILE "Enable Large File Support" ON)
option(ENABLE_ALIAS "Enable Alias plugin" ON)
option(ENABLE_ASPELL "Enable Aspell plugin" ON)
option(ENABLE_ENCHANT "Enable Enchant lib for Aspell plugin" OFF)
option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
option(ENABLE_CHARSET "Enable Charset plugin" ON)
option(ENABLE_EXEC "Enable Exec plugin" ON)
option(ENABLE_FIFO "Enable FIFO plugin" ON)
option(ENABLE_FSET "Enable Fast Set plugin" ON)
option(ENABLE_IRC "Enable IRC plugin" ON)
option(ENABLE_LOGGER "Enable Logger plugin" ON)
option(ENABLE_RELAY "Enable Relay plugin" ON)
option(ENABLE_SCRIPT "Enable Script plugin (script manager)" ON)
option(ENABLE_SCRIPTS "Enable script plugins (perl, python, ...)" ON)
option(ENABLE_PERL "Enable Perl scripting language" ON)
option(ENABLE_PYTHON "Enable Python scripting language" ON)
option(ENABLE_PYTHON3 "Use Python 3.x if found (NOT recommended because many \"official\" scripts won't work)" OFF)
option(ENABLE_RUBY "Enable Ruby scripting language" ON)
option(ENABLE_LUA "Enable Lua scripting language" ON)
option(ENABLE_TCL "Enable Tcl scripting language" ON)
option(ENABLE_GUILE "Enable Scheme (guile) scripting language" ON)
option(ENABLE_JAVASCRIPT "Enable JavaScript scripting language" ON)
option(ENABLE_PHP "Enable PHP scripting language" ON)
option(ENABLE_TRIGGER "Enable Trigger plugin" ON)
option(ENABLE_XFER "Enable Xfer plugin" ON)
option(ENABLE_MAN "Enable build of man page" OFF)
option(ENABLE_DOC "Enable build of documentation" OFF)
option(ENABLE_TESTS "Enable tests" OFF)
option(ENABLE_NCURSES "Compile the Ncurses interface" ON)
option(ENABLE_HEADLESS "Compile the headless binary" ON)
option(ENABLE_NLS "Enable Native Language Support" ON)
option(ENABLE_LARGEFILE "Enable Large File Support" ON)
option(ENABLE_ZSTD "Enable Zstandard compression" ON)
option(ENABLE_CJSON "Enable cJSON support" ON)
option(ENABLE_ALIAS "Enable Alias plugin" ON)
option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
option(ENABLE_CHARSET "Enable Charset plugin" ON)
option(ENABLE_EXEC "Enable Exec plugin" ON)
option(ENABLE_FIFO "Enable FIFO plugin" ON)
option(ENABLE_FSET "Enable Fast Set plugin" ON)
option(ENABLE_IRC "Enable IRC plugin" ON)
option(ENABLE_LOGGER "Enable Logger plugin" ON)
option(ENABLE_RELAY "Enable Relay plugin" ON)
option(ENABLE_SCRIPT "Enable Script plugin (script manager)" ON)
option(ENABLE_SCRIPTS "Enable script plugins (perl, python, …)" ON)
option(ENABLE_PERL "Enable Perl scripting language" ON)
option(ENABLE_PYTHON "Enable Python scripting language" ON)
option(ENABLE_RUBY "Enable Ruby scripting language" ON)
option(ENABLE_LUA "Enable Lua scripting language" ON)
option(ENABLE_TCL "Enable Tcl scripting language" ON)
option(ENABLE_GUILE "Enable Scheme (guile) scripting language" ON)
option(ENABLE_JAVASCRIPT "Enable JavaScript scripting language" OFF)
option(ENABLE_PHP "Enable PHP scripting language" ON)
option(ENABLE_SPELL "Enable Spell checker plugin" ON)
option(ENABLE_ENCHANT "Use Enchant lib in Spell checker plugin" OFF)
option(ENABLE_TRIGGER "Enable Trigger plugin" ON)
option(ENABLE_TYPING "Enable Typing plugin" ON)
option(ENABLE_XFER "Enable Xfer plugin" ON)
option(ENABLE_MAN "Enable build of man page" OFF)
option(ENABLE_DOC "Enable build of documentation" OFF)
option(ENABLE_DOC_INCOMPLETE "Enable incomplete doc" OFF)
option(ENABLE_TESTS "Enable tests" OFF)
option(ENABLE_FUZZ "Enable fuzz testing" OFF)
option(ENABLE_CODE_COVERAGE "Enable code coverage" OFF)
# code coverage
add_library(coverage_config INTERFACE)
if(ENABLE_CODE_COVERAGE)
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
# GCC
target_compile_options(coverage_config INTERFACE -O0 -g --coverage)
target_link_libraries(coverage_config INTERFACE --coverage)
elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang")
# Clang
target_compile_options(coverage_config INTERFACE -g -fprofile-instr-generate -fcoverage-mapping)
target_link_libraries(coverage_config INTERFACE -fprofile-instr-generate)
endif()
endif()
# headless mode is required for documentation
if(ENABLE_DOC AND NOT ENABLE_HEADLESS)
message(FATAL_ERROR "Headless mode is required to build documentation.")
endif()
# all plugins (except javascript) are required for documentation
if(ENABLE_DOC AND NOT ENABLE_DOC_INCOMPLETE
AND (NOT ENABLE_NLS OR NOT ENABLE_ALIAS OR NOT ENABLE_BUFLIST
OR NOT ENABLE_CHARSET OR NOT ENABLE_EXEC OR NOT ENABLE_FIFO
OR NOT ENABLE_FSET OR NOT ENABLE_IRC OR NOT ENABLE_LOGGER
OR NOT ENABLE_RELAY OR NOT ENABLE_SCRIPT OR NOT ENABLE_SCRIPTS
OR NOT ENABLE_PERL OR NOT ENABLE_PYTHON OR NOT ENABLE_RUBY
OR NOT ENABLE_LUA OR NOT ENABLE_TCL OR NOT ENABLE_GUILE
OR NOT ENABLE_PHP OR NOT ENABLE_SPELL OR NOT ENABLE_TRIGGER
OR NOT ENABLE_TYPING OR NOT ENABLE_XFER))
message(
FATAL_ERROR
" All plugins are required to build documentation.\n"
" If you really want to build incomplete docs, enable this option:\n"
" -DENABLE_DOC_INCOMPLETE=ON"
)
endif()
# headless mode is required for tests
if(ENABLE_TESTS AND NOT ENABLE_HEADLESS)
message(FATAL_ERROR "Headless mode is required for tests.")
endif()
# option WEECHAT_HOME
if(NOT DEFINED WEECHAT_HOME OR "${WEECHAT_HOME}" STREQUAL "")
set(WEECHAT_HOME "~/.weechat")
# Set this to override aspell's dictionaries directory
if(ASPELL_DICT_DIR)
add_definitions(-DASPELL_DICT_DIR="${ASPELL_DICT_DIR}")
endif()
# Set this to override the myspell dictionaries directory when using enchant
if(ENCHANT_MYSPELL_DICT_DIR)
add_definitions(-DENCHANT_MYSPELL_DICT_DIR="${ENCHANT_MYSPELL_DICT_DIR}")
endif()
# option WEECHAT_HOME
set(WEECHAT_HOME "${WEECHAT_HOME}" CACHE
STRING "WeeChat home directory for config, logs, scripts.. (default is \"~/.weechat\")"
STRING "Force a single WeeChat home directory for config, logs, scripts, etc."
FORCE)
mark_as_advanced(CLEAR WEECHAT_HOME)
# option CA_FILE
if(NOT DEFINED CA_FILE OR "${CA_FILE}" STREQUAL "")
set(CA_FILE "/etc/ssl/certs/ca-certificates.crt")
endif()
set(CA_FILE "${CA_FILE}" CACHE
STRING "File containing the certificate authorities (default is \"/etc/ssl/certs/ca-certificates.crt\"). This is the default value of option \"weechat.network.gnutls_ca_file\"."
FORCE)
mark_as_advanced(CLEAR CA_FILE)
if(COMMAND cmake_policy)
if(POLICY CMP0003)
cmake_policy(SET CMP0003 NEW)
endif()
if(POLICY CMP0017)
cmake_policy(SET CMP0017 NEW)
endif()
endif()
add_definitions(-DHAVE_CONFIG_H)
include(FindPkgConfig)
include(CheckIncludeFiles)
include(CheckFunctionExists)
include(CheckSymbolExists)
include(CheckLibraryExists)
check_include_files("langinfo.h" HAVE_LANGINFO_CODESET)
check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H)
check_include_files("malloc.h" HAVE_MALLOC_H)
check_symbol_exists("malloc_trim" "malloc.h" HAVE_MALLOC_TRIM)
check_function_exists(mallinfo HAVE_MALLINFO)
check_function_exists(mallinfo2 HAVE_MALLINFO2)
check_symbol_exists("htonll" "sys/types.h;netinet/in.h;inttypes.h" HAVE_HTONLL)
check_symbol_exists("eat_newline_glitch" "term.h" HAVE_EAT_NEWLINE_GLITCH)
# Check if res_init requires libresolv
check_function_exists(res_init, LIBC_HAS_RES_INIT)
if(NOT LIBC_HAS_RES_INIT)
find_library(RESOLV_LIBRARY resolv)
if(RESOLV_LIBRARY)
check_library_exists("${RESOLV_LIBRARY}" res_init "" LIBRESOLV_HAS_RES_INIT)
if(LIBRESOLV_HAS_RES_INIT)
list(APPEND EXTRA_LIBS ${RESOLV_LIBRARY})
endif()
endif()
endif()
# Check for Large File Support
if(ENABLE_LARGEFILE)
add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES)
endif()
# Check for Gettext
if(ENABLE_NLS)
find_package(Gettext)
if(GETTEXT_FOUND)
add_definitions(-DENABLE_NLS)
endif()
# _XPG4_2 is needed for macros like CMSG_SPACE
# __EXTENSIONS__ is needed for constants like NI_MAXHOST and for struct timeval
if(CMAKE_HOST_SOLARIS)
add_definitions(-D_XPG4_2 -D__EXTENSIONS__)
endif()
# Check for libgcrypt
find_package(GCRYPT REQUIRED)
add_definitions(-DHAVE_GCRYPT)
list(APPEND EXTRA_LIBS ${GCRYPT_LDFLAGS})
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt>=1.8.0)
include_directories(${LIBGCRYPT_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBGCRYPT_LDFLAGS})
# Check for GnuTLS
if(ENABLE_GNUTLS)
find_package(GnuTLS)
if(GNUTLS_FOUND)
string(REGEX REPLACE "/[^/]*$" "" GNUTLS_LIBRARY_PATH "${GNUTLS_LIBRARY}")
add_definitions(-DHAVE_GNUTLS)
include_directories(${GNUTLS_INCLUDE_PATH})
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -L${GNUTLS_LIBRARY_PATH}")
list(APPEND EXTRA_LIBS gnutls)
endif()
endif()
pkg_check_modules(GNUTLS REQUIRED gnutls>=3.6.3)
include_directories(${GNUTLS_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${GNUTLS_LDFLAGS})
# Check for zlib
find_package(ZLIB REQUIRED)
add_definitions(-DHAVE_ZLIB)
list(APPEND EXTRA_LIBS ${ZLIB_LIBRARY})
# Check for zstd
if(ENABLE_ZSTD)
pkg_check_modules(LIBZSTD REQUIRED libzstd)
include_directories(${LIBZSTD_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBZSTD_LDFLAGS})
add_definitions(-DHAVE_ZSTD)
endif()
# Check for cJSON
if(ENABLE_CJSON)
pkg_check_modules(LIBCJSON REQUIRED libcjson)
include_directories(${LIBCJSON_INCLUDE_DIRS})
add_definitions(-DHAVE_CJSON)
endif()
# Check for iconv
find_package(Iconv)
if(ICONV_FOUND)
if(ICONV_LIBRARY)
list(APPEND EXTRA_LIBS ${ICONV_LIBRARY})
endif()
add_definitions(-DHAVE_ICONV)
endif()
# Check for CURL
find_package(CURL REQUIRED)
# NOTE: keep version in sync with tools/check_curl_symbols.py
pkg_check_modules(LIBCURL REQUIRED libcurl>=7.68.0)
include_directories(${LIBCURL_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS ${LIBCURL_LDFLAGS})
# weechat_gui_common MUST be the first lib in the list
set(STATIC_LIBS weechat_gui_common)
list(APPEND EXTRA_LIBS ${CMAKE_DL_LIBS})
find_library(DL_LIBRARY
NAMES dl
PATHS /lib /usr/lib /usr/libexec /usr/local/lib /usr/local/libexec
)
list(APPEND STATIC_LIBS weechat_plugins)
if(DL_LIBRARY)
string(REGEX REPLACE "/[^/]*$" "" DL_LIBRARY_PATH "${DL_LIBRARY}")
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -L${DL_LIBRARY_PATH}")
list(APPEND EXTRA_LIBS dl)
endif()
add_subdirectory(icons)
if(ENABLE_NLS)
find_package(Gettext REQUIRED)
if(LIBINTL_LIBRARY)
list(APPEND EXTRA_LIBS ${LIBINTL_LIBRARY})
endif()
find_package(Intl REQUIRED)
include_directories(${Intl_INCLUDE_DIRS})
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
add_subdirectory(po)
else()
add_custom_target(translations COMMAND true)
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
find_library(EXECINFO_LIB_PATH execinfo /usr/local/lib)
check_function_exists(backtrace HAVE_BACKTRACE)
list(APPEND EXTRA_LIBS "execinfo")
else()
check_symbol_exists(backtrace "execinfo.h" HAVE_BACKTRACE)
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "Haiku")
list(APPEND EXTRA_LIBS "network")
else()
list(APPEND EXTRA_LIBS "pthread")
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
list(APPEND EXTRA_LIBS "socket" "nsl")
endif()
list(APPEND EXTRA_LIBS "m")
add_subdirectory(src)
add_subdirectory(doc)
find_package(CppUTest)
if(ENABLE_TESTS AND CPPUTEST_FOUND)
enable_testing()
add_subdirectory(tests)
endif()
enable_testing()
add_subdirectory(tests)
configure_file(config.h.cmake config.h @ONLY)
# set the git version in "config-git.h"
add_custom_target(version_git ALL
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/git-version.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${VERSION}" "config-git.h"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/set_git_version.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${VERSION}" "config-git.h"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
IMMEDIATE @ONLY
)
add_custom_target(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
)
add_custom_target(dist
"${CMAKE_CURRENT_SOURCE_DIR}/tools/makedist.sh" "${VERSION}" "HEAD" "${CMAKE_CURRENT_BINARY_DIR}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
# pkgconfig file
set(PACKAGE "${PROJECT_NAME}")
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
set(libdir "\${exec_prefix}/lib")
string(REPLACE "${CMAKE_INSTALL_PREFIX}" "\${prefix}" libdir "${LIBDIR}")
set(includedir "\${prefix}/include")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/weechat.pc.in ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc DESTINATION ${LIBDIR}/../pkgconfig)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/weechat.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/weechat.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/weechat.pc" DESTINATION "${LIBDIR}/pkgconfig")
# cygport file (used to build Cygwin packages)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/weechat.cygport.in ${CMAKE_CURRENT_BINARY_DIR}/weechat-${VERSION}-1.cygport @ONLY)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/weechat.cygport.in" "${CMAKE_CURRENT_BINARY_DIR}/weechat-${VERSION}-1.cygport" @ONLY)
# install some files (only on Cygwin)
if(CYGWIN)
install(FILES
${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS.adoc
${CMAKE_CURRENT_SOURCE_DIR}/ChangeLog.adoc
${CMAKE_CURRENT_SOURCE_DIR}/Contributing.adoc
${CMAKE_CURRENT_SOURCE_DIR}/README.adoc
${CMAKE_CURRENT_SOURCE_DIR}/ReleaseNotes.adoc
DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
"${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS.md"
"${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG.md"
"${CMAKE_CURRENT_SOURCE_DIR}/CONTRIBUTING.md"
"${CMAKE_CURRENT_SOURCE_DIR}/README.md"
"${CMAKE_CURRENT_SOURCE_DIR}/UPGRADING.md"
DESTINATION "${DATAROOTDIR}/doc/${PROJECT_NAME}"
)
endif()
# icon
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/weechat.png DESTINATION ${SHAREDIR}/icons/hicolor/32x32/apps)
# packages
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Fast, light and extensible chat client")
set(CPACK_PACKAGE_VENDOR "Sébastien Helleu")
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.adoc")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
# binary package
set(CPACK_GENERATOR "STGZ;TGZ;TBZ2")
set(CPACK_PACKAGE_FILE_NAME weechat-binary-${VERSION})
# source package
set(CPACK_SOURCE_GENERATOR "TGZ;TBZ2")
set(CPACK_SOURCE_PACKAGE_FILE_NAME weechat-${VERSION})
set(CPACK_SOURCE_IGNORE_FILES "/\\\\.git" "/build/" "/m4/"
"/autom4te\\\\.cache/" "/ABOUT-NLS$" "/config\\\\.guess$" "/config\\\\.h$"
"/config\\\\.h.in$" "/config\\\\.log$" "/config\\\\.rpath$"
"/config\\\\.status$" "/config\\\\.sub$" "/configure$" "/depcomp$"
"/install-sh$" "/missing$" "/intl/" "/libtool$" "/\\\\.libs/"
"/ltmain\\\\.sh$" "/\\\\.deps/" "/html/" "/html1/" "/Makefile$"
"/Makefile\\\\.in$" "stamp" "/po/.*\\\\.header$" "\\\\.gmo$" "~$" "\\\\.o$"
"\\\\.lo$" "\\\\.a$" "\\\\.la$" "\\\\.lai$" "\\\\.Plo$" "/weechat$"
)
include(CPack)
# desktop file
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/weechat.desktop" DESTINATION "${DATAROOTDIR}/applications")
+115
View File
@@ -0,0 +1,115 @@
<!--
SPDX-FileCopyrightText: 2014-2026 Sébastien Helleu <flashcode@flashtux.org>
SPDX-License-Identifier: GPL-3.0-or-later
-->
# Contributing to WeeChat
## Reporting bugs
First, some basic things:
- Use only English to communicate with developers.
- Search in issues if the same problem or feature request has already been
reported (a duplicate is waste of time for you and the developers!).
- If you can, please check if the problem has been fixed in development version
(if you are using a stable release or old version).
- Report only one bug or feature request per issue.
### Security reports
Please **DO NOT** file a GitHub issue for security related problems, but send an
email to [security@weechat.org](mailto:security@weechat.org) instead.
### Required info
When reporting [issues](https://github.com/weechat/weechat/issues) on GitHub,
please include:
- Your **WeeChat version**: the output of `/v` in WeeChat, for example:
`WeeChat 1.7-dev (git: v1.6-6-g997f47f)`.\
If WeeChat does not start at all, please include the version displayed by
`weechat --help` (or the version installed with your package manager).
- Your **operating system**: its name and version (examples: Linux Debian Bookworm,
FreeBSD 13.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit…).
- The **steps to reproduce**: if possible, please include a reproducible example:
explain the steps which led you to the problem.\
It's even better if you can reproduce the problem with a new config (and no
scripts loaded): try `weechat --dir /tmp/weechat` and check if you have the
problem here.
- The **gdb's backtrace** (only for a crash): if you can reproduce the crash
(or if you have a core file), please include the backtrace from gdb (look at
[User's guide](https://weechat.org/doc/weechat/user/#report_crashes) for more info).
- The **actual result**.
- The **expected result**: the correct result you are expecting.
> [!IMPORTANT]
> Most of times, the WeeChat crash log file (_weechat_crash_YYYYMMDD_xxx.log_)
is **NOT USEFUL** to fix the bug, so please report this file **ONLY** if a developer
asked you to send it (and be extremely careful, this file can contain personal
data like passwords and contents of your chats).
### Scripts related issues
If you are using scripts, they can cause problems/crashes. To check if the
problem is related to one script, try to unload them one by one (using
command `/script unload <name>`).
Many issues reported are in fact related to bugs in scripts, so please first
check that before reporting any issue on WeeChat itself.
If you think the problem comes from a specific script, please report the issue
in the [scripts git repository](https://github.com/weechat/scripts/issues) instead.
## Translations
Pull requests on GitHub for fixes or new translations are welcome at any
time, for [WeeChat](https://github.com/weechat/weechat) and the website
[weechat.org](https://github.com/weechat/weechat.org).
To start a translation in a new language (not yet supported), please look at
[translations](https://weechat.org/doc/weechat/dev/#translations)
in Developer's guide.
## Feature requests
WeeChat is under active development, so your idea may already have been
implemented, or scheduled for a future version (you can check in
[roadmap](https://weechat.org/dev/) or
[milestones](https://github.com/weechat/weechat/milestones) on GitHub.
Pull requests on GitHub are welcome for minor new features.
For major new features, it's better to discuss about it in IRC
(server: `irc.libera.chat`, channel `#weechat`).
Before submitting any pull request, be sure you have read the
[coding rules](https://weechat.org/doc/weechat/dev/#coding_rules)
in Developer's guide, which contains info about styles used, naming convention
and other useful info.
## Semantic versioning
Since version 4.0.0, WeeChat is following a "practical" semantic versioning.
It is based on [Semantic Versioning](https://semver.org/) but in a less strict way:
breaking changes in API with low user impact don't bump the major version.
The version number is on three digits `X.Y.Z`, where:
- `X` is the major version
- `Y` is the minor version
- `Z` is the patch version.
Rules to increment the version number:
- the **major version** number (`X`) is incremented only when intentional breaking changes
target feature areas that are actively consumed by users, scripts or C plugin API
- the **minor version** number (`Y`) is incremented for any new release of WeeChat
that includes new features and bug fixes, possibly breaking API with low impact on users
- the **patch version** number (`Z`) is reserved for releases that address severe bugs
or security issues found after the release.
For more information, see the
[specification](https://specs.weechat.org/specs/2023-003-practical-semantic-versioning.html).
+4 -4
View File
@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.
-2710
View File
File diff suppressed because it is too large Load Diff
-90
View File
@@ -1,90 +0,0 @@
= Contributing to WeeChat
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: en
== Reporting bugs
First, some basic things:
* Use only English to communicate with developers.
* Search in issues if the same problem or feature request has already been
reported (a duplicate is waste of time for you and the developers!).
* If you can, please check if the problem has been fixed in development version
(if you are using a stable release or old version).
* Report only one bug or feature request per issue.
=== Security reports
Please *DO NOT* file a GitHub issue for security related problems, but send an
email to <security@weechat.org> instead.
=== Required info
When reporting https://github.com/weechat/weechat/issues[issues] on GitHub,
please include:
* Your *WeeChat version*: the output of `/v` in WeeChat, for example:
_WeeChat 1.7-dev (git: v1.6-6-g997f47f)_. +
If WeeChat does not start at all, please include the version displayed by
`weechat --help` (or the version installed with your package manager).
* Your *operating system*: its name and version (examples: Linux Debian Wheezy,
FreeBSD 10.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
* The *steps to reproduce*: if possible, please include a reproducible example:
explain the steps which led you to the problem. +
It's even better if you can reproduce the problem with a new config (and no
scripts loaded): try `weechat --dir /tmp/weechat` and check if you have the
problem here.
* The *gdb's backtrace* (only for a crash): if you can reproduce the crash
(or if you have a core file), please include the backtrace from gdb (look at
https://weechat.org/files/doc/devel/weechat_user.en.html#report_crashes[User's guide]
for more info).
* The *actual result*.
* The *expected result*: the correct result you are expecting.
[IMPORTANT]
Most of times, the WeeChat crash log file (_weechat_crash_YYYYMMDD_xxx.log_) is
*NOT USEFUL* to fix the bug, so please report this file *ONLY* if a developer
asked you to send it (and be extremely careful, this file can contain personal
data like passwords and contents of your chats).
=== Scripts related issues
If you are using scripts, they can cause problems/crashes. To check if the
problem is related to one script, try to unload them one by one (using
command `/script unload <name>`).
Many issues reported are in fact related to bugs in scripts, so please first
check that before reporting any issue on WeeChat itself.
If you think the problem comes from a specific script, please report the issue
in the https://github.com/weechat/scripts/issues[scripts git repository]
instead.
== Translations
Pull requests on GitHub for fixes or new translations are welcome at any
time, for https://github.com/weechat/weechat[WeeChat] and the web site
https://github.com/weechat/weechat.org[weechat.org].
To start a translation in a new language (not yet supported), please look at
https://weechat.org/files/doc/devel/weechat_dev.en.html#translations[translations]
in Developer's guide.
== Feature requests
WeeChat is under active development, so your idea may already have been
implemented, or scheduled for a future version (you can check in
https://weechat.org/dev[roadmap] or
https://github.com/weechat/weechat/milestones[milestones] on GitHub.
Pull requests on GitHub are welcome for minor new features.
For major new features, it's better to discuss about it in IRC
(server: _chat.freenode.net_, channel _#weechat_).
Before submitting any pull request, be sure you have read the
https://weechat.org/files/doc/devel/weechat_dev.en.html#coding_rules[coding rules]
in Developer's guide, which contains info about styles used, naming convention
and other useful info.
+232
View File
@@ -0,0 +1,232 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for software and other kinds of works.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS
0. Definitions.
“This License” refers to version 3 of the GNU General Public License.
“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
A “covered work” means either the unmodified Program or a work based on the Program.
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
7. Additional Terms.
“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program 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.
This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/philosophy/why-not-lgpl.html>.
-82
View File
@@ -1,82 +0,0 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.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 <http://www.gnu.org/licenses/>.
#
# This target will update file config-git.h with output of command "git describe"
# (if needed, and only for a devel/rc version).
BUILT_SOURCES = build-config-git.h
build-config-git.h:
-$(abs_top_srcdir)/tools/git-version.sh "$(abs_top_srcdir)" "$(VERSION)" config-git.h
if TESTS
tests_dir = tests
endif
SUBDIRS = po doc intl src $(tests_dir)
EXTRA_DIST = AUTHORS.adoc \
ChangeLog.adoc \
Contributing.adoc \
README.adoc \
ReleaseNotes.adoc \
CMakeLists.txt \
config.rpath \
config.h.cmake \
cmake/CMakeParseArguments.cmake \
cmake/FindAsciidoctor.cmake \
cmake/FindAspell.cmake \
cmake/FindCppUTest.cmake \
cmake/FindENCHANT.cmake \
cmake/FindGCRYPT.cmake \
cmake/FindGettext.cmake \
cmake/FindGnuTLS.cmake \
cmake/FindGuile.cmake \
cmake/FindIconv.cmake \
cmake/FindLua.cmake \
cmake/FindNcurses.cmake \
cmake/FindPackageHandleStandardArgs.cmake \
cmake/FindPerl.cmake \
cmake/FindPkgConfig.cmake \
cmake/FindPython.cmake \
cmake/FindRuby.cmake \
cmake/FindTCL.cmake \
cmake/FindV8.cmake \
cmake/FindZLIB.cmake \
cmake/cmake_uninstall.cmake.in \
po/CMakeLists.txt \
po/srcfiles.cmake \
tools/build-test.sh \
tools/git-version.sh \
tools/makedist.sh \
version.sh \
weechat.png \
weechat.pc.in \
weechat.cygport.in
ACLOCAL_AMFLAGS = -I m4
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = weechat.pc
icondir = $(datadir)/icons/hicolor/32x32/apps
icon_DATA = weechat.png
clean-local:
$(RM) config-git.h
-129
View File
@@ -1,129 +0,0 @@
= WeeChat
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: en
image:https://img.shields.io/badge/diaspora*-follow-blue.svg["Diaspora*", link="https://diasp.eu/u/weechat"]
image:https://img.shields.io/badge/google%2B-follow-blue.svg["Google+", link="https://plus.google.com/+WeeChat"]
image:https://img.shields.io/badge/devel%20blog-follow-blue.svg["Devel blog", link="https://weechat.org/blog/"]
image:https://img.shields.io/badge/slant-recommend-28acad.svg["Slant", link="http://www.slant.co/topics/1323/~irc-clients-for-linux"]
image:https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg["Donate", link="https://weechat.org/about/donate/"]
image:https://travis-ci.org/weechat/weechat.svg?branch=master["Build Status", link="https://travis-ci.org/weechat/weechat"]
WeeChat (Wee Enhanced Environment for Chat) is a free chat client, fast and
light, designed for many operating systems.
It is highly customizable and extensible with scripts.
Homepage: https://weechat.org/
== Features
* *Modular chat client*: WeeChat has a lightweight core and optional plugins. All plugins (including IRC) are independent and can be unloaded.
* *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Mac OS X and Windows (Bash/Ubuntu and Cygwin).
* *Multi-protocols*: WeeChat is designed to support multiple protocols by plugins, like IRC.
* *Standards-compliant*: the IRC plugin is compliant with RFCs 1459, 2810, 2811, 2812 and 2813.
* *Small, fast and very light*: the core is and should stay as light and fast as possible.
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and scripts (Perl, Python, Ruby, Lua, Tcl, Scheme, JavaScript and PHP).
* *Fully documented*: there is comprehensive documentation, which is translated into several languages.
* *Developed from scratch*: WeeChat was built from scratch and is not based on any other client.
* *Free software*: WeeChat is released under GPLv3.
image::https://weechat.org/media/images/screenshots/weechat/medium/weechat_2013-04-27_phlux_shadow.png[align="center"]
Other screenshots are on https://weechat.org/about/screenshots/[this page].
== Install
=== Dependencies
Following packages are *required*:
* CMake
* libncurses
* libcurl
* zlib
* libgcrypt
Following packages are optional:
* for i18n: gettext
* for SSL: gnutls, ca-certificates
* for spell checking: aspell
* for scripting: python, perl, ruby, lua, tcl, guile, libv8 (javascript), php
* for building doc and man page: asciidoctor
* for building tests: C++ compiler, CppUTest
For a complete list of dependencies and versions recommended, please look at
https://weechat.org/files/doc/devel/weechat_user.en.html#dependencies[user's guide].
=== Compile
WeeChat can be built with http://cmake.org/[CMake] (recommended) or autotools.
[NOTE]
Only CMake is officially supported to build WeeChat. You should only use
autotools if you are not able to use CMake. +
Building with autotools requires more dependencies and is slower than with CMake.
* Installation in system directories (requires _root_ privileges):
----
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
----
* Installation in custom directory (for example your home):
----
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/directory
$ make
$ make install
----
For more information or installation with autotools, please look at
https://weechat.org/files/doc/devel/weechat_user.en.html#compile_with_autotools[user's guide].
=== Run tests
Following packages are *required* to compile tests:
* libcpputest-dev
* C++ compiler
Tests must be enabled when compiling WeeChat:
----
$ cmake .. -DENABLE_TESTS=ON
----
They can be launched after compilation from the build directory:
----
$ ctest -V
----
== Copyright
Copyright (C) 2003-2018 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 <http://www.gnu.org/licenses/>.
+73
View File
@@ -0,0 +1,73 @@
<!--
SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
SPDX-License-Identifier: GPL-3.0-or-later
-->
# WeeChat
<p align="center">
<img src="https://weechat.org/media/images/weechat_logo_large.png" alt="WeeChat" />
</p>
[![Mastodon](https://img.shields.io/badge/mastodon-follow-blue.svg)](https://hostux.social/@weechat)
[![X](https://img.shields.io/badge/x-follow-blue.svg)](https://x.com/WeeChatClient)
[![Devel blog](https://img.shields.io/badge/devel%20blog-follow-blue.svg)](https://blog.weechat.org/)
[![Donate](https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg)](https://weechat.org/donate/)
[![CI](https://github.com/weechat/weechat/workflows/CI/badge.svg)](https://github.com/weechat/weechat/actions)
[![Code coverage](https://codecov.io/gh/weechat/weechat/branch/main/graph/badge.svg)](https://codecov.io/gh/weechat/weechat)
[![REUSE status](https://api.reuse.software/badge/github.com/weechat/weechat)](https://api.reuse.software/info/github.com/weechat/weechat)
**WeeChat** (Wee Enhanced Environment for Chat) is a free chat client, fast and light, designed for many operating systems.\
It is highly customizable and extensible with scripts.
Homepage: [https://weechat.org/](https://weechat.org/)
## Features
- **Modular chat client**: WeeChat has a lightweight core and optional [plugins](https://weechat.org/doc/weechat/user/#plugins). All plugins (including [IRC](https://weechat.org/doc/weechat/user/#irc)) are independent and can be unloaded.
- **Multi-platform**: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
- **Multi-protocols**: WeeChat is designed to support multiple protocols by plugins, like IRC.
- **Standards-compliant**: the IRC plugin is compliant with RFCs [1459](https://datatracker.ietf.org/doc/html/rfc1459), [2810](https://datatracker.ietf.org/doc/html/rfc2810), [2811](https://datatracker.ietf.org/doc/html/rfc2811), [2812](https://datatracker.ietf.org/doc/html/rfc2812), [2813](https://datatracker.ietf.org/doc/html/rfc2813) and [7194](https://datatracker.ietf.org/doc/html/rfc7194).
- **Small, fast, and very light**: the core is and should stay as light and fast as possible.
- **Customizable and extensible**: there are a lot of options to customize WeeChat, and it is extensible with C plugins and [scripts](https://weechat.org/scripts/) ([Perl](https://weechat.org/scripts/language/perl/), [Python](https://weechat.org/scripts/language/python/), [Ruby](https://weechat.org/scripts/language/ruby), [Lua](https://weechat.org/scripts/language/lua/), [Tcl](https://weechat.org/scripts/language/tcl/), [Scheme](https://weechat.org/scripts/language/guile/), [JavaScript](https://weechat.org/scripts/language/javascript/) and [PHP](https://weechat.org/scripts/language/php/)).
- **Fully documented**: there is comprehensive [documentation](https://weechat.org/doc/weechat/), which is [translated](https://weechat.org/doc/weechat/dev/#translations) into several languages.
- **Developed from scratch**: WeeChat was built from scratch and is not based on any other client.
- **Free software**: WeeChat is released under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html).
<p align="center">
<img src="https://weechat.org/media/images/screenshots/weechat/medium/weechat_2013-04-27_phlux_shadow.png" alt="WeeChat" />
</p>
On WeeChat's website you can find [more screenshots](https://weechat.org/about/screenshots/).
## Installation
WeeChat can be installed using your favorite package manager (recommended) or by compiling it yourself.\
For detailed instructions, please check the [WeeChat user's guide](https://weechat.org/doc/weechat/user/#install).
## Semantic versioning
WeeChat is following a "practical" semantic versioning, see file [CONTRIBUTING.md](CONTRIBUTING.md#semantic-versioning).
## Copyright
<!-- REUSE-IgnoreStart -->
Copyright © 2003-2026 [Sébastien Helleu](https://github.com/flashcode)
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/>.
<!-- REUSE-IgnoreEnd -->
+29
View File
@@ -0,0 +1,29 @@
# SPDX-FileCopyrightText: 2025-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
version = 1
[[annotations]]
path = [
"debian-devel/**",
"debian-stable/**",
"icons/**/*.png",
"icons/**/*.svg",
"src/plugins/php/weechat-php_arginfo.h",
"src/plugins/php/weechat-php_legacy_arginfo.h",
"tools/debian/patches/**",
"weechat.desktop",
"weechat.pc.in",
]
precedence = "override"
SPDX-FileCopyrightText = "2003-2026 Sébastien Helleu <flashcode@flashtux.org>"
SPDX-License-Identifier = "GPL-3.0-or-later"
[[annotations]]
path = [
".poexam/*.dic",
]
precedence = "override"
SPDX-FileCopyrightText = "2026 Sébastien Helleu <flashcode@flashtux.org>"
SPDX-License-Identifier = "GPL-3.0-or-later"
-1762
View File
File diff suppressed because it is too large Load Diff
+3191
View File
File diff suppressed because it is too large Load Diff
-70
View File
@@ -1,70 +0,0 @@
#!/bin/sh
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.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 <http://www.gnu.org/licenses/>.
#
###
### common stuff
###
DIR=$(cd $(dirname "$0"); pwd)
cd $DIR
AUTOGEN_LOG=autogen.log
err ()
{
echo "-------"
echo "Error :"
echo "---8<-----------------------------------"
cat $AUTOGEN_LOG
echo "----------------------------------->8---"
exit 1
}
run ()
{
echo -n "Running \"$@\"..."
eval $@ >$AUTOGEN_LOG 2>&1
if [ $? = 0 ] ; then
echo " OK"
else
echo " FAILED"
err
fi
}
# remove autotools stuff
run "rm -f config.h.in"
run "rm -f aclocal.m4 configure config.log config.status"
run "rm -rf autom4te*.cache"
# remove libtool stuff
run "rm -f libtool"
# remove gettext stuff
run "rm -f ABOUT-NLS"
run "rm -rf intl"
# execute autoreconf cmds
run "autoreconf -fvi"
# ending
rm -f $AUTOGEN_LOG
-138
View File
@@ -1,138 +0,0 @@
# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords> <multi_value_keywords> args...)
#
# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions for
# parsing the arguments given to that macro or function.
# It processes the arguments and defines a set of variables which hold the
# values of the respective options.
#
# The <options> argument contains all options for the respective macro,
# i.e. keywords which can be used when calling the macro without any value
# following, like e.g. the OPTIONAL keyword of the install() command.
#
# The <one_value_keywords> argument contains all keywords for this macro
# which are followed by one value, like e.g. DESTINATION keyword of the
# install() command.
#
# The <multi_value_keywords> argument contains all keywords for this macro
# which can be followed by more than one value, like e.g. the TARGETS or
# FILES keywords of the install() command.
#
# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the
# keywords listed in <options>, <one_value_keywords> and
# <multi_value_keywords> a variable composed of the given <prefix>
# followed by "_" and the name of the respective keyword.
# These variables will then hold the respective value from the argument list.
# For the <options> keywords this will be TRUE or FALSE.
#
# All remaining arguments are collected in a variable
# <prefix>_UNPARSED_ARGUMENTS, this can be checked afterwards to see whether
# your macro was called with unrecognized parameters.
#
# As an example here a my_install() macro, which takes similar arguments as the
# real install() command:
#
# function(MY_INSTALL)
# set(options OPTIONAL FAST)
# set(oneValueArgs DESTINATION RENAME)
# set(multiValueArgs TARGETS CONFIGURATIONS)
# cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
# ...
#
# Assume my_install() has been called like this:
# my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
#
# After the cmake_parse_arguments() call the macro will have set the following
# variables:
# MY_INSTALL_OPTIONAL = TRUE
# MY_INSTALL_FAST = FALSE (this option was not used when calling my_install()
# MY_INSTALL_DESTINATION = "bin"
# MY_INSTALL_RENAME = "" (was not used)
# MY_INSTALL_TARGETS = "foo;bar"
# MY_INSTALL_CONFIGURATIONS = "" (was not used)
# MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL"
#
# You can the continue and process these variables.
#
# Keywords terminate lists of values, e.g. if directly after a one_value_keyword
# another recognized keyword follows, this is interpreted as the beginning of
# the new option.
# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in
# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would
# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
#=============================================================================
# Copyright 2010 Alexander Neundorf <neundorf@kde.org>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
if(__CMAKE_PARSE_ARGUMENTS_INCLUDED)
return()
endif()
set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE)
function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames)
# first set all result variables to empty/FALSE
foreach(arg_name ${_singleArgNames} ${_multiArgNames})
set(${prefix}_${arg_name})
endforeach(arg_name)
foreach(option ${_optionNames})
set(${prefix}_${option} FALSE)
endforeach(option)
set(${prefix}_UNPARSED_ARGUMENTS)
set(insideValues FALSE)
set(currentArgName)
# now iterate over all arguments and fill the result variables
foreach(currentArg ${ARGN})
list(FIND _optionNames "${currentArg}" optionIndex) # ... then this marks the end of the arguments belonging to this keyword
list(FIND _singleArgNames "${currentArg}" singleArgIndex) # ... then this marks the end of the arguments belonging to this keyword
list(FIND _multiArgNames "${currentArg}" multiArgIndex) # ... then this marks the end of the arguments belonging to this keyword
if(${optionIndex} EQUAL -1 AND ${singleArgIndex} EQUAL -1 AND ${multiArgIndex} EQUAL -1)
if(insideValues)
if("${insideValues}" STREQUAL "SINGLE")
set(${prefix}_${currentArgName} ${currentArg})
set(insideValues FALSE)
elseif("${insideValues}" STREQUAL "MULTI")
list(APPEND ${prefix}_${currentArgName} ${currentArg})
endif()
else(insideValues)
list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg})
endif(insideValues)
else()
if(NOT ${optionIndex} EQUAL -1)
set(${prefix}_${currentArg} TRUE)
set(insideValues FALSE)
elseif(NOT ${singleArgIndex} EQUAL -1)
set(currentArgName ${currentArg})
set(${prefix}_${currentArgName})
set(insideValues "SINGLE")
elseif(NOT ${multiArgIndex} EQUAL -1)
set(currentArgName ${currentArg})
set(${prefix}_${currentArgName})
set(insideValues "MULTI")
endif()
endif()
endforeach(currentArg)
# propagate the result variables to the caller:
foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames})
set(${prefix}_${arg_name} ${${prefix}_${arg_name}} PARENT_SCOPE)
endforeach(arg_name)
set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE)
endfunction(CMAKE_PARSE_ARGUMENTS _options _singleArgs _multiArgs)
+6 -4
View File
@@ -1,5 +1,7 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +16,7 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Asciidoctor
@@ -34,7 +36,7 @@ if(ASCIIDOCTOR_EXECUTABLE)
execute_process(
COMMAND ${ASCIIDOCTOR_EXECUTABLE} --version
OUTPUT_VARIABLE ASCIIDOCTOR_VERSION
)
)
string(REGEX REPLACE "^Asciidoctor ([^ ]+) .*" "\\1" ASCIIDOCTOR_VERSION "${ASCIIDOCTOR_VERSION}")
@@ -45,5 +47,5 @@ if(ASCIIDOCTOR_EXECUTABLE)
mark_as_advanced(
ASCIIDOCTOR_EXECUTABLE
ASCIIDOCTOR_VERSION
)
)
endif()
+5 -3
View File
@@ -1,5 +1,7 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +16,7 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Aspell
@@ -55,4 +57,4 @@ endif()
mark_as_advanced(
ASPELL_INCLUDE_PATH
ASPELL_LIBRARY
)
)
+6 -4
View File
@@ -1,5 +1,7 @@
#
# Copyright (C) 2014-2018 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2014-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +16,7 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find CppUTest
@@ -27,8 +29,8 @@
# CPPUTEST_LIBRARIES = Link options to compile with CppUTest
if(CPPUTEST_FOUND)
# Already in cache, be silent
set(CPPUTEST_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(CPPUTEST_FIND_QUIETLY TRUE)
endif()
find_package(PkgConfig)
-51
View File
@@ -1,51 +0,0 @@
# - Try to find the Enchant spell checker
# Once done this will define
#
# ENCHANT_FOUND - system has ENCHANT
# ENCHANT_INCLUDE_DIR - the ENCHANT include directory
# ENCHANT_LIBRARIES - Link these to use ENCHANT
# ENCHANT_DEFINITIONS - Compiler switches required for using ENCHANT
# Copyright (c) 2006, Zack Rusin, <zack@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
if(ENCHANT_INCLUDE_DIR AND ENCHANT_LIBRARIES)
# in cache already
set(ENCHANT_FOUND TRUE)
else()
if(NOT WIN32)
# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
find_package(PkgConfig)
pkg_check_modules(PC_ENCHANT enchant)
set(ENCHANT_DEFINITIONS ${PC_ENCHANT_CFLAGS_OTHER})
endif()
find_path(ENCHANT_INCLUDE_DIR
NAMES enchant++.h
HINTS ${PC_ENCHANT_INCLUDEDIR}
${PC_ENCHANT_INCLUDE_DIRS}
PATH_SUFFIXES enchant )
find_library(ENCHANT_LIBRARIES NAMES enchant
HINTS ${PC_ENCHANT_LIBDIR}
${PC_ENCHANT_LIBRARY_DIRS} )
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ENCHANT DEFAULT_MSG ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES )
mark_as_advanced(ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
# check if function enchant_get_version() exists
set(CMAKE_REQUIRED_INCLUDES ${ENCHANT_INCLUDE_DIR})
set(CMAKE_REQUIRED_LIBRARIES ${ENCHANT_LIBRARIES})
check_symbol_exists(enchant_get_version "enchant.h" HAVE_ENCHANT_GET_VERSION)
set(CMAKE_REQUIRED_INCLUDES)
set(CMAKE_REQUIRED_LIBRARIES)
endif()
-53
View File
@@ -1,53 +0,0 @@
#
# Copyright (C) 2003-2018 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 <http://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)
exec_program(${LIBGCRYPT_CONFIG_EXECUTABLE} ARGS --libs RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GCRYPT_LDFLAGS)
exec_program(${LIBGCRYPT_CONFIG_EXECUTABLE} ARGS --cflags RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GCRYPT_CFLAGS)
if(${GCRYPT_CFLAGS} MATCHES "\n")
set(GCRYPT_CFLAGS " ")
endif()
endif()
# handle the QUIETLY and REQUIRED arguments and set GCRYPT_FOUND to TRUE if
# all listed variables are TRUE
include(${CMAKE_HOME_DIRECTORY}/cmake/FindPackageHandleStandardArgs.cmake)
find_package_handle_standard_args(GCRYPT REQUIRED_VARS GCRYPT_LDFLAGS GCRYPT_CFLAGS)
if(GCRYPT_FOUND)
mark_as_advanced(GCRYPT_CFLAGS GCRYPT_LDFLAGS)
endif()
+29 -26
View File
@@ -1,7 +1,9 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2007 Julien Louis <ptitlouis@sysif.net>
# SPDX-FileCopyrightText: 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -16,7 +18,7 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Gettext
@@ -28,8 +30,8 @@
# GETTEXT_FOUND = is gettext usable on system?
if(GETTEXT_FOUND)
# Already in cache, be silent
set(GETTEXT_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(GETTEXT_FIND_QUIETLY TRUE)
endif()
include(CheckIncludeFiles)
@@ -45,27 +47,28 @@ set(CMAKE_REQUIRED_INCLUDES ${LIBINTL_INCLUDE})
check_include_files(libintl.h HAVE_LIBINTL_H)
if(HAVE_LIBINTL_H)
check_function_exists(dgettext LIBC_HAS_DGETTEXT)
if(LIBC_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
else()
find_library(LIBINTL_LIBRARY NAMES intl
PATHS
/usr/local/lib
/usr/lib
)
if(LIBINTL_LIBRARY)
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
set(CMAKE_REQUIRED_LIBRARIES "iconv")
check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
else()
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
endif()
if(NOT HAVE_LIBINTL_H)
message(SEND_ERROR "Header libintl.h not found, required if ENABLE_NLS is enabled")
endif()
if(LIBINTL_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
endif()
check_function_exists(dgettext LIBC_HAS_DGETTEXT)
if(LIBC_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
else()
find_library(LIBINTL_LIBRARY NAMES intl
PATHS
/usr/local/lib
/usr/lib
)
if(LIBINTL_LIBRARY)
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
set(CMAKE_REQUIRED_LIBRARIES "iconv")
check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
else()
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
endif()
if(LIBINTL_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
endif()
endif()
endif()
-75
View File
@@ -1,75 +0,0 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.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 <http://www.gnu.org/licenses/>.
#
# - Find GnuTLS
# This module finds if libgnutls is installed and determines where
# the include files and libraries are.
#
# This code sets the following variables:
#
# GNUTLS_INCLUDE_PATH = path to where <gnutls/gnutls.h> can be found
# GNUTLS_LIBRARY = path to where libgnutls.so* can be found
# GNUTLS_CFLAGS = cflags to use to compile
# GNUTLS_LDFLAGS = ldflags to use to compile
if(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
# Already in cache, be silent
set(GNUTLS_FIND_QUIETLY TRUE)
endif()
find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config)
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=prefix gnutls
OUTPUT_VARIABLE GNUTLS_PREFIX
)
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --cflags gnutls
OUTPUT_VARIABLE GNUTLS_CFLAGS
)
string(REGEX REPLACE "[\r\n]" "" GNUTLS_CFLAGS "${GNUTLS_CFLAGS}")
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --libs gnutls
OUTPUT_VARIABLE GNUTLS_LDFLAGS
)
string(REGEX REPLACE "[\r\n]" "" GNUTLS_LDFLAGS "${GNUTLS_LDFLAGS}")
set(GNUTLS_POSSIBLE_INCLUDE_PATH "${GNUTLS_PREFIX}/include")
set(GNUTLS_POSSIBLE_LIB_DIR "${GNUTLS_PREFIX}/lib")
find_path(GNUTLS_INCLUDE_PATH
NAMES gnutls/gnutls.h
PATHS GNUTLS_POSSIBLE_INCLUDE_PATH
)
find_library(GNUTLS_LIBRARY
NAMES gnutls
PATHS GNUTLS_POSSIBLE_LIB_DIR
)
if(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
set(GNUTLS_FOUND TRUE)
endif()
mark_as_advanced(
GNUTLS_INCLUDE_PATH
GNUTLS_LIBRARY
GNUTLS_CFLAGS
GNUTLS_LDFLAGS
)
+7 -5
View File
@@ -1,5 +1,7 @@
#
# Copyright (C) 2011-2018 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2011-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +16,7 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Guile
@@ -27,13 +29,13 @@
# GUILE_LIBRARIES = Link options to compile Guile
if(GUILE_FOUND)
# Already in cache, be silent
set(GUILE_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(GUILE_FIND_QUIETLY TRUE)
endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(GUILE guile-2.0)
pkg_search_module(GUILE guile-3.0 guile-2.2 guile-2.0)
if(GUILE_FOUND)
# check if variable "scm_install_gmp_memory_functions" exists
set(CMAKE_REQUIRED_INCLUDES ${GUILE_INCLUDE_DIRS})
+6 -4
View File
@@ -1,5 +1,7 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +16,7 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Iconv
@@ -29,8 +31,8 @@
# ICONV_FOUND = is iconv usable on system?
if(ICONV_FOUND)
# Already in cache, be silent
set(ICONV_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(ICONV_FIND_QUIETLY TRUE)
endif()
include(CheckLibraryExists)
+7 -5
View File
@@ -1,5 +1,7 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +16,7 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Lua
@@ -29,11 +31,11 @@
# LUA_FOUND = is liblua usable on system?
if(LUA_FOUND)
# Already in cache, be silent
set(LUA_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(LUA_FIND_QUIETLY TRUE)
endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(LUA lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua-5.0 lua5.0 lua50 lua)
pkg_search_module(LUA lua lua5.4 lua-5.4 lua54 lua5.3 lua-5.3 lua53)
endif()
+6 -5
View File
@@ -1,5 +1,7 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +16,7 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
if(NCURSES_FOUND)
@@ -23,9 +25,8 @@ endif()
find_path(NCURSES_INCLUDE_PATH
NAMES ncurses.h curses.h
PATHS /usr/include/ncursesw /usr/include/ncurses /usr/include
/usr/local/include/ncursesw /usr/local/include/ncurses /usr/local/include
/usr/pkg/include/ncursesw /usr/pkg/include/ncurses /usr/pkg/include
PATH_SUFFIXES ncursesw ncurses
PATHS /usr/include /usr/local/include /usr/pkg/include
)
find_library(NCURSESW_LIBRARY
+23 -9
View File
@@ -1,5 +1,8 @@
#
# Copyright (C) 2003-2017 Adam Saponara <as@php.net>
# SPDX-FileCopyrightText: 2017 Adam Saponara <as@php.net>
# SPDX-FileCopyrightText: 2017-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +17,7 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
if(PHP_FOUND)
@@ -23,24 +26,35 @@ endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(PHP php7)
pkg_search_module(PHP php8 php7)
endif()
if(NOT PHP_FOUND)
find_program(PHP_CONFIG_EXECUTABLE NAMES
php-config8.4 php-config84
php-config8.3 php-config83
php-config8.2 php-config82
php-config8.1 php-config81
php-config8.0 php-config80
php-config8
php-config7.4 php-config74
php-config7.3 php-config73
php-config7.2 php-config72
php-config7.1 php-config71
php-config7.0 php-config70
php-config php-config7)
php-config7
php-config
)
if (PHP_CONFIG_EXECUTABLE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --prefix OUTPUT_VARIABLE PHP_LIB_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --includes OUTPUT_VARIABLE PHP_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --libs OUTPUT_VARIABLE PHP_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${PHP_VERSION} MATCHES "^7")
if(${PHP_VERSION} MATCHES "^[78]")
find_library(PHP_LIB
NAMES php7.2 php7.1 php7.0 php7
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64)
NAMES php8.4 php84 php8.3 php83 php8.2 php82 php8.1 php81 php8.0 php80 php8 php7.4 php74 php7.3 php73 php7.2 php72 php7.1 php71 php7.0 php70 php7 php
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64
)
if(PHP_LIB)
get_filename_component(PHP_LIB_DIR ${PHP_LIB} DIRECTORY)
string(REPLACE "-I" "" PHP_INCLUDE_DIRS ${PHP_INCLUDE_DIRS})
@@ -53,9 +67,9 @@ if(NOT PHP_FOUND)
endif()
if(NOT PHP_FOUND)
message(WARNING "Could not find libphp7. "
message(WARNING "Could not find libphp. "
"Ensure PHP >=7.0.0 development libraries are installed and compiled with `--enable-embed`. "
"Ensure `php-config` is in `PATH`. "
"You may set `-DCMAKE_LIBRARY_PATH=...` to the directory containing libphp7."
"You may set `-DCMAKE_LIBRARY_PATH=...` to the directory containing libphp."
)
endif()
-260
View File
@@ -1,260 +0,0 @@
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(<name> ... )
#
# This function is intended to be used in FindXXX.cmake modules files.
# It handles the REQUIRED, QUIET and version-related arguments to FIND_PACKAGE().
# It also sets the <UPPERCASED_NAME>_FOUND variable.
# The package is considered found if all variables <var1>... listed contain
# valid results, e.g. valid filepaths.
#
# There are two modes of this function. The first argument in both modes is
# the name of the Find-module where it is called (in original casing).
#
# The first simple mode looks like this:
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(<name> (DEFAULT_MSG|"Custom failure message") <var1>...<varN> )
# If the variables <var1> to <varN> are all valid, then <UPPERCASED_NAME>_FOUND
# will be set to TRUE.
# If DEFAULT_MSG is given as second argument, then the function will generate
# itself useful success and error messages. You can also supply a custom error message
# for the failure case. This is not recommended.
#
# The second mode is more powerful and also supports version checking:
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(NAME [REQUIRED_VARS <var1>...<varN>]
# [VERSION_VAR <versionvar>
# [CONFIG_MODE]
# [FAIL_MESSAGE "Custom failure message"] )
#
# As above, if <var1> through <varN> are all valid, <UPPERCASED_NAME>_FOUND
# will be set to TRUE.
# After REQUIRED_VARS the variables which are required for this package are listed.
# Following VERSION_VAR the name of the variable can be specified which holds
# the version of the package which has been found. If this is done, this version
# will be checked against the (potentially) specified required version used
# in the find_package() call. The EXACT keyword is also handled. The default
# messages include information about the required version and the version
# which has been actually found, both if the version is ok or not.
# Use the option CONFIG_MODE if your FindXXX.cmake module is a wrapper for
# a find_package(... NO_MODULE) call, in this case all the information
# provided by the config-mode of find_package() will be evaluated
# automatically.
# Via FAIL_MESSAGE a custom failure message can be specified, if this is not
# used, the default message will be displayed.
#
# Example for mode 1:
#
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
#
# LibXml2 is considered to be found, if both LIBXML2_LIBRARY and
# LIBXML2_INCLUDE_DIR are valid. Then also LIBXML2_FOUND is set to TRUE.
# If it is not found and REQUIRED was used, it fails with FATAL_ERROR,
# independent whether QUIET was used or not.
# If it is found, success will be reported, including the content of <var1>.
# On repeated Cmake runs, the same message won't be printed again.
#
# Example for mode 2:
#
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(BISON REQUIRED_VARS BISON_EXECUTABLE
# VERSION_VAR BISON_VERSION)
# In this case, BISON is considered to be found if the variable(s) listed
# after REQUIRED_VAR are all valid, i.e. BISON_EXECUTABLE in this case.
# Also the version of BISON will be checked by using the version contained
# in BISON_VERSION.
# Since no FAIL_MESSAGE is given, the default messages will be printed.
#
# Another example for mode 2:
#
# FIND_PACKAGE(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(Automoc4 CONFIG_MODE)
# In this case, FindAutmoc4.cmake wraps a call to FIND_PACKAGE(Automoc4 NO_MODULE)
# and adds an additional search directory for automoc4.
# The following FIND_PACKAGE_HANDLE_STANDARD_ARGS() call produces a proper
# success/error message.
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
INCLUDE(FindPackageMessage)
INCLUDE(CMakeParseArguments)
# internal helper macro
MACRO(_FPHSA_FAILURE_MESSAGE _msg)
IF (${_NAME}_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "${_msg}")
ELSE (${_NAME}_FIND_REQUIRED)
IF (NOT ${_NAME}_FIND_QUIETLY)
MESSAGE(STATUS "${_msg}")
ENDIF (NOT ${_NAME}_FIND_QUIETLY)
ENDIF (${_NAME}_FIND_REQUIRED)
ENDMACRO(_FPHSA_FAILURE_MESSAGE _msg)
# internal helper macro to generate the failure message when used in CONFIG_MODE:
MACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
# <name>_CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found:
IF(${_NAME}_CONFIG)
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing: ${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})")
ELSE(${_NAME}_CONFIG)
# If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version.
# List them all in the error message:
IF(${_NAME}_CONSIDERED_CONFIGS)
SET(configsText "")
LIST(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
MATH(EXPR configsCount "${configsCount} - 1")
FOREACH(currentConfigIndex RANGE ${configsCount})
LIST(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename)
LIST(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version)
SET(configsText "${configsText} ${filename} (version ${version})\n")
ENDFOREACH(currentConfigIndex)
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}")
ELSE(${_NAME}_CONSIDERED_CONFIGS)
# Simple case: No Config-file was found at all:
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}")
ENDIF(${_NAME}_CONSIDERED_CONFIGS)
ENDIF(${_NAME}_CONFIG)
ENDMACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
# set up the arguments for CMAKE_PARSE_ARGUMENTS and check whether we are in
# new extended or in the "old" mode:
SET(options CONFIG_MODE)
SET(oneValueArgs FAIL_MESSAGE VERSION_VAR)
SET(multiValueArgs REQUIRED_VARS)
SET(_KEYWORDS_FOR_EXTENDED_MODE ${options} ${oneValueArgs} ${multiValueArgs} )
LIST(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX)
IF(${INDEX} EQUAL -1)
SET(FPHSA_FAIL_MESSAGE ${_FIRST_ARG})
SET(FPHSA_REQUIRED_VARS ${ARGN})
SET(FPHSA_VERSION_VAR)
ELSE(${INDEX} EQUAL -1)
CMAKE_PARSE_ARGUMENTS(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}" ${_FIRST_ARG} ${ARGN})
IF(FPHSA_UNPARSED_ARGUMENTS)
MESSAGE(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"")
ENDIF(FPHSA_UNPARSED_ARGUMENTS)
IF(NOT FPHSA_FAIL_MESSAGE)
SET(FPHSA_FAIL_MESSAGE "DEFAULT_MSG")
ENDIF(NOT FPHSA_FAIL_MESSAGE)
ENDIF(${INDEX} EQUAL -1)
# now that we collected all arguments, process them
IF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG")
SET(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
ENDIF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG")
# In config-mode, we rely on the variable <package>_CONFIG, which is set by find_package()
# when it successfully found the config-file, including version checking:
IF(FPHSA_CONFIG_MODE)
LIST(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
LIST(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
SET(FPHSA_VERSION_VAR ${_NAME}_VERSION)
ENDIF(FPHSA_CONFIG_MODE)
IF(NOT FPHSA_REQUIRED_VARS)
MESSAGE(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()")
ENDIF(NOT FPHSA_REQUIRED_VARS)
LIST(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR)
STRING(TOUPPER ${_NAME} _NAME_UPPER)
STRING(TOLOWER ${_NAME} _NAME_LOWER)
# collect all variables which were not found, so they can be printed, so the
# user knows better what went wrong (#6375)
SET(MISSING_VARS "")
SET(DETAILS "")
SET(${_NAME_UPPER}_FOUND TRUE)
# check if all passed variables are valid
FOREACH(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
IF(NOT ${_CURRENT_VAR})
SET(${_NAME_UPPER}_FOUND FALSE)
SET(MISSING_VARS "${MISSING_VARS} ${_CURRENT_VAR}")
ELSE(NOT ${_CURRENT_VAR})
SET(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]")
ENDIF(NOT ${_CURRENT_VAR})
ENDFOREACH(_CURRENT_VAR)
# version handling:
SET(VERSION_MSG "")
SET(VERSION_OK TRUE)
SET(VERSION ${${FPHSA_VERSION_VAR}} )
IF (${_NAME}_FIND_VERSION)
IF(VERSION)
IF(${_NAME}_FIND_VERSION_EXACT) # exact version required
IF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
SET(VERSION_OK FALSE)
ELSE (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
SET(VERSION_MSG "(found suitable exact version \"${VERSION}\")")
ENDIF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
ELSE(${_NAME}_FIND_VERSION_EXACT) # minimum version specified:
IF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"")
SET(VERSION_OK FALSE)
ELSE ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
SET(VERSION_MSG "(found suitable version \"${VERSION}\", required is \"${${_NAME}_FIND_VERSION}\")")
ENDIF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
ENDIF(${_NAME}_FIND_VERSION_EXACT)
ELSE(VERSION)
# if the package was not found, but a version was given, add that to the output:
IF(${_NAME}_FIND_VERSION_EXACT)
SET(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")")
ELSE(${_NAME}_FIND_VERSION_EXACT)
SET(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")")
ENDIF(${_NAME}_FIND_VERSION_EXACT)
ENDIF(VERSION)
ELSE (${_NAME}_FIND_VERSION)
IF(VERSION)
SET(VERSION_MSG "(found version \"${VERSION}\")")
ENDIF(VERSION)
ENDIF (${_NAME}_FIND_VERSION)
IF(VERSION_OK)
SET(DETAILS "${DETAILS}[v${VERSION}(${${_NAME}_FIND_VERSION})]")
ELSE(VERSION_OK)
SET(${_NAME_UPPER}_FOUND FALSE)
ENDIF(VERSION_OK)
# print the result:
IF (${_NAME_UPPER}_FOUND)
FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG}" "${DETAILS}")
ELSE (${_NAME_UPPER}_FOUND)
IF(FPHSA_CONFIG_MODE)
_FPHSA_HANDLE_FAILURE_CONFIG_MODE()
ELSE(FPHSA_CONFIG_MODE)
IF(NOT VERSION_OK)
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})")
ELSE(NOT VERSION_OK)
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing: ${MISSING_VARS}) ${VERSION_MSG}")
ENDIF(NOT VERSION_OK)
ENDIF(FPHSA_CONFIG_MODE)
ENDIF (${_NAME_UPPER}_FOUND)
SET(${_NAME_UPPER}_FOUND ${${_NAME_UPPER}_FOUND} PARENT_SCOPE)
ENDFUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _FIRST_ARG)
+13 -11
View File
@@ -1,5 +1,7 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +16,7 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Perl libraries
@@ -29,31 +31,31 @@
# PERL_LFLAGS = perl compiler options for linking
if(PERL_FOUND)
# Already in cache, be silent
set(PERL_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(PERL_FIND_QUIETLY TRUE)
endif()
find_program(PERL_EXECUTABLE
NAMES perl perl5
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
)
if(PERL_EXECUTABLE)
execute_process(
COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \"\$Config{archlibexp}/CORE\""
OUTPUT_VARIABLE PERL_INTERNAL_DIR
)
)
execute_process(
COMMAND ${PERL_EXECUTABLE} -MExtUtils::Embed -e ccopts
OUTPUT_VARIABLE PERL_CFLAGS
)
)
execute_process(
COMMAND ${PERL_EXECUTABLE} -MExtUtils::Embed -e ldopts
OUTPUT_VARIABLE PERL_LFLAGS
)
)
# remove the new lines from the output by replacing them with empty strings
string(REPLACE "\n" "" PERL_INTERNAL_DIR "${PERL_INTERNAL_DIR}")
@@ -63,12 +65,12 @@ if(PERL_EXECUTABLE)
find_path(PERL_INCLUDE_PATH
NAMES perl.h
PATHS ${PERL_INTERNAL_DIR}
)
)
find_library(PERL_LIBRARY
NAMES perl
PATHS /usr/lib /usr/local/lib /usr/pkg/lib ${PERL_INTERNAL_DIR}
)
)
if(PERL_LIBRARY AND PERL_INCLUDE_PATH)
set(PERL_FOUND TRUE)
@@ -80,5 +82,5 @@ if(PERL_EXECUTABLE)
PERL_LIBRARY
PERL_CFLAGS
PERL_LFLAGS
)
)
endif()
-360
View File
@@ -1,360 +0,0 @@
# - a pkg-config module for CMake
#
# Usage:
# pkg_check_modules(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
# checks for all the given modules
#
# pkg_search_module(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
# checks for given modules and uses the first working one
#
# When the 'REQUIRED' argument was set, macros will fail with an error
# when module(s) could not be found
#
# It sets the following variables:
# PKG_CONFIG_FOUND ... true iff pkg-config works on the system
# PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program
# <PREFIX>_FOUND ... set to 1 iff module(s) exist
#
# For the following variables two sets of values exist; first one is the
# common one and has the given PREFIX. The second set contains flags
# which are given out when pkgconfig was called with the '--static'
# option.
# <XPREFIX>_LIBRARIES ... only the libraries (w/o the '-l')
# <XPREFIX>_LIBRARY_DIRS ... the paths of the libraries (w/o the '-L')
# <XPREFIX>_LDFLAGS ... all required linker flags
# <XPREFIX>_LDFLAGS_OTHER ... all other linker flags
# <XPREFIX>_INCLUDE_DIRS ... the '-I' preprocessor flags (w/o the '-I')
# <XPREFIX>_CFLAGS ... all required cflags
# <XPREFIX>_CFLAGS_OTHER ... the other compiler flags
#
# <XPREFIX> = <PREFIX> for common case
# <XPREFIX> = <PREFIX>_STATIC for static linking
#
# There are some special variables whose prefix depends on the count
# of given modules. When there is only one module, <PREFIX> stays
# unchanged. When there are multiple modules, the prefix will be
# changed to <PREFIX>_<MODNAME>:
# <XPREFIX>_VERSION ... version of the module
# <XPREFIX>_PREFIX ... prefix-directory of the module
# <XPREFIX>_INCLUDEDIR ... include-dir of the module
# <XPREFIX>_LIBDIR ... lib-dir of the module
#
# <XPREFIX> = <PREFIX> when |MODULES| == 1, else
# <XPREFIX> = <PREFIX>_<MODNAME>
#
# A <MODULE> parameter can have the following formats:
# {MODNAME} ... matches any version
# {MODNAME}>={VERSION} ... at least version <VERSION> is required
# {MODNAME}={VERSION} ... exactly version <VERSION> is required
# {MODNAME}<={VERSION} ... modules must not be newer than <VERSION>
#
# Examples
# pkg_check_modules (GLIB2 glib-2.0)
#
# pkg_check_modules (GLIB2 glib-2.0>=2.10)
# requires at least version 2.10 of glib2 and defines e.g.
# GLIB2_VERSION=2.10.3
#
# pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0)
# requires both glib2 and gtk2, and defines e.g.
# FOO_glib-2.0_VERSION=2.10.3
# FOO_gtk+-2.0_VERSION=2.8.20
#
# pkg_check_modules (XRENDER REQUIRED xrender)
# defines e.g.:
# XRENDER_LIBRARIES=Xrender;X11
# XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
#
# pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2)
# Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
#
# Redistribution and use, with or without modification, are permitted
# provided that the following conditions are met:
#
# 1. Redistributions must retain the above copyright notice, this
# list of conditions and the following disclaimer.
# 2. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
### Common stuff ####
set(PKG_CONFIG_VERSION 1)
set(PKG_CONFIG_FOUND 0)
find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable")
mark_as_advanced(PKG_CONFIG_EXECUTABLE)
if(PKG_CONFIG_EXECUTABLE)
set(PKG_CONFIG_FOUND 1)
endif(PKG_CONFIG_EXECUTABLE)
# Unsets the given variables
macro(_pkgconfig_unset var)
set(${var} "" CACHE INTERNAL "")
endmacro(_pkgconfig_unset)
macro(_pkgconfig_set var value)
set(${var} ${value} CACHE INTERNAL "")
endmacro(_pkgconfig_set)
# Invokes pkgconfig, cleans up the result and sets variables
macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
set(_pkgconfig_invoke_result)
execute_process(
COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist}
OUTPUT_VARIABLE _pkgconfig_invoke_result
RESULT_VARIABLE _pkgconfig_failed)
if (_pkgconfig_failed)
set(_pkgconfig_${_varname} "")
_pkgconfig_unset(${_prefix}_${_varname})
else(_pkgconfig_failed)
string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
string(REGEX REPLACE " +$" "" _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
if (NOT ${_regexp} STREQUAL "")
string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
endif(NOT ${_regexp} STREQUAL "")
separate_arguments(_pkgconfig_invoke_result)
#message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}")
set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result})
_pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}")
endif(_pkgconfig_failed)
endmacro(_pkgconfig_invoke)
# Invokes pkgconfig two times; once without '--static' and once with
# '--static'
macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp)
_pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN})
_pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN})
endmacro(_pkgconfig_invoke_dyn)
# Splits given arguments into options and a package list
macro(_pkgconfig_parse_options _result _is_req)
set(${_is_req} 0)
foreach(_pkg ${ARGN})
if (_pkg STREQUAL "REQUIRED")
set(${_is_req} 1)
endif (_pkg STREQUAL "REQUIRED")
endforeach(_pkg ${ARGN})
set(${_result} ${ARGN})
list(REMOVE_ITEM ${_result} "REQUIRED")
endmacro(_pkgconfig_parse_options)
###
macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
_pkgconfig_unset(${_prefix}_FOUND)
_pkgconfig_unset(${_prefix}_VERSION)
_pkgconfig_unset(${_prefix}_PREFIX)
_pkgconfig_unset(${_prefix}_INCLUDEDIR)
_pkgconfig_unset(${_prefix}_LIBDIR)
_pkgconfig_unset(${_prefix}_LIBS)
_pkgconfig_unset(${_prefix}_LIBS_L)
_pkgconfig_unset(${_prefix}_LIBS_PATHS)
_pkgconfig_unset(${_prefix}_LIBS_OTHER)
_pkgconfig_unset(${_prefix}_CFLAGS)
_pkgconfig_unset(${_prefix}_CFLAGS_I)
_pkgconfig_unset(${_prefix}_CFLAGS_OTHER)
_pkgconfig_unset(${_prefix}_STATIC_LIBDIR)
_pkgconfig_unset(${_prefix}_STATIC_LIBS)
_pkgconfig_unset(${_prefix}_STATIC_LIBS_L)
_pkgconfig_unset(${_prefix}_STATIC_LIBS_PATHS)
_pkgconfig_unset(${_prefix}_STATIC_LIBS_OTHER)
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS)
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS_I)
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS_OTHER)
# create a better addressable variable of the modules and calculate its size
set(_pkg_check_modules_list ${ARGN})
list(LENGTH _pkg_check_modules_list _pkg_check_modules_cnt)
if(PKG_CONFIG_EXECUTABLE)
# give out status message telling checked module
if (NOT ${_is_silent})
if (_pkg_check_modules_cnt EQUAL 1)
message(STATUS "checking for module '${_pkg_check_modules_list}'")
else(_pkg_check_modules_cnt EQUAL 1)
message(STATUS "checking for modules '${_pkg_check_modules_list}'")
endif(_pkg_check_modules_cnt EQUAL 1)
endif(NOT ${_is_silent})
set(_pkg_check_modules_packages)
set(_pkg_check_modules_failed)
# iterate through module list and check whether they exist and match the required version
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list})
set(_pkg_check_modules_exist_query)
# check whether version is given
if (_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\1" _pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\2" _pkg_check_modules_pkg_op "${_pkg_check_modules_pkg}")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\3" _pkg_check_modules_pkg_ver "${_pkg_check_modules_pkg}")
else(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
set(_pkg_check_modules_pkg_op)
set(_pkg_check_modules_pkg_ver)
endif(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
# handle the operands
if (_pkg_check_modules_pkg_op STREQUAL ">=")
list(APPEND _pkg_check_modules_exist_query --atleast-version)
endif(_pkg_check_modules_pkg_op STREQUAL ">=")
if (_pkg_check_modules_pkg_op STREQUAL "=")
list(APPEND _pkg_check_modules_exist_query --exact-version)
endif(_pkg_check_modules_pkg_op STREQUAL "=")
if (_pkg_check_modules_pkg_op STREQUAL "<=")
list(APPEND _pkg_check_modules_exist_query --max-version)
endif(_pkg_check_modules_pkg_op STREQUAL "<=")
# create the final query which is of the format:
# * --atleast-version <version> <pkg-name>
# * --exact-version <version> <pkg-name>
# * --max-version <version> <pkg-name>
# * --exists <pkg-name>
if (_pkg_check_modules_pkg_op)
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}")
else(_pkg_check_modules_pkg_op)
list(APPEND _pkg_check_modules_exist_query --exists)
endif(_pkg_check_modules_pkg_op)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}")
# execute the query
execute_process(
COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
RESULT_VARIABLE _pkgconfig_retval)
# evaluate result and tell failures
if (_pkgconfig_retval)
if(NOT ${_is_silent})
message(STATUS " package '${_pkg_check_modules_pkg}' not found")
endif(NOT ${_is_silent})
set(_pkg_check_modules_failed 1)
endif(_pkgconfig_retval)
endforeach(_pkg_check_modules_pkg)
if(_pkg_check_modules_failed)
# fail when requested
if (${_is_required})
message(SEND_ERROR "A required package was not found")
endif (${_is_required})
else(_pkg_check_modules_failed)
# when we are here, we checked whether requested modules
# exist. Now, go through them and set variables
_pkgconfig_set(${_prefix}_FOUND 1)
list(LENGTH _pkg_check_modules_packages pkg_count)
# iterate through all modules again and set individual variables
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_packages})
# handle case when there is only one package required
if (pkg_count EQUAL 1)
set(_pkg_check_prefix "${_prefix}")
else(pkg_count EQUAL 1)
set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
endif(pkg_count EQUAL 1)
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" LIBDIR "" --variable=libdir )
message(STATUS " found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
endforeach(_pkg_check_modules_pkg)
# set variables which are combined for multiple modules
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS "(^| )-L" --libs-only-L )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS "" --libs )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER "" --libs-only-other )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other )
endif(_pkg_check_modules_failed)
else(PKG_CONFIG_EXECUTABLE)
if (${_is_required})
message(SEND_ERROR "pkg-config tool not found")
endif (${_is_required})
endif(PKG_CONFIG_EXECUTABLE)
endmacro(_pkg_check_modules_internal)
###
### User visible macros start here
###
###
macro(pkg_check_modules _prefix _module0)
# check cached value
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
_pkgconfig_parse_options (_pkg_modules _pkg_is_required "${_module0}" ${ARGN})
_pkg_check_modules_internal("${_pkg_is_required}" 0 "${_prefix}" ${_pkg_modules})
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
endmacro(pkg_check_modules)
###
macro(pkg_search_module _prefix _module0)
# check cached value
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
set(_pkg_modules_found 0)
_pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required "${_module0}" ${ARGN})
message(STATUS "checking for one of the modules '${_pkg_modules_alt}'")
# iterate through all modules and stop at the first working one.
foreach(_pkg_alt ${_pkg_modules_alt})
if(NOT _pkg_modules_found)
_pkg_check_modules_internal(0 1 "${_prefix}" "${_pkg_alt}")
endif(NOT _pkg_modules_found)
if (${_prefix}_FOUND)
set(_pkg_modules_found 1)
endif(${_prefix}_FOUND)
endforeach(_pkg_alt)
if (NOT ${_prefix}_FOUND)
if(${_pkg_is_required})
message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found")
endif(${_pkg_is_required})
endif(NOT ${_prefix}_FOUND)
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
endmacro(pkg_search_module)
### Local Variables:
### mode: cmake
### End:
-103
View File
@@ -1,103 +0,0 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
#
# 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 <http://www.gnu.org/licenses/>.
#
# - Find Python
# This module finds if Python is installed and determines where the include files
# and libraries are. It also determines what the name of the library is. This
# code sets the following variables:
#
# PYTHON_EXECUTABLE = full path to the python binary
# PYTHON_INCLUDE_PATH = path to where python.h can be found
# PYTHON_LIBRARY = path to where libpython.so* can be found
# PYTHON_LFLAGS = python compiler options for linking
if(PYTHON_FOUND)
# Already in cache, be silent
set(PYTHON_FIND_QUIETLY TRUE)
endif()
if(ENABLE_PYTHON3)
find_program(PYTHON_EXECUTABLE
NAMES python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python3 python2.7 python2.6 python2.5 python
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
else()
find_program(PYTHON_EXECUTABLE
NAMES python2.7 python2.6 python2.5 python
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
endif()
if(PYTHON_EXECUTABLE)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import *; sys.stdout.write(get_config_var('INCLUDEPY'))"
OUTPUT_VARIABLE PYTHON_INC_DIR
)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import *; sys.stdout.write(get_config_var('LIBPL'))"
OUTPUT_VARIABLE PYTHON_POSSIBLE_LIB_PATH
)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import *; sys.stdout.write(get_config_var('LIBS') + ' ' + get_config_var('LINKFORSHARED'))"
OUTPUT_VARIABLE PYTHON_LFLAGS
)
find_path(PYTHON_INCLUDE_PATH
NAMES Python.h
HINTS ${PYTHON_INC_DIR}
)
if(ENABLE_PYTHON3)
find_library(PYTHON_LIBRARY
NAMES python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python3 python2.7 python2.6 python2.5 python
HINTS ${PYTHON_POSSIBLE_LIB_PATH}
)
else()
find_library(PYTHON_LIBRARY
NAMES python2.7 python2.6 python2.5 python
HINTS ${PYTHON_POSSIBLE_LIB_PATH}
)
endif()
if(PYTHON_LIBRARY AND PYTHON_INCLUDE_PATH)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write(sys.version[:3])"
OUTPUT_VARIABLE PYTHON_VERSION
)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write(str(sys.version_info < (2,5)))"
OUTPUT_VARIABLE PYTHON_OLD_VERSION
)
if(${PYTHON_OLD_VERSION} STREQUAL "True")
message("Python >= 2.5 is needed to build python plugin, version found: ${PYTHON_VERSION}")
else()
set(PYTHON_FOUND TRUE)
endif()
endif()
mark_as_advanced(
PYTHON_EXECUTABLE
PYTHON_INCLUDE_PATH
PYTHON_LIBRARY
PYTHON_LFLAGS
)
endif()
-83
View File
@@ -1,83 +0,0 @@
#
# Copyright (C) 2003-2018 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 <http://www.gnu.org/licenses/>.
#
# - Find Ruby
# This module finds if Ruby is installed and determines where the include files
# and libraries are. It also determines what the name of the library is. This
# code sets the following variables:
#
# RUBY_INCLUDE_DIRS = C flags to compile with ruby
# RUBY_LIBRARY_DIRS = linker flags to compile with ruby (found with pkg-config)
# RUBY_LIB = ruby library (found without pkg-config)
if(RUBY_FOUND)
# Already in cache, be silent
set(RUBY_FIND_QUIETLY TRUE)
endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(RUBY ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby-1.8)
endif()
if(RUBY_FOUND)
set(RUBY_LIB "")
mark_as_advanced(RUBY_LIB)
else()
find_program(RUBY_EXECUTABLE
NAMES ruby2.5.0 ruby250 ruby2.5 ruby2.4.0 ruby240 ruby2.4 ruby2.3.0 ruby230 ruby2.3 ruby23 ruby2.2.3 ruby223 ruby2.2.2 ruby222 ruby2.2.1 ruby221 ruby2.2.0 ruby220 ruby2.2 ruby22 ruby2.1.7 ruby217 ruby2.1.6 ruby216 ruby2.1.5 ruby215 ruby2.1.4 ruby214 ruby2.1.3 ruby213 ruby2.1.2 ruby212 ruby2.1.1 ruby211 ruby2.1.0 ruby210 ruby2.1 ruby21 ruby2.0 ruby20 ruby1.9.3 ruby193 ruby1.9.2 ruby192 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby1.8 ruby18 ruby
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
if(RUBY_EXECUTABLE)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubyhdrdir'] || RbConfig::CONFIG['archdir']"
OUTPUT_VARIABLE RUBY_ARCH_DIR
)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['arch']"
OUTPUT_VARIABLE RUBY_ARCH
)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['libdir']"
OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_PATH
)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubylibdir']"
OUTPUT_VARIABLE RUBY_RUBY_LIB_PATH
)
find_path(RUBY_INCLUDE_DIRS
NAMES ruby.h
PATHS ${RUBY_ARCH_DIR}
)
set(RUBY_INCLUDE_ARCH "${RUBY_INCLUDE_DIRS}/${RUBY_ARCH}")
find_library(RUBY_LIB
NAMES ruby-1.9.3 ruby1.9.3 ruby193 ruby-1.9.2 ruby1.9.2 ruby192 ruby-1.9.1 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby1.8 ruby18 ruby
PATHS ${RUBY_POSSIBLE_LIB_PATH} ${RUBY_RUBY_LIB_PATH}
)
if(RUBY_LIB AND RUBY_INCLUDE_DIRS)
set(RUBY_FOUND TRUE)
endif()
set(RUBY_INCLUDE_DIRS "${RUBY_INCLUDE_DIRS};${RUBY_INCLUDE_ARCH}")
mark_as_advanced(
RUBY_INCLUDE_DIRS
RUBY_LIBRARY_DIRS
RUBY_LIB
)
endif()
endif()
-162
View File
@@ -1,162 +0,0 @@
#
# Copyright (C) 2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2018 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 <http://www.gnu.org/licenses/>.
#
# - Find Tcl includes and libraries.
# This module finds if Tcl is installed and determines where the
# include files and libraries are. It also determines what the name of
# the library is. This code sets the following variables:
# TCL_FOUND = Tcl was found
# TK_FOUND = Tk was found
# TCLTK_FOUND = Tcl and Tk were found
# TCL_LIBRARY = path to Tcl library (tcl tcl80)
# TCL_INCLUDE_PATH = path to where tcl.h can be found
# TCL_TCLSH = path to tclsh binary (tcl tcl80)
# TK_LIBRARY = path to Tk library (tk tk80 etc)
# TK_INCLUDE_PATH = path to where tk.h can be found
# TK_WISH = full path to the wish executable
#
# In an effort to remove some clutter and clear up some issues for people
# who are not necessarily Tcl/Tk gurus/developpers, some variables were
# moved or removed. Changes compared to CMake 2.4 are:
# - The stub libraries are now found in FindTclStub.cmake
# => they were only useful for people writing Tcl/Tk extensions.
# - TCL_LIBRARY_DEBUG and TK_LIBRARY_DEBUG were removed.
# => these libs are not packaged by default with Tcl/Tk distributions.
# Even when Tcl/Tk is built from source, several flavors of debug libs
# are created and there is no real reason to pick a single one
# specifically (say, amongst tcl84g, tcl84gs, or tcl84sgx).
# Let's leave that choice to the user by allowing him to assign
# TCL_LIBRARY to any Tcl library, debug or not.
# - TK_INTERNAL_PATH was removed.
# => this ended up being only a Win32 variable, and there is a lot of
# confusion regarding the location of this file in an installed Tcl/Tk
# tree anyway (see 8.5 for example). If you need the internal path at
# this point it is safer you ask directly where the *source* tree is
# and dig from there.
if(TCL_FOUND)
set(TCL_FIND_QUIETLY TRUE)
endif()
include(CMakeFindFrameworks)
include(FindTclsh)
get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
string(REGEX REPLACE
"^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
string(REGEX REPLACE
"^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_VERSION "${TCL_LIBRARY}")
set(TCL_POSSIBLE_LIB_PATHS
"${TCL_INCLUDE_PATH_PARENT}/lib"
"${TCL_INCLUDE_PATH_PARENT}/lib64"
"${TCL_LIBRARY_PATH}"
"${TCL_TCLSH_PATH_PARENT}/lib"
"${TCL_TCLSH_PATH_PARENT}/lib64"
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/lib64
)
if(WIN32)
get_filename_component(
ActiveTcl_CurrentVersion
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
NAME)
set(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
"$ENV{ProgramFiles}/Tcl/Lib"
"C:/Program Files/Tcl/lib"
"C:/Tcl/lib"
)
endif()
find_library(TCL_LIBRARY
NAMES
tcl86 tcl8.6
tcl85 tcl8.5
tcl
tcl${TCL_VERSION} tcl${TCL_TCLSH_VERSION}
PATHS ${TCL_POSSIBLE_LIB_PATHS}
)
cmake_find_frameworks(Tcl)
set(TCL_FRAMEWORK_INCLUDES)
if(Tcl_FRAMEWORKS)
if(NOT TCL_INCLUDE_PATH)
foreach(dir ${Tcl_FRAMEWORKS})
set(TCL_FRAMEWORK_INCLUDES ${TCL_FRAMEWORK_INCLUDES} ${dir}/Headers)
endforeach(dir)
endif()
endif()
set(TCL_POSSIBLE_INCLUDE_PATHS
"${TCL_LIBRARY_PATH_PARENT}/include"
"${TCL_INCLUDE_PATH}"
${TCL_FRAMEWORK_INCLUDES}
"${TCL_TCLSH_PATH_PARENT}/include"
/usr/include/tcl8.6
/usr/include/tcl8.5
/usr/include
/usr/local/include
/usr/include/tcl${TCL_VERSION}
/usr/local/include/tcl${TCL_VERSION}
/usr/local/include/tcl8.6
/usr/local/include/tcl8.5
)
if(WIN32)
set(TCLTK_POSSIBLE_INCLUDE_PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/include"
"$ENV{ProgramFiles}/Tcl/include"
"C:/Program Files/Tcl/include"
"C:/Tcl/include"
)
endif()
find_path(TCL_INCLUDE_PATH
NAMES tcl.h
PATHS ${TCL_POSSIBLE_INCLUDE_PATHS}
)
if(TCL_LIBRARY AND TCL_INCLUDE_PATH)
set(TCL_VERSION ${TCL_VERSION})
set(TCL_LIBARY ${TCL_LIBRARY})
set(TCL_INCLUDE_PATH ${TCL_INCLUDE_PATH})
set(TCL_FOUND TRUE)
endif()
mark_as_advanced(
TCL_INCLUDE_PATH
TCL_LIBRARY
TCL_VERSION
)
+4 -2
View File
@@ -1,5 +1,7 @@
#
# Copyright (C) 2015-2018 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2015-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +16,7 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find V8 (Google's JavaScript engine)
-77
View File
@@ -1,77 +0,0 @@
# - Find zlib
# Find the native ZLIB includes and library.
# Once done this will define
#
# ZLIB_INCLUDE_DIRS - where to find zlib.h, etc.
# ZLIB_LIBRARIES - List of libraries when using zlib.
# ZLIB_FOUND - True if zlib found.
#
# ZLIB_VERSION_STRING - The version of zlib found (x.y.z)
# ZLIB_VERSION_MAJOR - The major version of zlib
# ZLIB_VERSION_MINOR - The minor version of zlib
# ZLIB_VERSION_PATCH - The patch version of zlib
# ZLIB_VERSION_TWEAK - The tweak version of zlib
#
# The following variable are provided for backward compatibility
#
# ZLIB_MAJOR_VERSION - The major version of zlib
# ZLIB_MINOR_VERSION - The minor version of zlib
# ZLIB_PATCH_VERSION - The patch version of zlib
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
find_path(ZLIB_INCLUDE_DIR zlib.h
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/include"
)
set(ZLIB_NAMES z zlib zdll zlib1 zlibd zlibd1)
find_library(ZLIB_LIBRARY
NAMES
${ZLIB_NAMES}
PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/lib"
)
mark_as_advanced(ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
if(ZLIB_INCLUDE_DIR AND EXISTS "${ZLIB_INCLUDE_DIR}/zlib.h")
file(STRINGS "${ZLIB_INCLUDE_DIR}/zlib.h" ZLIB_H REGEX "^#define ZLIB_VERSION \"[^\"]*\"$")
string(REGEX REPLACE "^.*ZLIB_VERSION \"([0-9]+).*$" "\\1" ZLIB_VERSION_MAJOR "${ZLIB_H}")
string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_MINOR "${ZLIB_H}")
string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_PATCH "${ZLIB_H}")
set(ZLIB_VERSION_STRING "${ZLIB_VERSION_MAJOR}.${ZLIB_VERSION_MINOR}.${ZLIB_VERSION_PATCH}")
# only append a TWEAK version if it exists:
set(ZLIB_VERSION_TWEAK "")
if("${ZLIB_H}" MATCHES "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*$")
set(ZLIB_VERSION_TWEAK "${CMAKE_MATCH_1}")
set(ZLIB_VERSION_STRING "${ZLIB_VERSION_STRING}.${ZLIB_VERSION_TWEAK}")
endif()
set(ZLIB_MAJOR_VERSION "${ZLIB_VERSION_MAJOR}")
set(ZLIB_MINOR_VERSION "${ZLIB_VERSION_MINOR}")
set(ZLIB_PATCH_VERSION "${ZLIB_VERSION_PATCH}")
endif()
# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if
# all listed variables are TRUE
#INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
include(${CMAKE_HOME_DIRECTORY}/cmake/FindPackageHandleStandardArgs.cmake)
find_package_handle_standard_args(ZLIB REQUIRED_VARS ZLIB_LIBRARY ZLIB_INCLUDE_DIR
VERSION_VAR ZLIB_VERSION_STRING)
if(ZLIB_FOUND)
set(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
endif()
+6 -6
View File
@@ -1,5 +1,7 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +16,7 @@
# 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 <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
@@ -28,13 +30,11 @@ list(REVERSE files)
foreach(file ${files})
message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
if(EXISTS "$ENV{DESTDIR}${file}")
exec_program("@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VARIABLE rm_retval)
execute_process(COMMAND "@CMAKE_COMMAND@" -E remove "$ENV{DESTDIR}${file}" OUTPUT_VARIABLE rm_out RESULT_VARIABLE rm_retval)
if("${rm_retval}" GREATER 0)
message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
endif()
else()
message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
endif()
endforeach(file)
endforeach()
+52 -5
View File
@@ -1,21 +1,68 @@
#cmakedefine HAVE_LIBINTL_H
/*
SPDX-FileCopyrightText: 2007-2026 Sébastien Helleu <flashcode@flashtux.org>
SPDX-License-Identifier: GPL-3.0-or-later
*/
#cmakedefine01 ENABLE_NCURSES
#cmakedefine01 ENABLE_HEADLESS
#cmakedefine01 ENABLE_NLS
#cmakedefine01 ENABLE_LARGEFILE
#cmakedefine01 ENABLE_ZSTD
#cmakedefine01 ENABLE_CJSON
#cmakedefine01 ENABLE_ALIAS
#cmakedefine01 ENABLE_BUFLIST
#cmakedefine01 ENABLE_CHARSET
#cmakedefine01 ENABLE_EXEC
#cmakedefine01 ENABLE_FIFO
#cmakedefine01 ENABLE_FSET
#cmakedefine01 ENABLE_IRC
#cmakedefine01 ENABLE_LOGGER
#cmakedefine01 ENABLE_RELAY
#cmakedefine01 ENABLE_SCRIPT
#cmakedefine01 ENABLE_SCRIPTS
#cmakedefine01 ENABLE_PERL
#cmakedefine01 ENABLE_PYTHON
#cmakedefine01 ENABLE_RUBY
#cmakedefine01 ENABLE_LUA
#cmakedefine01 ENABLE_TCL
#cmakedefine01 ENABLE_GUILE
#cmakedefine01 ENABLE_JAVASCRIPT
#cmakedefine01 ENABLE_PHP
#cmakedefine01 ENABLE_SPELL
#cmakedefine01 ENABLE_ENCHANT
#cmakedefine01 ENABLE_TRIGGER
#cmakedefine01 ENABLE_TYPING
#cmakedefine01 ENABLE_XFER
#cmakedefine01 ENABLE_MAN
#cmakedefine01 ENABLE_DOC
#cmakedefine01 ENABLE_DOC_INCOMPLETE
#cmakedefine01 ENABLE_TESTS
#cmakedefine01 ENABLE_CODE_COVERAGE
#cmakedefine HAVE_SYS_RESOURCE_H
#cmakedefine HAVE_FLOCK
#cmakedefine HAVE_LANGINFO_CODESET
#cmakedefine HAVE_BACKTRACE
#cmakedefine ICONV_2ARG_IS_CONST 1
#cmakedefine HAVE_MALLINFO
#cmakedefine HAVE_MALLINFO2
#cmakedefine HAVE_MALLOC_H
#cmakedefine HAVE_MALLOC_TRIM
#cmakedefine HAVE_HTONLL
#cmakedefine HAVE_EAT_NEWLINE_GLITCH
#cmakedefine HAVE_ASPELL_VERSION_STRING
#cmakedefine HAVE_ENCHANT_GET_VERSION
#cmakedefine HAVE_GUILE_GMP_MEMORY_FUNCTIONS
#define CMAKE_BUILD_TYPE "@CMAKE_BUILD_TYPE@"
#define CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@"
#define PACKAGE_VERSION "@VERSION@"
#define PACKAGE "@PROJECT_NAME@"
#define PACKAGE_NAME "@PROJECT_NAME@"
#define PACKAGE_STRING "@PKG_STRING@"
#define WEECHAT_LIBDIR "@LIBDIR@"
#define WEECHAT_SHAREDIR "@SHAREDIR@"
#define WEECHAT_LIBDIR "@WEECHAT_LIBDIR@"
#define WEECHAT_SHAREDIR "@WEECHAT_SHAREDIR@"
#define LOCALEDIR "@LOCALEDIR@"
#define WEECHAT_HOME "@WEECHAT_HOME@"
#define CA_FILE "@CA_FILE@"
#define _GNU_SOURCE 1
-1606
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1 +1 @@
11
12
+19 -29
View File
@@ -1,27 +1,29 @@
Source: weechat-devel
Section: net
Priority: optional
Maintainer: Sébastien Helleu <flashcode@flashtux.org>
Build-Depends:
asciidoctor (>= 1.5.4),
debhelper (>= 11),
cmake, pkg-config,
libncursesw5-dev,
ruby-pygments.rb,
debhelper (>= 12),
cmake,
pkgconf,
libncurses-dev,
gem2deb,
libperl-dev,
python-dev,
python3-dev,
libaspell-dev,
liblua5.1-0-dev,
liblua5.4-dev,
tcl8.6-dev,
guile-2.0-dev,
libv8-dev [amd64 i386 armel armhf mips mipsel hurd-i386 kfreebsd-amd64 kfreebsd-i386],
php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
guile-3.0-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
libgcrypt20-dev,
libgnutls28-dev,
zlib1g-dev
Standards-Version: 4.1.3
libzstd-dev,
zlib1g-dev,
libcjson-dev
Standards-Version: 4.7.3
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
@@ -47,7 +49,7 @@ Description: Fast, light and extensible chat client (metapackage)
- 256 colors support
- incremental text search
- dynamic filtering of buffer content
- Perl, Python, Ruby, Lua, Tcl, Scheme, JavaScript and PHP scripting
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
- script manager
- spell checking
- highly customizable and extensible
@@ -77,7 +79,7 @@ Description: Fast, light and extensible chat client - console client
- 256 colors support
- incremental text search
- dynamic filtering of buffer content
- Perl, Python, Ruby, Lua, Tcl, Scheme, JavaScript and PHP scripting
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
- script manager
- spell checking
- highly customizable and extensible
@@ -108,7 +110,7 @@ Description: Fast, light and extensible chat client - headless client
- 256 colors support
- incremental text search
- dynamic filtering of buffer content
- Perl, Python, Ruby, Lua, Tcl, Scheme, JavaScript and PHP scripting
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
- script manager
- spell checking
- highly customizable and extensible
@@ -154,6 +156,7 @@ Description: Fast, light and extensible chat client - plugins
- FIFO pipe for remote control
- Relay (IRC proxy and WeeChat protocol)
- Trigger
- Typing
Package: weechat-devel-python
Architecture: any
@@ -162,11 +165,11 @@ Depends:
${shlibs:Depends},
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
Conflicts: weechat-python
Description: Fast, light and extensible chat client - Python plugin
Description: Fast, light and extensible chat client - Python 3 plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the Python scripting API plugin.
This package provides the Python 3 scripting API plugin.
Package: weechat-devel-perl
Architecture: any
@@ -233,19 +236,6 @@ Description: Fast, light and extensible chat client - Guile plugin
.
This package provides the Guile scripting API plugin.
Package: weechat-devel-javascript
Architecture: amd64 i386 armel armhf mips mipsel hurd-i386 kfreebsd-amd64 kfreebsd-i386
Depends:
${misc:Depends},
${shlibs:Depends},
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
Conflicts: weechat-javascript
Description: Fast, light and extensible chat client - JavaScript plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the JavaScript scripting API plugin.
Package: weechat-devel-php
Architecture: any
Depends:
+3 -16
View File
@@ -4,10 +4,8 @@ export DEB_BUILD_MAINT_OPTIONS=hardening=+all
BUILDDIR = builddir
$(BUILDDIR)/Makefile:
mkdir -p $(BUILDDIR)
cd $(BUILDDIR) && \
cmake .. \
override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
-DENABLE_DOC:BOOL=ON \
@@ -18,16 +16,5 @@ $(BUILDDIR)/Makefile:
-DCMAKE_SKIP_RPATH:BOOL=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
override_dh_auto_configure:
# the package also has autotools buildsys and
# debhelper try to use it but that's not needed
echo
override_dh_auto_build: $(BUILDDIR)/Makefile
dh_auto_build
override_dh_installchangelogs:
dh_installchangelogs ChangeLog.adoc
%:
dh $@ --builddirectory=$(BUILDDIR) --without autoreconf
dh $@ --builddirectory=$(BUILDDIR)
+3
View File
@@ -0,0 +1,3 @@
tar-ignore = ".git"
tar-ignore = "build"
tar-ignore = "release"
@@ -0,0 +1,10 @@
Document: weechat-dev-sr
Title: WeeChat developer's guide (Serbian)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat internals and
how to contribute to WeeChat (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_dev.sr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_dev.sr.html
@@ -0,0 +1,10 @@
Document: weechat-faq-es
Title: WeeChat FAQ (Spanish)
Author: Sébastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (Spanish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.es.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.es.html
@@ -0,0 +1,10 @@
Document: weechat-faq-sr
Title: WeeChat FAQ (Serbian)
Author: Sébastien Helleu
Abstract: This document answers frequently asked questions
about the WeeChat IRC client (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.sr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.sr.html
@@ -0,0 +1,10 @@
Document: weechat-plugin-sr
Title: WeeChat plugin API reference (Serbian)
Author: Sébastien Helleu
Abstract: This document describes the API to create plugins
for WeeChat (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.sr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.sr.html
@@ -0,0 +1,9 @@
Document: weechat-quickstart-cs
Title: WeeChat quick start guide (Czech)
Author: Sébastien Helleu
Abstract: A short HowTo for new WeeChat users (Czech version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.cs.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.cs.html
@@ -0,0 +1,9 @@
Document: weechat-quickstart-sr
Title: WeeChat quick start guide (Serbian)
Author: Sébastien Helleu
Abstract: A short HowTo for new WeeChat users (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.sr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.sr.html
@@ -0,0 +1,10 @@
Document: weechat-relay-api-en
Title: WeeChat Relay "api" protocol (English)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "api" protocol, used by
remote GUI or WeeChat to communicate with Relay plugin (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_api.en.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_api.en.html
@@ -0,0 +1,10 @@
Document: weechat-relay-api-fr
Title: WeeChat Relay "api" protocol (French)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "api" protocol, used by
remote GUI or WeeChat to communicate with Relay plugin (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_api.fr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_api.fr.html
@@ -1,10 +0,0 @@
Document: weechat-relay-protocol-en
Title: WeeChat Relay protocol (English)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay Protocol, used by
remote GUI to communicate with Relay plugin (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.en.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.en.html
@@ -1,10 +0,0 @@
Document: weechat-relay-protocol-fr
Title: WeeChat Relay protocol (French)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay Protocol, used by
remote GUI to communicate with Relay plugin (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.fr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.fr.html
@@ -1,10 +0,0 @@
Document: weechat-relay-protocol-ja
Title: WeeChat Relay protocol (Japanese)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay Protocol, used by
remote GUI to communicate with Relay plugin (Japanese version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.ja.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.ja.html
@@ -0,0 +1,10 @@
Document: weechat-relay-weechat-en
Title: WeeChat Relay "weechat" protocol (English)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "weechat" protocol, used by
remote GUI to communicate with Relay plugin (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.en.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.en.html
@@ -0,0 +1,10 @@
Document: weechat-relay-weechat-fr
Title: WeeChat Relay "weechat" protocol (French)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "weechat" protocol, used by
remote GUI to communicate with Relay plugin (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.fr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.fr.html
@@ -0,0 +1,10 @@
Document: weechat-relay-weechat-ja
Title: WeeChat Relay "weechat" protocol (Japanese)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "weechat" protocol, used by
remote GUI to communicate with Relay plugin (Japanese version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.ja.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.ja.html
@@ -0,0 +1,10 @@
Document: weechat-relay-weechat-sr
Title: WeeChat Relay "weechat" protocol (Serbian)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "weechat" protocol, used by
remote GUI to communicate with Relay plugin (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.sr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_weechat.sr.html
@@ -0,0 +1,10 @@
Document: weechat-scripting-sr
Title: WeeChat scripting guide (Serbian)
Author: Sébastien Helleu
Abstract: This document describes the API to create scripts
for WeeChat (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.sr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.sr.html
@@ -1,10 +0,0 @@
Document: weechat-tester-de
Title: WeeChat tester's guide (German)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (German version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.de.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.de.html
@@ -1,10 +0,0 @@
Document: weechat-tester-en
Title: WeeChat tester's guide (English)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.en.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.en.html
@@ -1,10 +0,0 @@
Document: weechat-tester-fr
Title: WeeChat tester's guide (French)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.fr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.fr.html
@@ -1,10 +0,0 @@
Document: weechat-tester-it
Title: WeeChat tester's guide (Italian)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (Italian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.it.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.it.html
@@ -1,10 +0,0 @@
Document: weechat-tester-ja
Title: WeeChat tester's guide (Japanese)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (Japanese version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.ja.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.ja.html
@@ -1,10 +0,0 @@
Document: weechat-tester-pl
Title: WeeChat tester's guide (Polish)
Author: Sébastien Helleu
Abstract: This document describes how to test and report
bugs against the WeeChat IRC Client (Polish version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_tester.pl.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_tester.pl.html
@@ -0,0 +1,10 @@
Document: weechat-user-sr
Title: WeeChat user's guide (Serbian)
Author: Sébastien Helleu
Abstract: This manual describes how to use the WeeChat
IRC client (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.sr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.sr.html
@@ -1 +0,0 @@
../debian-stable/weechat-javascript.dirs
@@ -1 +0,0 @@
../debian-stable/weechat-javascript.install
-41
View File
@@ -1,41 +0,0 @@
weechat (2.1-1) unstable; urgency=medium
This release introduces a new headless client and a new PHP plugin for
scripting (respectively weechat-headless and weechat-php binary
packages).
To avoid at least unnecessary dependencies, each plugin has its own
separate binary package:
weechat-{perl,python,ruby,lua,guile,javascript,php}
Depending on your needs about scripting with weechat you should consider
to install the missing packages.
-- Emmanuel Bouthenot <kolter@debian.org> Wed, 21 Mar 2018 07:53:40 +0100
weechat (1.1.1-1) unstable; urgency=medium
Since version 1.1, there is a new format for regexp replacement in
triggers. This format is incompatible with version 1.0. The existing
triggers will not be automatically updated.
See http://www.weechat.org/files/releasenotes/ReleaseNotes-1.1.html
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 25 Jan 2015 20:41:50 +0100
weechat (0.3.1-1) unstable; urgency=low
This release introduces important changes with the usage of SSL. There
are stronger checks while connecting with SSL. By default, if a connection
is not fully trusted it will fail.
You can find more information on how to handle this new behaviour here:
https://weechat.org/blog/post/2009/12/01/SSL-certificates
-- Emmanuel Bouthenot <kolter@debian.org> Mon, 25 Jan 2010 12:35:11 +0100
weechat (0.3.0-1) unstable; urgency=low
This release introduces major changes. Large part of code was
rewritten without keeping compatibility with older versions.
Please refer to the file /usr/share/doc/weechat-core/UPGRADE_0.3
for more information on upgrade from a version 0.2.x to 0.3.x.
-- Emmanuel Bouthenot <kolter@openics.org> Tue, 15 Sep 2009 20:59:42 +0000
+280 -4
View File
@@ -1,3 +1,279 @@
weechat (4.8.1-1) unstable; urgency=medium
* New upstream release
* Bump Standards-Version to 4.7.3
* Update debian/copyright file (new year)
* Remove redundant priority optional field from debian/control
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 23 Jan 2026 22:02:31 +0000
weechat (4.7.2-1) unstable; urgency=medium
* New upstream release (Closes: #1119787)
* Update debian/watch to version 5
* Remove useless 'Rules-Requires-Root: no' from debian/control
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 29 Nov 2025 08:53:10 +0000
weechat (4.6.3-1) unstable; urgency=medium
* New upstream release
- fixes multiple security vulnerabilities (Closes: #1104554)
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 17 May 2025 05:49:46 +0000
weechat (4.6.1-1) unstable; urgency=medium
* New upstream release (Closes: #1102450, #1098090)
-- Emmanuel Bouthenot <kolter@debian.org> Wed, 16 Apr 2025 20:31:07 +0000
weechat (4.5.1-1) unstable; urgency=medium
* New upstream release
* Update copyright file (new year)
-- Emmanuel Bouthenot <kolter@debian.org> Mon, 20 Jan 2025 14:39:42 +0000
weechat (4.4.3-1) unstable; urgency=medium
* New upstream release
* Remove (fixed upstream) the fix for a possible privacy breach with html
documentation which includes stylesheets and fonts (font-awesome) hosted
on remote CDN (Cloudflare).
-- Emmanuel Bouthenot <kolter@debian.org> Wed, 06 Nov 2024 21:27:08 +0000
weechat (4.4.2-1) unstable; urgency=medium
* New upstream release
- fix crash where exiting (Closes: #1076532)
- fix a minor security issue (Closes: #1081942)
* Fix possible privacy breach with html documentation which includes
stylesheets and fonts (font-awesome) hosted on remote CDN (Cloudflare)
by replacing them during build process by the ones provided in
fonts-font-awesome package (also added as dependency on weechat-doc).
* Refresh weechat-doc with minor changes and add some documentation in
Serbian and Czech.
* Bump Standards-Version to 4.7.0
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 22 Sep 2024 13:08:28 +0000
weechat (4.3.1-1) unstable; urgency=medium
* New upstream release (Closes: #1067608)
- fix FTBFS against libgcrypt 1.11 (Closes: #1071960)
* Add build dependency on libcjson-dev
* Replace pkg-config build dependency by pkgconf
* Minor updates in debian/copyright
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 01 Jun 2024 14:21:02 +0000
weechat (4.1.1-1) unstable; urgency=medium
* New upstream release (Closes: #1055278)
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 03 Nov 2023 20:23:37 +0000
weechat (4.0.5-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 24 Sep 2023 07:49:41 +0000
weechat (4.0.2-1) unstable; urgency=medium
* New upstream release (Closes: #1040248)
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 22 Jul 2023 05:48:35 +0000
weechat (4.0.1-1) unstable; urgency=medium
* New upstream release
* Remove NEWS file, no longer required
* Update build dependency from libncursesw5-dev to libncurses-dev
* Bump Standards-Version to 4.6.2
* Remove all patches (no longer required)
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 04 Jul 2023 19:02:41 +0000
weechat (3.8-1) unstable; urgency=medium
* New upstream release
* Add a patch remove some autotools leftovers
* Update debian/copyright (new year)
* Update debian/rules to remove workarounds which avoid issues with
autotools build system
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 15 Jan 2023 08:34:04 +0000
weechat (3.7.1-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 22 Oct 2022 12:55:10 +0000
weechat (3.7-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 18 Oct 2022 12:44:29 +0000
weechat (3.6-1) unstable; urgency=medium
* New upstream release
* Bump Standards-Version to 4.6.1.0
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 23 Jul 2022 09:56:24 +0000
weechat (3.5-1) unstable; urgency=medium
* New upstream release
* Add build dependency on libzstd-dev
-- Emmanuel Bouthenot <kolter@debian.org> Thu, 31 Mar 2022 11:36:01 +0000
weechat (3.4.1-1) unstable; urgency=medium
* New upstream release
- Fix a possible man-in-the-middle attack in TLS connection to servers
* Update build dependency from libargon2-0-dev to libargon2-dev
(libargon2-0-dev is now virtual package) (Closes: #1005703)
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 22 Mar 2022 05:55:14 +0000
weechat (3.4-2) unstable; urgency=medium
* Remove build dependency on ruby-pygments.rb (no longer required)
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 08 Jan 2022 06:00:17 +0000
weechat (3.4-1) unstable; urgency=medium
* New upstream release (Closes: #1001654, #1001245)
* Remove tester's guide from weechat-doc (according to upstream changes)
* Refresh ASCII Doctor options patch
* Update lintian override on weechat-plugins
* Update copyright (new year)
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 07 Jan 2022 23:03:49 +0000
weechat (3.3-1) unstable; urgency=medium
* New upstream release
* Remove patch merged upstream (which command detection in libgcrypt)
* Minor updates in debian/copyright
* Enable Typing plugin
-- Emmanuel Bouthenot <kolter@debian.org> Mon, 20 Sep 2021 10:05:56 +0000
weechat (3.2.1-1) unstable; urgency=medium
* New upstream release
- fix CVE-2021-40516: possible denial of service (crash) via a crafted
WebSocket in relay plugin (Closes: #993803)
* Add a patch to fix a FTBFS (related to recent changes on which command
output) (Closes: #993333)
* Bump Standards-Version to 4.6.0.1
* Remove useless HomePage field in upstream/metadata
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 07 Sep 2021 20:25:39 +0000
weechat (3.0.1-1) unstable; urgency=medium
* New upstream release
* Bump Standards-Version to 4.5.1
-- Emmanuel Bouthenot <kolter@debian.org> Wed, 03 Mar 2021 05:30:44 +0000
weechat (3.0-1) unstable; urgency=medium
* New upstream release
* Build against Guile 3.0 (instead of 2.2) (Closes: #969680)
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 21 Nov 2020 07:34:12 +0000
weechat (2.9-1) unstable; urgency=medium
* New upstream release
* Refresh ASCII Doctor options patch
* Switch debhelper compatibility to 13 and add debian/not-installed
accordingly
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 15 Aug 2020 20:31:09 +0000
weechat (2.8-1) unstable; urgency=medium
* New upstream release
- Fix FTBFS with ruby 2.7 (Closes: #954701, #954789)
- Remove patch to fix compilation error while testing iconv support
- Remove patch to fix a crash when loading script with PHP 7.4
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 04 Apr 2020 09:01:45 +0000
weechat (2.7.1-1) unstable; urgency=medium
* New upstream release
- fix CVE-2020-8955: possible remote DOS via malformed IRC messages
(Closes: #951289)
- rebuilt against python 3.8 (Closes: #953620)
* Remove Guile 2.2 support patch (merged upstream)
* Add a patch to fix compilation error while testing iconv support
* Add a patch to fix a crash when loading script with PHP 7.4
* Bump Standards-Version to 4.5.0
* Replace gem2deb build dependency by ruby-dev to facilitate
transitions to new versions of ruby (Closes: #951713)
* Set Rules-Requires-Root to no
* Switch debhelper compatibility to 12
-- Emmanuel Bouthenot <kolter@debian.org> Mon, 09 Mar 2020 14:59:31 +0000
weechat (2.6-2) unstable; urgency=medium
* Add a patch from upstream to support Guile 2.2 (Closes: #885235)
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 11 Oct 2019 15:07:22 +0000
weechat (2.6-1) unstable; urgency=medium
* New upstream release
* Build only with Python3 (Closes: #938817)
* Bump Standards-Version to 4.4.0
* Build Lua plugin against Lua 5.3
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 17 Sep 2019 13:30:32 +0000
weechat (2.4-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 03 Mar 2019 19:29:13 +0000
weechat (2.3-1) unstable; urgency=medium
* New upstream release
* Bump Standards-Version to 4.3.0
* Switch debhelper compatibility to 12
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 04 Jan 2019 16:06:44 +0000
weechat (2.2-1) unstable; urgency=medium
* New upstream release
* Remove upstream patch about localized manpages for weechat-headless
* Bump Standards-Version to 4.1.5
-- Emmanuel Bouthenot <kolter@debian.org> Wed, 19 Sep 2018 09:41:45 +0000
weechat (2.1-2) unstable; urgency=medium
* Disable build of javascript plugin to fix weechat autoremoval from
testing (RC bugs in libv8) (Closes: #894680)
* Add missing localized manpages for weechat-headless
* Fix debian/copyright Format URI
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 03 Apr 2018 10:48:35 +0200
weechat (2.1-1) unstable; urgency=medium
* New upstream release (Closes: #887114)
@@ -313,7 +589,7 @@ weechat (0.3.6-1) unstable; urgency=low
documentation when weechat-doc is installed (Closes: #632621)
* Add a Suggest on weechat-doc for weechat and weechat-curses. Thanks to
Jonathan Nieder for the proposal.
* Fix the cmake invokation from debian/rules (cflags and ldflags)
* Fix the cmake invocation from debian/rules (cflags and ldflags)
-- Emmanuel Bouthenot <kolter@debian.org> Wed, 26 Oct 2011 20:10:09 +0000
@@ -535,7 +811,7 @@ weechat (0.2.3-1) unstable; urgency=low
* New upstream release
* Bump lua build-dependency to liblua5.1-0-dev
* Add pkg-config to Build-Depends
* Remove some duplited changelog entries.
* Remove some duplicated changelog entries.
* Improve weechat-plugins description
-- Julien Louis <ptitlouis@sysif.net> Fri, 12 Jan 2007 09:01:46 +0100
@@ -543,7 +819,7 @@ weechat (0.2.3-1) unstable; urgency=low
weechat (0.2.1-1) unstable; urgency=low
* New upstream release
* Overrive lintian menu-icon-missing warning
* Override lintian menu-icon-missing warning
since the icon is in the weechat-common package.
-- Julien Louis <ptitlouis@sysif.net> Mon, 2 Oct 2006 15:30:06 +0200
@@ -688,7 +964,7 @@ weechat (0.1.1-2) unstable; urgency=low
* debian/control:
- Add myself to uploaders.
- Remove unecessary dependency on weechat-gtk (Closes: #308287).
- Remove unnecessary dependency on weechat-gtk (Closes: #308287).
-- Julien Louis <ptitlouis@sysif.net> Tue, 10 May 2005 22:38:52 +0200
+1 -1
View File
@@ -1 +1 @@
11
12
+19 -28
View File
@@ -1,27 +1,29 @@
Source: weechat
Section: net
Priority: optional
Maintainer: Emmanuel Bouthenot <kolter@debian.org>
Build-Depends:
asciidoctor (>= 1.5.4),
debhelper (>= 11),
cmake, pkg-config,
libncursesw5-dev,
ruby-pygments.rb,
debhelper (>= 12),
cmake,
pkgconf,
libncurses-dev,
gem2deb,
libperl-dev,
python-dev,
python3-dev,
libaspell-dev,
liblua5.1-0-dev,
liblua5.4-dev,
tcl8.6-dev,
guile-2.0-dev,
libv8-dev [amd64 i386 armel armhf mips mipsel hurd-i386 kfreebsd-amd64 kfreebsd-i386],
php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
guile-3.0-dev,
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
libxml2-dev,
libcurl4-gnutls-dev,
libgcrypt20-dev,
libgnutls28-dev,
zlib1g-dev
Standards-Version: 4.1.3
libzstd-dev,
zlib1g-dev,
libcjson-dev
Standards-Version: 4.7.3
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
@@ -46,7 +48,7 @@ Description: Fast, light and extensible chat client (metapackage)
- 256 colors support
- incremental text search
- dynamic filtering of buffer content
- Perl, Python, Ruby, Lua, Tcl, Scheme, JavaScript and PHP scripting
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
- script manager
- spell checking
- highly customizable and extensible
@@ -75,7 +77,7 @@ Description: Fast, light and extensible chat client - console client
- 256 colors support
- incremental text search
- dynamic filtering of buffer content
- Perl, Python, Ruby, Lua, Tcl, Scheme, JavaScript and PHP scripting
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
- script manager
- spell checking
- highly customizable and extensible
@@ -105,7 +107,7 @@ Description: Fast, light and extensible chat client - headless client
- 256 colors support
- incremental text search
- dynamic filtering of buffer content
- Perl, Python, Ruby, Lua, Tcl, Scheme, JavaScript and PHP scripting
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
- script manager
- spell checking
- highly customizable and extensible
@@ -149,6 +151,7 @@ Description: Fast, light and extensible chat client - plugins
- FIFO pipe for remote control
- Relay (IRC proxy and WeeChat protocol)
- Trigger
- Typing
Package: weechat-python
Architecture: any
@@ -156,11 +159,11 @@ Depends:
${misc:Depends},
${shlibs:Depends},
weechat-curses (= ${binary:Version}) | weechat-headless (= ${binary:Version})
Description: Fast, light and extensible chat client - Python plugin
Description: Fast, light and extensible chat client - Python 3 plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the Python scripting API plugin.
This package provides the Python 3 scripting API plugin.
Package: weechat-perl
Architecture: any
@@ -222,18 +225,6 @@ Description: Fast, light and extensible chat client - Guile plugin
.
This package provides the Guile scripting API plugin.
Package: weechat-javascript
Architecture: amd64 i386 armel armhf mips mipsel hurd-i386 kfreebsd-amd64 kfreebsd-i386
Depends:
${misc:Depends},
${shlibs:Depends},
weechat-curses (= ${binary:Version}) | weechat-headless (= ${binary:Version})
Description: Fast, light and extensible chat client - JavaScript plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the JavaScript scripting API plugin.
Package: weechat-php
Architecture: any
Depends:
+24 -33
View File
@@ -1,29 +1,29 @@
Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=174
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: weechat
Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
Source: https://weechat.org/
Files: *
Copyright: 2003-2018, Sébastien Helleu <flashcode@flashtux.org>
Copyright: 2003-2026, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+
Files: src/core/wee-command.c
src/core/wee-command.h
Files: src/core/core-command.c
src/core/core-command.h
Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/wee-config-file.c
src/core/wee-config-file.h
src/core/wee-config.c
src/core/wee-config.h
Files: src/core/core-config-file.c
src/core/core-config-file.h
src/core/core-config.c
src/core/core-config.h
Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/wee-hook.c
Files: src/core/hook/hook-connect.c
Copyright: 2012, Simon Arlott
License: GPL-3+
Files: src/core/wee-hook.h
Files: src/core/hook/hook-connect.h
Copyright: 2012, Simon Arlott
License: GPL-3+
@@ -31,32 +31,32 @@ Files: src/gui/gui-history.c
Copyright: 2005, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/wee-completion.c
src/core/wee-log.c
src/core/wee-utf8.c
Files: src/core/core-completion.c
src/core/core-log.c
src/core/core-utf8.c
src/core/weechat.h
src/plugins/aspell/weechat-aspell-config.c
src/plugins/aspell/weechat-aspell-config.h
src/plugins/aspell/weechat-aspell-speller.c
src/plugins/aspell/weechat-aspell-speller.h
src/plugins/aspell/weechat-aspell.h
src/plugins/spell/spell-config.c
src/plugins/spell/spell-config.h
src/plugins/spell/spell-speller.c
src/plugins/spell/spell-speller.h
src/plugins/spell/spell.h
src/plugins/irc/irc-command.c
src/plugins/irc/irc.h
Copyright: 2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/wee-network.c
Files: src/core/core-network.c
Copyright: 2005-2010, Emmanuel Bouthenot <kolter@openics.org>
2010, Gu1ll4um3r0m41n <aeroxteam@gmail.com>
2012, Simon Arlott
License: GPL-3+
Files: src/plugins/aspell/weechat-aspell-bar-item.c
src/plugins/aspell/weechat-aspell-bar-item.h
Files: src/plugins/spell/spell-bar-item.c
src/plugins/spell/spell-bar-item.h
Copyright: 2012, Nils Görs <weechatter@arcor.de>
License: GPL-3+
Files: src/plugins/aspell/weechat-aspell.c
Files: src/plugins/spell/spell.c
Copyright: 2006, Emmanuel Bouthenot <kolter@openics.org>
2012, Nils Görs <weechatter@arcor.de>
License: GPL-3+
@@ -78,15 +78,6 @@ Copyright: 2005-2010, Emmanuel Bouthenot <kolter@openics.org>
2012, Simon Arlott
License: GPL-3+
Files: src/plugins/javascript/weechat-js-api.cpp
src/plugins/javascript/weechat-js-api.h
src/plugins/javascript/weechat-js-v8.cpp
src/plugins/javascript/weechat-js-v8.h
src/plugins/javascript/weechat-js.cpp
src/plugins/javascript/weechat-js.h
Copyright: 2013, Koka El Kiwi <kokakiwi@kokakiwi.net>
License: GPL-3+
Files: src/plugins/lua/weechat-lua-api.c
Copyright: 2006-2007, Emmanuel Bouthenot <kolter@openics.org>
2012, Simon Arlott
@@ -165,7 +156,7 @@ License: GPL-3+
General Public License for more details.
.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
with this program. If not, see <https://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU General Public License,
Version 3 can be found in the file /usr/share/common-licenses/GPL-3
@@ -182,7 +173,7 @@ License: GPL-3-with-openssl-exception
General Public License for more details.
.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
with this program. If not, see <https://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU General Public License,
Version 3 can be found in the file /usr/share/common-licenses/GPL-3
+3 -16
View File
@@ -4,10 +4,8 @@ export DEB_BUILD_MAINT_OPTIONS=hardening=+all
BUILDDIR = builddir
$(BUILDDIR)/Makefile:
mkdir -p $(BUILDDIR)
cd $(BUILDDIR) && \
cmake .. \
override_dh_auto_configure:
dh_auto_configure --buildsystem=cmake -- \
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
-DENABLE_DOC:BOOL=ON \
@@ -18,16 +16,5 @@ $(BUILDDIR)/Makefile:
-DCMAKE_SKIP_RPATH:BOOL=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
override_dh_auto_configure:
# the package also has autotools buildsys and
# debhelper try to use it but that's not needed
echo
override_dh_auto_build: $(BUILDDIR)/Makefile
dh_auto_build
override_dh_installchangelogs:
dh_installchangelogs ChangeLog.adoc
%:
dh $@ --builddirectory=$(BUILDDIR) --without autoreconf
dh $@ --builddirectory=$(BUILDDIR)
+3
View File
@@ -0,0 +1,3 @@
tar-ignore = ".git"
tar-ignore = "build"
tar-ignore = "release"
+4 -2
View File
@@ -1,2 +1,4 @@
version=3
opts=pgpsigurlmangle=s/$/.asc/ https://weechat.org/files/src/weechat-(\d.*)\.tar\.bz2
Version: 5
Source: https://weechat.org/download/
Matching-Pattern: /files/src/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
Pgp-Mode: auto
+5 -4
View File
@@ -1,4 +1,5 @@
AUTHORS.adoc
Contributing.adoc
README.adoc
ReleaseNotes.adoc
AUTHORS.md
CHANGELOG.md
CONTRIBUTING.md
README.md
UPGRADING.md
+1
View File
@@ -7,3 +7,4 @@ usr/share/man/it/man1/weechat.1.gz usr/share/man/it/man1/weechat-curses.1.gz
usr/share/man/ja/man1/weechat.1.gz usr/share/man/ja/man1/weechat-curses.1.gz
usr/share/man/pl/man1/weechat.1.gz usr/share/man/pl/man1/weechat-curses.1.gz
usr/share/man/ru/man1/weechat.1.gz usr/share/man/ru/man1/weechat-curses.1.gz
usr/share/man/sr/man1/weechat.1.gz usr/share/man/sr/man1/weechat-curses.1.gz
@@ -0,0 +1,10 @@
Document: weechat-relay-api-en
Title: WeeChat Relay "api" protocol (English)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "api" protocol, used by
remote GUI or WeeChat to communicate with Relay plugin (English version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_api.en.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_api.en.html
@@ -0,0 +1,10 @@
Document: weechat-relay-api-fr
Title: WeeChat Relay "api" protocol (French)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat Relay "api" protocol, used by
remote GUI or WeeChat to communicate with Relay plugin (French version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_api.fr.html
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_api.fr.html
+10
View File
@@ -0,0 +1,10 @@
Document: weechat-dev-sr
Title: WeeChat developer's guide (Serbian)
Author: Sébastien Helleu
Abstract: This manual describes WeeChat internals and
how to contribute to WeeChat (Serbian version).
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/weechat-doc/html/weechat_dev.sr.html
Files: /usr/share/doc/weechat-doc/html/weechat_dev.sr.html

Some files were not shown because too many files have changed in this diff Show More