From nobody Thu Dec 18 13:36:43 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1734056361; cv=none; d=zohomail.com; s=zohoarc; b=nHXi6iE8taJryaSbhPnPG8Ce9/PTJUA0A7O4DK2Q+qG3eBrtVcah+OtC+2X8Ed3K2pavF24sYIo37aVNjnptbcXkXFMXCYohE1SIXXNZxw889i9159Z0Zt01qkChozkWtc9pJyjnCY0MbGTI/Sty2foEh0oCWfsB7pmyH9bKDxY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1734056361; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mtvlVveTU6a1IJFvwIAfUGoAJXSSoe/MI5dGkmARYf0=; b=aUrMn6CTf0JmcC+6WuopEMxFZAn8fDcNYRYnwPnVqU+9S+C4wW8xG9JW2JngJsaUC/RZaCWWZqHjPd6sstXa/ChNuEKpnfVvnCfvzvHn+29GIwOK98QNH72OYjz8p14IsVDQBvHwKIPla8UKzn+p8wEw0lqygIkDgWzUCo4XQ/s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1734056361557722.0942657533121; Thu, 12 Dec 2024 18:19:21 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tLvGo-0006Sc-Sk; Thu, 12 Dec 2024 21:19:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tLvGl-0006Rf-DY for qemu-devel@nongnu.org; Thu, 12 Dec 2024 21:19:07 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tLvGg-0007sk-0x for qemu-devel@nongnu.org; Thu, 12 Dec 2024 21:19:07 -0500 Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-519-LdUdWahrNCaiLRYmtrHCFA-1; Thu, 12 Dec 2024 21:18:57 -0500 Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 23ADC1955F42; Fri, 13 Dec 2024 02:18:56 +0000 (UTC) Received: from jsnow-thinkpadp16vgen1.westford.csb (unknown [10.22.88.22]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 32508195605A; Fri, 13 Dec 2024 02:18:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1734056341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mtvlVveTU6a1IJFvwIAfUGoAJXSSoe/MI5dGkmARYf0=; b=NWHuLLkhqPxa6a5x6zQiP53TQfGGZLDc3if+yc1eXEFsflh2G5Pn2DUALCQ2LjGm4KdgLt B2RlQUJyLrXgkgkm2WgmWPiWONVX0gg5aGqTwtce6yeX1bW3NXtXjnhQGRqVZAlvzFnh6s oikxROsLUw+xW+wacNoaHe+vrBrNexI= X-MC-Unique: LdUdWahrNCaiLRYmtrHCFA-1 X-Mimecast-MFC-AGG-ID: LdUdWahrNCaiLRYmtrHCFA From: John Snow To: qemu-devel@nongnu.org Cc: Peter Maydell , Michael Roth , Markus Armbruster , John Snow Subject: [PATCH 02/23] qapi/parser: adjust info location for doc body section Date: Thu, 12 Dec 2024 21:18:05 -0500 Message-ID: <20241213021827.2956769-3-jsnow@redhat.com> In-Reply-To: <20241213021827.2956769-1-jsnow@redhat.com> References: <20241213021827.2956769-1-jsnow@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.496, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1734056362146116600 Content-Type: text/plain; charset="utf-8" Instead of using the info object for the doc block as a whole (which always points to the very first line of the block), update the info pointer for each call to ensure_untagged_section when the existing section is otherwise empty. This way, Sphinx error information will match precisely to where the text actually starts. For example, this patch will move the info pointer for the "Hello!" untagged section ... > ## <-- from here ... > # Hello! <-- ... to here. > ## Signed-off-by: John Snow --- scripts/qapi/parser.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py index adc85b5b394..36cb64a677a 100644 --- a/scripts/qapi/parser.py +++ b/scripts/qapi/parser.py @@ -687,7 +687,11 @@ def end(self) -> None: def ensure_untagged_section(self, info: QAPISourceInfo) -> None: if self.all_sections and not self.all_sections[-1].tag: # extend current section - self.all_sections[-1].text +=3D '\n' + section =3D self.all_sections[-1] + if not section.text: + # Section is empty so far; update info to start *here*. + section.info =3D info + section.text +=3D '\n' return # start new section section =3D self.Section(info) --=20 2.47.0