From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id yEahMUVGemimcxcAWB0awg (envelope-from ) for ; Fri, 18 Jul 2025 09:04:05 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=0Rl1H9V+; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=lGmbxB7M; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=mu6FAWAy; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=SX3obh9D; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id C5BE11E11C; Fri, 18 Jul 2025 09:04:05 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-9.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id E3A911E089 for ; Fri, 18 Jul 2025 09:04:04 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 843653851AB4 for ; Fri, 18 Jul 2025 13:04:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 843653851AB4 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=0Rl1H9V+; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=lGmbxB7M; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=mu6FAWAy; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=SX3obh9D Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by sourceware.org (Postfix) with ESMTPS id 7324C3860009 for ; Fri, 18 Jul 2025 13:02:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7324C3860009 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7324C3860009 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=195.135.223.131 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1752843743; cv=none; b=s6BphqXnN8PG1VmINsnlLOTVHhZJmhFI/qfgC2mCLf7izbPY2hcGC1ut76pQYKtx3kUOshMkc/LIVnh1co5y69JOPG/DGPD5GcEZhi5XKlpgA0bE9GtnB01xfBx01TIuO2D+awlJVYGSILw98r4XhdxXdr5hcVTpSSy6txudw/A= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1752843743; c=relaxed/simple; bh=3WfqauONtN5bsedI73S6KUnNshrDqvtEGXh6Hli+fB8=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-ID:MIME-Version; b=k1vZkIZrQYr+/qrv8APWjp7OLcVghYd6oAv1c1lzr89pD9F6UPFfC3fKCeJTQ6aWJvjBnyLmShA3oBCcKrAtrj50xXTAbeUWy9KNEXoD288rN3/3UtDxpteSVS/5bgqVczKoXQq7kGRU1QOcvVE+wkU9hu3aUyGxLm0FFluiUOk= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7324C3860009 Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id A21541F832 for ; Fri, 18 Jul 2025 13:01:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1752843717; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oLAAZqtsRWViJtd4aJWUXXET/mlJ9vIXjCOI5DL0lAk=; b=0Rl1H9V+PjEbsOFeyXk89cNwn70muMhkkJvL7R+XiUKebfamAbn/L9FTg6qqfPvFPrXaZ2 1r9AXC6O+9xQu3dvYL7aJeWuW0XrqpuGlFEX8CLThQ9tTObc2QWgjqZB/ECjRnLxSzDd0L 04rdSnOjUsTL3hC3sWudsk0T7Ldz/rs= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1752843717; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oLAAZqtsRWViJtd4aJWUXXET/mlJ9vIXjCOI5DL0lAk=; b=lGmbxB7Mf8ifZyRWKfplKu8I2oi75pwxEV/0Mzz/n7oOiAZNnumL2naRlDxcXePKDxvYD+ QLUaflkwVBm/weBA== Authentication-Results: smtp-out2.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1752843715; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oLAAZqtsRWViJtd4aJWUXXET/mlJ9vIXjCOI5DL0lAk=; b=mu6FAWAyOK4e4JVOBQN+hrKF3G5zNJgXZ9n00YCBTw53wXH4Cdv+MmoKURNs/cg5eiH9lI bLiLK42IwcgdzlrSmn9agT87iwWDeIDoe3f6QOlv8A3og55hC6+VAw6Utjhz8Fxyv1EIEa PEkfdiV5Zj2+yOm0wIduObjtzs/cZpg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1752843715; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oLAAZqtsRWViJtd4aJWUXXET/mlJ9vIXjCOI5DL0lAk=; b=SX3obh9DoOBga4kZ1CG0IKYiZ6TS+2J+CQdzE1Sjd84UM3LflgPTTTH49N6K+BNleRfh+O BjgHu1zx+dIESlBQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 82C9613A7E for ; Fri, 18 Jul 2025 13:01:55 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id aEZvHsNFemjOHAAAD6G6ig (envelope-from ) for ; Fri, 18 Jul 2025 13:01:55 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH 2/7] [gdb/testsuite] Handle Horizontal Position Absolute in tuiterm Date: Fri, 18 Jul 2025 15:01:48 +0200 Message-ID: <20250718130153.24989-3-tdevries@suse.de> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250718130153.24989-1-tdevries@suse.de> References: <20250718130153.24989-1-tdevries@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spamd-Result: default: False [-2.80 / 50.00]; BAYES_HAM(-3.00)[99.99%]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_CONTAINS_FROM(1.00)[]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; FUZZY_RATELIMITED(0.00)[rspamd.com]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ARC_NA(0.00)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; DBL_BLOCKED_OPENRESOLVER(0.00)[gdb.tui:url,suse.de:mid]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; RCVD_TLS_ALL(0.00)[] X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org I ran the tui testsuite on freebsd with TERM=ansiw, and investigated the first failure, in test-case gdb.tui/tui-init-source.exp. The problem turned out to be the lack of handling a Horizontal Position Absolute [1] sequence "^[[80`" in tuiterm. Add Term::_csi_`, forwarding to Term::_csi_G which handles Cursor Horizontal Absolute [2]. Tested on x86_64-linux. [1] https://vt100.net/docs/vt510-rm/HPA.html [2] https://vt100.net/docs/vt510-rm/CHA.html --- gdb/testsuite/gdb.tui/tuiterm.exp | 8 ++++++++ gdb/testsuite/lib/tuiterm.exp | 10 +++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/gdb.tui/tuiterm.exp b/gdb/testsuite/gdb.tui/tuiterm.exp index fff7c37a56e..0e03bfaa8ea 100644 --- a/gdb/testsuite/gdb.tui/tuiterm.exp +++ b/gdb/testsuite/gdb.tui/tuiterm.exp @@ -451,6 +451,14 @@ proc test_horizontal_absolute { } { "qrstuvwx" "yz01234 " } 7 2 + + Term::_csi_` + check "horizontal position absolute 1" { + "abcdefgh" + "ijklmnop" + "qrstuvwx" + "yz01234 " + } 0 2 } proc test_cursor_position { } { diff --git a/gdb/testsuite/lib/tuiterm.exp b/gdb/testsuite/lib/tuiterm.exp index 71ef6a4eacd..2268b1e28e0 100644 --- a/gdb/testsuite/lib/tuiterm.exp +++ b/gdb/testsuite/lib/tuiterm.exp @@ -155,6 +155,14 @@ namespace eval Term { } } + # Horizontal Position Absolute. + # + # https://vt100.net/docs/vt510-rm/HPA.html + proc _csi_` {args} { + # Same as Cursor Horizontal Absolute. + return [Term::_csi_G {*}$args] + } + # Cursor Up. # # https://vt100.net/docs/vt510-rm/CUU.html @@ -740,7 +748,7 @@ namespace eval Term { _log "wait_for: unsupported escape" error "unsupported escape" } - -re "^\x1b\\\[(\[0-9;\]*)(\[a-zA-Z@\])" { + -re "^\x1b\\\[(\[0-9;\]*)(\[a-zA-Z@`\])" { set cmd $expect_out(2,string) set params [split $expect_out(1,string) ";"] _log "wait_for: _csi_$cmd <<<$expect_out(1,string)>>>" -- 2.43.0