Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package irssi for openSUSE:Factory checked in at 2023-03-31 21:15:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/irssi (Old) and /work/SRC/openSUSE:Factory/.irssi.new.31432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "irssi" Fri Mar 31 21:15:44 2023 rev:65 rq:1075725 version:1.4.4 Changes: -------- --- /work/SRC/openSUSE:Factory/irssi/irssi.changes 2022-10-31 10:45:13.973014907 +0100 +++ /work/SRC/openSUSE:Factory/.irssi.new.31432/irssi.changes 2023-03-31 21:15:46.658455574 +0200 @@ -1,0 +2,22 @@ +Fri Mar 31 04:43:43 UTC 2023 - Ailin Nemui <ailin.nemui@gmail.com> + +- update to 1.4.4 + * Expose location of signals.txt via pkg-config (codeberg!1, + #1439, #1446, #1447). By Andrej Kacian + + Levels can now be inverted using `^' prefix in the /WINDOW + (HIDE)LEVEL commands (#1428) + + Support receiving monospace (#1370, #1442). By Linus + Heckemann + - Fix config broken by /WINDOW LOGFILE without parameter + (#1392, #1432) + - Fix broken /LASTLOG -window switch (#1418, #1424, regression + introduced in #1398) + - Fix logic in how actions are printed for other protocols + (codeberg!3, #1454). By Andrej Kacian + - Fix stale special collector use after free (#1456). Reported + by ednash + - Help and message fixes (#1421, #1429, #1431, #1434, #1438, + #1452, #1453, #1455). Includes work by Jimmie Tyrrell and + Sven Grewe + +------------------------------------------------------------------- Old: ---- irssi-1.4.3.tar.xz irssi-1.4.3.tar.xz.asc New: ---- irssi-1.4.4.tar.xz irssi-1.4.4.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ irssi.spec ++++++ --- /var/tmp/diff_new_pack.vaC8JI/_old 2023-03-31 21:15:47.290458511 +0200 +++ /var/tmp/diff_new_pack.vaC8JI/_new 2023-03-31 21:15:47.294458530 +0200 @@ -17,7 +17,7 @@ Name: irssi -Version: 1.4.3 +Version: 1.4.4 Release: 0 Summary: Modular IRC Client License: GPL-2.0-or-later ++++++ irssi-1.4.3.tar.xz -> irssi-1.4.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/ChangeLog new/irssi-1.4.4/ChangeLog --- old/irssi-1.4.3/ChangeLog 2022-10-29 12:14:54.000000000 +0200 +++ new/irssi-1.4.4/ChangeLog 2023-03-28 14:13:48.000000000 +0200 @@ -1,3 +1,184 @@ +commit a09fcb90930c3f0d9e6bdf660dd01c451e817e46 +Author: Ailin Nemui <ailin@d5421s.localdomain> +Date: Tue Mar 28 14:12:28 2023 +0200 + + tag as 1.4.4 + +commit 78d00b99b431bd194bf5aa06e0252421d217483e +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Mon Mar 27 20:46:56 2023 +0000 + + Merge pull request #1456 from ailin-nemui/collector + + fix stale special collector use after free + + (cherry picked from commit c03057f36a2abd37a1176da2890d89116bab5139) + +commit 9948a18fce9a075923c20249194d4e948424b9ff +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Tue Mar 21 08:49:09 2023 +0000 + + Merge pull request #1455 from irssi/vague666-typo-fix + + Update ignore.in + + (cherry picked from commit 6671fec9a91dc61981ea0554525bf1a68be10999) + +commit 6d3284f7e9259aec81ccd431ddb1a27212388d58 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Tue Mar 21 07:05:33 2023 +0000 + + Merge pull request #1454 from irssi/from-codeberg + + Sync + + (cherry picked from commit 2b91c45f5d7088861f5355f13b3d9a6ea304c781) + +commit 38a80b21eaa98be2bbe3046dfa04f691457a505f +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Mon Mar 20 19:31:40 2023 +0000 + + Merge pull request #1453 from irssi/vague666-ignore-in-update + + Update ignore.in + + (cherry picked from commit 706b6fff819b53ee97cc365c453b5f6ce1b461d2) + +commit d1319b422bf90e261843ea59c05258ac39974aca +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Mon Mar 20 19:31:56 2023 +0000 + + Merge pull request #1452 from irssi/vague666-levels-in-update + + Update levels.in + + (cherry picked from commit 1c9990acab3e3fb162a3c1ad4936b0f2678ef07d) + +commit 75fd59608431cce4b306cbcc059b3cb7b061c3c6 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Mon Feb 13 08:51:33 2023 +0000 + + Merge pull request #1447 from ailin-nemui/signalsfile-fix + + fix signalsfile some more + + (cherry picked from commit c1fd4b17f53f7627cacb63f478af627bec1581c9) + +commit 82618ce25dc1b616c3307ae3b6a6b7f7e630e605 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Sun Feb 12 13:51:44 2023 +0000 + + Merge pull request #1446 from ailin-nemui/signalsfile-fix + + fix signals file + + (cherry picked from commit 2ac1f01b9486725cf9f7c20595b4912188104e04) + +commit 377824ae7fd064ff21d8602ab007de6147b9717c +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Thu Feb 2 17:03:53 2023 +0100 + + Merge pull request #1442 from lheckemann/master + + Support receiving monospace + + (cherry picked from commit c06be88d8f107f1890402a266735bc0659dd6021) + +commit 2f0a16556950e71cc79a72ee8ce4b966ab8f711e +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Sat Jan 21 16:48:36 2023 +0100 + + Merge pull request #1439 from irssi/from-codeberg + + Sync + + (cherry picked from commit de43e9e067be52c7773a25d5016e2ab7da585c78) + +commit 0438c7f0b2def0ae5d7e1dd56f980a472fa6e6a8 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Sun Dec 25 17:51:32 2022 +0100 + + Merge pull request #1438 from qoreQyaS/master + + Lang-Fix: Use more general messages + (cherry picked from commit 162dc256be8f47de2491c0587e28ab21805f348a) + +commit af8e40b744a30b80f8f4749d4e3dcfccc39763e6 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Sun Dec 18 21:53:34 2022 +0100 + + Merge pull request #1434 from irssi/ailin-nemui/statusbar-help + + correct statusbar help text + + (cherry picked from commit 7445ad1f1538986b5be26af9cd658aecaa7887f6) + +commit 473cf8ca3fd57d97f6035c3ddaf848f1b386bc83 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Fri Dec 23 10:34:56 2022 +0100 + + Merge pull request #1432 from horgh/horgh/win-logfile + + Check window logfile parameter + + (cherry picked from commit 6f5026fd494948b03264d18095638dbecdb1a525) + +commit f422b9861390240bb2b8e2eac6d9dd8a2016cd4e +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Sun Dec 18 12:27:29 2022 +0100 + + Merge pull request #1431 from ailin-nemui/missing-news + + add missing news reference + + (cherry picked from commit f8500320cf0c14556d62c03ebb9e502793b4dd90) + +commit 8a8fb7740854097b2b300958f532f7e92853f557 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Sun Dec 18 12:14:22 2022 +0100 + + Merge pull request #1429 from ailin-nemui/docs-revamp + + remove ported sections from manual and add links + + (cherry picked from commit 42f83fc130caa4349646ea967ffafa4de4006024) + +commit 8f79457769881f8fe9730b02766e4ad68056398d +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Tue Nov 29 20:05:52 2022 +0100 + + Merge pull request #1428 from ailin-nemui/flip-level + + add (hide)level flip command + + (cherry picked from commit 88cc48651dcfe9121ff60464c92b4318a6c1ca31) + +commit 1426ae87b1be4f9e4ca490ddb202cbd759b92aa3 +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Sat Nov 26 15:09:50 2022 +0100 + + Merge pull request #1424 from ailin-nemui/lastlog + + fix lastlog -window + + (cherry picked from commit 6e3745f42386f5d4147803e4af50b163fef3e901) + +commit f32701b906816124e2eb00fc38d53ab79bb8ccab +Author: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Sun Dec 18 12:18:13 2022 +0100 + + Merge pull request #1421 from j1mmie/patch-1 + + Add parameter LIST to STATUSBAR documentation + + (cherry picked from commit b988b2925bf7310a3d7fefeb9b861866afae0d29) + +commit f21df708b0aeea03a33a63cd5680e85eb7083260 +Author: Ailin Nemui <ailin@d5421s.localdomain> +Date: Mon Mar 27 22:59:49 2023 +0200 + + up version + commit c99c8b444da5b2a2ff53e86de02e924e3b728993 Author: Ailin Nemui <ailin@d5421s.localdomain> Date: Sat Oct 29 12:13:46 2022 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/NEWS new/irssi-1.4.4/NEWS --- old/irssi-1.4.3/NEWS 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/NEWS 2023-03-28 14:13:26.000000000 +0200 @@ -1,3 +1,22 @@ +v1.4.4 2023-03-31 The Irssi team <staff@irssi.org> + * Expose location of signals.txt via pkg-config (codeberg!1, + #1439, #1446, #1447). By Andrej Kacian + + Levels can now be inverted using `^' prefix in the /WINDOW + (HIDE)LEVEL commands (#1428) + + Support receiving monospace (#1370, #1442). By Linus + Heckemann + - Fix config broken by /WINDOW LOGFILE without parameter + (#1392, #1432) + - Fix broken /LASTLOG -window switch (#1418, #1424, regression + introduced in #1398) + - Fix logic in how actions are printed for other protocols + (codeberg!3, #1454). By Andrej Kacian + - Fix stale special collector use after free (#1456). Reported + by ednash + - Help and message fixes (#1421, #1429, #1431, #1434, #1438, + #1452, #1453, #1455). Includes work by Jimmie Tyrrell and + Sven Grewe + v1.4.3 2022-10-31 The Irssi team <staff@irssi.org> - Fix freeze on Alt+arrows (#1416, #1417) - Fix crash on /upgrade (#1399, #1419) @@ -112,7 +131,7 @@ * Channel sync requests (WHO, MODE) are now sent "later" than user commands. This should improve responsiveness to user - commands in the autojoin phase (an#26, an#32, an#33) + commands in the autojoin phase (#1300, an#26, an#32, an#33) * Irssi is now using full paths in #include directives and consequently does not add all directories to the include path anymore (#1040) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/configure new/irssi-1.4.4/configure --- old/irssi-1.4.3/configure 2022-10-29 12:14:56.000000000 +0200 +++ new/irssi-1.4.4/configure 2023-03-28 14:13:51.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for irssi 1.4.3. +# Generated by GNU Autoconf 2.71 for irssi 1.4.4. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -618,8 +618,8 @@ # Identity of this package. PACKAGE_NAME='irssi' PACKAGE_TARNAME='irssi' -PACKAGE_VERSION='1.4.3' -PACKAGE_STRING='irssi 1.4.3' +PACKAGE_VERSION='1.4.4' +PACKAGE_STRING='irssi 1.4.4' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1449,7 +1449,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures irssi 1.4.3 to adapt to many kinds of systems. +\`configure' configures irssi 1.4.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1520,7 +1520,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of irssi 1.4.3:";; + short | recursive ) echo "Configuration of irssi 1.4.4:";; esac cat <<\_ACEOF @@ -1676,7 +1676,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -irssi configure 1.4.3 +irssi configure 1.4.4 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2221,7 +2221,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by irssi $as_me 1.4.3, which was +It was created by irssi $as_me 1.4.4, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3497,7 +3497,7 @@ # Define the identity of the package. PACKAGE='irssi' - VERSION='1.4.3' + VERSION='1.4.4' # Some tools Automake needs. @@ -16304,7 +16304,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by irssi $as_me 1.4.3, which was +This file was extended by irssi $as_me 1.4.4, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16376,7 +16376,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -irssi config.status 1.4.3 +irssi config.status 1.4.4 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/configure.ac new/irssi-1.4.4/configure.ac --- old/irssi-1.4.3/configure.ac 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/configure.ac 2023-03-28 14:13:26.000000000 +0200 @@ -1,4 +1,4 @@ -AC_INIT(irssi, 1.4.3) +AC_INIT(irssi, 1.4.4) AC_CONFIG_SRCDIR([src]) AC_CONFIG_AUX_DIR(build-aux) AC_PREREQ(2.50) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/docs/help/ignore new/irssi-1.4.4/docs/help/ignore --- old/irssi-1.4.3/docs/help/ignore 2022-10-29 12:14:54.000000000 +0200 +++ new/irssi-1.4.4/docs/help/ignore 2023-03-28 14:13:48.000000000 +0200 @@ -30,6 +30,8 @@ because it is allowed in addition to other ignores for the same target. The special level 'HIDDEN' can be used to hide matching messages that can later be revealed using /WINDOW HIDELEVEL -HIDDEN + The special level 'NOHILIGHT' can be used to suppress hilights without actually + ignoring the message. %9Examples:%9 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/docs/help/in/ignore.in new/irssi-1.4.4/docs/help/in/ignore.in --- old/irssi-1.4.3/docs/help/in/ignore.in 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/docs/help/in/ignore.in 2023-03-28 14:13:26.000000000 +0200 @@ -29,6 +29,8 @@ because it is allowed in addition to other ignores for the same target. The special level 'HIDDEN' can be used to hide matching messages that can later be revealed using /WINDOW HIDELEVEL -HIDDEN + The special level 'NOHILIGHT' can be used to suppress hilights without actually + ignoring the message. %9Examples:%9 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/docs/help/in/levels.in new/irssi-1.4.4/docs/help/in/levels.in --- old/irssi-1.4.3/docs/help/in/levels.in 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/docs/help/in/levels.in 2023-03-28 14:13:26.000000000 +0200 @@ -35,6 +35,7 @@ HIDDEN Hides the message when window HIDELEVEL includes HIDDEN. NO_ACT Doesn't trigger any activity in the statusbar. NOHILIGHT The text is not highlighted. + Suppresses hilights when used with /ignore. When using levels from Irssi scripts, you need to prepend the level with 'MSGLEVEL_'; for example 'CRAP' becomes 'MSGLEVEL_CRAP'. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/docs/help/in/statusbar.in new/irssi-1.4.4/docs/help/in/statusbar.in --- old/irssi-1.4.3/docs/help/in/statusbar.in 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/docs/help/in/statusbar.in 2023-03-28 14:13:26.000000000 +0200 @@ -10,7 +10,7 @@ RESET: Restores the default statusbar configuration. ADDITEM: Adds an item to the specified statusbar. It can be set to appear before/after another item and left/right aligned - to a specified position on the screen. + on the screen. MODIFYITEM: Changes an item position inside a bar. REMOVEITEM: Removes an item from the specified statusbar. INFO: List the current details and items of the specified @@ -18,15 +18,16 @@ -disable: Removes a statusbar from the list. -type: Sets the type of statusbar, for each split window or only - for the current root screen. + once at the root (very top or bottom) of the screen. -placement: Sets the placement of the statusbar, either at the top or - the bottom of the screen. + the bottom of the screen or split window. -position: Sets the position of the statusbar. Represented as a - number, with 0 implying the first position. - -visible: Sets the visibility of the statusbar or item. If set to - always it is visible on all screens, otherwise if set to - inactive or active then it is only visible on inactive - or active screens, respectively. + number, with smaller numbers implying a position further + to the top. + -visible: Sets the visibility of the statusbar. If set to always, + it is visible on all split windows, otherwise if set to + inactive or active then it is only visible on inactive or + active split windows, respectively. -before: This item is added before the other item. -after: This item is added after the other item. -priority: When the statusbar items overflow, the item with the @@ -35,8 +36,10 @@ quoted (e.g. -priority "-1") -alignment: Display the item on the right side. - Where statusbar refers to the name of the statusbar; if no argument is - given, the entire list of statusbars will be displayed. + Where statusbar refers to the name of the statusbar; if no + argument is given, or `LIST` is given, the entire list of + statusbars along with a quick overview of their properties will be + displayed. %9Description:%9 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/docs/help/in/window.in new/irssi-1.4.4/docs/help/in/window.in --- old/irssi-1.4.3/docs/help/in/window.in 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/docs/help/in/window.in 2023-03-28 14:13:26.000000000 +0200 @@ -42,6 +42,7 @@ LEFT: %|Go to the previous window numerically that is part of the current sticky group (or not part of any sticky group). RIGHT: %|Go to the next window numerically that is part of the current sticky group (or not part of any sticky group). STICK: %|Make the currently active window sticky, or stick the window specified by number to the currently visible split window. Or turn off stickyness of the currently active window or the window specified by number. + HIDELEVEL: %|Changes the levels of text lines that should be hidden from view, or query the current hidden level. MOVE LEFT: %|Move the window to the numerically previous location inside the current sticky group. MOVE RIGHT: %|Move the window to the numerically next location inside the current sticky group. MOVE UP: %|Move the current window to the sticky group of the previous split window. If no sticky group remains, the split window collapses. @@ -52,6 +53,8 @@ %|Add the required arguments for the given command. Without arguments, the details (size, immortality, levels, server, name and sticky group) of the currently active window are displayed. If used with a number as argument, same as WINDOW REFNUM. + %|LEVEL and HIDELEVEL modify the currently set level. Without arguments, the current level is displayed. Levels listed starting with `+' are added to the current levels. Levels listed starting with `-' are removed from the current levels. To clear the levels, start the new level setting with `NONE'. Levels listed starting with `^' are either removed or added from the current setting, depending on whether they were previously set or not (since Irssi 1.5). Levels listed as is are also added to the current levels. Afterwards, the new level setting is displayed. + %9Description:%9 Manipulates the window layout and positioning attributes. @@ -68,6 +71,7 @@ /WINDOW LOG OFF /WINDOW LOG ON ~/logs/debug.log /WINDOW LEVEL -ALL +NOTICES + /WINDOW HIDELEVEL ^JOINS ^PARTS ^QUITS /WINDOW LOGFILE ~/logs/notices.log %9See also:%9 JOIN, LEVELS, LOG, QUERY diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/docs/help/levels new/irssi-1.4.4/docs/help/levels --- old/irssi-1.4.3/docs/help/levels 2022-10-29 12:14:54.000000000 +0200 +++ new/irssi-1.4.4/docs/help/levels 2023-03-28 14:13:48.000000000 +0200 @@ -35,6 +35,7 @@ HIDDEN Hides the message when window HIDELEVEL includes HIDDEN. NO_ACT Doesn't trigger any activity in the statusbar. NOHILIGHT The text is not highlighted. + Suppresses hilights when used with /ignore. When using levels from Irssi scripts, you need to prepend the level with 'MSGLEVEL_'; for example 'CRAP' becomes 'MSGLEVEL_CRAP'. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/docs/help/statusbar new/irssi-1.4.4/docs/help/statusbar --- old/irssi-1.4.3/docs/help/statusbar 2022-10-29 12:14:54.000000000 +0200 +++ new/irssi-1.4.4/docs/help/statusbar 2023-03-28 14:13:48.000000000 +0200 @@ -14,7 +14,7 @@ RESET: Restores the default statusbar configuration. ADDITEM: Adds an item to the specified statusbar. It can be set to appear before/after another item and left/right aligned - to a specified position on the screen. + on the screen. MODIFYITEM: Changes an item position inside a bar. REMOVEITEM: Removes an item from the specified statusbar. INFO: List the current details and items of the specified @@ -22,15 +22,16 @@ -disable: Removes a statusbar from the list. -type: Sets the type of statusbar, for each split window or only - for the current root screen. + once at the root (very top or bottom) of the screen. -placement: Sets the placement of the statusbar, either at the top or - the bottom of the screen. + the bottom of the screen or split window. -position: Sets the position of the statusbar. Represented as a - number, with 0 implying the first position. - -visible: Sets the visibility of the statusbar or item. If set to - always it is visible on all screens, otherwise if set to - inactive or active then it is only visible on inactive - or active screens, respectively. + number, with smaller numbers implying a position further + to the top. + -visible: Sets the visibility of the statusbar. If set to always, + it is visible on all split windows, otherwise if set to + inactive or active then it is only visible on inactive or + active split windows, respectively. -before: This item is added before the other item. -after: This item is added after the other item. -priority: When the statusbar items overflow, the item with the @@ -39,8 +40,10 @@ quoted (e.g. -priority "-1") -alignment: Display the item on the right side. - Where statusbar refers to the name of the statusbar; if no argument is - given, the entire list of statusbars will be displayed. + Where statusbar refers to the name of the statusbar; if no + argument is given, or `LIST` is given, the entire list of + statusbars along with a quick overview of their properties will be + displayed. %9Description:%9 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/docs/help/window new/irssi-1.4.4/docs/help/window --- old/irssi-1.4.3/docs/help/window 2022-10-29 12:14:54.000000000 +0200 +++ new/irssi-1.4.4/docs/help/window 2023-03-28 14:13:48.000000000 +0200 @@ -10,7 +10,7 @@ WINDOW NEXT%| WINDOW LAST%| WINDOW PREVIOUS%| -WINDOW LEVEL %|[<level>] +WINDOW LEVEL %|[<levels>] WINDOW IMMORTAL %|on|off|toggle WINDOW SERVER %|[-sticky | -unsticky] <tag> WINDOW ITEM PREV%| @@ -42,7 +42,7 @@ WINDOW MOVE RIGHT %|[-directional] WINDOW MOVE UP %|[-directional] WINDOW MOVE DOWN %|[-directional] -WINDOW HIDELEVEL %|[<level>] +WINDOW HIDELEVEL %|[<levels>] %9Parameters:%9 @@ -83,6 +83,7 @@ LEFT: %|Go to the previous window numerically that is part of the current sticky group (or not part of any sticky group). RIGHT: %|Go to the next window numerically that is part of the current sticky group (or not part of any sticky group). STICK: %|Make the currently active window sticky, or stick the window specified by number to the currently visible split window. Or turn off stickyness of the currently active window or the window specified by number. + HIDELEVEL: %|Changes the levels of text lines that should be hidden from view, or query the current hidden level. MOVE LEFT: %|Move the window to the numerically previous location inside the current sticky group. MOVE RIGHT: %|Move the window to the numerically next location inside the current sticky group. MOVE UP: %|Move the current window to the sticky group of the previous split window. If no sticky group remains, the split window collapses. @@ -93,6 +94,8 @@ %|Add the required arguments for the given command. Without arguments, the details (size, immortality, levels, server, name and sticky group) of the currently active window are displayed. If used with a number as argument, same as WINDOW REFNUM. + %|LEVEL and HIDELEVEL modify the currently set level. Without arguments, the current level is displayed. Levels listed starting with `+' are added to the current levels. Levels listed starting with `-' are removed from the current levels. To clear the levels, start the new level setting with `NONE'. Levels listed starting with `^' are either removed or added from the current setting, depending on whether they were previously set or not (since Irssi 1.5). Levels listed as is are also added to the current levels. Afterwards, the new level setting is displayed. + %9Description:%9 Manipulates the window layout and positioning attributes. @@ -109,6 +112,7 @@ /WINDOW LOG OFF /WINDOW LOG ON ~/logs/debug.log /WINDOW LEVEL -ALL +NOTICES + /WINDOW HIDELEVEL ^JOINS ^PARTS ^QUITS /WINDOW LOGFILE ~/logs/notices.log %9See also:%9 JOIN, LEVELS, LOG, QUERY diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/docs/manual.txt new/irssi-1.4.4/docs/manual.txt --- old/irssi-1.4.3/docs/manual.txt 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/docs/manual.txt 2023-03-28 14:13:26.000000000 +0200 @@ -18,17 +18,17 @@ 9. Text highlighting 10. Ignoring 11. Logging - - ( not written yet: ) 12. Commands - 13. Themes 14. Last log (currently text version only) - 15. Nick and word completion + 15. Word completion 16. Recode - 17. Windowing system (text version) - 18. Keyboard (text version) + 18. Key bindings (text version) 19. Perl scripting + ( not written yet: ) + 13. Themes + 17. Windowing system (text version) + 0. Generic babbling @@ -141,44 +141,7 @@ --hostname -h Specify what host name to use - 2. Message levels - - - Message levels (or in short, levels) are used almost everywhere. - They describe what kind of messages we're dealing with. Here's a - list of them all: - - CRAP - Can be almost anything - MSGS - Private messages - PUBLIC - Public messages in channel - NOTICES - Notices - SNOTES - Server notices - CTCPS - CTCP messages - ACTIONS - Actions (/me) - usually ORed with PUBLIC or MSGS - JOINS - Someone joins a channel - PARTS - Someone parts a channel - QUITS - Someone quits IRC - KICKS - Someone gets kicked from channel - MODES - Channel mode is changed - TOPICS - Channel topic is changed - WALLOPS - Wallop is received - INVITES - Invite is received - NICKS - Someone changes nick - DCC - DCC related messages - DCCMSGS - DCC chat messages - CLIENTNOTICES - Irssi's notices - CLIENTERRORS - Irssi's error messages - CLIENTCRAP - Some other messages from Irssi - - And a few special ones that could be included with the - levels above: - - HILIGHT - Text is highlighted - NOHILIGHT - Don't check highlighting for this message - NO_ACT - Don't trigger channel activity when printing - this message - NEVER - Never ignore or log this message - + 2. Message levels <https://irssi.org/documentation/help/levels/> 3. Flood protection @@ -252,47 +215,12 @@ Currently only messages, notices and ctcps are checked for flooding. - /SET flood_max_msgs = <count>, default is 4 - /SET flood_timecheck = <seconds>, default is 5 seconds + /SET flood_max_msgs <count>, default is 4 + /SET flood_timecheck <seconds>, default is 5 seconds If either of these is 0, the flood checking is disabled. - 4. Configuration - - 4.1 Configuration files - - The configuration is saved to ~/.irssi/config file. You can edit - it with text editor if you want, you can also add comments to it - and they stay there even if /SAVE is used. Comments are the lines - starting with # character. Any errors in config file are displayed - at startup. - - Irssi uses it's own config library for handling the config file. - The format is pretty much the same as in libPropList and should be - easily understandable. - - You can reload the config file on the fly with /RELOAD command, you - can also read a different config file with /RELOAD <filename>. - - If you change any settings, they aren't saved to file until you use - /SAVE. You can save the config file to different place with - /SAVE <filename>. - - 4.2 Settings - - You can view or change the settings with /SET command. - - /SET without any arguments displays all the settings. - /SET <key> displays settings which key (partly) matches <key> - /SET <key> <value> sets <key> to <value> - - Boolean settings accepts only values ON, OFF and TOGGLE. You can - also use /TOGGLE command to change them, so /TOGGLE <key> behaves - like /SET <key> TOGGLE. /TOGGLE also accepts arguments ON and OFF - when /TOGGLE behaves exactly like /SET. - - Remember that changes are not saved until you use /SAVE! - + 4. Configuration <https://irssi.org/documentation/manual/configuration/> 5. Servers @@ -367,11 +295,11 @@ you setup the server using /SERVER ADD (see next section). If the settings can't be found there either, Irssi will use the defaults: - /SET default_nick = <nick>, defaults to user_name - /SET alternate_nick = <nick>, defaults to <default_nick>_ - /SET user_name = <user>, defaults to your login name - /SET real_name = <name>, taken from /etc/passwd by default - /SET hostname = <host>, what host name to use when connecting + /SET default_nick <nick>, defaults to user_name + /SET alternate_nick <nick>, defaults to <default_nick>_ + /SET user_name <user>, defaults to your login name + /SET real_name <name>, taken from /etc/passwd by default + /SET hostname <host>, what host name to use when connecting /SET skip_motd ON|OFF|TOGGLE - Don't show server's MOTD NOTE: /CONNECT is also a command for IRC operators to connect IRC @@ -792,13 +720,7 @@ /SET massjoin_max_joins <count>. - 7. IRC commands and features (FIXME) - - 7.x Basic commands - - 7.x IRC operator commands - - 7.x Away features + 7. IRC commands and features <https://irssi.org/documentation/help/> 8. Notify list @@ -846,9 +768,9 @@ /HILIGHT without any arguments displays list of the hilights. -If <color> is a - number, Irssi will treat it as a MIRC color code. You can also use - bolds (^B), underlines (^_) etc. as <color> if you like. + If <color> is a number, Irssi will treat it as a MIRC color + code. You can also use bolds (^B), underlines (^_) etc. as + <color> if you like. 10. Ignoring @@ -993,29 +915,24 @@ You can disable this feature by setting awaylog_level to NONE. - 12. Commands + 12. Commands <https://irssi.org/documentation/manual/commands/> - Any char in the `cmdchars' setting can begin a command. The - syntax for a command is the following: + 13. Themes - <CMDCHAR>[<CMDCHAR>][^]<DATA> + 14. Last log <https://irssi.org/documentation/help/lastlog/> - If <CMDCHAR> is repeated two times, alias expansion is - disabled, enabled otherwise. If `^' is present, command output - is disabled. If <DATA> begins with a space, command lookup is - inhibited and the data is sent to the active window item - (useful to send a line that begins with <CMDCHAR>). + 15. Word completion <https://irssi.org/documentation/help/completion/> 16. Recode - irssi supports selective encoding of incoming/outgoing messages + Irssi supports selective encoding of incoming/outgoing messages through the recode system. All incoming/outgoing messages can be optionally converted to/from the charset specified by the `term_charset' variable (which defaults to the locale encoding and should _not_ be changed in most cases), by setting the `recode' variable to 'ON'. Since there is no way in IRC to know the encoding associated to a - message, for incoming messages irssi uses the following algorithm: + message, for incoming messages Irssi uses the following algorithm: if `recode_autodetect_utf8' is 'ON' and the message is valid UTF-8 the encoding is assumed to be UTF-8. @@ -1032,5 +949,9 @@ iconv specific extension to peform transliteration (locale dependent) when a character is not representable in the destination encoding. + 18. Key bindings <https://irssi.org/documentation/help/bind_-list/> + + 19. Scripting <https://irssi.org/documentation/scripting/> + .. no, the docs end here, I got bored of writing these after a few days and haven't touched these since then. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/irssi-config.h new/irssi-1.4.4/irssi-config.h --- old/irssi-1.4.3/irssi-config.h 2022-10-29 12:14:59.000000000 +0200 +++ new/irssi-1.4.4/irssi-config.h 2023-03-28 14:13:54.000000000 +0200 @@ -89,7 +89,7 @@ #define PACKAGE_NAME "irssi" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "irssi 1.4.3" +#define PACKAGE_STRING "irssi 1.4.4" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "irssi" @@ -98,7 +98,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.4.3" +#define PACKAGE_VERSION "1.4.4" /* printf()-format for uoff_t, eg. "u" or "lu" or "llu" */ /* #undef PRIuUOFF_T */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/irssi-version.h new/irssi-1.4.4/irssi-version.h --- old/irssi-1.4.3/irssi-version.h 2022-10-29 12:15:01.000000000 +0200 +++ new/irssi-1.4.4/irssi-version.h 2023-03-28 14:14:10.000000000 +0200 @@ -1,2 +1,2 @@ -#define IRSSI_VERSION_DATE 20221031 -#define IRSSI_VERSION_TIME 1403 +#define IRSSI_VERSION_DATE 20230331 +#define IRSSI_VERSION_TIME 1404 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/meson.build new/irssi-1.4.4/meson.build --- old/irssi-1.4.3/meson.build 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/meson.build 2023-03-28 14:13:26.000000000 +0200 @@ -1,5 +1,5 @@ project('irssi', 'c', - version : '1.4.3', + version : '1.4.4', meson_version : '>=0.49', default_options : ['warning_level=1']) @@ -589,12 +589,26 @@ if not glib_internal pc_requires += glib_dep endif +signalsfile = docdir / 'signals.txt' +if signalsfile.startswith('/') + signalsfile = signalsfile.split(get_option('prefix')) + if signalsfile[0] == '' + signalsfile = '${prefix}' + signalsfile[1] + else + signalsfile = signalsfile[0] + endif +else + signalsfile = '${prefix}' / signalsfile +endif pc.generate(filebase : 'irssi-1', name : 'Irssi', description : 'Irssi chat client', version : package_version, requires : pc_requires, - variables : ['irssimoduledir=${libdir}' / incdir / 'modules']) + variables : [ + 'irssimoduledir=${libdir}' / incdir / 'modules', + 'signalsfile=' + signalsfile + ]) ########### # irssi.1 # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/src/core/levels.c new/irssi-1.4.4/src/core/levels.c --- old/irssi-1.4.3/src/core/levels.c 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/src/core/levels.c 2023-03-28 14:13:26.000000000 +0200 @@ -181,13 +181,15 @@ list = g_strsplit(src, " ", -1); for (item = list; *item != NULL; item++) { - itemname = *item + (**item == '+' || **item == '-' ? 1 : 0); + itemname = *item + (**item == '+' || **item == '-' || **item == '^' ? 1 : 0); itemlevel = level_get(itemname); - if (g_strcmp0(itemname, "NONE") == 0) - dest = 0; + if (g_ascii_strcasecmp(itemname, "NONE") == 0) + dest = 0; else if (**item == '-') dest &= ~(itemlevel); + else if (**item == '^') + dest ^= itemlevel; else dest |= itemlevel; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/src/fe-common/core/fe-log.c new/irssi-1.4.4/src/fe-common/core/fe-log.c --- old/irssi-1.4.3/src/fe-common/core/fe-log.c 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/src/fe-common/core/fe-log.c 2023-03-28 14:13:26.000000000 +0200 @@ -60,15 +60,15 @@ static char *log_colorizer_strip(const char *str) { - return strip_codes(str); + return strip_codes(str); } static void log_add_targets(LOG_REC *log, const char *targets, const char *tag) { char **tmp, **items; - g_return_if_fail(log != NULL); - g_return_if_fail(targets != NULL); + g_return_if_fail(log != NULL); + g_return_if_fail(targets != NULL); items = g_strsplit(targets, " ", -1); @@ -83,18 +83,18 @@ <fname> [<levels>] */ static void cmd_log_open(const char *data) { - SERVER_REC *server; - GHashTable *optlist; + SERVER_REC *server; + GHashTable *optlist; char *targetarg, *fname, *levels, *servertag; void *free_arg; char window[MAX_INT_STRLEN]; LOG_REC *log; int level; - if (!cmd_get_params(data, &free_arg, 2 | PARAM_FLAG_GETREST | - PARAM_FLAG_UNKNOWN_OPTIONS | PARAM_FLAG_OPTIONS | - PARAM_FLAG_STRIP_TRAILING_WS, "log open", &optlist, - &fname, &levels)) + if (!cmd_get_params(data, &free_arg, + 2 | PARAM_FLAG_GETREST | PARAM_FLAG_UNKNOWN_OPTIONS | + PARAM_FLAG_OPTIONS | PARAM_FLAG_STRIP_TRAILING_WS, + "log open", &optlist, &fname, &levels)) return; if (*fname == '\0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS); @@ -112,8 +112,7 @@ ltoa(window, active_win->refnum); targetarg = window; } - log_item_add(log, LOG_ITEM_WINDOW_REFNUM, targetarg, - servertag); + log_item_add(log, LOG_ITEM_WINDOW_REFNUM, targetarg, servertag); } else { targetarg = g_hash_table_lookup(optlist, "targets"); if (targetarg != NULL && *targetarg != '\0') @@ -133,14 +132,13 @@ if (log->handle == -1 && g_hash_table_lookup(optlist, "noopen") == NULL) { /* start logging */ if (log_start_logging(log)) { - printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, - TXT_LOG_OPENED, fname); + printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, TXT_LOG_OPENED, fname); } else { log_close(log); } } - cmd_params_free(free_arg); + cmd_params_free(free_arg); } static LOG_REC *log_find_from_data(const char *data) @@ -209,7 +207,7 @@ for (tmp = log->items; tmp != NULL; tmp = tmp->next) { rec = tmp->data; - g_string_append_printf(str, "%s, ", rec->name); + g_string_append_printf(str, "%s, ", rec->name); } g_string_truncate(str, str->len-2); if(rec->servertag != NULL) @@ -231,13 +229,11 @@ LOG_REC *rec = tmp->data; levelstr = bits2level(rec->level); - items = rec->items == NULL ? NULL : - log_items_get_list(rec); + items = rec->items == NULL ? NULL : log_items_get_list(rec); - printformat(NULL, NULL, MSGLEVEL_CLIENTCRAP, TXT_LOG_LIST, - index, rec->fname, items != NULL ? items : "", - levelstr, rec->autoopen ? " -autoopen" : "", - rec->handle != -1 ? " active" : ""); + printformat(NULL, NULL, MSGLEVEL_CLIENTCRAP, TXT_LOG_LIST, index, rec->fname, + items != NULL ? items : "", levelstr, rec->autoopen ? " -autoopen" : "", + rec->handle != -1 ? " active" : ""); g_free_not_null(items); g_free(levelstr); @@ -253,8 +249,8 @@ command_runsub("log", data, server, item); } -static LOG_REC *logs_find_item(int type, const char *item, - const char *servertag, LOG_ITEM_REC **ret_item) +static LOG_REC *logs_find_item(int type, const char *item, const char *servertag, + LOG_ITEM_REC **ret_item) { LOG_ITEM_REC *logitem; GSList *tmp; @@ -284,17 +280,17 @@ if (!cmd_get_params(data, &free_arg, 2, &set, &fname)) return; - ltoa(window, active_win->refnum); + ltoa(window, active_win->refnum); log = logs_find_item(LOG_ITEM_WINDOW_REFNUM, window, NULL, NULL); - open_log = close_log = FALSE; + open_log = close_log = FALSE; if (g_ascii_strcasecmp(set, "ON") == 0) open_log = TRUE; else if (g_ascii_strcasecmp(set, "OFF") == 0) { close_log = TRUE; } else if (g_ascii_strcasecmp(set, "TOGGLE") == 0) { - open_log = log == NULL; - close_log = log != NULL; + open_log = log == NULL; + close_log = log != NULL; } else { printformat(NULL, NULL, MSGLEVEL_CLIENTERROR, TXT_NOT_TOGGLE); cmd_params_free(free_arg); @@ -309,7 +305,7 @@ active_win->name != NULL ? "" : window); log = log_create_rec(fname, MSGLEVEL_ALL); log->colorizer = log_colorizer_strip; - log_item_add(log, LOG_ITEM_WINDOW_REFNUM, window, NULL); + log_item_add(log, LOG_ITEM_WINDOW_REFNUM, window, NULL); log_update(log); g_free(fname); } @@ -322,7 +318,7 @@ printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, TXT_LOG_CLOSED, log->fname); } - cmd_params_free(free_arg); + cmd_params_free(free_arg); } /* Create log file entry to window, but don't start logging */ @@ -331,21 +327,34 @@ { LOG_REC *log; char window[MAX_INT_STRLEN]; + void *free_arg; + char *fname; + + if (!cmd_get_params(data, &free_arg, 1, &fname)) { + return; + } + + if (!fname || strlen(fname) == 0) { + cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS); + } - ltoa(window, active_win->refnum); + ltoa(window, active_win->refnum); log = logs_find_item(LOG_ITEM_WINDOW_REFNUM, window, NULL, NULL); if (log != NULL) { printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, TXT_WINDOWLOG_FILE_LOGGING); + cmd_params_free(free_arg); return; } - log = log_create_rec(data, MSGLEVEL_ALL); + log = log_create_rec(fname, MSGLEVEL_ALL); log->colorizer = log_colorizer_strip; log_item_add(log, LOG_ITEM_WINDOW_REFNUM, window, NULL); log_update(log); printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, TXT_WINDOWLOG_FILE, data); + + cmd_params_free(free_arg); } /* window's refnum changed - update the logs to log the new window refnum */ @@ -355,7 +364,7 @@ LOG_REC *log; LOG_ITEM_REC *item; - ltoa(winnum, GPOINTER_TO_INT(old_refnum)); + ltoa(winnum, GPOINTER_TO_INT(old_refnum)); log = logs_find_item(LOG_ITEM_WINDOW_REFNUM, winnum, NULL, &item); if (log != NULL) { @@ -368,7 +377,7 @@ static void sig_server_disconnected(SERVER_REC *server) { - LOG_ITEM_REC *logitem; + LOG_ITEM_REC *logitem; GSList *tmp, *next; for (tmp = logs; tmp != NULL; tmp = next) { @@ -376,13 +385,13 @@ next = tmp->next; if (!log->temp || log->items == NULL) - continue; + continue; logitem = log->items->data; - if (logitem->type == LOG_ITEM_TARGET && - logitem->servertag != NULL && + if (logitem->type == LOG_ITEM_TARGET && logitem->servertag != NULL && g_ascii_strcasecmp(logitem->servertag, server->tag) == 0 && - server_ischannel(server, logitem->name)) /* kludge again.. so we won't close dcc chats */ + server_ischannel( + server, logitem->name)) /* kludge again.. so we won't close dcc chats */ log_close(log); } } @@ -414,15 +423,14 @@ *p++ = *target; } - target++; + target++; } *p = '\0'; - return str; + return str; } -static void autolog_open(SERVER_REC *server, const char *server_tag, - const char *target) +static void autolog_open(SERVER_REC *server, const char *server_tag, const char *target) { LOG_REC *log; char *fname, *dir, *fixed_target, *params; @@ -443,17 +451,16 @@ if (CHAT_PROTOCOL(server)->case_insensitive) ascii_strdown(fixed_target); - /* $0 = target, $1 = server tag */ - params = g_strconcat(fixed_target, " ", server_tag, NULL); + /* $0 = target, $1 = server tag */ + params = g_strconcat(fixed_target, " ", server_tag, NULL); g_free(fixed_target); - fname = parse_special_string(autolog_path, server, NULL, - params, NULL, 0); + fname = parse_special_string(autolog_path, server, NULL, params, NULL, 0); g_free(params); if (log_find(fname) == NULL) { log = log_create_rec(fname, autolog_level); - if (!settings_get_bool("autolog_colors")) + if (!settings_get_bool("autolog_colors")) log->colorizer = log_colorizer_strip; log_item_add(log, LOG_ITEM_TARGET, target, server_tag); @@ -484,8 +491,8 @@ we're parting the channel with /WINDOW CLOSE.. Maybe a small timeout would be nice instead of immediately closing the log file after "window item destroyed" */ - if (level == MSGLEVEL_PARTS || - (autolog_level & level) == 0 || target == NULL || *target == '\0') + if (level == MSGLEVEL_PARTS || (autolog_level & level) == 0 || target == NULL || + *target == '\0') return; deftarget = server ? server->nick : "unknown"; @@ -495,8 +502,7 @@ && channel_setup_find(target, server_tag) == NULL) return; - if (autolog_ignore_targets != NULL && - strarray_find_dest(autolog_ignore_targets, dest)) + if (autolog_ignore_targets != NULL && strarray_find_dest(autolog_ignore_targets, dest)) return; if (target != NULL) @@ -512,8 +518,7 @@ if (window != NULL) { /* save to log created with /WINDOW LOG */ ltoa(windownum, window->refnum); - log = logs_find_item(LOG_ITEM_WINDOW_REFNUM, - windownum, NULL, NULL); + log = logs_find_item(LOG_ITEM_WINDOW_REFNUM, windownum, NULL, NULL); if (log != NULL) log_write_rec(log, text, level, t); } @@ -553,8 +558,7 @@ g_strfreev(lines); } -static void sig_printtext(TEXT_DEST_REC *dest, const char *text, - const char *stripped) +static void sig_printtext(TEXT_DEST_REC *dest, const char *text, const char *stripped) { if (skip_next_printtext) { skip_next_printtext = FALSE; @@ -564,8 +568,8 @@ log_line(dest, text); } -static void sig_print_format(THEME_REC *theme, const char *module, - TEXT_DEST_REC *dest, void *formatnum, char **args) +static void sig_print_format(THEME_REC *theme, const char *module, TEXT_DEST_REC *dest, + void *formatnum, char **args) { char *str, *linestart, *tmp; @@ -579,14 +583,14 @@ if (theme == log_theme) return; - str = format_get_text_theme_charargs(log_theme, module, dest, - GPOINTER_TO_INT(formatnum), args); + str = format_get_text_theme_charargs(log_theme, module, dest, GPOINTER_TO_INT(formatnum), + args); if (str != NULL && *str != '\0') { skip_next_printtext = TRUE; /* add the line start format */ linestart = format_get_level_tag(log_theme, dest); - tmp = str; + tmp = str; str = format_add_linestart(tmp, linestart); g_free_not_null(linestart); g_free(tmp); @@ -605,14 +609,14 @@ GSList *tmp, *next; time_t removetime; - removetime = time(NULL)-AUTOLOG_INACTIVITY_CLOSE; + removetime = time(NULL) - AUTOLOG_INACTIVITY_CLOSE; for (tmp = logs; tmp != NULL; tmp = next) { LOG_REC *log = tmp->data; next = tmp->next; if (!log->temp || log->last > removetime || log->items == NULL) - continue; + continue; /* Close only logs with private messages */ logitem = log->items->data; @@ -620,8 +624,8 @@ continue; server = server_find_tag(logitem->servertag); - if (logitem->type == LOG_ITEM_TARGET && - server != NULL && !server_ischannel(server, logitem->name)) + if (logitem->type == LOG_ITEM_TARGET && server != NULL && + !server_ischannel(server, logitem->name)) log_close(log); } return 1; @@ -632,43 +636,40 @@ LOG_REC *log; log = logs_find_item(LOG_ITEM_TARGET, item->visible_name, - item->server == NULL ? NULL : - item->server->tag, NULL); + item->server == NULL ? NULL : item->server->tag, NULL); if (log != NULL && log->temp) log_close(log); } static void sig_log_locked(LOG_REC *log) { - printformat(NULL, NULL, MSGLEVEL_CLIENTERROR, - TXT_LOG_LOCKED, log->real_fname); + printformat(NULL, NULL, MSGLEVEL_CLIENTERROR, TXT_LOG_LOCKED, log->real_fname); } static void sig_log_create_failed(LOG_REC *log) { - printformat(NULL, NULL, MSGLEVEL_CLIENTERROR, - TXT_LOG_CREATE_FAILED, - log->real_fname, g_strerror(errno)); + printformat(NULL, NULL, MSGLEVEL_CLIENTERROR, TXT_LOG_CREATE_FAILED, log->real_fname, + g_strerror(errno)); } static void sig_log_new(LOG_REC *log) { if (!settings_get_bool("awaylog_colors") && g_strcmp0(log->fname, settings_get_str("awaylog_file")) == 0) - log->colorizer = log_colorizer_strip; + log->colorizer = log_colorizer_strip; } static void sig_log_config_read(LOG_REC *log, CONFIG_NODE *node) { - if (!config_node_get_bool(node, "colors", FALSE)) + if (!config_node_get_bool(node, "colors", FALSE)) log->colorizer = log_colorizer_strip; } static void sig_log_config_save(LOG_REC *log, CONFIG_NODE *node) { - if (log->colorizer == NULL) + if (log->colorizer == NULL) iconfig_node_set_bool(node, "colors", TRUE); - else + else iconfig_node_set_str(node, "colors", NULL); } @@ -685,7 +686,7 @@ else { printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, TXT_LOG_AWAY_MSGS, log->real_fname, msgs); - str = g_strdup_printf("\"%s\" %d", log->real_fname, filepos); + str = g_strdup_printf("\"%s\" %d", log->real_fname, filepos); signal_emit("command cat", 1, str); g_free(str); } @@ -746,13 +747,13 @@ skip_next_printtext = FALSE; settings_add_bool("log", "awaylog_colors", TRUE); - settings_add_bool("log", "autolog", FALSE); + settings_add_bool("log", "autolog", FALSE); settings_add_bool("log", "autolog_colors", FALSE); settings_add_bool("log", "autolog_only_saved_channels", FALSE); settings_add_choice("log", "log_server_time", 2, "off;on;auto"); settings_add_str("log", "autolog_path", "~/irclogs/$tag/$0.log"); settings_add_level("log", "autolog_level", "all -crap -clientcrap -ctcps"); - settings_add_str("log", "log_theme", ""); + settings_add_str("log", "log_theme", ""); settings_add_str("log", "autolog_ignore_targets", ""); autolog_level = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/src/fe-common/core/formats.c new/irssi-1.4.4/src/fe-common/core/formats.c --- old/irssi-1.4.3/src/fe-common/core/formats.c 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/src/fe-common/core/formats.c 2023-03-28 14:13:26.000000000 +0200 @@ -1303,7 +1303,7 @@ #define IS_COLOR_CODE(c) \ ((c) == 2 || (c) == 3 || (c) == 4 || (c) == 6 || (c) == 7 || \ - (c) == 15 || (c) == 22 || (c) == 27 || (c) == 29 || (c) == 31) + (c) == 15 || (c) == 17 || (c) == 22 || (c) == 27 || (c) == 29 || (c) == 31) /* Return how many characters in `str' must be skipped before `len' characters of text is skipped. */ @@ -1585,6 +1585,10 @@ bgcolor = -1; flags &= GUI_PRINT_FLAG_INDENT|GUI_PRINT_FLAG_MONOSPACE; break; + case 17: + if (!hide_text_style) + flags ^= GUI_PRINT_FLAG_MONOSPACE; + break; case 22: /* reverse */ if (!hide_text_style) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/src/fe-common/core/module-formats.c new/irssi-1.4.4/src/fe-common/core/module-formats.c --- old/irssi-1.4.3/src/fe-common/core/module-formats.c 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/src/fe-common/core/module-formats.c 2023-03-28 14:13:26.000000000 +0200 @@ -39,9 +39,9 @@ { "set_server_sticky", "Window's server set sticky", 1, { 0 } }, { "unset_server_sticky", "Window's server isn't sticky anymore", 0 }, { "window_name_not_unique", "Window names must be unique", 1, { 0 } }, - { "window_level", "Window level is now $0", 1, { 0 } }, - { "window_set_immortal", "Window is now immortal", 0 }, - { "window_unset_immortal", "Window isn't immortal anymore", 0 }, + { "window_level", "Window level is $0", 1, { 0 } }, + { "window_set_immortal", "Window is immortal", 0 }, + { "window_unset_immortal", "Window isn't immortal", 0 }, { "window_immortal_error", "Window is immortal, if you really want to close it, say /WINDOW IMMORTAL OFF", 0 }, { "windowlist_header", "%#Ref Name Active item Server Level", 0 }, { "windowlist_line", "%#$[4]0 %|$[20]1 $[15]2 $[15]3 $4", 5, { 1, 0, 0, 0, 0 } }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/src/fe-common/core/window-commands.c new/irssi-1.4.4/src/fe-common/core/window-commands.c --- old/irssi-1.4.3/src/fe-common/core/window-commands.c 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/src/fe-common/core/window-commands.c 2023-03-28 14:13:26.000000000 +0200 @@ -400,7 +400,7 @@ window_set_active(window_find_refnum(num)); } -/* SYNTAX: WINDOW LEVEL [<level>] */ +/* SYNTAX: WINDOW LEVEL [<levels>] */ static void cmd_window_level(const char *data) { char *level; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/src/fe-common/irc/fe-irc-messages.c new/irssi-1.4.4/src/fe-common/irc/fe-irc-messages.c --- old/irssi-1.4.3/src/fe-common/irc/fe-irc-messages.c 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/src/fe-common/irc/fe-irc-messages.c 2023-03-28 14:13:26.000000000 +0200 @@ -208,7 +208,7 @@ return; if (server_ischannel(SERVER(server), target)) { - item = irc_channel_find(server, target); + item = channel_find(SERVER(server), target); } else { own = (!g_strcmp0(nick, server->nick)); item = privmsg_get_query(SERVER(server), own ? target : nick, FALSE, level); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/src/fe-text/lastlog.c new/irssi-1.4.4/src/fe-text/lastlog.c --- old/irssi-1.4.3/src/fe-text/lastlog.c 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/src/fe-text/lastlog.c 2023-03-28 14:13:26.000000000 +0200 @@ -118,6 +118,7 @@ return; } } + view = WINDOW_GUI(window)->view; if (g_hash_table_lookup(optlist, "new") != NULL) startline = textbuffer_view_get_bookmark(view, "lastlog_last_check"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/src/fe-text/textbuffer-commands.c new/irssi-1.4.4/src/fe-text/textbuffer-commands.c --- old/irssi-1.4.3/src/fe-text/textbuffer-commands.c 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/src/fe-text/textbuffer-commands.c 2023-03-28 14:13:26.000000000 +0200 @@ -93,7 +93,7 @@ gui->scroll : settings_get_bool("scroll")); } -/* SYNTAX: WINDOW HIDELEVEL [<level>] */ +/* SYNTAX: WINDOW HIDELEVEL [<levels>] */ static void cmd_window_hidelevel(const char *data) { GUI_WINDOW_REC *gui; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/irssi-1.4.3/src/fe-text/textbuffer-formats.c new/irssi-1.4.4/src/fe-text/textbuffer-formats.c --- old/irssi-1.4.3/src/fe-text/textbuffer-formats.c 2022-10-29 12:14:44.000000000 +0200 +++ new/irssi-1.4.4/src/fe-text/textbuffer-formats.c 2023-03-28 14:13:26.000000000 +0200 @@ -213,7 +213,6 @@ if (!scrollback_format) return; - special_push_collector(NULL); info = store_lineinfo_tmp(dest); info->format = format_rec_new(NULL, NULL, 2, (const char *[]){ NULL, text });