mirror of
https://github.com/weechat/weechat.git
synced 2026-06-13 14:44:46 +02:00
Compare commits
142 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aa2067b240 | |||
| cf5c24c2f7 | |||
| 9b389b5736 | |||
| 8c422a199e | |||
| 4dd36270a8 | |||
| a639271e93 | |||
| b452be6417 | |||
| 0fbb99763d | |||
| 65ef552251 | |||
| 05f9129e65 | |||
| 113f72f70e | |||
| 0987e12e83 | |||
| 097862e0f0 | |||
| 6b3398fcb5 | |||
| 52c53d6985 | |||
| 608038374e | |||
| 7f3ad1c054 | |||
| 5d4546eb85 | |||
| 00b7a656a7 | |||
| 3520c9af0f | |||
| a76bfb1f26 | |||
| 2534976281 | |||
| c3f2252385 | |||
| 83e3e6973c | |||
| c56389d12e | |||
| 12717ff689 | |||
| d8569ffe27 | |||
| 62c99f8938 | |||
| a3f733d29a | |||
| c9c402d202 | |||
| 7ce1e8c05f | |||
| 0be2d45f6a | |||
| 4e0cc14b79 | |||
| c18d8ecc1d | |||
| dd454dfc50 | |||
| 1f0d8d3849 | |||
| c248aa42ce | |||
| 2832ef333e | |||
| 5543bc236b | |||
| 953ede1200 | |||
| c2ff484995 | |||
| b8048b1666 | |||
| e33ed57b47 | |||
| 790ce13843 | |||
| 4ecf2cb6b8 | |||
| d23a7a6105 | |||
| da12df6b73 | |||
| 3176e2a6b7 | |||
| 4555f9a58a | |||
| e261cadce3 | |||
| 3e49b73117 | |||
| 898213b4f2 | |||
| e6646d1ef1 | |||
| 69d47b68f5 | |||
| 48d2c5fd01 | |||
| 1c53d3d466 | |||
| 4ab11b7705 | |||
| 8032ca1433 | |||
| ac69288ed7 | |||
| 0930976456 | |||
| d5bfe35245 | |||
| 90a42ee213 | |||
| 6981f9f204 | |||
| b9f1145d03 | |||
| f3a8068109 | |||
| 1ffc96955e | |||
| 8316745061 | |||
| b18190b4c0 | |||
| 753475f530 | |||
| 237b07575b | |||
| dacd29b1d7 | |||
| cfcadd155d | |||
| e5285c5545 | |||
| 538b95d405 | |||
| 1bfd744249 | |||
| cd20c0e843 | |||
| 16245f44ae | |||
| 2f8393d504 | |||
| d0298b4738 | |||
| c34d26dd70 | |||
| 96e225ac39 | |||
| e570d76c53 | |||
| 5f0eebc0df | |||
| 3a3dec985d | |||
| 7051dd4351 | |||
| c0116febe5 | |||
| 1094e70de2 | |||
| 08545facb6 | |||
| 2c4ede614e | |||
| 8c6e6bb383 | |||
| c9d4dd48a0 | |||
| af41184889 | |||
| a89d5302fd | |||
| b61dca7d2d | |||
| 4232123ca3 | |||
| 6d7dd46015 | |||
| 93c0ee57c8 | |||
| 5433d25889 | |||
| 3ed6726625 | |||
| 8143d44e44 | |||
| 0dab9b9257 | |||
| 07ef353b1b | |||
| 234244f8d5 | |||
| 063aa86978 | |||
| 93d73d234f | |||
| df3232fc80 | |||
| d05b83d03f | |||
| 0009732f78 | |||
| e637e0de1c | |||
| 58c873809b | |||
| 8eed89c43c | |||
| 1b669cd13c | |||
| f854db17ff | |||
| 72b2242135 | |||
| b066f713d7 | |||
| 63313468c9 | |||
| d9ba00223b | |||
| ae5b74549c | |||
| 222cb4876e | |||
| dc22d70dd4 | |||
| 949f860267 | |||
| e2ae308e3b | |||
| 767ea84909 | |||
| 665773b119 | |||
| 21a958423e | |||
| 1c09118fe1 | |||
| 47c1128fb9 | |||
| 1038f0de24 | |||
| 5acbfe9b7d | |||
| 7980a6d100 | |||
| f630c36af0 | |||
| 8e4ce78c97 | |||
| b2d9ad9e22 | |||
| c48485bc46 | |||
| f48e6ee81d | |||
| 87eb6cc7e1 | |||
| 8c372c0c01 | |||
| def60c1e1c | |||
| 08651ba820 | |||
| bff910cae3 | |||
| 0861716ae1 | |||
| 627862218a |
+1
-1
@@ -1,5 +1,5 @@
|
||||
# SPDX-FileCopyrightText: 2024 Emil Velikov <emil.l.velikov@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2024-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2013-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2013-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2019-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2019-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2023-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2023-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2020-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2020-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2023-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2023-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2023-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2023-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2020-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2020-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -116,6 +116,10 @@ jobs:
|
||||
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++"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2025-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2007-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2007-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2014-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2014-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
+89
-2
@@ -1,13 +1,96 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
# WeeChat ChangeLog
|
||||
|
||||
## Version 4.8.3 (under dev)
|
||||
|
||||
### Fixed
|
||||
|
||||
- core: fix crash with `/eval` when the current buffer is closed in a command
|
||||
|
||||
## Version 4.8.2 (2026-03-06)
|
||||
|
||||
### Fixed
|
||||
|
||||
- irc: ignore self join if the channel is already joined ([#2291](https://github.com/weechat/weechat/issues/2291))
|
||||
- relay/api: fix memory leaks in resources "ping" and "sync"
|
||||
- relay/api: fix memory leak in receive of message from remote WeeChat
|
||||
|
||||
## Version 4.8.1 (2025-12-01)
|
||||
|
||||
### Fixed
|
||||
|
||||
- core: fix buffer size in function util_parse_time, causing buffer overflow error in unit tests
|
||||
- irc: fix creation of irc.msgbuffer option without a server name
|
||||
|
||||
## Version 4.8.0 (2025-11-30)
|
||||
|
||||
_If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
|
||||
|
||||
### Removed
|
||||
|
||||
- irc: remove temporary servers and option irc.look.temporary_servers
|
||||
|
||||
### Changed
|
||||
|
||||
- api: add support of date like ISO 8601 but with spaces and lower `t` and `z` in function util_parse_time ([#886](https://github.com/weechat/weechat/issues/886))
|
||||
- irc: request and perform SASL authentication when the server advertises SASL support with message "CAP NEW" ([#2277](https://github.com/weechat/weechat/issues/2277))
|
||||
- irc: send SASL username with mechanism EXTERNAL ([#2270](https://github.com/weechat/weechat/issues/2270))
|
||||
- logger: change default time format to `%@%F %T.%fZ` (UTC) ([#886](https://github.com/weechat/weechat/issues/886))
|
||||
- logger: use function util_parse_time to parse date/time in log files ([#886](https://github.com/weechat/weechat/issues/886))
|
||||
- relay/api: return an error 400 (Bad Request) when URL parameters "colors", "nicks", "lines" and "lines_free" have an invalid value
|
||||
- relay/api: return an error 401 (Unauthorized) when header "x-weechat-totp" has an invalid value
|
||||
- xfer: add buffer local variable "server" in DCC CHAT buffers
|
||||
- core, irc, relay: add tag "tls" in gnutls messages
|
||||
- irc: add tags "irc_cap" and "log3" in client capability request and SASL not supported messages
|
||||
- build: require Curl ≥ 7.68.0 ([#2268](https://github.com/weechat/weechat/issues/2268))
|
||||
- build: require GnuTLS ≥ 3.6.3 ([#2268](https://github.com/weechat/weechat/issues/2268))
|
||||
- build: require libgcrypt ≥ 1.8.0 ([#2268](https://github.com/weechat/weechat/issues/2268))
|
||||
- build: require Enchant v2 ([#2268](https://github.com/weechat/weechat/issues/2268))
|
||||
- build: require Lua ≥ 5.3 ([#2268](https://github.com/weechat/weechat/issues/2268))
|
||||
|
||||
### Added
|
||||
|
||||
- core: add option weechat.completion.cycle
|
||||
- core: add hdata for hooks
|
||||
- api: add functions util_parse_int, util_parse_long and util_parse_longlong
|
||||
- buflist: add variable `${index_displayed}`
|
||||
|
||||
### Fixed
|
||||
|
||||
- core: display an error message in case of invalid parameters in commands `/bar`, `/buffer`, `/cursor`, `/print` and `/window`
|
||||
- api: fix file descriptor leak in hook_url when a timeout occurs or if the hook is removed during the transfer ([#2284](https://github.com/weechat/weechat/issues/2284))
|
||||
- api: fix parsing of date/times with timezone offset in function util_parse_time
|
||||
- irc: fix warning on creation of irc.msgbuffer option when the server name contains upper case letters ([#2281](https://github.com/weechat/weechat/issues/2281))
|
||||
- irc: display a warning for each unknown or invalid server option in commands `/connect` and `/server`
|
||||
- irc: fix colors in messages 367 (ban mask), 728 (quiet mask) and MODE ([#2286](https://github.com/weechat/weechat/issues/2286))
|
||||
- irc: fix reset of color when multiple modes are set with command `/mode`
|
||||
- relay/api: fix crash when an invalid HTTP request is received from a client
|
||||
- relay/api: return HTTP error 404 instead of 400 when the buffer is not found in resources completion and input
|
||||
- relay/api: return HTTP error 400 in case of invalid body in resource ping
|
||||
|
||||
## Version 4.7.2 (2025-11-23)
|
||||
|
||||
### Fixed
|
||||
|
||||
- api: fix file descriptor leak in hook_url when a timeout occurs or if the hook is removed during the transfer ([#2284](https://github.com/weechat/weechat/issues/2284))
|
||||
- irc: fix colors in messages 367 (ban mask), 728 (quiet mask) and MODE ([#2286](https://github.com/weechat/weechat/issues/2286))
|
||||
- irc: fix reset of color when multiple modes are set with command `/mode`
|
||||
|
||||
## Version 4.7.1 (2025-08-16)
|
||||
|
||||
### Fixed
|
||||
|
||||
- relay/api: fix crash when an invalid HTTP request is received from a client
|
||||
|
||||
## Version 4.7.0 (2025-07-19)
|
||||
|
||||
_If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
|
||||
|
||||
### Changed
|
||||
|
||||
- **breaking:** core: fix buffer overflow in function utf8_next_char and return NULL for empty string
|
||||
@@ -41,10 +124,12 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
- relay/api: reject any invalid or unknown password hash algorithm in handshake resource
|
||||
- relay/api: process HTTP request received as soon as a NULL char is received
|
||||
- relay/weechat: fix empty buffers in client when WeeChat is running on Solaris/illumos
|
||||
- build: fix build on Solaris/illumos (issue #2251)
|
||||
- build: fix build on Solaris/illumos ([#2251](https://github.com/weechat/weechat/issues/2251))
|
||||
|
||||
## Version 4.6.3 (2025-05-11)
|
||||
|
||||
_If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
|
||||
|
||||
### Fixed
|
||||
|
||||
- core: fix integer overflow with decimal numbers in calculation of expression
|
||||
@@ -3532,6 +3617,8 @@ _If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
|
||||
|
||||
## Version 0.3.1.1 (2010-01-31)
|
||||
|
||||
_If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- irc: fix crash with SSL connection if option ssl_cert is set ([bug #28752](https://savannah.nongnu.org/bugs/?28752))
|
||||
|
||||
+4
-4
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.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>
|
||||
#
|
||||
@@ -247,12 +247,12 @@ if(CMAKE_HOST_SOLARIS)
|
||||
endif()
|
||||
|
||||
# Check for libgcrypt
|
||||
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt)
|
||||
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt>=1.8.0)
|
||||
include_directories(${LIBGCRYPT_INCLUDE_DIRS})
|
||||
list(APPEND EXTRA_LIBS ${LIBGCRYPT_LDFLAGS})
|
||||
|
||||
# Check for GnuTLS
|
||||
pkg_check_modules(GNUTLS REQUIRED gnutls>=3.3.0)
|
||||
pkg_check_modules(GNUTLS REQUIRED gnutls>=3.6.3)
|
||||
include_directories(${GNUTLS_INCLUDE_DIRS})
|
||||
list(APPEND EXTRA_LIBS ${GNUTLS_LDFLAGS})
|
||||
|
||||
@@ -279,7 +279,7 @@ endif()
|
||||
|
||||
# Check for CURL
|
||||
# NOTE: keep version in sync with tools/check_curl_symbols.py
|
||||
pkg_check_modules(LIBCURL REQUIRED libcurl>=7.47.0)
|
||||
pkg_check_modules(LIBCURL REQUIRED libcurl>=7.68.0)
|
||||
include_directories(${LIBCURL_INCLUDE_DIRS})
|
||||
list(APPEND EXTRA_LIBS ${LIBCURL_LDFLAGS})
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2014-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2014-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
Copyright (c) <year> <owner>.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
@@ -56,7 +56,7 @@ WeeChat is following a "practical" semantic versioning, see file [CONTRIBUTING.m
|
||||
## Copyright
|
||||
|
||||
<!-- REUSE-IgnoreStart -->
|
||||
Copyright © 2003-2025 [Sébastien Helleu](https://github.com/flashcode)
|
||||
Copyright © 2003-2026 [Sébastien Helleu](https://github.com/flashcode)
|
||||
|
||||
This file is part of WeeChat, the extensible chat client.
|
||||
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2025-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -17,5 +17,5 @@ path = [
|
||||
"weechat.pc.in",
|
||||
]
|
||||
precedence = "override"
|
||||
SPDX-FileCopyrightText = "2003-2025 Sébastien Helleu <flashcode@flashtux.org>"
|
||||
SPDX-FileCopyrightText = "2003-2026 Sébastien Helleu <flashcode@flashtux.org>"
|
||||
SPDX-License-Identifier = "GPL-3.0-or-later"
|
||||
|
||||
+40
-1
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
@@ -13,6 +13,45 @@ When upgrading from version X to Y, please read and apply all instructions from
|
||||
|
||||
For a list of all changes in each version, please see [CHANGELOG.md](CHANGELOG.md).
|
||||
|
||||
## Version 4.8.0
|
||||
|
||||
### IRC temporary servers
|
||||
|
||||
The IRC temporary server feature has been removed.
|
||||
|
||||
When upgrading from an old version with `/upgrade`, any temporary server is
|
||||
converted to a standard server, and thus is saved in configuration file `irc.conf`.
|
||||
|
||||
Servers can easily be removed with `/server del <name>`.
|
||||
|
||||
### IRC SASL EXTERNAL
|
||||
|
||||
When server option `sasl_mechanism` is set to `external`, WeeChat now sends the
|
||||
username defined in option `sasl_username` to the IRC server
|
||||
(see issue [#2270](https://github.com/weechat/weechat/issues/2270)).
|
||||
|
||||
If you use the EXTERNAL mechanism and the username is set, you could either:
|
||||
|
||||
- reset `sasl_username` to an empty string, if the username is **not** needed on this server:
|
||||
`/reset irc.server.xxx.sasl_username`
|
||||
- set `sasl_username` to your actual username, if the username **is** required on this server:
|
||||
`/set irc.server.xxx.sasl_username "user"`
|
||||
|
||||
### New time format in log files
|
||||
|
||||
The time format used in log files now uses UTC and precision of microsecond
|
||||
by default: option `logger.file.time_format` has new default value: `%@%F %T.%fZ`.
|
||||
|
||||
Only the default value for the option has changed, so when upgrading from
|
||||
an old version, you keep your old format, even if it was the default one used
|
||||
in previous versions.
|
||||
|
||||
To use the new default value, you can reset the option:
|
||||
|
||||
```text
|
||||
/reset logger.file.time_format
|
||||
```
|
||||
|
||||
## Version 4.7.0
|
||||
|
||||
### API functions utf8_next_char and utf8_char_size
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2014-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2014-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2006 Zack Rusin <zack@kde.org>
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
# - 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
|
||||
|
||||
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-2 enchant
|
||||
)
|
||||
|
||||
find_library(ENCHANT_LIBRARIES
|
||||
NAMES enchant-2 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()
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.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>
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2011-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
@@ -37,5 +37,5 @@ endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(LUA lua lua5.4 lua-5.4 lua54 lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua-5.0 lua5.0 lua50)
|
||||
pkg_search_module(LUA lua lua5.4 lua-5.4 lua54 lua5.3 lua-5.3 lua53)
|
||||
endif()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2017 Adam Saponara <as@php.net>
|
||||
# SPDX-FileCopyrightText: 2017-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2017-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2015-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2015-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
+1
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
SPDX-FileCopyrightText: 2007-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2007-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
@@ -52,7 +52,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#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@"
|
||||
|
||||
@@ -1,3 +1,18 @@
|
||||
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)
|
||||
|
||||
@@ -4,7 +4,7 @@ Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
|
||||
Source: https://weechat.org/
|
||||
|
||||
Files: *
|
||||
Copyright: 2003-2025, Sébastien Helleu <flashcode@flashtux.org>
|
||||
Copyright: 2003-2026, Sébastien Helleu <flashcode@flashtux.org>
|
||||
License: GPL-3+
|
||||
|
||||
Files: src/core/core-command.c
|
||||
|
||||
+4
-2
@@ -1,2 +1,4 @@
|
||||
version=4
|
||||
opts=pgpsigurlmangle=s/$/.asc/ https://weechat.org/download/ /files/src/weechat-(\d.*)\.tar\.xz
|
||||
Version: 5
|
||||
Source: https://weechat.org/download/
|
||||
Matching-Pattern: /files/src/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
|
||||
Pgp-Mode: auto
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2005-2011 Jiri Golembiovsky <golemj@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2015-2017 Ondřej Súkup <mimi.vx@gmail.com>
|
||||
//
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2005-2011 Jiri Golembiovsky <golemj@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2015-2017 Ondřej Súkup <mimi.vx@gmail.com>
|
||||
//
|
||||
@@ -8,7 +8,8 @@
|
||||
Pro kompletní dokumentaci nastavení pluginů a jejich volby podívejte se na
|
||||
https://weechat.org/doc/[WeeChat user's guide].
|
||||
|
||||
S irc pluginem se můžete doččasně připojit na server s URL jako:
|
||||
// TRANSLATION MISSING
|
||||
With irc plugin, you can connect to a server with an URL like:
|
||||
|
||||
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
|
||||
|
||||
@@ -106,7 +107,7 @@ WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je
|
||||
souboru AUTHORS.md).
|
||||
|
||||
// REUSE-IgnoreStart
|
||||
Copyright (C) 2003-2025 {author}
|
||||
Copyright (C) 2003-2026 {author}
|
||||
// REUSE-IgnoreEnd
|
||||
|
||||
WeeChat is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2005-2011 Jiri Golembiovsky <golemj@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2015-2017 Ondřej Súkup <mimi.vx@gmail.com>
|
||||
//
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2005-2011 Jiri Golembiovsky <golemj@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2015-2017 Ondřej Súkup <mimi.vx@gmail.com>
|
||||
//
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2015-2017 Ondřej Súkup <mimi.vx@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -351,8 +351,10 @@ To remove the split:
|
||||
[[key_bindings]]
|
||||
== Předvoblby klávesových zkratek
|
||||
|
||||
WeeChat používá ve výchozím nastavení mnoho klávesových zkratek, Všechny
|
||||
najdete v dokumentaci, ale je dobré znát alespoň pár těchto důležitých:
|
||||
// TRANSLATION MISSING
|
||||
WeeChat používá ve výchozím nastavení mnoho klávesových zkratek, Všechny najdete v dokumentaci
|
||||
(link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^]),
|
||||
ale je dobré znát alespoň pár těchto důležitých:
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] nebo kbd:[F5] / kbd:[F6]: přepnout na předchozí/další bufer
|
||||
// TRANSLATION MISSING
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -7,8 +7,7 @@
|
||||
Um eine vollständige Dokumentation der Optionen zu erhalten, siehe
|
||||
https://weechat.org/doc/[WeeChat user's guide].
|
||||
|
||||
Mittels der IRC Erweiterung kann man sich zu einen temporären Server verbinden lassen,
|
||||
indem man eine URL verwendet:
|
||||
Mit der IRC-Erweiterung können Sie sich mit einer URL wie der folgenden mit einem Server verbinden:
|
||||
|
||||
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
|
||||
|
||||
@@ -106,7 +105,7 @@ WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine v
|
||||
findet man in der AUTHORS.md Datei).
|
||||
|
||||
// REUSE-IgnoreStart
|
||||
Copyright (C) 2003-2025 {author}
|
||||
Copyright (C) 2003-2026 {author}
|
||||
// REUSE-IgnoreEnd
|
||||
|
||||
WeeChat is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2010-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2010-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009 Juergen Descher <jhdl@gmx.net>
|
||||
// SPDX-FileCopyrightText: 2009-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2006 Frank Zacharias <frank_zacharias@web.de>
|
||||
// SPDX-FileCopyrightText: 2009 Juergen Descher <jhdl@gmx.net>
|
||||
// SPDX-FileCopyrightText: 2009-2025 Nils Görs <weechatter@arcor.de>
|
||||
@@ -370,7 +370,8 @@ Um die Teilung des Bildschirms rückgängig zu machen:
|
||||
== Tastaturbelegung
|
||||
|
||||
WeeChat verwendet viele Standardtasten.
|
||||
Alle Tastenbelegungen sind in der Dokumentation beschrieben.
|
||||
Alle Tastenbelegungen sind in der Dokumentation beschrieben
|
||||
(link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Tastenbelegungen ^↗^^]).
|
||||
Im Folgenden werden die wichtigsten Tastenbelegungen kurz erläutert:
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] oder kbd:[F5] / kbd:[F6]: Wechsel zum
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2010-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2010-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2016-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2016-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
For complete doc on plugin options, please look at plugins documentation in
|
||||
https://weechat.org/doc/[WeeChat user's guide].
|
||||
|
||||
With irc plugin, you can connect to temporary server with an URL like:
|
||||
With irc plugin, you can connect to a server with an URL like:
|
||||
|
||||
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
|
||||
|
||||
@@ -105,7 +105,7 @@ WeeChat is written by Sébastien Helleu and contributors (complete list is in
|
||||
the AUTHORS.md file).
|
||||
|
||||
// REUSE-IgnoreStart
|
||||
Copyright (C) 2003-2025 {author}
|
||||
Copyright (C) 2003-2026 {author}
|
||||
// REUSE-IgnoreEnd
|
||||
|
||||
WeeChat is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -615,7 +615,7 @@ Example in C:
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2025 Your Name <your@email.com>
|
||||
* SPDX-FileCopyrightText: 2026 Your Name <your@email.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -4666,6 +4666,159 @@ This function is not available in scripting API.
|
||||
|
||||
Some useful functions.
|
||||
|
||||
==== util_parse_int
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "int" in a string.
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_int (const char *string, int base, int *result);
|
||||
----
|
||||
|
||||
Arguments:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
Return value:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < INT_MIN (min value for a variable of type "int")
|
||||
* number > INT_MAX (max value for a variable of type "int")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
C examples:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int number;
|
||||
if (weechat_util_parse_int ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_int ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
This function is not available in scripting API.
|
||||
|
||||
==== util_parse_long
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "long" in a string.
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_long (const char *string, int base, long *result);
|
||||
----
|
||||
|
||||
Arguments:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
Return value:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < LONG_MIN (min value for a variable of type "long")
|
||||
* number > LONG_MAX (max value for a variable of type "long")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
C examples:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long number;
|
||||
if (weechat_util_parse_long ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_long ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
This function is not available in scripting API.
|
||||
|
||||
==== util_parse_longlong
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "long long" in a string.
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_longlong (const char *string, int base, long long *result);
|
||||
----
|
||||
|
||||
Arguments:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
Return value:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < LLONG_MIN (min value for a variable of type "long long")
|
||||
* number > LLONG_MAX (max value for a variable of type "long long")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
C examples:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long long number;
|
||||
if (weechat_util_parse_longlong ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_longlong ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
This function is not available in scripting API.
|
||||
|
||||
==== util_timeval_cmp
|
||||
|
||||
Compare two "timeval" structures.
|
||||
@@ -4847,7 +5000,7 @@ This function is not available in scripting API.
|
||||
|
||||
==== util_parse_time
|
||||
|
||||
_WeeChat ≥ 4.2.0._
|
||||
_WeeChat ≥ 4.2.0, updated in 4.8.0._
|
||||
|
||||
Parse date/time with support of microseconds.
|
||||
|
||||
@@ -4860,20 +5013,106 @@ int util_parse_time (const char *datetime, struct timeval *tv);
|
||||
|
||||
Arguments:
|
||||
|
||||
* _date_: date/time
|
||||
* _date_: date/time (see supported formats below)
|
||||
* _tv_: parsed date/time ("timeval" structure)
|
||||
|
||||
Supported date/time format (supposing the current time is `2025-08-30 21:04:55`
|
||||
(Europe/Paris), so with timezone offset `+02:00`, UTC time being `19:04:55`):
|
||||
|
||||
[width="70%",cols="5,6m",options="header"]
|
||||
|===
|
||||
| Format | Examples
|
||||
|
||||
| Date (midnight)
|
||||
| 2025-08-30
|
||||
|
||||
| ISO 8601, date + local time
|
||||
| 2025-08-30T21:04:55 +
|
||||
2025-08-30T21:04:55.123456
|
||||
|
||||
| ISO 8601, date + local time + offset
|
||||
| 2025-08-30T16:04:55-03 +
|
||||
2025-08-30T16:04:55-0300 +
|
||||
2025-08-30T21:04:55+0200 +
|
||||
2025-08-30T21:04:55+02:00 +
|
||||
2025-08-30T21:04:55.123456+0200
|
||||
|
||||
| ISO 8601, date + UTC time
|
||||
| 2025-08-30T19:04:55Z +
|
||||
2025-08-30T19:04:55.123456Z
|
||||
|
||||
| RFC 3339, date + local time
|
||||
| 2025-08-30 21:04:55 +
|
||||
2025-08-30 21:04:55.123456
|
||||
|
||||
| RFC 3339, date + local time + offset
|
||||
| 2025-08-30 16:04:55-03 +
|
||||
2025-08-30 16:04:55-0300 +
|
||||
2025-08-30 21:04:55+0200 +
|
||||
2025-08-30 21:04:55 +0200 +
|
||||
2025-08-30 21:04:55+02:00 +
|
||||
2025-08-30 21:04:55 +02:00 +
|
||||
2025-08-30 21:04:55.123456+0200 +
|
||||
2025-08-30 21:04:55.123456 +02:00
|
||||
|
||||
| RFC 3339, date + UTC time
|
||||
| 2025-08-30 19:04:55Z +
|
||||
2025-08-30 19:04:55.123456Z
|
||||
|
||||
| Local time
|
||||
| 21:04:55 +
|
||||
21:04:55.123456
|
||||
|
||||
| Local time + offset
|
||||
| 16:04:55-03 +
|
||||
16:04:55-0300 +
|
||||
21:04:55+0200 +
|
||||
21:04:55 +0200 +
|
||||
21:04:55+02:00 +
|
||||
21:04:55 +02:00 +
|
||||
21:04:55.123456+0200 +
|
||||
21:04:55.123456 +02:00
|
||||
|
||||
| UTC time
|
||||
| 19:04:55Z +
|
||||
19:04:55.123456Z
|
||||
|
||||
| Timestamp date
|
||||
| 1756580695 +
|
||||
1756580695.123456 +
|
||||
1756580695,123456
|
||||
|===
|
||||
|
||||
Notes:
|
||||
|
||||
* For ISO 8601, the separator between date and time is `T` (upper case) or `t` (lower case).
|
||||
* For UTC time, the final char is `Z` (upper case) or `z` (lower case).
|
||||
* The timezone offset format is one of:
|
||||
** `++[+/-]hh:mm++` (hours and minutes)
|
||||
** `++[+/-]hhmm++` (hours and minutes)
|
||||
** `++[+/-]hh++` (hours).
|
||||
* Precision after seconds can be from one-tenth of second (1 digit, for example
|
||||
`21:04:55.1`) to one microsecond (6 digits, for example `21:04:55.123456`). +
|
||||
A dot (`.`) or comma (`,`) can separate seconds from the other digits.
|
||||
|
||||
Return value:
|
||||
|
||||
* 1 if OK, 0 if error
|
||||
|
||||
C example:
|
||||
C examples:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
struct timeval tv;
|
||||
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
|
||||
/* same result */
|
||||
|
||||
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
|
||||
/* same result */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -11064,6 +11303,16 @@ Arguments:
|
||||
*** _headers_: HTTP headers in response
|
||||
*** _output_: standard output (set only if _file_out_ was not set in options)
|
||||
*** _error_: error message (set only in case of error)
|
||||
*** _error_code_: error code (integer, set only in case of error):
|
||||
**** `1`: invalid URL
|
||||
**** `2`: transfer error (Curl error)
|
||||
**** `3`: not enough memory
|
||||
**** `4`: file error
|
||||
**** `5`: transfer stopped (hook removed during the transfer)
|
||||
**** `6`: transfer timeout
|
||||
**** `100`: thread creation error
|
||||
*** _error_code_pthread_: return code of function _pthread_create_
|
||||
(integer, set only if _error_code_ is `100`)
|
||||
** return value:
|
||||
*** _WEECHAT_RC_OK_
|
||||
*** _WEECHAT_RC_ERROR_
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -329,7 +329,8 @@ To remove the split:
|
||||
[[key_bindings]]
|
||||
== Key bindings
|
||||
|
||||
WeeChat uses many keys by default. All these keys are in the documentation,
|
||||
WeeChat uses many keys by default. All these keys are in the documentation
|
||||
(link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^]),
|
||||
but you should know at least some vital keys:
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] or kbd:[F5] / kbd:[F6]: switch to previous/next
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2021 Victorhck <victorhck.mailbox.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012 Lázaro A. <uranio-235@myopera.com>
|
||||
// SPDX-FileCopyrightText: 2021 Victorhck <victorhck@mailbox.org>
|
||||
//
|
||||
@@ -342,9 +342,10 @@ Para eliminar esa división:
|
||||
[[key_bindings]]
|
||||
== Atajos de teclado
|
||||
|
||||
WeeChat usa muchas teclas por defecto. Éstas, están bien
|
||||
explicadas en la documentación pero debe conocer al menos la mas
|
||||
importantes.
|
||||
// TRANSLATION MISSING
|
||||
WeeChat usa muchas teclas por defecto. Éstas, están bien explicadas en la documentación
|
||||
(link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^]),
|
||||
pero debe conocer al menos la mas importantes.
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] o kbd:[F5] / kbd:[F6]: Cambiará al buffer
|
||||
siguiente/anterior
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -7,8 +7,7 @@ Pour une documentation complète sur les options des extensions, merci de
|
||||
consulter la documentation des extensions dans le
|
||||
https://weechat.org/doc/[guide utilisateur de WeeChat].
|
||||
|
||||
Avec l'extension irc, vous pouvez vous connecter à un serveur de manière
|
||||
temporaire avec une URL, comme ceci :
|
||||
Avec l'extension irc, vous pouvez vous connecter à un serveur avec une URL, comme ceci :
|
||||
|
||||
irc[6][s]://[[pseudo][:motdepasse]@]serveur[:port][/#canal1[,#canal2...]]
|
||||
|
||||
@@ -107,7 +106,7 @@ WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complèt
|
||||
est dans le fichier AUTHORS.md).
|
||||
|
||||
// REUSE-IgnoreStart
|
||||
Copyright (C) 2003-2025 {author}
|
||||
Copyright (C) 2003-2026 {author}
|
||||
// REUSE-IgnoreEnd
|
||||
|
||||
WeeChat est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -616,7 +616,7 @@ Exemple en C :
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2025 Your Name <your@email.com>
|
||||
* SPDX-FileCopyrightText: 2026 Your Name <your@email.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -4745,6 +4745,159 @@ This function is not available in scripting API.
|
||||
|
||||
Quelques fonctions utiles.
|
||||
|
||||
==== util_parse_int
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Analyser un nombre entier de type "int" dans une chaîne.
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_int (const char *string, int base, int *result);
|
||||
----
|
||||
|
||||
Paramètres :
|
||||
|
||||
* _string_ : chaîne à analyser
|
||||
* _base_ : peut être 0 (automatique) ou un entier entre 2 et 36 (inclus)
|
||||
* _result_ : pointeur vers une variable mise à jour si la chaîne est correctement analysée
|
||||
(si le pointeur est NULL, le nombre trouvé n'est pas retourné)
|
||||
|
||||
Valeur de retour :
|
||||
|
||||
* 1 : OK
|
||||
* 0 : erreur
|
||||
|
||||
Les chaînes suivantes sont invalides et la fonction retourne 0 :
|
||||
|
||||
* chaîne vide
|
||||
* nombre avec des caractères non numériques après
|
||||
* nombre < INT_MIN (valeur minimale pour une variable de type "int")
|
||||
* nombre > INT_MAX (valeur maximale pour une variable de type "int")
|
||||
* entier invalide pour la _base_ donnée
|
||||
|
||||
Exemples en C :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int nombre;
|
||||
if (weechat_util_parse_int ("1234", 10, &nombre))
|
||||
{
|
||||
/* nombre == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_int ("abc", 10, &nombre))
|
||||
{
|
||||
/* erreur d'analyse, nombre est inchangé */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== util_parse_long
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Analyser un nombre entier de type "long" dans une chaîne.
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_long (const char *string, int base, long *result);
|
||||
----
|
||||
|
||||
Paramètres :
|
||||
|
||||
* _string_ : chaîne à analyser
|
||||
* _base_ : peut être 0 (automatique) ou un entier entre 2 et 36 (inclus)
|
||||
* _result_ : pointeur vers une variable mise à jour si la chaîne est correctement analysée
|
||||
(si le pointeur est NULL, le nombre trouvé n'est pas retourné)
|
||||
|
||||
Valeur de retour :
|
||||
|
||||
* 1 : OK
|
||||
* 0 : erreur
|
||||
|
||||
Les chaînes suivantes sont invalides et la fonction retourne 0 :
|
||||
|
||||
* chaîne vide
|
||||
* nombre avec des caractères non numériques après
|
||||
* nombre < LONG_MIN (valeur minimale pour une variable de type "long")
|
||||
* nombre > LONG_MAX (valeur maximale pour une variable de type "long")
|
||||
* entier invalide pour la _base_ donnée
|
||||
|
||||
Exemples en C :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long nombre;
|
||||
if (weechat_util_parse_long ("1234", 10, &nombre))
|
||||
{
|
||||
/* nombre == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_long ("abc", 10, &nombre))
|
||||
{
|
||||
/* erreur d'analyse, nombre est inchangé */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== util_parse_longlong
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Analyser un nombre entier de type "long long" dans une chaîne.
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_longlong (const char *string, int base, long long *result);
|
||||
----
|
||||
|
||||
Paramètres :
|
||||
|
||||
* _string_ : chaîne à analyser
|
||||
* _base_ : peut être 0 (automatique) ou un entier entre 2 et 36 (inclus)
|
||||
* _result_ : pointeur vers une variable mise à jour si la chaîne est correctement analysée
|
||||
(si le pointeur est NULL, le nombre trouvé n'est pas retourné)
|
||||
|
||||
Valeur de retour :
|
||||
|
||||
* 1 : OK
|
||||
* 0 : erreur
|
||||
|
||||
Les chaînes suivantes sont invalides et la fonction retourne 0 :
|
||||
|
||||
* chaîne vide
|
||||
* nombre avec des caractères non numériques après
|
||||
* nombre < LLONG_MIN (valeur minimale pour une variable de type "long long")
|
||||
* nombre > LLONG_MAX (valeur maximale pour une variable de type "long long")
|
||||
* entier invalide pour la _base_ donnée
|
||||
|
||||
Exemples en C :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long long nombre;
|
||||
if (weechat_util_parse_longlong ("1234", 10, &nombre))
|
||||
{
|
||||
/* nombre == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_longlong ("abc", 10, &nombre))
|
||||
{
|
||||
/* erreur d'analyse, nombre est inchangé */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== util_timeval_cmp
|
||||
|
||||
Comparer deux structures "timeval".
|
||||
@@ -4928,7 +5081,7 @@ Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== util_parse_time
|
||||
|
||||
_WeeChat ≥ 4.2.0._
|
||||
_WeeChat ≥ 4.2.0, mis à jour dans la 4.8.0._
|
||||
|
||||
Analyser la date/heure avec le support des microsecondes.
|
||||
|
||||
@@ -4941,20 +5094,108 @@ int util_parse_time (const char *datetime, struct timeval *tv);
|
||||
|
||||
Paramètres :
|
||||
|
||||
* _date_ : date/heure
|
||||
* _date_ : date/heure (voir les formats supportés ci-dessous)
|
||||
* _tv_: date/heure analysée (structure "timeval")
|
||||
|
||||
Les formats supportés pour la date/heure (en supposant que l'heure courante est
|
||||
`2025-08-30 21:04:55` (Europe/Paris), donc avec le décalage horaire `+02:00`,
|
||||
l'heure UTC étant `19:04:55`) :
|
||||
|
||||
[width="70%",cols="5,6m",options="header"]
|
||||
|===
|
||||
| Format | Exemples
|
||||
|
||||
| Date (minuit)
|
||||
| 2025-08-30
|
||||
|
||||
| ISO 8601, date + heure locale
|
||||
| 2025-08-30T21:04:55 +
|
||||
2025-08-30T21:04:55.123456
|
||||
|
||||
| ISO 8601, date + heure locale + décalage horaire
|
||||
| 2025-08-30T16:04:55-03 +
|
||||
2025-08-30T16:04:55-0300 +
|
||||
2025-08-30T21:04:55+0200 +
|
||||
2025-08-30T21:04:55+02:00 +
|
||||
2025-08-30T21:04:55.123456+0200
|
||||
|
||||
| ISO 8601, date + heure UTC
|
||||
| 2025-08-30T19:04:55Z +
|
||||
2025-08-30T19:04:55.123456Z
|
||||
|
||||
| RFC 3339, date + heure locale
|
||||
| 2025-08-30 21:04:55 +
|
||||
2025-08-30 21:04:55.123456
|
||||
|
||||
| RFC 3339, date + heure locale + décalage horaire
|
||||
| 2025-08-30 16:04:55-03 +
|
||||
2025-08-30 16:04:55-0300 +
|
||||
2025-08-30 21:04:55+0200 +
|
||||
2025-08-30 21:04:55 +0200 +
|
||||
2025-08-30 21:04:55+02:00 +
|
||||
2025-08-30 21:04:55 +02:00 +
|
||||
2025-08-30 21:04:55.123456+0200 +
|
||||
2025-08-30 21:04:55.123456 +02:00
|
||||
|
||||
| RFC 3339, date + heure UTC
|
||||
| 2025-08-30 19:04:55Z +
|
||||
2025-08-30 19:04:55.123456Z
|
||||
|
||||
| Heure locale
|
||||
| 21:04:55 +
|
||||
21:04:55.123456
|
||||
|
||||
| Heure locale + décalage horaire
|
||||
| 16:04:55-03 +
|
||||
16:04:55-0300 +
|
||||
21:04:55+0200 +
|
||||
21:04:55 +0200 +
|
||||
21:04:55+02:00 +
|
||||
21:04:55 +02:00 +
|
||||
21:04:55.123456+0200 +
|
||||
21:04:55.123456 +02:00
|
||||
|
||||
| Heure UTC
|
||||
| 19:04:55Z +
|
||||
19:04:55.123456Z
|
||||
|
||||
| Date d'horodatage
|
||||
| 1756580695 +
|
||||
1756580695.123456 +
|
||||
1756580695,123456
|
||||
|===
|
||||
|
||||
Notes :
|
||||
|
||||
* Pour ISO 8601, le séparateur entre la date et l'heure est `T` (majuscule) ou
|
||||
`t` (minuscule).
|
||||
* Pour l'heure UTC, le caractère final est `Z` (majuscule) ou `z` (minuscule).
|
||||
* Le format du décalage horaire est l'un des suivants :
|
||||
** `++[+/-]hh:mm++` (heures et minutes)
|
||||
** `++[+/-]hhmm++` (heures et minutes)
|
||||
** `++[+/-]hh++` (heures).
|
||||
* La précision après les secondes peut aller d'un dixième de seconde (1 chiffre,
|
||||
par exemple `21:04:55.1`) à une microseconde (6 chiffres, par exemple `21:04:55.123456`). +
|
||||
Un point (`.`) ou une virgule (`,`) peut séparer les secondes des autres chiffres.
|
||||
|
||||
Valeur de retour :
|
||||
|
||||
* 1 si OK, 0 si erreur
|
||||
|
||||
Exemple en C :
|
||||
Exemples en C :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
struct timeval tv;
|
||||
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
|
||||
/* résultat : tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
|
||||
/* même résultat */
|
||||
|
||||
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
|
||||
/* même résultat */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -11270,6 +11511,16 @@ Paramètres :
|
||||
*** _output_ : sortie standard (défini seulement si _file_out_ n'était pas défini
|
||||
dans les options)
|
||||
*** _error_ : message d'erreur (défini seulement en cas d'erreur)
|
||||
*** _error_code_ : code d'erreur (entier, défini seulement en cas d'erreur) :
|
||||
**** `1` : URL invalide
|
||||
**** `2` : erreur de transfert (erreur Curl)
|
||||
**** `3` : mémoire insuffisante
|
||||
**** `4` : erreur de fichier
|
||||
**** `5` : transfert stoppé (hook supprimé durant le transfert)
|
||||
**** `6` : délai d'attente dépassé pour le transfert ("timeout")
|
||||
**** `100` : erreur de création du thread
|
||||
*** _error_code_pthread_ : code retour de la fonction _pthread_create_
|
||||
(entier, défini seulement si _error_code_ vaut `100`)
|
||||
** valeur de retour :
|
||||
*** _WEECHAT_RC_OK_
|
||||
*** _WEECHAT_RC_ERROR_
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -338,8 +338,9 @@ Pour supprimer le découpage :
|
||||
== Raccourcis clavier
|
||||
|
||||
WeeChat utilise un certain nombre de touches par défaut. Toutes ces
|
||||
touches sont dans la documentation, mais vous devriez connaître au moins
|
||||
les touches vitales :
|
||||
touches sont dans la documentation
|
||||
(link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier ^↗^^]),
|
||||
mais vous devriez connaître au moins les touches vitales :
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] ou kbd:[F5] / kbd:[F6] : aller au tampon précédent/suivant
|
||||
- kbd:[F1] / kbd:[F2] : faire défiler la barre avec la liste des tampons ("buflist")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2012 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
For complete doc on plugin options, please look at plugins documentation in
|
||||
https://weechat.org/doc/[WeeChat user's guide].
|
||||
|
||||
With irc plugin, you can connect to temporary server with an URL like:
|
||||
With irc plugin, you can connect to a server with an URL like:
|
||||
|
||||
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
|
||||
|
||||
@@ -108,7 +108,7 @@ WeeChat is written by Sébastien Helleu and contributors (complete list is in
|
||||
the AUTHORS.md file).
|
||||
|
||||
// REUSE-IgnoreStart
|
||||
Copyright (C) 2003-2025 {author}
|
||||
Copyright (C) 2003-2026 {author}
|
||||
// REUSE-IgnoreEnd
|
||||
|
||||
WeeChat is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2012 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2012 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2013 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2010-2012 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -4874,6 +4874,162 @@ Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
Alcune funzioni utili.
|
||||
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_int
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "int" in a string.
|
||||
|
||||
Prototipo:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_int (const char *string, int base, int *result);
|
||||
----
|
||||
|
||||
Argomenti:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
Valore restituito:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < INT_MIN (min value for a variable of type "int")
|
||||
* number > INT_MAX (max value for a variable of type "int")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
Esempi in C:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int number;
|
||||
if (weechat_util_parse_int ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_int ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_long
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "long" in a string.
|
||||
|
||||
Prototipo:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_long (const char *string, int base, long *result);
|
||||
----
|
||||
|
||||
Argomenti:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
Valore restituito:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < LONG_MIN (min value for a variable of type "long")
|
||||
* number > LONG_MAX (max value for a variable of type "long")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
Esempi in C:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long number;
|
||||
if (weechat_util_parse_long ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_long ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_longlong
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "long long" in a string.
|
||||
|
||||
Prototipo:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_longlong (const char *string, int base, long long *result);
|
||||
----
|
||||
|
||||
Argomenti:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
Valore restituito:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < LLONG_MIN (min value for a variable of type "long long")
|
||||
* number > LLONG_MAX (max value for a variable of type "long long")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
Esempi in C:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long long number;
|
||||
if (weechat_util_parse_longlong ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_longlong ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
==== util_timeval_cmp
|
||||
|
||||
Confronta due strutture "timeval".
|
||||
@@ -5068,7 +5224,7 @@ Questa funzione non è disponibile nelle API per lo scripting.
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_time
|
||||
|
||||
_WeeChat ≥ 4.2.0._
|
||||
_WeeChat ≥ 4.2.0, updated in 4.8.0._
|
||||
|
||||
Parse date/time with support of microseconds.
|
||||
|
||||
@@ -5081,20 +5237,106 @@ int util_parse_time (const char *datetime, struct timeval *tv);
|
||||
|
||||
Arguments:
|
||||
|
||||
* _date_: date/time
|
||||
* _date_: date/time (see supported formats below)
|
||||
* _tv_: parsed date/time ("timeval" structure)
|
||||
|
||||
Supported date/time format (supposing the current time is `2025-08-30 21:04:55`
|
||||
(Europe/Paris), so with timezone offset `+02:00`, UTC time being `19:04:55`):
|
||||
|
||||
[width="70%",cols="5,6m",options="header"]
|
||||
|===
|
||||
| Format | Examples
|
||||
|
||||
| Date (midnight)
|
||||
| 2025-08-30
|
||||
|
||||
| ISO 8601, date + local time
|
||||
| 2025-08-30T21:04:55 +
|
||||
2025-08-30T21:04:55.123456
|
||||
|
||||
| ISO 8601, date + local time + offset
|
||||
| 2025-08-30T16:04:55-03 +
|
||||
2025-08-30T16:04:55-0300 +
|
||||
2025-08-30T21:04:55+0200 +
|
||||
2025-08-30T21:04:55+02:00 +
|
||||
2025-08-30T21:04:55.123456+0200
|
||||
|
||||
| ISO 8601, date + UTC time
|
||||
| 2025-08-30T19:04:55Z +
|
||||
2025-08-30T19:04:55.123456Z
|
||||
|
||||
| RFC 3339, date + local time
|
||||
| 2025-08-30 21:04:55 +
|
||||
2025-08-30 21:04:55.123456
|
||||
|
||||
| RFC 3339, date + local time + offset
|
||||
| 2025-08-30 16:04:55-03 +
|
||||
2025-08-30 16:04:55-0300 +
|
||||
2025-08-30 21:04:55+0200 +
|
||||
2025-08-30 21:04:55 +0200 +
|
||||
2025-08-30 21:04:55+02:00 +
|
||||
2025-08-30 21:04:55 +02:00 +
|
||||
2025-08-30 21:04:55.123456+0200 +
|
||||
2025-08-30 21:04:55.123456 +02:00
|
||||
|
||||
| RFC 3339, date + UTC time
|
||||
| 2025-08-30 19:04:55Z +
|
||||
2025-08-30 19:04:55.123456Z
|
||||
|
||||
| Local time
|
||||
| 21:04:55 +
|
||||
21:04:55.123456
|
||||
|
||||
| Local time + offset
|
||||
| 16:04:55-03 +
|
||||
16:04:55-0300 +
|
||||
21:04:55+0200 +
|
||||
21:04:55 +0200 +
|
||||
21:04:55+02:00 +
|
||||
21:04:55 +02:00 +
|
||||
21:04:55.123456+0200 +
|
||||
21:04:55.123456 +02:00
|
||||
|
||||
| UTC time
|
||||
| 19:04:55Z +
|
||||
19:04:55.123456Z
|
||||
|
||||
| Timestamp date
|
||||
| 1756580695 +
|
||||
1756580695.123456 +
|
||||
1756580695,123456
|
||||
|===
|
||||
|
||||
Notes:
|
||||
|
||||
* For ISO 8601, the separator between date and time is `T` (upper case) or `t` (lower case).
|
||||
* For UTC time, the final char is `Z` (upper case) or `z` (lower case).
|
||||
* The timezone offset format is one of:
|
||||
** `++[+/-]hh:mm++` (hours and minutes)
|
||||
** `++[+/-]hhmm++` (hours and minutes)
|
||||
** `++[+/-]hh++` (hours).
|
||||
* Precision after seconds can be from one-tenth of second (1 digit, for example
|
||||
`21:04:55.1`) to one microsecond (6 digits, for example `21:04:55.123456`). +
|
||||
A dot (`.`) or comma (`,`) can separate seconds from the other digits.
|
||||
|
||||
Return value:
|
||||
|
||||
* 1 if OK, 0 if error
|
||||
|
||||
C example:
|
||||
C examples:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
struct timeval tv;
|
||||
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
|
||||
/* same result */
|
||||
|
||||
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
|
||||
/* same result */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -11475,6 +11717,16 @@ Argomenti:
|
||||
*** _headers_: HTTP headers in response
|
||||
*** _output_: standard output (set only if _file_out_ was not set in options)
|
||||
*** _error_: error message (set only in case of error)
|
||||
*** _error_code_: error code (integer, set only in case of error):
|
||||
**** `1`: invalid URL
|
||||
**** `2`: transfer error (Curl error)
|
||||
**** `3`: not enough memory
|
||||
**** `4`: file error
|
||||
**** `5`: transfer stopped (hook removed during the transfer)
|
||||
**** `6`: transfer timeout
|
||||
**** `100`: thread creation error
|
||||
*** _error_code_pthread_: return code of function _pthread_create_
|
||||
(integer, set only if _error_code_ is `100`)
|
||||
** return value:
|
||||
*** _WEECHAT_RC_OK_
|
||||
*** _WEECHAT_RC_ERROR_
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2013 Marco Paolone <marcopaolone@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2023 Mattia Ronchi <ronchimattia03@gmail.com>
|
||||
//
|
||||
@@ -338,7 +338,9 @@ Per rimuovere la divisione:
|
||||
[[key_bindings]]
|
||||
== Associazione tasti
|
||||
|
||||
WeeChat usa molti tasti. Essi sono tutti presenti nella documentazione,
|
||||
// TRANSLATION MISSING
|
||||
WeeChat usa molti tasti. Essi sono tutti presenti nella documentazione
|
||||
(link:weechat_user.it.html#key_bindings[Guida per l'Utente / Key bindings ^↗^^]),
|
||||
ma si dovrebbero conoscere almeno quelli vitali:
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] oppure kbd:[F5] / kbd:[F6]: passa al buffer
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2010-2013 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2012 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -7,7 +7,8 @@
|
||||
プラグインオプションに関する完全な文書は
|
||||
https://weechat.org/doc[WeeChat ユーザーズガイド] のプラグインの章を参照してください。
|
||||
|
||||
irc プラグインでは以下の様な URL で一時的なサーバに接続することができます:
|
||||
// TRANSLATION MISSING
|
||||
With irc plugin, you can connect to a server with an URL like:
|
||||
|
||||
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
|
||||
|
||||
@@ -106,7 +107,7 @@ WeeChat は Sébastien Helleu さんと貢献者によって作成されてい
|
||||
(完全なリストは AUTHORS.md ファイルを参照してください)。
|
||||
|
||||
// REUSE-IgnoreStart
|
||||
著作権 (C) 2003-2025 {author}
|
||||
著作権 (C) 2003-2026 {author}
|
||||
// REUSE-IgnoreEnd
|
||||
|
||||
WeeChat はフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行された
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2014-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -766,7 +766,7 @@ Example in C:
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2025 Your Name <your@email.com>
|
||||
* SPDX-FileCopyrightText: 2026 Your Name <your@email.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2014-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -4799,6 +4799,162 @@ if (weechat_file_compare ("/tmp/test.txt", "/tmp/test2.txt") == 0)
|
||||
|
||||
便利な関数。
|
||||
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_int
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "int" in a string.
|
||||
|
||||
プロトタイプ:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_int (const char *string, int base, int *result);
|
||||
----
|
||||
|
||||
引数:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
戻り値:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < INT_MIN (min value for a variable of type "int")
|
||||
* number > INT_MAX (max value for a variable of type "int")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int number;
|
||||
if (weechat_util_parse_int ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_int ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
スクリプト API ではこの関数を利用できません。
|
||||
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_long
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "long" in a string.
|
||||
|
||||
プロトタイプ:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_long (const char *string, int base, long *result);
|
||||
----
|
||||
|
||||
引数:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
戻り値:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < LONG_MIN (min value for a variable of type "long")
|
||||
* number > LONG_MAX (max value for a variable of type "long")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long number;
|
||||
if (weechat_util_parse_long ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_long ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
スクリプト API ではこの関数を利用できません。
|
||||
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_longlong
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "long long" in a string.
|
||||
|
||||
プロトタイプ:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_longlong (const char *string, int base, long long *result);
|
||||
----
|
||||
|
||||
引数:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
戻り値:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < LLONG_MIN (min value for a variable of type "long long")
|
||||
* number > LLONG_MAX (max value for a variable of type "long long")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long long number;
|
||||
if (weechat_util_parse_longlong ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_longlong ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
スクリプト API ではこの関数を利用できません。
|
||||
|
||||
==== util_timeval_cmp
|
||||
|
||||
2 つの "timeval" 構造体を比較。
|
||||
@@ -4982,7 +5138,7 @@ weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_time
|
||||
|
||||
_WeeChat ≥ 4.2.0._
|
||||
_WeeChat ≥ 4.2.0, updated in 4.8.0._
|
||||
|
||||
Parse date/time with support of microseconds.
|
||||
|
||||
@@ -4995,20 +5151,106 @@ int util_parse_time (const char *datetime, struct timeval *tv);
|
||||
|
||||
Arguments:
|
||||
|
||||
* _date_: date/time
|
||||
* _date_: date/time (see supported formats below)
|
||||
* _tv_: parsed date/time ("timeval" structure)
|
||||
|
||||
Supported date/time format (supposing the current time is `2025-08-30 21:04:55`
|
||||
(Europe/Paris), so with timezone offset `+02:00`, UTC time being `19:04:55`):
|
||||
|
||||
[width="70%",cols="5,6m",options="header"]
|
||||
|===
|
||||
| Format | Examples
|
||||
|
||||
| Date (midnight)
|
||||
| 2025-08-30
|
||||
|
||||
| ISO 8601, date + local time
|
||||
| 2025-08-30T21:04:55 +
|
||||
2025-08-30T21:04:55.123456
|
||||
|
||||
| ISO 8601, date + local time + offset
|
||||
| 2025-08-30T16:04:55-03 +
|
||||
2025-08-30T16:04:55-0300 +
|
||||
2025-08-30T21:04:55+0200 +
|
||||
2025-08-30T21:04:55+02:00 +
|
||||
2025-08-30T21:04:55.123456+0200
|
||||
|
||||
| ISO 8601, date + UTC time
|
||||
| 2025-08-30T19:04:55Z +
|
||||
2025-08-30T19:04:55.123456Z
|
||||
|
||||
| RFC 3339, date + local time
|
||||
| 2025-08-30 21:04:55 +
|
||||
2025-08-30 21:04:55.123456
|
||||
|
||||
| RFC 3339, date + local time + offset
|
||||
| 2025-08-30 16:04:55-03 +
|
||||
2025-08-30 16:04:55-0300 +
|
||||
2025-08-30 21:04:55+0200 +
|
||||
2025-08-30 21:04:55 +0200 +
|
||||
2025-08-30 21:04:55+02:00 +
|
||||
2025-08-30 21:04:55 +02:00 +
|
||||
2025-08-30 21:04:55.123456+0200 +
|
||||
2025-08-30 21:04:55.123456 +02:00
|
||||
|
||||
| RFC 3339, date + UTC time
|
||||
| 2025-08-30 19:04:55Z +
|
||||
2025-08-30 19:04:55.123456Z
|
||||
|
||||
| Local time
|
||||
| 21:04:55 +
|
||||
21:04:55.123456
|
||||
|
||||
| Local time + offset
|
||||
| 16:04:55-03 +
|
||||
16:04:55-0300 +
|
||||
21:04:55+0200 +
|
||||
21:04:55 +0200 +
|
||||
21:04:55+02:00 +
|
||||
21:04:55 +02:00 +
|
||||
21:04:55.123456+0200 +
|
||||
21:04:55.123456 +02:00
|
||||
|
||||
| UTC time
|
||||
| 19:04:55Z +
|
||||
19:04:55.123456Z
|
||||
|
||||
| Timestamp date
|
||||
| 1756580695 +
|
||||
1756580695.123456 +
|
||||
1756580695,123456
|
||||
|===
|
||||
|
||||
Notes:
|
||||
|
||||
* For ISO 8601, the separator between date and time is `T` (upper case) or `t` (lower case).
|
||||
* For UTC time, the final char is `Z` (upper case) or `z` (lower case).
|
||||
* The timezone offset format is one of:
|
||||
** `++[+/-]hh:mm++` (hours and minutes)
|
||||
** `++[+/-]hhmm++` (hours and minutes)
|
||||
** `++[+/-]hh++` (hours).
|
||||
* Precision after seconds can be from one-tenth of second (1 digit, for example
|
||||
`21:04:55.1`) to one microsecond (6 digits, for example `21:04:55.123456`). +
|
||||
A dot (`.`) or comma (`,`) can separate seconds from the other digits.
|
||||
|
||||
Return value:
|
||||
|
||||
* 1 if OK, 0 if error
|
||||
|
||||
C example:
|
||||
C examples:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
struct timeval tv;
|
||||
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
|
||||
/* same result */
|
||||
|
||||
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
|
||||
/* same result */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -11209,6 +11451,16 @@ struct t_hook *weechat_hook_url (const char *url,
|
||||
*** _headers_: HTTP headers in response
|
||||
*** _output_: standard output (set only if _file_out_ was not set in options)
|
||||
*** _error_: error message (set only in case of error)
|
||||
*** _error_code_: error code (integer, set only in case of error):
|
||||
**** `1`: invalid URL
|
||||
**** `2`: transfer error (Curl error)
|
||||
**** `3`: not enough memory
|
||||
**** `4`: file error
|
||||
**** `5`: transfer stopped (hook removed during the transfer)
|
||||
**** `6`: transfer timeout
|
||||
**** `100`: thread creation error
|
||||
*** _error_code_pthread_: return code of function _pthread_create_
|
||||
(integer, set only if _error_code_ is `100`)
|
||||
** return value:
|
||||
*** _WEECHAT_RC_OK_
|
||||
*** _WEECHAT_RC_ERROR_
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -333,8 +333,10 @@ channels configured in the "autojoin" server option.
|
||||
[[key_bindings]]
|
||||
== キー割り当て設定
|
||||
|
||||
WeeChat
|
||||
はデフォルトでたくさんのショートカットキーが設定されています。これらはドキュメントに記載されていますが、いくつか重要なキーがあります:
|
||||
// TRANSLATION MISSING
|
||||
WeeChat uses many keys by default. All these keys are in the documentation
|
||||
(link:weechat_user.ja.html#key_bindings[ユーザーズガイド / Key bindings ^↗^^]),
|
||||
but you should know at least some vital keys:
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] または kbd:[F5] / kbd:[F6]: 前後のバッファに切り替える
|
||||
- kbd:[F1] / kbd:[F2]: バッファリストを含むバー ("buflist") をスクロール表示
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2014-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user