From patchwork Tue Jan 20 23:17:35 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1681 Return-Path: X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1768951151; bh=+lZx3+iofh9NXfB2OxQLB27G420kGAaTDN1WzzfEG5U=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=Bq1x41qrkLihtCQYvLahfedZiSuw1tAlDeRfix0V8cda1Rjkgpqm+dak520UC5KL5 +2sIbdPSXQt5y+sfzLwGtwxFpgak0P9sYuitDeRawsdkcBzHwv+euxDVhNjQrmrL7t uEJ6C37CpohL1EFBVKPD5wJEABi0GGlMkn6u/Yw3wMl+GMD+vR1oQlcagJdpUHfmqb mPJiktyjrp7n3FlPd+TcbP1qfG09vl+wP9E97k+K3qh03XGyg2xGGAEg2yhZ9dLjza UxxD896bNY60FLNn1wjM/KoK+Uoup58yHHUBBtQ7nhlEtGM99FSKRUQDlrrCXtPJkN ob5/C5x/G2Ojg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D9E5769589 for ; Tue, 20 Jan 2026 16:19:11 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id QhnfP_hMbpvR for ; Tue, 20 Jan 2026 16:19:11 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1768951151; bh=+lZx3+iofh9NXfB2OxQLB27G420kGAaTDN1WzzfEG5U=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=Bq1x41qrkLihtCQYvLahfedZiSuw1tAlDeRfix0V8cda1Rjkgpqm+dak520UC5KL5 +2sIbdPSXQt5y+sfzLwGtwxFpgak0P9sYuitDeRawsdkcBzHwv+euxDVhNjQrmrL7t uEJ6C37CpohL1EFBVKPD5wJEABi0GGlMkn6u/Yw3wMl+GMD+vR1oQlcagJdpUHfmqb mPJiktyjrp7n3FlPd+TcbP1qfG09vl+wP9E97k+K3qh03XGyg2xGGAEg2yhZ9dLjza UxxD896bNY60FLNn1wjM/KoK+Uoup58yHHUBBtQ7nhlEtGM99FSKRUQDlrrCXtPJkN ob5/C5x/G2Ojg== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id C68D16957E for ; Tue, 20 Jan 2026 16:19:11 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1768951149; bh=YK8YL4GetUHaDCy5qihuZHOqvioJZtBytOv80tgsQyU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=H4bYsJLLde0lm3jobEjfeW7DRzWJtN84P3QJpOogQm7xBMlHfa6hUIbtPtSEetrjM Nn6PxS8NbgioznLtWjwT5Tb2KxJ8lQvglF+LeFWYDp9+/6usXQ/YcnbZ19wEoG3WCt LERhJWQ60THPQ6tnwC/reLrd2lFK7sEnfB8aVy78zvzbOQ1MpAdraifHNdvfqKzGeo mS7HisPpp2dlPUKiRVYIMlAF8DNh/dt9AoJHq2NltHfSDYrJCxTtmg1HFzlizJHVU0 pJfxft0gVFhJpnmtYb5dv3+UIPnKF4DVgDUoI5Znlyf/8QPspyHmbfxxtuL1Yr8sUF oqileqyIKT/Eg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id EB5C069572; Tue, 20 Jan 2026 16:19:09 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id B3iTT4Dq42Wb; Tue, 20 Jan 2026 16:19:09 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1768951145; bh=yXx0DRMLvCot3JlgT21whY/7PK/8y0c2dEOpDtXrheM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tdpevGCKPW9QSxVI5SgeGYYrHYrLurR7yB6M/xgOvxP09RJUQ+fqD9XO+5BUk6CNE AT60QdPMeoF4uY4U8BW3JiDy/NCGCd/is0ngQWpuU9F876y3KqZ+L+F9OcVfJmlepV Zd3Yc+U1ZYM4K6UAJDUP/ZjSjgqspBLKltIJgH9CX7Dxyy9X3qDI3ErqwnN6g6GEik XCG+uC3VR4tO9/rpvFHgvVM91fEmcmgaWnweLsnN/MClGz/KM9hLRTMGrGMqvDRihV TfblXIpF5Wb912VfTVvlaOfxf6Cs+5FxJNhotycogtra5uLBUe5VQRvmY3VeA5rQ5x 9JPeFWLNcwffQ== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id A60AE6913F; Tue, 20 Jan 2026 16:19:05 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Tue, 20 Jan 2026 16:17:35 -0700 Message-ID: <20260120231814.2033069-9-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260120231814.2033069-1-sjg@u-boot.org> References: <20260120231814.2033069-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: SZVHUZDKBEY5VII3TUVC3DKGJWXUIIV6 X-Message-ID-Hash: SZVHUZDKBEY5VII3TUVC3DKGJWXUIIV6 X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Simon Glass , "Claude Opus 4 . 5" X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 08/36] expo: Add CLI line state to text-input objects List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass Add a struct cli_line_state member to struct scene_txtin to hold the line-editing state for each text-input object. This allows each object to maintain its own editing context. Co-developed-by: Claude Opus 4.5 Signed-off-by: Simon Glass --- include/expo.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/expo.h b/include/expo.h index 248f2363fe1..afaf1e8d107 100644 --- a/include/expo.h +++ b/include/expo.h @@ -509,12 +509,14 @@ struct scene_menitem { * @edit_id: ID of the editable text object (not string ID) * @line_chars: Nominal number of characters in a line * @buf: Text buffer containing current text + * @cls: CLI line state for text editing */ struct scene_txtin { uint label_id; uint edit_id; uint line_chars; struct abuf buf; + struct cli_line_state cls; }; /**