Hi,

rxvt-unicode 9.22 with perl 5.28 fails to start with:

$ urxvt
Assertion failed: (!argv[argc]), function perl_parse, file perl.c, line 1677.
zsh: abort      urxvt
$

Looks like this assert is coming from this snippet (added in perl 5.27):

https://github.com/Perl/perl5/commit/cc85e83f9e22c43fcb37b072c8d9d20a3e8d9a64#diff-ce67bde539aa97f6664976fbddbe3e41R1701

And documentation https://perldoc.perl.org/perlembed.html says that
indeed argv[argc] must be NULL:

"Mind that argv[argc] must be NULL, same as those passed to a main function in 
C."

I was able to make rxvt-unicode start again with the attached path.

Roman Bogorodskiy
--- src/rxvtperl.xs.orig        2018-12-23 11:31:59 UTC
+++ src/rxvtperl.xs
@@ -401,9 +401,10 @@ rxvt_perl_interp::init ()
           "   unshift @INC, '" LIBDIR "';"
           "}"
           ""
-          "use urxvt;"
+          "use urxvt;",
+          NULL
         };
-        int argc = ecb_array_length (args);
+        int argc = ecb_array_length (args) - 1;
         char **argv = args;
 
         PERL_SYS_INIT3 (&argc, &argv, &environ);

Attachment: signature.asc
Description: PGP signature

_______________________________________________
rxvt-unicode mailing list
[email protected]
http://lists.schmorp.de/mailman/listinfo/rxvt-unicode

Reply via email to