Module Name: src Committed By: martin Date: Wed Nov 29 18:59:00 UTC 2023
Modified Files: src/sys/dev/wscons [netbsd-9]: wsemul_vt100.c Log Message: Pull up following revision(s) (requested by gutteridge in ticket #1772): sys/dev/wscons/wsemul_vt100.c: revision 1.47 sys/dev/wscons/wsemul_vt100.c: revision 1.48 PR/56223: David Shao ^[]8;;^G make console unresponsive. From OpenBSD: In `string' state, accept bell (^G) as an end of sequence in addition to `ESC \', as supported by xterm; some third-party software such as ncmpcpp rely upon this. fix the NetBSD tag. To generate a diff of this commit: cvs rdiff -u -r1.45 -r1.45.4.1 src/sys/dev/wscons/wsemul_vt100.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/wscons/wsemul_vt100.c diff -u src/sys/dev/wscons/wsemul_vt100.c:1.45 src/sys/dev/wscons/wsemul_vt100.c:1.45.4.1 --- src/sys/dev/wscons/wsemul_vt100.c:1.45 Mon Sep 3 16:29:34 2018 +++ src/sys/dev/wscons/wsemul_vt100.c Wed Nov 29 18:59:00 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: wsemul_vt100.c,v 1.45 2018/09/03 16:29:34 riastradh Exp $ */ +/* $NetBSD: wsemul_vt100.c,v 1.45.4.1 2023/11/29 18:59:00 martin Exp $ */ /* * Copyright (c) 1998 @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: wsemul_vt100.c,v 1.45 2018/09/03 16:29:34 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: wsemul_vt100.c,v 1.45.4.1 2023/11/29 18:59:00 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_wsmsgattrs.h" @@ -429,7 +429,13 @@ wsemul_vt100_output_c0c1(struct wsemul_v /* ignore */ break; case ASCII_BEL: - wsdisplay_emulbell(vd->cbcookie); + if (edp->state == VT100_EMUL_STATE_STRING) { + /* acts as an equivalent to the ``ESC \'' string end */ + wsemul_vt100_handle_dcs(vd); + edp->state = VT100_EMUL_STATE_NORMAL; + } else { + wsdisplay_emulbell(vd->cbcookie); + } break; case ASCII_BS: if (vd->ccol > 0) { @@ -489,7 +495,7 @@ wsemul_vt100_output_c0c1(struct wsemul_v break; case ST: /* string end 8-bit */ /* XXX only in VT100_EMUL_STATE_STRING */ - wsemul_vt100_handle_dcs(edp); + wsemul_vt100_handle_dcs(vd); edp->state = VT100_EMUL_STATE_NORMAL; break; #endif