Bug#1034244: unblock (pre-approval): lua-readline/3.2-2
Control: tags -1 moreinfo confirmed
On 2023-04-11 12:15:40 +0300, Sergei Golovan wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian.org@packages.debian.org
> Usertags: unblock
> X-Debbugs-Cc: lua-readline@packages.debian.org
> Control: affects -1 + src:lua-readline
>
> I'd like to upload lua-readline with a bugfix for #1034078 (see [1]).
Please go ahead and remove the moreinfo tag once the new version is
available in unstable.
Cheers
>
> [ Reason ]
> This upload fixes #1034078. The patch is made upstream and taken
> from newly released version 3.3.
>
> [ Impact ]
> This bug is a regression in version 3.2 which significantly
> worsens user experience (standard Ctrl+D isn't interpreted as EOF).
>
> [ Tests ]
> There aren't automated tests, but manual testing using upstream test
> code doesn't reveal any other regressions/bugs.
>
> [ Risks ]
> The code change is trivial, the bug currently affects the prosody
> packhage in a way that its admin cannot simply exit from the
> prosody server management console.
>
> [ Checklist ]
> [+] all changes are documented in the d/changelog
> [+] I reviewed all changes and I approve them
> [+] attach debdiff against the package in testing
>
> [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034078
>
> unblock lua-readline/3.2-2
> diff --git a/debian/changelog b/debian/changelog
> index 4456e53..7450934 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -1,3 +1,10 @@
> +lua-readline (3.2-2) unstable; urgency=medium
> +
> + * Fix regression which does not allow to use Ctrl-D (EOF) to close
> + readline session (closes: #1034078).
> +
> + -- Sergei Golovan <sgolovan@debian.org> Sun, 09 Apr 2023 12:28:12 +0300
> +
> lua-readline (3.2-1) unstable; urgency=medium
>
> * New upstream release.
> diff --git a/debian/patches/eof.patch b/debian/patches/eof.patch
> new file mode 100644
> index 0000000..2ac8eeb
> --- /dev/null
> +++ b/debian/patches/eof.patch
> @@ -0,0 +1,39 @@
> +Author: Upstream
> +Description: Patch restores processing EOF (Ctrl+D), when readline()
> + returns NULL, distinguishable from an empty string.
> +Debian-Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034078
> +
> +--- a/C-readline.c
> ++++ b/C-readline.c
> +@@ -65,7 +65,13 @@
> + /* rl_cleanup_after_signal(); rl_clear_signals(); no effect :-( 1.3 */
> + /* lua_pushstring(L, line); */
> + /* 3.2 did lua_pushstring create a copy of the string ? */
> +- lua_pushfstring(L, "%s", line); /* 3.2 */
> ++ /* lua_pushfstring(L, "%s", line); 3.2 */
> ++ if (line == NULL) { /* 3.3 fix by zash.se, Prosody developer */
> ++ lua_pushnil(L);
> ++ } else {
> ++ lua_pushfstring(L, "%s", line);
> ++ // lua_pushstring(L, line); should be fine as well
> ++ }
> + if (tty_stream != NULL) { fclose(tty_stream); }
> + free(line); /* 3.2 fixes memory leak */
> + return 1;
> +@@ -135,13 +141,15 @@
> + return 0;
> + }
> +
> +-static int c_write_history(lua_State *L) { /* filename in, returncode out */
> ++/* unused ...
> ++static int c_write_history(lua_State *L) { // filename in, returncode out
> + size_t len;
> + const char *filename = lua_tolstring(L, 1, &len);
> + lua_Integer rc = write_history(filename);
> + lua_pushinteger(L, rc);
> + return 1;
> + }
> ++*/
> +
> + static int c_history_truncate_file(lua_State *L) { /* filename,num in rc out */
> + size_t len;
> diff --git a/debian/patches/series b/debian/patches/series
> new file mode 100644
> index 0000000..84626e5
> --- /dev/null
> +++ b/debian/patches/series
> @@ -0,0 +1 @@
> +eof.patch
--
Sebastian Ramacher
Reply to: