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....@packages.debian.org
> Usertags: unblock
> X-Debbugs-Cc: lua-readl...@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 <sgolo...@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 via email to