From patchwork Fri Jan 6 10:25:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 62784 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3023E3881D04 for ; Fri, 6 Jan 2023 10:27:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3023E3881D04 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1673000827; bh=kJkCx9qSpyEOJgSbk0rCT0glpH//WHOO7dBUJ+QfHaY=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=JCvz9RNasRdS5Y0q8GShPkfK+hmmq1v2KwtXjHwm5U64oldlQvTRMa+NVoKczOaKG /HevxfQNLxWAm1b2YZWPNdEtqrEjeSbu7Q/V+fzFAE+itZ9ewNHmPMMz3ENn2Fnq1U jKheubqNe8lVG/K8wR7vQMDsMeYnBmroL6nFobHU= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 13D52385B509 for ; Fri, 6 Jan 2023 10:26:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 13D52385B509 Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-16-sqCNwDvZPoaYyP-RKw4uZA-1; Fri, 06 Jan 2023 05:26:06 -0500 X-MC-Unique: sqCNwDvZPoaYyP-RKw4uZA-1 Received: by mail-ed1-f69.google.com with SMTP id c12-20020a05640227cc00b004853521ef55so954909ede.8 for ; Fri, 06 Jan 2023 02:26:06 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kJkCx9qSpyEOJgSbk0rCT0glpH//WHOO7dBUJ+QfHaY=; b=LEsk/mE7aGfN3nbcI/chrFej0rx3LR+yLWd8mqb2e5z2bi8skObH8fSoFqnKhhTJ9V N5DmcCXZy7+hXuC/QBC/TBX8LAtKkP+IioEGNWCz+Gwqa45mWdy5pmCU5V17khLg12kb y1d2XNUHnFuxeJB6LYqr3JbWzpsT1JshSGlpgwyMIW5SbVRcTM4M4swpNtolwVqMl2AQ 5rNnxmT5hgOfQouF14mUPhBiJJ2945Vu2qzjWLGEx+yrHLQBslLsgdZNf4ytLgutYIqp e+4MOKXHZ9Wrs3G7lSj/VlA4FRfPU/zkB96Ciw3fvmr3M3ls8jjf4oDTewGfFEEDfxIL JNtw== X-Gm-Message-State: AFqh2koAvvexxjgLi2smkvoLUQ4SYYMShkYkPXxg/ZJIxxcf35WujBVg FI+8RYdy8mmmDtY9Y2N2GH1cAT6capHmF7yxB1gjf3hCogUTtQSePKz+Rf58jfE79GNLoW0Frzp UzsPQe7D6DnkASnj5ensVzxaUYWAneLQ193gzdfgzBcSeecnLz3e2CBmwAtH3ANU6byA6PaQslg == X-Received: by 2002:a05:6402:2202:b0:48e:bb08:c96 with SMTP id cq2-20020a056402220200b0048ebb080c96mr11848491edb.28.1673000764678; Fri, 06 Jan 2023 02:26:04 -0800 (PST) X-Google-Smtp-Source: AMrXdXuOABRHuqDPbOMkQKAeX5OQVcAe6qZTpxtxRgXf0isabveMELFEd0sheMUB7Omg6yIfkZeqng== X-Received: by 2002:a05:6402:2202:b0:48e:bb08:c96 with SMTP id cq2-20020a056402220200b0048ebb080c96mr11848480edb.28.1673000764487; Fri, 06 Jan 2023 02:26:04 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id f6-20020a056402150600b0049622a61f8fsm366381edw.30.2023.01.06.02.26.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Jan 2023 02:26:04 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 07/15] gdb/testsuite: fix line feed scrolling in tuiterm.exp Date: Fri, 6 Jan 2023 10:25:34 +0000 Message-Id: X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" In a following commit I managed to trigger the line feed scrolling case in tuiterm.exp. This case is currently unhandled, and this commit fills in this missing functionality. The implementation is pretty simple, just scroll all the content up one line at a time until the cursor is back on the screen (a single line of scroll is all that should be needed). This change is untested in this commit, but is required by the next commit. --- gdb/testsuite/lib/tuiterm.exp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gdb/testsuite/lib/tuiterm.exp b/gdb/testsuite/lib/tuiterm.exp index 591c4ca9c4c..22fc9ab2369 100644 --- a/gdb/testsuite/lib/tuiterm.exp +++ b/gdb/testsuite/lib/tuiterm.exp @@ -99,10 +99,24 @@ namespace eval Term { _log_cur "Line feed" { variable _cur_row variable _rows + variable _cols + variable _chars incr _cur_row 1 - if {$_cur_row >= $_rows} { - error "FIXME scroll" + while {$_cur_row >= $_rows} { + # Scroll the display contents. We scroll one line at + # a time here; as _cur_row was only increased by one, + # a single line scroll should be enough to put the + # cursor back on the screen. But we wrap the + # scrolling inside a while loop just to be on the safe + # side. + for {set y 0} {$y < [expr $_rows - 1]} {incr y} { + set next_y [expr $y + 1] + for {set x 0} {$x < $_cols} {incr x} { + set _chars($x,$y) $_chars($x,$next_y) + } + incr _cur_row -1 + } } } }