X-Loop: help-debbugs@HIDDEN Subject: bug#71776: 31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc. Resent-From: Vincenzo Pupillo <v.pupillo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Tue, 25 Jun 2024 14:17:02 +0000 Resent-Message-ID: <handler.71776.B.171932499521031 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 71776 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 71776 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.171932499521031 (code B ref -1); Tue, 25 Jun 2024 14:17:02 +0000 Received: (at submit) by debbugs.gnu.org; 25 Jun 2024 14:16:35 +0000 Received: from localhost ([127.0.0.1]:37515 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sM6yJ-0005T9-8b for submit <at> debbugs.gnu.org; Tue, 25 Jun 2024 10:16:35 -0400 Received: from lists.gnu.org ([209.51.188.17]:37240) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <v.pupillo@HIDDEN>) id 1sM6yD-0005Sw-TO for submit <at> debbugs.gnu.org; Tue, 25 Jun 2024 10:16:33 -0400 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 <v.pupillo@HIDDEN>) id 1sM6yB-0001E1-V4 for bug-gnu-emacs@HIDDEN; Tue, 25 Jun 2024 10:16:27 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <v.pupillo@HIDDEN>) id 1sM6yA-0003ih-6i for bug-gnu-emacs@HIDDEN; Tue, 25 Jun 2024 10:16:27 -0400 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-a72477a6096so324784766b.1 for <bug-gnu-emacs@HIDDEN>; Tue, 25 Jun 2024 07:16:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719324983; x=1719929783; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=TWDenCdXRZfHQkPOJqI8pikbWEaAhIFv6OxBU9nRBNk=; b=gFQKoUREOHZRaSVaBHJ9zPBPk+XyBlxgn/ePcR4CLEmLIUEQgca4i0Ys95vTgdLdM6 wRQWl/YnRobDOuivTKcgJ8v0pSavPM3whyEhLKNwTK49uBz5u05LvtkVocyVxjsP3hPz Cxf4G5Ei0erwheTp6wPAxX3lCpM5LUSJlTrHRq8FObtlhzmk9E7fW3iLDlCKJSg/0Vcx ZRFGEZzorXm8AotFb8YMArqR7x7z0ZwMWsc89aaFYfLfWHsT3x8ookz+qmuY2Uv4Ed1H eZ7+E6mrAzFR+oLhqp0ngeBr/tu8x4noSVZ+jEYBFKc5FH/iM2BijG3q6TC9VJVDpVH/ sECw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719324983; x=1719929783; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=TWDenCdXRZfHQkPOJqI8pikbWEaAhIFv6OxBU9nRBNk=; b=VtVvio8g0DbJDPgirkseOgrtgnxV+J6o1DC1DMmzAlliGXMovGYh4E6B23cHWpsF8D 6pRNLiLEmg8OqgW3gG3OBAa657pMdUia+Du2TyVyVIPjj+T4UMFSrv8rMxkibxwYrAR6 HxKsgO8z8aHy1iSqfv7Od3N0fjMakVawP/HzGOXlyoZO7TxLjVvJMnVQkOdp8gY2CJVe 2pK1gM/6t1RXmgUGFKOX7Tlbg+34/EfU+3gOOHRHPn0L2twD5mXDdoQ4j3FzOJYNHI3Q hVKjwqRRJJapZoNjj43+ly4VT1vZIyevgoMCsizziv8CimkStCozeueEWMPwt/jB2ebk AihA== X-Gm-Message-State: AOJu0YyNoLcHEc8/OA3zAZ0f9dYqy+yNUDCeIKpBdJ2ZzWXK6tXd5QSO z3HogDcgbrji1eu1mcMmmPSJYmBNn/VAZFLLLW+YJwzyz/4l5ChPeV66Vw== X-Google-Smtp-Source: AGHT+IFZYdBfpXar3aje8ItjWDdbKTHwYNeJ0MDeeIs0j7Hj7yH9u3wLuJp07l4qnPwHkDGHl2GxAQ== X-Received: by 2002:a17:906:37cf:b0:a70:3a15:110d with SMTP id a640c23a62f3a-a7245c642damr427181266b.69.1719324983083; Tue, 25 Jun 2024 07:16:23 -0700 (PDT) Received: from 3-191.divsi.unimi.it (3-191.divsi.unimi.it. [159.149.3.191]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6fe4eeb106sm394521166b.167.2024.06.25.07.16.22 for <bug-gnu-emacs@HIDDEN> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Jun 2024 07:16:22 -0700 (PDT) From: Vincenzo Pupillo <v.pupillo@HIDDEN> Date: Tue, 25 Jun 2024 16:16:21 +0200 Message-ID: <2796980.fDdHjke4Dd@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart2788866.vYhyI6sBWr" Content-Transfer-Encoding: 7Bit Received-SPF: pass client-ip=2a00:1450:4864:20::62d; envelope-from=v.pupillo@HIDDEN; helo=mail-ej1-x62d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --nextPart2788866.vYhyI6sBWr Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" Hi, The use of font lock faces by jsdoc in js-ts-mode is different from that done in other major-modes such as java-mode or c++-mode. This patch makes them more similar. Thanks. Vincenzo --nextPart2788866.vYhyI6sBWr Content-Disposition: attachment; filename="0001-Conforming-use-of-font-lock-faces-in-jsdoc.patch" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="x-UTF_8J"; name="0001-Conforming-use-of-font-lock-faces-in-jsdoc.patch" From a81051ab74bd8bb29843206beaf481cf8270b4aa Mon Sep 17 00:00:00 2001 From: Vincenzo Pupillo <v.pupillo@HIDDEN> Date: Tue, 25 Jun 2024 15:54:17 +0200 Subject: [PATCH] Conforming use of font lock faces in jsdoc * lisp/progmodes/js.el (js--treesit-font-lock-settings): Use 'font-lock-doc-face' for 'document' node type, font-lock-constant-face for 'tag_name' and 'font-lock-type' face for 'type'. * lisp/progmodes/js.el (js-ts-mode): Add 'document' to 'treesit-font-lock-feature-list'. --- lisp/progmodes/js.el | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el index 529b31669ed..e9962c36a46 100644 --- a/lisp/progmodes/js.el +++ b/lisp/progmodes/js.el @@ -3636,10 +3636,16 @@ js--treesit-font-lock-settings :override t '((escape_sequence) @font-lock-escape-face) + ;; "document" should be first, to avoid overlap. + :language 'jsdoc + :override t + :feature 'document + '((document) @font-lock-doc-face) + :language 'jsdoc :override t :feature 'keyword - '((tag_name) @font-lock-keyword-face) + '((tag_name) @font-lock-constant-face) :language 'jsdoc :override t @@ -3649,17 +3655,12 @@ js--treesit-font-lock-settings :language 'jsdoc :override t :feature 'property - '((type) @font-lock-variable-use-face) + '((type) @font-lock-type-face) :language 'jsdoc :override t :feature 'definition - '((identifier) @font-lock-variable-name-face) - - :language 'jsdoc - :override t - :feature 'comment - '((description) @font-lock-comment-face)) + '((identifier) @font-lock-variable-name-face)) "Tree-sitter font-lock settings.") (defun js--fontify-template-string (node override start end &rest _) @@ -3933,7 +3934,7 @@ js-ts-mode ;; Fontification. (setq-local treesit-font-lock-settings js--treesit-font-lock-settings) (setq-local treesit-font-lock-feature-list - '(( comment definition) + '(( comment document definition) ( keyword string) ( assignment constant escape-sequence jsx number pattern string-interpolation) -- 2.45.2 --nextPart2788866.vYhyI6sBWr--
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Vincenzo Pupillo <v.pupillo@HIDDEN> Subject: bug#71776: Acknowledgement (31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc.) Message-ID: <handler.71776.B.171932499521031.ack <at> debbugs.gnu.org> References: <2796980.fDdHjke4Dd@HIDDEN> X-Gnu-PR-Message: ack 71776 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 71776 <at> debbugs.gnu.org Date: Tue, 25 Jun 2024 14:17:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 71776 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 71776: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D71776 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#71776: 31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc. Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 27 Jun 2024 09:48:02 +0000 Resent-Message-ID: <handler.71776.B71776.17194816533678 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71776 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Vincenzo Pupillo <v.pupillo@HIDDEN>, Dmitry Gutov <dmitry@HIDDEN> Cc: 71776 <at> debbugs.gnu.org Received: via spool by 71776-submit <at> debbugs.gnu.org id=B71776.17194816533678 (code B ref 71776); Thu, 27 Jun 2024 09:48:02 +0000 Received: (at 71776) by debbugs.gnu.org; 27 Jun 2024 09:47:33 +0000 Received: from localhost ([127.0.0.1]:41046 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sMlj3-0000xE-Cq for submit <at> debbugs.gnu.org; Thu, 27 Jun 2024 05:47:33 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60322) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sMlj1-0000wz-Kp for 71776 <at> debbugs.gnu.org; Thu, 27 Jun 2024 05:47:31 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sMlit-0004F0-Eg; Thu, 27 Jun 2024 05:47:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=WQQuVGPiiZQGRTZgD7mckgQbBfsJ/doj4+GRDUkteUc=; b=bXrhaCWrkAYf PTo4wnmSPE6rr4016aQ0XPtIomgpDaifRclN5+rSBdgORQqEOCsUBX/UVwfCiJVGIONdwVwf1tf9/ YAId/bwpFNBHRunuNZuHWZhKWtf1QvIdroAynYKdx41a3N2et2iSWhlyMM14iJmvRGQirOS7+F0CI 77lo9NQRq+AbkvdVCModbgoMpPbSOL1pIFbGroFuOAa4bB9Q7xuGDv3+454dUF+k5njEVbWjPW2H+ ZPm0eLw9kqDNPuYuYgDySEZVEYZldtZS4jsHopqReSH8mZyiGJQpcah3NIY/4vOF+79aVy01D4BoE PclU/HmeD5/iYScsnL/whA==; Date: Thu, 27 Jun 2024 12:47:20 +0300 Message-Id: <86bk3m67kn.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <2796980.fDdHjke4Dd@HIDDEN> (message from Vincenzo Pupillo on Tue, 25 Jun 2024 16:16:21 +0200) References: <2796980.fDdHjke4Dd@HIDDEN> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Vincenzo Pupillo <v.pupillo@HIDDEN> > Date: Tue, 25 Jun 2024 16:16:21 +0200 > > The use of font lock faces by jsdoc in js-ts-mode is different from that done in > other major-modes such as java-mode or c++-mode. This patch makes them more similar. Thanks. Dmitry, any comments? On which branch should we install this, if you agree with the changes?
X-Loop: help-debbugs@HIDDEN Subject: bug#71776: 31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc. Resent-From: Vincenzo Pupillo <v.pupillo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 27 Jun 2024 10:35:01 +0000 Resent-Message-ID: <handler.71776.B71776.17194844668174 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71776 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov <dmitry@HIDDEN>, Eli Zaretskii <eliz@HIDDEN> Cc: 71776 <at> debbugs.gnu.org Received: via spool by 71776-submit <at> debbugs.gnu.org id=B71776.17194844668174 (code B ref 71776); Thu, 27 Jun 2024 10:35:01 +0000 Received: (at 71776) by debbugs.gnu.org; 27 Jun 2024 10:34:26 +0000 Received: from localhost ([127.0.0.1]:41101 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sMmSQ-00027m-Il for submit <at> debbugs.gnu.org; Thu, 27 Jun 2024 06:34:26 -0400 Received: from mail-ej1-f53.google.com ([209.85.218.53]:49456) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <v.pupillo@HIDDEN>) id 1sMmSP-00027a-0m for 71776 <at> debbugs.gnu.org; Thu, 27 Jun 2024 06:34:25 -0400 Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-a727d9dd367so331741966b.3 for <71776 <at> debbugs.gnu.org>; Thu, 27 Jun 2024 03:34:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719484396; x=1720089196; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WOcdVIBNgrGrMHZC0tdEKjExZeSYJgSeHwgR0UvK+HQ=; b=TmCSFaUz9W5dG5pEp6OZ5BHiApXO29fsrxPQm9Nem/JLLQnlrfD8er3vb7g6IP1ecc RDDSPRn0DqOiml6UlaF9RBsRzCLXL5XLh+e9bAlHyyP2vVUNjkbtjROZ0m1TdOBB4pb0 JAFFyUAJa+misxcf51xp+pHuMos6fSdq4Q5pcHmf/WidtLnsme6N1jXVO2HcLRgiOwNO hcBC8DhUODrXinu2XhaWaGlkxUPr1q27STbO3vcrBPFUxUfxNvtYZZJyGcZZr2EfoCak xYcRzwq7XZqXmYhdHAmt9sh/etWktvDk7SB+AdNYgrHUD0b5shLtQa+P4e+FYLOgy2l+ B5QQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719484396; x=1720089196; 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=WOcdVIBNgrGrMHZC0tdEKjExZeSYJgSeHwgR0UvK+HQ=; b=vprjOm00ooUM9ubmZ+6Wctljh9OpACpXF548CEQmbKSJnVNtutT27bM6JgKL5MEm11 cEAyevliIbOPGCYlgDk2dX8NiEqAlaTkukgDDU4zSAiCLHEHg8hc3JZgSKCzn0a/0BSa vnIqwD4+OLj9V18u6B/DEkLR6EgBmaNSIkoFiId7rbNBWCWJSPw/EXKr4im+/R+7QYOr 7K6yMeC6tLbSidAsxXNSu6ai7SowfCHmRv+wbsA1voqiJCbtYv0BdL7qCM3/TEQZbGcV 16kdX/Q3Ma7Ktqt6hCmw5T4WZdYxngFvKDrbnScLu0LEEYErpQ0uQrMC6EuzWpVWOOc/ YMlw== X-Gm-Message-State: AOJu0Ywm7nLaA0e2DYJfx1QIt/c27FKxwAFz+pS0xmqLwSHE6Q5z9o14 3HSK12VYlXxK3xWeyzlIZbXy0aiYBL4oU7wJYGOB0ScdZeCveEGs X-Google-Smtp-Source: AGHT+IGmFKaFl59c9I2wBtH2yC7UnVazOoXfcGo9RiIIgqo4PI+iP9JY55RymxhnXHnx+2XOAs8Iow== X-Received: by 2002:a17:906:278d:b0:a6e:fad9:6dbb with SMTP id a640c23a62f3a-a7242b95324mr996374766b.0.1719484396362; Thu, 27 Jun 2024 03:33:16 -0700 (PDT) Received: from fedora.localnet (2-230-139-124.ip202.fastwebnet.it. [2.230.139.124]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a729d7ca3a9sm46209666b.223.2024.06.27.03.33.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jun 2024 03:33:16 -0700 (PDT) From: Vincenzo Pupillo <v.pupillo@HIDDEN> Date: Thu, 27 Jun 2024 12:33:15 +0200 Message-ID: <26457965.1r3eYUQgxm@fedora> In-Reply-To: <86bk3m67kn.fsf@HIDDEN> References: <2796980.fDdHjke4Dd@HIDDEN> <86bk3m67kn.fsf@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) In data gioved=C3=AC 27 giugno 2024 11:47:20 CEST, Eli Zaretskii ha scritto: > > From: Vincenzo Pupillo <v.pupillo@HIDDEN> > > Date: Tue, 25 Jun 2024 16:16:21 +0200 > >=20 > > The use of font lock faces by jsdoc in js-ts-mode is different from that > > done in other major-modes such as java-mode or c++-mode. This patch mak= es > > them more similar. > Thanks. >=20 > Dmitry, any comments? On which branch should we install this, if you > agree with the changes? Please wait. I noticed this morning that there are problems with multiple=20 comment blocks in the same file.=20 Thanks. V.
X-Loop: help-debbugs@HIDDEN Subject: bug#71776: 31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc. Resent-From: Vincenzo Pupillo <v.pupillo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 27 Jun 2024 20:32:02 +0000 Resent-Message-ID: <handler.71776.B71776.171952031614670 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71776 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Dmitry Gutov <dmitry@HIDDEN>, Eli Zaretskii <eliz@HIDDEN> Cc: 71776 <at> debbugs.gnu.org Received: via spool by 71776-submit <at> debbugs.gnu.org id=B71776.171952031614670 (code B ref 71776); Thu, 27 Jun 2024 20:32:02 +0000 Received: (at 71776) by debbugs.gnu.org; 27 Jun 2024 20:31:56 +0000 Received: from localhost ([127.0.0.1]:43471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sMvme-0003oX-4U for submit <at> debbugs.gnu.org; Thu, 27 Jun 2024 16:31:56 -0400 Received: from mail-wr1-f45.google.com ([209.85.221.45]:56333) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <v.pupillo@HIDDEN>) id 1sMvmb-0003oL-V3 for 71776 <at> debbugs.gnu.org; Thu, 27 Jun 2024 16:31:54 -0400 Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-364a3d5d901so5526088f8f.0 for <71776 <at> debbugs.gnu.org>; Thu, 27 Jun 2024 13:31:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719520245; x=1720125045; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5VhPns0i4QnJsepnN+Zhnj1adpoFpFgtfqL364fjyE0=; b=eVtNEcEGWJNe7OxWIdVBNgk4VwcbTTnnxUKE5dLMPgPKXIn/AZzMjCPBwlwM94xqWq 03DZMBsV8CSgGBCAn2lK5Zw7C8TH/dtCwMDZpRtTKlP8B6AxC1D+owgUtgpPQm7oMFKU qjAr4hcVC568xHR0ZqNBx6lIAGkJFeCkh+ezRF101xQsLju6PGJ2UqfEZ6twKeIBUWkk uE1ddo81msiSmDaH/YXtE1DacZkwep9I4WHuyNez/2/JQGecq/FN/RE0L8riB0+sEmZ6 eEKTG5TO87knaWcttJAOuKR6Ogdgi4pYdyp3NVkf6s10FcZ3lFCzH94Bkg0Ga3DaxD+J y8zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719520245; x=1720125045; 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=5VhPns0i4QnJsepnN+Zhnj1adpoFpFgtfqL364fjyE0=; b=ukS3u/0g4XpFUjC4v+S9PDVC6MLv3KUwWcoJ4KVCO02P4kahjFOQtiji+29qmyKAoR cURTabk5uz0/6VgNnuJNnKAaR6tAkf7xP+X5ROHcClwH9qsyCfFUxFF/qOlfo2vYPpZJ p0ONZZZ4KnRIsWdfB9oBqoiueT/rOb3TuRBQ1dx4wL1cDog4SMig6y5htUt950wclLq5 wE3j7aJa4ade6iNXtQKZXixF60HiH/bFjB2eCN4sxWr9I1RbQvictjffzU5JaXkajAUF TGKluqScY/0Em8ZnSQCBC0QcH+nqBCXABqwJy7QagQ+QZE3ESAFsDIB+k+6Yqy37QkCn PODQ== X-Gm-Message-State: AOJu0YyY1DZnmyYakD/wVHsf2KusxBmCxwBxwHHWrC2YEVjWsAPu3dOb tdQ1c0eucFYGcVakbe5t43lT72WwFwPTOG6/8CHRDk2ji8uzF/1dwSCODrkGzYc= X-Google-Smtp-Source: AGHT+IE4ljaDEaIJJfCxrH7xDHI2YQeS7+vnU1PrGo3cUp1R/857llHokqZQMlwnSxoK8dVpcp2haQ== X-Received: by 2002:a2e:3218:0:b0:2ec:55f3:40d with SMTP id 38308e7fff4ca-2ec5b346102mr86472911fa.30.1719516034791; Thu, 27 Jun 2024 12:20:34 -0700 (PDT) Received: from fedora.localnet (2-230-139-124.ip202.fastwebnet.it. [2.230.139.124]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-58612c835b9sm64786a12.3.2024.06.27.12.20.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jun 2024 12:20:33 -0700 (PDT) From: Vincenzo Pupillo <v.pupillo@HIDDEN> Date: Thu, 27 Jun 2024 21:20:32 +0200 Message-ID: <2641653.vYhyI6sBWr@fedora> In-Reply-To: <26457965.1r3eYUQgxm@fedora> References: <2796980.fDdHjke4Dd@HIDDEN> <86bk3m67kn.fsf@HIDDEN> <26457965.1r3eYUQgxm@fedora> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart5106780.Qq0lBPeGtt" Content-Transfer-Encoding: 7Bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --nextPart5106780.Qq0lBPeGtt Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In data gioved=C3=AC 27 giugno 2024 12:33:15 CEST, Vincenzo Pupillo ha scri= tto: > In data gioved=C3=AC 27 giugno 2024 11:47:20 CEST, Eli Zaretskii ha scrit= to: > > > From: Vincenzo Pupillo <v.pupillo@HIDDEN> > > > Date: Tue, 25 Jun 2024 16:16:21 +0200 > > >=20 > > > The use of font lock faces by jsdoc in js-ts-mode is different from t= hat > > > done in other major-modes such as java-mode or c++-mode. This patch > > > makes > > > them more similar. > >=20 > > Thanks. > >=20 > > Dmitry, any comments? On which branch should we install this, if you > > agree with the changes? >=20 > Please wait. I noticed this morning that there are problems with multiple > comment blocks in the same file. >=20 > Thanks. > V. Hi, this patch fix the treesit range rule for the jsdoc parser.=20 As you can see from the attached screenshots, with the previous rule the=20 parser throws an error (look at the modeline). With the new one, it doesn't= =20 happen anymore, and now the font lock is correct (I applied both patches I= =20 sent for this bug). Thanks. Vincenzo --nextPart5106780.Qq0lBPeGtt Content-Disposition: attachment; filename="0001-Fix-treesit-range-rule-for-jsdoc.patch" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="x-UTF_8J"; name="0001-Fix-treesit-range-rule-for-jsdoc.patch" From 0002186ff06659407ec32e76b18b4cf45e6f35f9 Mon Sep 17 00:00:00 2001 From: Vincenzo Pupillo <v.pupillo@HIDDEN> Date: Thu, 27 Jun 2024 16:13:58 +0200 Subject: [PATCH] Fix treesit range rule for jsdoc The parser for jsdoc is local, so it is necessary for the range rule to take this into account. * lisp/progmodes/js.el (js-ts-mode): Add ':local' keyword. * lisp/progmodes/js.el (js-ts-language-at-point): Removed 'js-ts-language-at-point'. --- lisp/progmodes/js.el | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el index 529b31669ed..31e8f2924ac 100644 --- a/lisp/progmodes/js.el +++ b/lisp/progmodes/js.el @@ -3636,10 +3636,16 @@ js--treesit-font-lock-settings :override t '((escape_sequence) @font-lock-escape-face) + ;; "document" should be first, to avoid overlap. + :language 'jsdoc + :override t + :feature 'document + '((document) @font-lock-doc-face) + :language 'jsdoc :override t :feature 'keyword - '((tag_name) @font-lock-keyword-face) + '((tag_name) @font-lock-constant-face) :language 'jsdoc :override t @@ -3649,17 +3655,12 @@ js--treesit-font-lock-settings :language 'jsdoc :override t :feature 'property - '((type) @font-lock-variable-use-face) + '((type) @font-lock-type-face) :language 'jsdoc :override t :feature 'definition - '((identifier) @font-lock-variable-name-face) - - :language 'jsdoc - :override t - :feature 'comment - '((description) @font-lock-comment-face)) + '((identifier) @font-lock-variable-name-face)) "Tree-sitter font-lock settings.") (defun js--fontify-template-string (node override start end &rest _) @@ -3933,7 +3934,7 @@ js-ts-mode ;; Fontification. (setq-local treesit-font-lock-settings js--treesit-font-lock-settings) (setq-local treesit-font-lock-feature-list - '(( comment definition) + '(( comment document definition) ( keyword string) ( assignment constant escape-sequence jsx number pattern string-interpolation) @@ -3944,10 +3945,9 @@ js-ts-mode (treesit-range-rules :embed 'jsdoc :host 'javascript + :local t `(((comment) @capture (:match ,js--treesit-jsdoc-beginning-regexp @capture)))))) - (setq-local treesit-language-at-point-function #'js-ts-language-at-point) - ;; Imenu (setq-local treesit-simple-imenu-settings `(("Function" "\\`function_declaration\\'" nil nil) @@ -3989,17 +3989,6 @@ js-ts--syntax-propertize (put-text-property ns (1+ ns) 'syntax-table syntax) (put-text-property (1- ne) ne 'syntax-table syntax))))) -(defun js-ts-language-at-point (point) - "Return the language at POINT." - (let ((node (treesit-node-at point 'javascript))) - (if (and (treesit-ready-p 'jsdoc) - (equal (treesit-node-type node) "comment") - (string-match-p - js--treesit-jsdoc-beginning-regexp - (treesit-node-text node))) - 'jsdoc - 'javascript))) - ;;;###autoload (define-derived-mode js-json-mode prog-mode "JSON" :syntax-table js-mode-syntax-table -- 2.45.2 --nextPart5106780.Qq0lBPeGtt Content-Disposition: attachment; filename="js-jsdoc-master.png" Content-Transfer-Encoding: base64 Content-Type: image/png; name="js-jsdoc-master.png" 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 --nextPart5106780.Qq0lBPeGtt Content-Disposition: attachment; filename="js_jsdoc_with_patch.png" Content-Transfer-Encoding: base64 Content-Type: image/png; name="js_jsdoc_with_patch.png" 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 --nextPart5106780.Qq0lBPeGtt--
X-Loop: help-debbugs@HIDDEN Subject: bug#71776: 31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc. Resent-From: Dmitry Gutov <dmitry@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 28 Jun 2024 05:52:03 +0000 Resent-Message-ID: <handler.71776.B71776.17195539041659 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 71776 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii <eliz@HIDDEN>, Vincenzo Pupillo <v.pupillo@HIDDEN> Cc: Damien Cassou <damien@HIDDEN>, 71776 <at> debbugs.gnu.org Received: via spool by 71776-submit <at> debbugs.gnu.org id=B71776.17195539041659 (code B ref 71776); Fri, 28 Jun 2024 05:52:03 +0000 Received: (at 71776) by debbugs.gnu.org; 28 Jun 2024 05:51:44 +0000 Received: from localhost ([127.0.0.1]:51374 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sN4WO-0000Qg-7r for submit <at> debbugs.gnu.org; Fri, 28 Jun 2024 01:51:44 -0400 Received: from fhigh6-smtp.messagingengine.com ([103.168.172.157]:51851) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <dmitry@HIDDEN>) id 1sN4WM-0000QN-9j for 71776 <at> debbugs.gnu.org; Fri, 28 Jun 2024 01:51:42 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 1CA43114023F; Thu, 27 Jun 2024 20:50:14 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Thu, 27 Jun 2024 20:50:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1719535814; x=1719622214; bh=w8SAd9MI0gS/XVeTw1caZfOEwdJu5VZUDKuz1ZNg5/0=; b= hQWVzu71uHKRWzap883EItDnC/BgVAMFvVS4u4w59DLL1y3bjIaLUC7PStfcwrWN /DEwiw6vZyUYkbo5YAQy96xXTA6PUt8pAao0CPAqApb8oWPcpzvi2nnr7T6cC6q5 KAvY/zazfzsNUsP+MK+2jshdlxy2HGCOASVhlHZ1FIOlhD8ZzQGkk5kVrFMYkPOZ z5WhUKGfUpg7LamER98q8XNaGCmNjAxBGabafcbhjhEMLk5hIgjk4kA2STAaM6Vp pNVOlrOUOH8as+9RoFdFqg7ufmz2TpMwNtKN9FgnZPNpCIYuFZRZRD6nGMNuXwsK 3QpwRqhIAR2GVUp/2IY9YA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1719535814; x= 1719622214; bh=w8SAd9MI0gS/XVeTw1caZfOEwdJu5VZUDKuz1ZNg5/0=; b=n g37FlOyEP/4pbeKSCSYjZkmmJJdIaCw+/531VypG3FPaRmE06T5hGT0xnSMKgz0G fGr5gI5MvhNksC6GiTb1uSiMEApwRSjhdRqz8/1b1CnF+Q9z/JixVaP08d8aiEGG R5iybU5+1W5CAx/KAkT6529tF9q+vCgX7hKH3fPbZlfQAeBkco9ZB5Wghfgw3buN g6/WAapcWWh1yvMErEkxJCrxiyX7C35VR5WG3t2TiT858hFWHfxyuxlGrFjb0qhs YkY5L4vaunLrMrkVFr4/5rgwQiMDZlZYbfbrlAaaKoHIKQy1n0cRNuGgTwwAXA1I dftgpjkk1RRZ42b8Mm8ag== X-ME-Sender: <xms:xQh-ZgoE0ZH0kWYDMrWVjPEFQl4rKfVdhRWp-ZBe91BDLI7cMbRZBQ> <xme:xQh-ZmrQzYzWju7NIW3Y4cny-SDuAtcF2qBfWVlH78-ONwVzA3xzEEmw6mlCuIxFC zFBM4lNRCCuZAXESwY> X-ME-Received: <xmr:xQh-ZlNR-eFnsw6-jrbmNZm4KvfAfdLowAHocPj7R2DtsrOGLXFfvobcJhYhxkm1GKr0> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrtdehgdegtdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddvjeenucfhrhhomhepffhmihht rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth gvrhhnpeetudeljeegheetgfehgeejkeeuhedvveeikeeufedtvddtveefhfdvveegudej heenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumh hithhrhiesghhuthhovhdruggvvh X-ME-Proxy: <xmx:xQh-Zn6en22cl5GMc1oli-3lY1AbpIZsGEFAjOa77ceq1-LDxqHtJg> <xmx:xQh-Zv5zx7Fi9kjhgmVgG2M9-AUw1ZOAvvfMc-XQshpBjpVG1Z7Tbw> <xmx:xQh-ZngzMZePriuZlWRO5cZV1KaHWJ_--e9bt15MAxf11KQN5UIvIQ> <xmx:xQh-Zp5LbolzrJ8J22ykf7ukgDINIOLcKhJbgE22AU1-lUCpl8QZUQ> <xmx:xgh-Zi1w9pxLq_nSgvJ3gHTp8S9iRP57uOcQaYiiNPCWW9TGblbLrnzg> Feedback-ID: i0e71465a:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 27 Jun 2024 20:50:12 -0400 (EDT) Message-ID: <beac41b3-42e6-47e8-8540-98c659cc075a@HIDDEN> Date: Fri, 28 Jun 2024 03:50:10 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <2796980.fDdHjke4Dd@HIDDEN> <86bk3m67kn.fsf@HIDDEN> Content-Language: en-US From: Dmitry Gutov <dmitry@HIDDEN> In-Reply-To: <86bk3m67kn.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) Hi! On 27/06/2024 12:47, Eli Zaretskii wrote: >> From: Vincenzo Pupillo<v.pupillo@HIDDEN> >> Date: Tue, 25 Jun 2024 16:16:21 +0200 >> >> The use of font lock faces by jsdoc in js-ts-mode is different from that done in >> other major-modes such as java-mode or c++-mode. This patch makes them more similar. > Thanks. > > Dmitry, any comments? On which branch should we install this, if you > agree with the changes? It looks like an improvement (thanks!), and as a change to the feature added just recently, should go to emacs-30 - the second revision of the patch, naturally. Also Cc'ing Damien who did the original work.
Received: (at control) by debbugs.gnu.org; 30 Jun 2024 05:32:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jun 30 01:32:51 2024 Received: from localhost ([127.0.0.1]:54448 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sNnBD-0003kk-Jn for submit <at> debbugs.gnu.org; Sun, 30 Jun 2024 01:32:51 -0400 Received: from mail-lf1-f41.google.com ([209.85.167.41]:54344) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>) id 1sNnBB-0003kX-JW for control <at> debbugs.gnu.org; Sun, 30 Jun 2024 01:32:50 -0400 Received: by mail-lf1-f41.google.com with SMTP id 2adb3069b0e04-52ce01403f6so2188497e87.0 for <control <at> debbugs.gnu.org>; Sat, 29 Jun 2024 22:32:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719725504; x=1720330304; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=QwpdCo2oWMb/AjzXxM8AbF/7gBESwxhd2GzUnjyXou8=; b=YXwKRfOPPWt/TLKp7ZtLUWl4E0O7H/ygNd2ntNPUJknk+tTvZ1EPn9aeQUyGXoU5EO xA9ueMqKwxJtePmDPyX7WZmiZiX+bVSoSOQks9krwR0VwGNgsFb4Z+WsLBko//++UYpe gPEIiQEzJaKIN374gQpEklshbmQF2vAZsaPU5Fy1LisGhi0VKwmZUi9a2wnDUbujaYOr HYC6VgGFe2O4uCf4qKzGwglv7h0d8tIILyKiC2xiOlgvVPZoEGB7hgriQg4PMzU/g7kU 7GXSq+30cqWeEHKDEFIBGnUAXrHL2jNFHz+tOYFflgge73EtR9sVd90grxqsHNZKpJxf BM5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719725504; x=1720330304; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=QwpdCo2oWMb/AjzXxM8AbF/7gBESwxhd2GzUnjyXou8=; b=rZHviHIq76HI4606i357L7UTRLJqZx860rcQcsOvQaEb3fKicuoapsyLpWkmT+TeRZ Igy/TSYToUhonZ8tpdT+g+Zv8IhF2Uj60YnUwm0gkQqA7G7ovNHSVYtOYh4pa4dkHXGq TdrIXbhrfEbJQSZVrLvEc1rnZ8hnbSjGuELPRKdrZopv4CzrtuWwr622bmz0wrka8MFg b/ee0Atkd1dCWQwPXSfN6Oc1qGb4itQskEwKXn2fUecn3NG2gTY/EJFdGg9OoS6gi0ge FC2/gYyBzTK/31eN2vw3NdgGOlWI9wX8k0IW0LKK0v6Gqg9KFZ0/O+SVK2s1iGWfbRcJ 3JpQ== X-Gm-Message-State: AOJu0Yzlph/DT15Mq7SScXvggksYmL2F6Xr3m318nFpxQ0LCVhojnZwl aDeDvPkpqPT+1AG4O14/Dhrug3o+TzpZakesja4wOsM6220T7xWpJvbFIOFTTSLvxh/SWX58MXV pDL4R6MJyE/qN/Rf+ZTvm9GqRvrhhr3yTOFI= X-Google-Smtp-Source: AGHT+IGE6toD/J8N8ElWGML5L0unozZCdBC3yZdm0RncCufwHgx2ffRfMcD1hF7L/T3ALh2iijR/Ck1scfFFaZf9jq4= X-Received: by 2002:a2e:8003:0:b0:2ea:e57c:a55b with SMTP id 38308e7fff4ca-2ee5e381f5cmr15854681fa.31.1719725503437; Sat, 29 Jun 2024 22:31:43 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sat, 29 Jun 2024 22:31:43 -0700 From: Stefan Kangas <stefankangas@HIDDEN> MIME-Version: 1.0 Date: Sat, 29 Jun 2024 22:31:43 -0700 Message-ID: <CADwFkmnxsyzusUFOOdjHuNFUznVMfXFoHSeQWzQ89hkRJLNybw@HIDDEN> Subject: control message for bug #71776 To: control <at> debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) severity 71776 wishlist quit
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.