Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package irssi for openSUSE:Factory checked 
in at 2022-07-18 18:34:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/irssi (Old)
 and      /work/SRC/openSUSE:Factory/.irssi.new.1523 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "irssi"

Mon Jul 18 18:34:30 2022 rev:63 rq:989603 version:1.4.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/irssi/irssi.changes      2022-06-16 
18:20:13.580081174 +0200
+++ /work/SRC/openSUSE:Factory/.irssi.new.1523/irssi.changes    2022-07-18 
18:34:48.897832871 +0200
@@ -1,0 +2,21 @@
+Sat Jul 16 18:26:53 UTC 2022 - Ailin Nemui <ailin.ne...@gmail.com>
+
+- drop patches; upstreamed
+  - drop use-isystem-for-include.patch, upstreamed
+  - drop fix-textbuffer-view.patch, upstreamed
+  - drop default-hash-chan.patch, upstreamed
+- update to 1.4.2
+  * Add irssimoduledir to irssi-1.pc in the Meson build (#1383,
+    #1378)
+  - Use -isystem includes, limiting warnings to Irssi
+    code. Fixes compilation with Perl 5.36 (#1381,
+    gentoo#851522, #1384)
+  - Fix missing lines when changing dynamic textbuffer contents
+    (#1382, #1387). Reported by externalserver15
+  - Fix Perl cross compilation with Meson 0.60.0 (#1377)
+  - Fix default channel prefix used for /JOIN to default to `#'
+    (#1385, #1388)
+  - Fix crash in /LASTLOG by getting line texts before printing
+    (#1367, #1398)
+
+-------------------------------------------------------------------

Old:
----
  default-hash-chan.patch
  fix-textbuffer-view.patch
  irssi-1.4.1.tar.xz
  irssi-1.4.1.tar.xz.asc
  use-isystem-for-include.patch

New:
----
  irssi-1.4.2.tar.xz
  irssi-1.4.2.tar.xz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ irssi.spec ++++++
--- /var/tmp/diff_new_pack.N5nukO/_old  2022-07-18 18:34:49.469833743 +0200
+++ /var/tmp/diff_new_pack.N5nukO/_new  2022-07-18 18:34:49.473833749 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           irssi
-Version:        1.4.1
+Version:        1.4.2
 Release:        0
 Summary:        Modular IRC Client
 License:        GPL-2.0-or-later
@@ -29,12 +29,6 @@
 Source3:        
https://github.com/irssi/irssi/releases/download/%{version}/irssi-%{version}.tar.xz.asc
 # 
https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x7EE65E3082A5FB06AC7C368D00CCB587DDBEF0E1
 Source4:        %{name}.keyring
-# PATCH-FIX-UPSTREAM use-isystem-for-include.patch -- based on PR 1384
-Patch1:         use-isystem-for-include.patch
-# PATCH-FIX-UPSTREAM fix-textbuffer-view.patch -- based on PR 1387
-Patch2:         fix-textbuffer-view.patch
-# PATCH-FIX-UPSTREAM default-hash-chan.patch -- based on PR 1388
-Patch3:         default-hash-chan.patch
 BuildRequires:  meson
 BuildRequires:  glib2-devel
 BuildRequires:  ncurses-devel
@@ -78,7 +72,6 @@
 
 %prep
 %setup -q
-%autopatch -p1
 
 %build
 %meson \
@@ -90,7 +83,7 @@
     %if 0%{?suse_version} > 1330
     -Dwith-otr=yes \
     %endif
-    -DPACKAGE_VERSION="%{version}-oS1" \
+    -DPACKAGE_VERSION="%{version}" \
 #
 %meson_build
 

++++++ irssi-1.4.1.tar.xz -> irssi-1.4.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irssi-1.4.1/ChangeLog new/irssi-1.4.2/ChangeLog
--- old/irssi-1.4.1/ChangeLog   2022-06-06 19:33:13.000000000 +0200
+++ new/irssi-1.4.2/ChangeLog   2022-07-13 20:09:40.000000000 +0200
@@ -1,3 +1,69 @@
+commit bc805f9bcdbba0814ebf94ff6c91c2666a73dbbe
+Author: Ailin Nemui <ailin@d5421s.localdomain>
+Date:   Wed Jul 13 20:08:52 2022 +0200
+
+    tag as 1.4.2
+
+commit 476774662add0af498a392bb96d6a797582d774b
+Author: ailin-nemui <ailin-ne...@users.noreply.github.com>
+Date:   Wed Jul 13 19:10:50 2022 +0200
+
+    Merge pull request #1398 from ailin-nemui/lastlog-crash
+    
+    get line texts before printing lastlog
+    
+    (cherry picked from commit a57cc1c55e7a3e9d76964ccf0697431b9f521dc5)
+
+commit 1b6b92ffff6950ee28c1b7936f53d83988843ed4
+Author: ailin-nemui <ailin-ne...@users.noreply.github.com>
+Date:   Mon Jun 13 07:39:29 2022 +0200
+
+    Merge pull request #1388 from ailin-nemui/default-hash-chan
+    
+    default to hash channels
+    
+    (cherry picked from commit a5f5ea7d79274fcf547ef81f019b0c38c6863051)
+
+commit 730c3c1a12f782b92d710883f52a106e37f148e4
+Author: ailin-nemui <ailin-ne...@users.noreply.github.com>
+Date:   Sun Jun 12 05:33:41 2022 +0200
+
+    Merge pull request #1377 from ailin-nemui/meson
+    
+    fix yet another meson regression
+    
+    (cherry picked from commit 07aa061b6d51a7c246047053e734a2fba8e31a83)
+
+commit c6a7f02042f63d01a38e8d522cff8f5d951afd51
+Author: ailin-nemui <ailin-ne...@users.noreply.github.com>
+Date:   Sun Jun 12 18:10:50 2022 +0200
+
+    Merge pull request #1383 from ailin-nemui/pc-moduledir
+    
+    add irssimoduledir to irssi-1.pc
+    
+    (cherry picked from commit 545d97f8d601e9c1692abba6075bb44a0b4db07c)
+
+commit f17fb682573985656fa26bf10370b9e1d88e3bdf
+Author: ailin-nemui <ailin-ne...@users.noreply.github.com>
+Date:   Sat Jun 18 12:42:47 2022 +0200
+
+    Merge pull request #1387 from ailin-nemui/textbufferview
+    
+    Textbufferview
+    
+    (cherry picked from commit 783dd375339c1c98be36e277d47afdd6918d6160)
+
+commit 3404d822c83546b031d47a99e37ae65b887bec94
+Author: ailin-nemui <ailin-ne...@users.noreply.github.com>
+Date:   Sat Jun 18 12:43:01 2022 +0200
+
+    Merge pull request #1384 from ailin-nemui/meson-system-includes
+    
+    use -isystem instead of -I for include directories
+    
+    (cherry picked from commit 593afc2e40fee9714a44f87f58718f327b68247f)
+
 commit 0e0bc17992251f32ba43990e41c52b36ad344515
 Author: Ailin Nemui <ailin@d5421s.localdomain>
 Date:   Mon Jun 6 12:08:49 2022 +0200
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irssi-1.4.1/NEWS new/irssi-1.4.2/NEWS
--- old/irssi-1.4.1/NEWS        2022-06-06 19:32:15.000000000 +0200
+++ new/irssi-1.4.2/NEWS        2022-07-13 20:09:12.000000000 +0200
@@ -1,4 +1,18 @@
-v1.4.1 2022-06-12 The Irssi team <st...@irssi.org>
+v1.4.2 2022-07-17  The Irssi team <st...@irssi.org>
+       * Add irssimoduledir to irssi-1.pc in the Meson build (#1383,
+          #1378)
+       - Use -isystem includes, limiting warnings to Irssi
+          code. Fixes compilation with Perl 5.36 (#1381,
+          gentoo#851522, #1384)
+       - Fix missing lines when changing dynamic textbuffer contents
+          (#1382, #1387). Reported by externalserver15
+       - Fix Perl cross compilation with Meson 0.60.0 (#1377)
+       - Fix default channel prefix used for /JOIN to default to `#'
+          (#1385, #1388)
+       - Fix crash in /LASTLOG by getting line texts before printing
+          (#1367, #1398)
+
+v1.4.1 2022-06-12  The Irssi team <st...@irssi.org>
        ! Note: botti no longer compiles; get in touch if you use it
        * Format the output of /QUOTE HELP (#1371, an#82). By Val
          Lorentz. Add /SHELP as default alias (an#83)
@@ -306,7 +320,7 @@
          - Run abidiff on pull requests (#1179, #1195)
          - Test CI-Fuzz (#1279, #1304, an#17)
 
-v1.2.3 2021-04-11 The Irssi team <st...@irssi.org>
+v1.2.3 2021-04-11  The Irssi team <st...@irssi.org>
        - Fix the compilation of utf8proc (#1021)
        - Fix wrong call to free. By Zero King (#1076)
        - Fix a colour reset in true colour themes when encountering
@@ -344,13 +358,13 @@
        - Fix memory leak when receiving bogus SASL authentication
           data. Found and fixed by Sergey Valentey (#1293)
 
-v1.2.2 2019-08-29 The Irssi team <st...@irssi.org>
+v1.2.2 2019-08-29  The Irssi team <st...@irssi.org>
        - Fix a use after free issue when receiving IRCv3 CAP
           information from the server (GL#34, GL!35)
        - Fix a crash during startup when windows weren't fully
           initialised yet (#1114, bdo#935813)
 
-v1.2.1 2019-06-29 The Irssi team <st...@irssi.org>
+v1.2.1 2019-06-29  The Irssi team <st...@irssi.org>
        ! Contains all changes from 1.1.3
        - Fix a test on big endian machines (#1014)
        - Fix the compile time conditionality of wcwidth
@@ -361,17 +375,17 @@
           encoding) in the input prompt was broken (#1018,
           #1057). Initial patch by ?????????? ??????????????
 
-v1.1.3 2019-06-29 The Irssi team <st...@irssi.org>
+v1.1.3 2019-06-29  The Irssi team <st...@irssi.org>
        ! Contains all changes from 1.0.8
        - Fix regression of #779 where autolog_ignore_targets would
           not matching itemless windows anymore (#1012, #1013)
 
-v1.0.8 2019-06-29 The Irssi team <st...@irssi.org>
+v1.0.8 2019-06-29  The Irssi team <st...@irssi.org>
        - Fix a use after free issue when sending the SASL login on
           (automatic and manual) reconnects (#1055, #1058). Reported
           by ilbelkyr
 
-v1.2.0 2019-02-11 The Irssi team <st...@irssi.org>
+v1.2.0 2019-02-11  The Irssi team <st...@irssi.org>
        ! Contains all changes from 1.1.2
        * Improved the /STATUSBAR commands (#858)
        * /SET no longer shows `=' between setting and value (#886)
@@ -459,7 +473,7 @@
        - Misc fixes (#840, #839, #843, #953, #962). Tests (#806,
           #875, #905, #964, #1011). Fuzzing (#929).
 
-v1.1.2 2019-01-09 The Irssi team <st...@irssi.org>
+v1.1.2 2019-01-09  The Irssi team <st...@irssi.org>
        - Fix the resetting of window hiddenlevel (#861)
        - Fix clearing of hidelevel in layout (#951)
        - Fix accessing unallocated text when checking entry position
@@ -478,14 +492,14 @@
        - Fix Perl detection on MacOS. By Dominyk Tiller (#927)
        - Misc fixes. By Jaroslav ??karvada (#981, #982)
 
-v1.1.1 2018-02-15 The Irssi team <st...@irssi.org>
+v1.1.1 2018-02-15  The Irssi team <st...@irssi.org>
        ! Contains all changes from 1.0.7
        - Restore compatibility with OpenSSL < 1.0.2 (#820, #831)
        - Fix test compilation on some platforms (#815, #816)
        - Fix portability and backwards compatibility of test runner
           (#818, #845)
 
-v1.0.7 2018-02-15 The Irssi team <st...@irssi.org>
+v1.0.7 2018-02-15  The Irssi team <st...@irssi.org>
        - Prevent use after free error during the execution of some
          commands. Found by Joseph Bisch (GL#17, GL!24).
        - Revert netsplit print optimisation due to crashes (#465, #809,
@@ -504,7 +518,7 @@
           resize (GL#25, GL#29, #836).
        - Minor help correction. By William Jackson (#834).
 
-v1.1.0 2018-01-15 The Irssi team <st...@irssi.org>
+v1.1.0 2018-01-15  The Irssi team <st...@irssi.org>
        ! Warning. Irssi is broken and will crash with OpenSSL < 1.0.2
           due to openssl/openssl commit
           5b4b9ce976fce09a7a92e2f25b91a1635cb840fe
@@ -586,7 +600,7 @@
          #738)
        - Fix space issue in glib-2.0.m4 (#621)
 
-v1.0.6 2018-01-07 The Irssi team <st...@irssi.org>
+v1.0.6 2018-01-07  The Irssi team <st...@irssi.org>
        ! Note: Code and aliases using `$($'-like constructs are no
           longer supported due to issue GL#18. Sorry about the
           inconvenience.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irssi-1.4.1/configure new/irssi-1.4.2/configure
--- old/irssi-1.4.1/configure   2022-06-06 19:33:17.000000000 +0200
+++ new/irssi-1.4.2/configure   2022-07-13 20:09:43.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.1.
+# Generated by GNU Autoconf 2.71 for irssi 1.4.2.
 #
 #
 # 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.1'
-PACKAGE_STRING='irssi 1.4.1'
+PACKAGE_VERSION='1.4.2'
+PACKAGE_STRING='irssi 1.4.2'
 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.1 to adapt to many kinds of systems.
+\`configure' configures irssi 1.4.2 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.1:";;
+     short | recursive ) echo "Configuration of irssi 1.4.2:";;
    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.1
+irssi configure 1.4.2
 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.1, which was
+It was created by irssi $as_me 1.4.2, 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.1'
+ VERSION='1.4.2'
 
 
 # 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.1, which was
+This file was extended by irssi $as_me 1.4.2, 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.1
+irssi config.status 1.4.2
 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.1/configure.ac new/irssi-1.4.2/configure.ac
--- old/irssi-1.4.1/configure.ac        2022-06-06 19:32:15.000000000 +0200
+++ new/irssi-1.4.2/configure.ac        2022-07-13 20:09:12.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT(irssi, 1.4.1)
+AC_INIT(irssi, 1.4.2)
 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.1/irssi-config.h 
new/irssi-1.4.2/irssi-config.h
--- old/irssi-1.4.1/irssi-config.h      2022-06-06 19:33:23.000000000 +0200
+++ new/irssi-1.4.2/irssi-config.h      2022-07-13 20:09:46.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.1"
+#define PACKAGE_STRING "irssi 1.4.2"
 
 /* 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.1"
+#define PACKAGE_VERSION "1.4.2"
 
 /* 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.1/irssi-version.h 
new/irssi-1.4.2/irssi-version.h
--- old/irssi-1.4.1/irssi-version.h     2022-06-06 19:33:36.000000000 +0200
+++ new/irssi-1.4.2/irssi-version.h     2022-07-13 20:09:50.000000000 +0200
@@ -1,2 +1,2 @@
-#define IRSSI_VERSION_DATE 20220612
-#define IRSSI_VERSION_TIME 1401
+#define IRSSI_VERSION_DATE 20220717
+#define IRSSI_VERSION_TIME 1402
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irssi-1.4.1/meson.build new/irssi-1.4.2/meson.build
--- old/irssi-1.4.1/meson.build 2022-06-06 19:32:15.000000000 +0200
+++ new/irssi-1.4.2/meson.build 2022-07-13 20:09:12.000000000 +0200
@@ -1,5 +1,5 @@
 project('irssi', 'c',
-  version : '1.4.1',
+  version : '1.4.2',
   meson_version : '>=0.49',
   default_options : ['warning_level=1'])
 
@@ -55,6 +55,9 @@
 
 package_version     = get_option('PACKAGE_VERSION') != '' ? 
get_option('PACKAGE_VERSION') : meson.project_version()
 
+UNSET = '=INVALID='
+UNSET_ARR = [UNSET]
+
 chat_modules = ['irc']
 
 run_command('mkdir', meson.current_build_dir() / incdir)
@@ -168,7 +171,7 @@
 message('*** On Debian: sudo apt-get install libglib2.0-dev')
 message('*** On Redhat: dnf install glib2-devel')
 if not require_glib_internal
-  glib_dep = dependency('glib-2.0', version : '>=2.32', required : not 
want_glib_internal, static : want_static_dependency)
+  glib_dep = dependency('glib-2.0', version : '>=2.32', required : not 
want_glib_internal, static : want_static_dependency, include_type : 'system')
 else
   glib_dep = dependency('', required : false)
 endif
@@ -250,9 +253,9 @@
     dependencies : glib_internal_dependencies,
     sources : glib_internal_build_t,
     compile_args : [
-      '-I' + (meson.current_source_dir() / 'subprojects' / 
glib_internal_version / 'glib'),
-      '-I' + (meson.current_source_dir() / 'subprojects' / 
glib_internal_version),
-      '-I' + (meson.current_build_dir() / 'build-subprojects' / 'glib' / 
'glib'),
+      '-isystem' + (meson.current_source_dir() / 'subprojects' / 
glib_internal_version / 'glib'),
+      '-isystem' + (meson.current_source_dir() / 'subprojects' / 
glib_internal_version),
+      '-isystem' + (meson.current_build_dir() / 'build-subprojects' / 'glib' / 
'glib'),
     ],
     link_args : [ meson.current_build_dir() / 'build-subprojects' / 'glib' / 
'glib' / 'libglib-2.0.a' ],
   )
@@ -265,12 +268,12 @@
   gmodule_dep = declare_dependency(sources : glib_internal_build_t,
     dependencies : libdl_dep,
     compile_args : [
-      '-I' + (meson.current_source_dir() / 'subprojects' / 
glib_internal_version / 'gmodule'),
+      '-isystem' + (meson.current_source_dir() / 'subprojects' / 
glib_internal_version / 'gmodule'),
     ],
     link_args : [ meson.current_build_dir() / 'build-subprojects' / 'glib' / 
'gmodule' / 'libgmodule-2.0.a' ],
   )
 else
-  gmodule_dep = dependency('gmodule-2.0', static : want_static_dependency)
+  gmodule_dep = dependency('gmodule-2.0', static : want_static_dependency, 
include_type : 'system')
 endif
 dep += glib_dep
 dep += gmodule_dep
@@ -279,7 +282,7 @@
   openssl_proj = subproject('openssl', default_options : 
['default_library=static', 'asm=disabled'])
   openssl_dep = openssl_proj.get_variable('openssl_dep')
 else
-  openssl_dep = dependency('openssl', static : want_static_dependency)
+  openssl_dep = dependency('openssl', static : want_static_dependency, 
include_type : 'system')
 endif
 dep += openssl_dep
 
@@ -331,13 +334,16 @@
   perl_rpath = ''
 
   #### ccopts ####
-  perl_ccopts = meson.get_cross_property('perl_ccopts', false)
-  if perl_ccopts == false
+  perl_ccopts = meson.get_cross_property('perl_ccopts', UNSET_ARR)
+  if perl_ccopts == UNSET_ARR
     res = run_command(cross_perl, '-MExtUtils::Embed', '-e', 'ccopts')
     perl_ccopts = res.stdout().strip().split()
   endif
   foreach fl : perl_ccopts
     if fl.startswith('-D') or fl.startswith('-U') or fl.startswith('-I') or 
fl.startswith('-i') or fl.startswith('-f') or fl.startswith('-m')
+      if fl.startswith('-I')
+        fl = '-isystem' + fl.split('-I')[1]
+      endif
       perl_cflags += fl
     endif
   endforeach
@@ -345,8 +351,8 @@
   perl_cflags += cc.get_supported_arguments('-fPIC')
 
   #### ldopts ####
-  perl_ldopts = meson.get_cross_property('perl_ldopts', false)
-  if perl_ldopts == false
+  perl_ldopts = meson.get_cross_property('perl_ldopts', UNSET_ARR)
+  if perl_ldopts == UNSET_ARR
     res = run_command(cross_perl, '-MExtUtils::Embed', '-e', 'ldopts')
     perl_ldopts = res.stdout().strip().split()
   endif
@@ -362,8 +368,8 @@
     endif
   endforeach
 
-  perl_version = meson.get_cross_property('perl_version', false)
-  if perl_version == false
+  perl_version = meson.get_cross_property('perl_version', UNSET)
+  if perl_version == UNSET
     perl_version = run_command(cross_perl, 
'-V::version:').stdout().split('\'')[1]
   endif
   perl_dep = declare_dependency(compile_args : perl_cflags, link_args : 
perl_ldflags,
@@ -386,8 +392,8 @@
       warning('error linking with perl libraries')
     endif
   else
-    xsubpp_file_c = meson.get_cross_property('perl_xsubpp', false)
-    if xsubpp_file_c == false
+    xsubpp_file_c = meson.get_cross_property('perl_xsubpp', UNSET)
+    if xsubpp_file_c == UNSET
       xsubpp_file_c = run_command(build_perl, '-MExtUtils::ParseXS', '-Eprint 
$INC{"ExtUtils/ParseXS.pm"} =~ s{ParseXS\\.pm$}{xsubpp}r').stdout()
     endif
     xsubpp = generator(build_perl,
@@ -415,13 +421,13 @@
       set_perl_use_lib = false
       perl_library_dir = with_perl_lib + ' default'
       if with_perl_lib in ['site', 'vendor']
-        perlmoddir = meson.get_cross_property('perl_install' + with_perl_lib + 
'arch', false)
-        if perlmoddir == false
+        perlmoddir = meson.get_cross_property('perl_install' + with_perl_lib + 
'arch', UNSET)
+        if perlmoddir == UNSET
           perlmoddir = run_command(cross_perl, '-V::install' + with_perl_lib + 
'arch:').stdout().split('\'')[1]
         endif
       elif with_perl_lib == 'module'
-        perl_archname = meson.get_cross_property('perl_archname', false)
-        if perl_archname == false
+        perl_archname = meson.get_cross_property('perl_archname', UNSET)
+        if perl_archname == UNSET
           perl_archname = run_command(cross_perl, 
'-V::archname:').stdout().split('\'')[1]
         endif
         perlmoddir = perl_install_base / 'lib' / 'perl5' / perl_archname
@@ -441,8 +447,8 @@
 
     perl_use_lib = get_option('prefix') / perlmoddir
     if set_perl_use_lib
-      perl_inc = meson.get_cross_property('perl_inc', false)
-      if perl_inc == false
+      perl_inc = meson.get_cross_property('perl_inc', UNSET_ARR)
+      if perl_inc == UNSET_ARR
         set_perl_use_lib = run_command(cross_perl, '-e', 'exit ! grep $_ eq 
$ARGV[0], grep /^\\//, @INC', perl_use_lib).returncode() != 0
       else
         set_perl_use_lib = not perl_inc.contains(perl_use_lib)
@@ -469,8 +475,8 @@
 
 have_otr = false
 if want_otr
-  libgcrypt = dependency('libgcrypt', version : '>=1.2.0', required : 
require_otr, static : want_static_dependency)
-  libotr = dependency('libotr', version : '>=4.1.0', required : require_otr, 
static : want_static_dependency)
+  libgcrypt = dependency('libgcrypt', version : '>=1.2.0', required : 
require_otr, static : want_static_dependency, include_type : 'system')
+  libotr = dependency('libotr', version : '>=4.1.0', required : require_otr, 
static : want_static_dependency, include_type : 'system')
   if libgcrypt.found() and libotr.found()
     dep += libgcrypt
     dep += libotr
@@ -587,7 +593,8 @@
   name : 'Irssi',
   description : 'Irssi chat client',
   version : package_version,
-  requires : pc_requires)
+  requires : pc_requires,
+  variables : ['irssimoduledir=${libdir}' / incdir / 'modules'])
 
 ###########
 # irssi.1 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irssi-1.4.1/src/fe-text/lastlog.c 
new/irssi-1.4.2/src/fe-text/lastlog.c
--- old/irssi-1.4.1/src/fe-text/lastlog.c       2022-06-06 19:32:15.000000000 
+0200
+++ new/irssi-1.4.2/src/fe-text/lastlog.c       2022-07-13 20:09:12.000000000 
+0200
@@ -87,17 +87,20 @@
 {
        WINDOW_REC *window;
         LINE_REC *startline;
-       GList *list, *tmp;
-       GString *line;
-        char *str;
+       TEXT_BUFFER_VIEW_REC *view;
+       TEXT_BUFFER_REC *buffer;
+       GSList *texts, *tmp;
+       GList *list, *tmp2;
+       char *str;
        int level, before, after, len, date = FALSE;
 
         level = cmd_options_get_level("lastlog", optlist);
        if (level == -1) return; /* error in options */
         if (level == 0) level = MSGLEVEL_ALL;
 
+       view = WINDOW_GUI(active_win)->view;
        if (g_hash_table_lookup(optlist, "clear") != NULL) {
-               
textbuffer_view_remove_lines_by_level(WINDOW_GUI(active_win)->view, 
MSGLEVEL_LASTLOG);
+               textbuffer_view_remove_lines_by_level(view, MSGLEVEL_LASTLOG);
                if (*searchtext == '\0')
                         return;
        }
@@ -117,14 +120,14 @@
        }
 
        if (g_hash_table_lookup(optlist, "new") != NULL)
-               startline = 
textbuffer_view_get_bookmark(WINDOW_GUI(window)->view, "lastlog_last_check");
+               startline = textbuffer_view_get_bookmark(view, 
"lastlog_last_check");
        else if (g_hash_table_lookup(optlist, "away") != NULL)
-               startline = 
textbuffer_view_get_bookmark(WINDOW_GUI(window)->view, "lastlog_last_away");
+               startline = textbuffer_view_get_bookmark(view, 
"lastlog_last_away");
        else
                startline = NULL;
 
        if (startline == NULL)
-                startline = 
textbuffer_view_get_lines(WINDOW_GUI(window)->view);
+               startline = textbuffer_view_get_lines(view);
 
        str = g_hash_table_lookup(optlist, "#");
        if (str != NULL) {
@@ -143,22 +146,21 @@
        if (g_hash_table_lookup(optlist, "date") != NULL)
                date = TRUE;
 
-       list = textbuffer_find_text(WINDOW_GUI(window)->view->buffer, startline,
-                                   level, MSGLEVEL_LASTLOG,
-                                   searchtext, before, after,
-                                   g_hash_table_lookup(optlist, "regexp") != 
NULL,
-                                   g_hash_table_lookup(optlist, "word") != 
NULL,
-                                   g_hash_table_lookup(optlist, "case") != 
NULL);
+       buffer = view->buffer;
+       list = textbuffer_find_text(buffer, startline, level, MSGLEVEL_LASTLOG, 
searchtext, before,
+                                   after, g_hash_table_lookup(optlist, 
"regexp") != NULL,
+                                   g_hash_table_lookup(optlist, "word") != 
NULL,
+                                   g_hash_table_lookup(optlist, "case") != 
NULL);
 
-        len = g_list_length(list);
+       len = g_list_length(list);
        if (count <= 0)
-               tmp = list;
+               tmp2 = list;
        else {
                int pos = len-count-start;
                if (pos < 0) pos = 0;
 
-               tmp = pos > len ? NULL : g_list_nth(list, pos);
-               len = g_list_length(tmp);
+               tmp2 = pos > len ? NULL : g_list_nth(list, pos);
+               len = g_list_length(tmp2);
        }
 
        if (g_hash_table_lookup(optlist, "count") != NULL) {
@@ -177,29 +179,21 @@
                return;
        }
 
-       if (fhandle == NULL && g_hash_table_lookup(optlist, "-") == NULL)
-               printformat(NULL, NULL, MSGLEVEL_LASTLOG, TXT_LASTLOG_START);
-
-       line = g_string_new(NULL);
-        while (tmp != NULL && (count < 0 || count > 0)) {
-               LINE_REC *rec = tmp->data;
+       /* collect the line texts */
+       texts = NULL;
+       for (; tmp2 != NULL && (count < 0 || count > 0); tmp2 = tmp2->next) {
+               GString *line;
+               LINE_REC *rec = tmp2->data;
 
                if (rec == NULL) {
-                       if (tmp->next == NULL)
-                                break;
-                       if (fhandle != NULL) {
-                               fwrite("--\n", 3, 1, fhandle);
-                       } else {
-                               printformat_window(active_win,
-                                                  MSGLEVEL_LASTLOG,
-                                                  TXT_LASTLOG_SEPARATOR);
-                       }
-                        tmp = tmp->next;
+                       if (tmp2->next == NULL)
+                               break;
+                       texts = g_slist_prepend(texts, NULL);
                        continue;
                }
 
-                /* get the line text */
-               textbuffer_line2text(WINDOW_GUI(window)->view->buffer, rec, 
fhandle == NULL, line);
+               line = g_string_new(NULL);
+               textbuffer_line2text(buffer, rec, fhandle == NULL, line);
                if (!settings_get_bool("timestamps")) {
                        struct tm *tm = localtime(&rec->info.time);
                         char timestamp[10];
@@ -213,7 +207,31 @@
                if (date == TRUE)
                        prepend_date(window, rec, line);
 
-                /* write to file/window */
+               texts = g_slist_prepend(texts, line);
+
+               count--;
+       }
+       texts = g_slist_reverse(texts);
+
+       if (fhandle == NULL && g_hash_table_lookup(optlist, "-") == NULL)
+               printformat(NULL, NULL, MSGLEVEL_LASTLOG, TXT_LASTLOG_START);
+
+       for (tmp = texts; tmp != NULL; tmp = tmp->next) {
+               GString *line = tmp->data;
+
+               if (line == NULL) {
+                       if (tmp->next == NULL)
+                               break;
+                       if (fhandle != NULL) {
+                               fwrite("--\n", 3, 1, fhandle);
+                       } else {
+                               printformat_window(active_win, MSGLEVEL_LASTLOG,
+                                                  TXT_LASTLOG_SEPARATOR);
+                       }
+                       continue;
+               }
+
+               /* write to file/window */
                if (fhandle != NULL) {
                        fwrite(line->str, line->len, 1, fhandle);
                        fputc('\n', fhandle);
@@ -221,18 +239,15 @@
                        printtext_window(active_win, MSGLEVEL_LASTLOG,
                                         "%s", line->str);
                }
-
-               count--;
-               tmp = tmp->next;
+               g_string_free(line, TRUE);
        }
-        g_string_free(line, TRUE);
 
        if (fhandle == NULL && g_hash_table_lookup(optlist, "-") == NULL)
                printformat(NULL, NULL, MSGLEVEL_LASTLOG, TXT_LASTLOG_END);
 
-       textbuffer_view_set_bookmark_bottom(WINDOW_GUI(window)->view,
-                                           "lastlog_last_check");
+       textbuffer_view_set_bookmark_bottom(view, "lastlog_last_check");
 
+       g_slist_free(texts);
        g_list_free(list);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irssi-1.4.1/src/fe-text/textbuffer-commands.c 
new/irssi-1.4.2/src/fe-text/textbuffer-commands.c
--- old/irssi-1.4.1/src/fe-text/textbuffer-commands.c   2022-06-06 
19:32:15.000000000 +0200
+++ new/irssi-1.4.2/src/fe-text/textbuffer-commands.c   2022-07-13 
20:09:12.000000000 +0200
@@ -393,6 +393,7 @@
 
        term_refresh_freeze();
        textbuffer_view_reset_cache(gui->view);
+       textbuffer_view_resize(gui->view, gui->view->width, gui->view->height);
        gui_window_redraw(active_win);
        term_refresh_thaw();
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irssi-1.4.1/src/fe-text/textbuffer-view.c 
new/irssi-1.4.2/src/fe-text/textbuffer-view.c
--- old/irssi-1.4.1/src/fe-text/textbuffer-view.c       2022-06-06 
19:32:15.000000000 +0200
+++ new/irssi-1.4.2/src/fe-text/textbuffer-view.c       2022-07-13 
20:09:12.000000000 +0200
@@ -402,10 +402,9 @@
 
        if (rec->count > 1) {
                for (pos = 0; lines != NULL; pos++) {
-                       void *data = lines->data;
+                       LINE_CACHE_SUB_REC *data = lines->data;
 
-                       memcpy(&rec->lines[pos], data,
-                              sizeof(LINE_CACHE_SUB_REC));
+                       memcpy(&rec->lines[pos], data, 
sizeof(LINE_CACHE_SUB_REC));
 
                        lines = g_slist_remove(lines, data);
                        g_free(data);
@@ -427,7 +426,7 @@
 
        cache = g_hash_table_lookup(view->cache->line_cache, line);
        if (cache != NULL) {
-                g_free(cache);
+               line_cache_destroy(NULL, cache);
                g_hash_table_remove(view->cache->line_cache, line);
        }
 }
@@ -438,7 +437,7 @@
        view_remove_cache(view, line, update_counter);
 
        if (view->buffer->cur_line == line)
-               view->cache->last_linecount = view_get_linecount(view, line);
+               view_get_linecount(view, line);
 }
 
 void textbuffer_view_reset_cache(TEXT_BUFFER_VIEW_REC *view)
@@ -467,6 +466,7 @@
        unichar chr;
        int xpos, color, drawcount, first, need_move, need_clrtoeol, char_width;
        unsigned int fg24, bg24;
+       fg24 = bg24 = UINT_MAX;
 
        if (view->dirty) /* don't bother drawing anything - redraw is coming */
                return 0;
@@ -767,7 +767,6 @@
        /* recreate cache so it won't contain references
           to the indent function */
        textbuffer_view_reset_cache(view);
-       view->cache = textbuffer_cache_get(view->siblings, view->width);
 }
 
 void textbuffer_views_unregister_indent_func(INDENT_FUNC indent_func)
@@ -1033,13 +1032,17 @@
 /* Scroll the view up/down */
 void textbuffer_view_scroll(TEXT_BUFFER_VIEW_REC *view, int lines)
 {
-       int count;
+       int count, ypos;
 
-        g_return_if_fail(view != NULL);
+       g_return_if_fail(view != NULL);
+
+       count = view_scroll(view, &view->startline, &view->subline, lines, 
TRUE);
+
+       ypos = view->ypos + (lines < 0 ? count : -count);
+       textbuffer_view_init_ypos(view);
+       if (ypos != view->ypos)
+               textbuffer_view_resize(view, view->width, view->height);
 
-       count = view_scroll(view, &view->startline, &view->subline,
-                           lines, TRUE);
-       view->ypos += lines < 0 ? count : -count;
        view->bottom = view_is_bottom(view);
         if (view->bottom) view->more_text = FALSE;
 
@@ -1079,10 +1082,10 @@
        cache = g_hash_table_lookup(view->cache->line_cache, line);
        if (cache == NULL)
                cache = view_update_line_cache(view, line);
-        else
+       else
                cache->last_access = time(NULL);
 
-        return cache;
+       return cache;
 }
 
 static void view_insert_line(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line)
@@ -1263,12 +1266,13 @@
        view_bookmarks_check(view, line);
 
        if (view->buffer->cur_line == line) {
-                /* the last line is being removed */
+               /* the last line is being removed */
                LINE_REC *prevline;
 
-               prevline = view->buffer->first_line == line ? NULL :
-                       textbuffer_line_last(view->buffer)->prev;
-               view->cache->last_linecount = prevline == NULL ? 0 :
+               prevline = view->buffer->first_line == line ?
+                              NULL :
+                              textbuffer_line_last(view->buffer)->prev;
+               if (prevline != NULL)
                        view_get_linecount(view, prevline);
        }
 
@@ -1474,8 +1478,10 @@
 
        if (view->window != window) {
                view->window = window;
-                if (window != NULL)
+               if (window != NULL) {
+                       textbuffer_view_resize(view, view->width, view->height);
                        view->dirty = TRUE;
+               }
        }
 }
 
@@ -1504,12 +1510,18 @@
 static int sig_check_linecache(void)
 {
        GSList *tmp, *caches;
-        time_t now;
+       time_t now;
 
-        now = time(NULL); caches = NULL;
+       now = time(NULL);
+       caches = NULL;
        for (tmp = views; tmp != NULL; tmp = tmp->next) {
                TEXT_BUFFER_VIEW_REC *rec = tmp->data;
 
+               if (rec->window != NULL) {
+                       /* keep visible lines mapped */
+                       view_get_lines_height(rec, rec->startline, 
rec->subline, NULL);
+               }
+
                if (g_slist_find(caches, rec->cache) != NULL)
                        continue;
 
@@ -1519,7 +1531,7 @@
                                            &now);
        }
 
-        g_slist_free(caches);
+       g_slist_free(caches);
        return 1;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/irssi-1.4.1/src/irc/core/irc-channels.c 
new/irssi-1.4.2/src/irc/core/irc-channels.c
--- old/irssi-1.4.1/src/irc/core/irc-channels.c 2022-06-06 19:32:15.000000000 
+0200
+++ new/irssi-1.4.2/src/irc/core/irc-channels.c 2022-07-13 20:09:12.000000000 
+0200
@@ -71,7 +71,7 @@
                return g_strdup(name);
 
        chantypes = g_hash_table_lookup(server->isupport, "chantypes");
-       if (chantypes == NULL || *chantypes == '\0')
+       if (chantypes == NULL || *chantypes == '\0' || strchr(chantypes, '#') 
!= NULL)
                chantypes = "#";
 
        return g_strdup_printf("%c%s", *chantypes, name);

Reply via email to