Received: (at 75456) by debbugs.gnu.org; 10 Jan 2025 13:50:27 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 10 08:50:26 2025 Received: from localhost ([127.0.0.1]:56783 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tWFP8-0002lW-C1 for submit <at> debbugs.gnu.org; Fri, 10 Jan 2025 08:50:26 -0500 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:46159) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <v.pupillo@HIDDEN>) id 1tWFP6-0002kf-QA for 75456 <at> debbugs.gnu.org; Fri, 10 Jan 2025 08:50:25 -0500 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-38632b8ae71so1450662f8f.0 for <75456 <at> debbugs.gnu.org>; Fri, 10 Jan 2025 05:50:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736517018; x=1737121818; 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=KsG8VaGhBRz+Y4ua3MfAZ+eG9qERF3LSMLxdrQS9tA0=; b=erlFdrKIVd6CWCqJ6QbyPVrKGE2fFDL35rBqdpjcdt3B2jKBJsZtWsAiH2LxWSU+9Q K55ErLWtFT8rbuq82zQINIFzL9qNjqI+oZbGFFnXdxajUcxH5khjVw3F/tGjAjawUGNT N8SO3vupk478O57gd53t7+jZlVM3AYuel8sB1NsIx5itwF8N1MsBu4Tg92xdk2s3LG6N eBJn+s2uVPEeCdP6arKOT/k1gJ7QBoB1GU0+j9kbFhl24uXlkuuwglGuu+WsMwJhEhCh 9DWKFqdrvvNgQC067DtSvcbPSO436NhWQ5nVC9rsYvXJYC/LvzaRGbnk74S4WU4hMGbZ P86Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736517018; x=1737121818; 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=KsG8VaGhBRz+Y4ua3MfAZ+eG9qERF3LSMLxdrQS9tA0=; b=r+LxdMfzXnsauJ/+umrki0TQqMrCaf2OM3qd6P8ht5XuppgV55St8ZIDaHH+YP6bAX SMeSkHB+D1n1dPuHTh0NU9Ec2CT+15rYbjoqCMryNk/+kKnpzFAD4ibPsGN6T36P67zS 522OO0ZjbY7a4JWhf4ZeM1j3laRiW1ywgtT1wnio/q5IEd9ZbW73Lcm9yKq8RQogltXr um0N4x8f0fCvUXO0gUbo9iZGspBwbCJYHtNo9IL33wsZx5IqC8YhlHxqcBdOzrLSLjC1 VwT/aMZDDZKX0ED3llJu27pLSuttp1nR5097W3zoFx3/6B4mGdZgTUaXhRsRHiYOmcq1 9osg== X-Forwarded-Encrypted: i=1; AJvYcCXuB/EDpAuCtzYxLuaQ+gMcxy8MQnGXAu/h7oJkIolDyk66+od0UU/wLvEoCgmkkfAhsNFRng==@debbugs.gnu.org X-Gm-Message-State: AOJu0YyP2fV6Ih+m5a044tz0LrvR0MKspKNQAIrHIoAaHYU3eNWXfMHC vgMXdxh/rQTAJotk+atihb5yotenG47NOvhUiao5stmG+CK/WNA6 X-Gm-Gg: ASbGncsLHxaRqH+pMR6CnAnl0f3ouBxgu3DbTwStVBqS2YQhv3xVRgad3iOy3MvvXZK k8T10sQsK35txspeKYtsz5U1i0MK+9qup4UufSkHbTmCQdTySYjYTY7Pa+/Txh7fXYmJamgp7w9 cflhLNIs7eLoZrnMgotJMCnXQJlUFDTUByCzwhnlTaCkDuYJJTasiS7CzruvffE0qb4igOoDCmE ePvYysjPXRyIBG0/FloLzIJkQIKUKVnL6fy6OJBP13uBsJjcrjBghDv4XFRHEygrHycHP+NDNM6 bdKvSqstC1B9YUDHgG1F X-Google-Smtp-Source: AGHT+IFCYA2vxx0UEwGiQ0oBUGcWYic/4jWRcngh2y4MG7psGP+hXCc8pRcxTz2s2lZrbOpoXPHYew== X-Received: by 2002:a05:6000:704:b0:385:fb53:c67 with SMTP id ffacd0b85a97d-38a872fc277mr8708271f8f.3.1736517018185; Fri, 10 Jan 2025 05:50:18 -0800 (PST) Received: from fedora.localnet (2-230-139-124.ip202.fastwebnet.it. [2.230.139.124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-436e9e37d3bsm52559885e9.31.2025.01.10.05.50.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Jan 2025 05:50:17 -0800 (PST) From: Vincenzo Pupillo <v.pupillo@HIDDEN> To: Yuan Fu <casouri@HIDDEN> Subject: Re: bug#75456: 31.0.50; Cannot find the definition of the predicate in `treesit-thing-settings'" sexp-list) Date: Fri, 10 Jan 2025 14:50:17 +0100 Message-ID: <2531079.XAFRqVoOGU@fedora> In-Reply-To: <DC016557-55DD-4F82-9A01-E50CC7E7DF7B@HIDDEN> References: <2719520.lGaqSPkdTl@HIDDEN> <19750222.fSG56mABFh@fedora> <DC016557-55DD-4F82-9A01-E50CC7E7DF7B@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart3598671.dWV9SEqChM" Content-Transfer-Encoding: 7Bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75456 Cc: 75456 <at> debbugs.gnu.org, Juri Linkov <juri@HIDDEN> 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. --nextPart3598671.dWV9SEqChM Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Ciao Yuan In data venerd=C3=AC 10 gennaio 2025 04:23:42 Ora standard dell=E2=80=99Eur= opa centrale,=20 Yuan Fu ha scritto: > > On Jan 9, 2025, at 2:42=E2=80=AFPM, Vincenzo Pupillo <v.pupillo@HIDDEN= om> wrote: > >=20 > > Ciao Juri, > >=20 > > In data gioved=C3=AC 9 gennaio 2025 19:10:28 Ora standard dell=E2=80=99= Europa centrale, > >=20 > > Juri Linkov ha scritto: > >>> Ciao, > >>> this problem occurs with js-ts-mode when jsdoc is enabled. Occurs when > >>> you > >>> place the cursor in a comment highlighted by jsdoc. > >>> This is the error message: > >>>=20 > >>> "treesit-show-paren-data--categorize: peculiar error: ("Cannot find t= he > >>> definition of the predicate in `treesit-thing-settings'" sexp-list)" > >>=20 > >> Recently I fixed bug#75198 and tested it on your mhtml-ts-mode > >> where it works nicely, and (treesit-language-at (point)) > >> returns e.g. 'css' on embedded css. > >>=20 > >> However, now I discovered that (treesit-language-at (point)) > >> returns 'javascript' on embedded jsdoc parts of a js file. > >>=20 > >> I wonder is this intended? > >>=20 > >> Since 'treesit-node-match-p' uses node's parser, I could use > >> (treesit-parser-language (treesit-node-parser (treesit-node-at (point)= ))) > >> that returns 'jsdoc'. > >>=20 > >> But first I'd like to know why treesit-language-at doesn't return the > >> same? > >=20 > > Local parsers, like jsdoc or phpdoc, are "ignored" by several functions > > used by treesit. But I don't know in detail how treesit works. > > I tried to return local parser languages =E2=80=8B=E2=80=8Bin the past,= but both > > indentation and font-locking got messed up. > > I just tried and the result is the same (maybe I did something wrong), = and > > then treesit-parser-list also returns jsdoc as if it were a global pars= er. > >=20 > > @Yuan can be of more help. > >=20 > > Thanks. > >=20 > > Vincenzo >=20 > If local parsers somehow doesn=E2=80=99t work, it=E2=80=99s a bug. What a= re the functions > that ignore local parsers? And how exactly does indentation and font-lock > mess up? >=20 > For indentation, there=E2=80=99s a special condition: if the largest node= at point > is a root node for the local parser, we don=E2=80=99t use it for matching= indent > rules, because it=E2=80=99s impossible to figure out how to indent it; in= stead, > Emacs uses the host parser=E2=80=99s node at that point. (The logic is in > treesit--indent-largest-node-at). >=20 > What do you mean by treesit-parser-list also returns jsdoc as if it were= a > global parser? Does it return the jsdoc parser even you pass nil to the T= AG > parameter? If so, I think it=E2=80=99s because some treesit function acci= dentally > created it when looking for a parser for jsdoc. I=E2=80=99ll try fix that. >=20 > Yuan As I wrote I might have made some mistakes (I tried with the new version of= =20 mhtml-ts-mode which is more complicated than js-ts-mode). So I preferred to= =20 write a patch for js-ts-mode. I could not replicate the indentation problem= s=20 but only the font-locking ones. If you try with the attached javascript file (setting treesit-font-lock-lev= el=20 to 4) you will see the problem and if you invoke (treesit-parser-list) you= =20 will see that jsdoc also appears in the list. Vincenzo p.s. Gmail doesn't like my .js file so I wrote it below: /** * Foo * @param {int} a blah blah */ var foo =3D function(a) { console.log(a); // blah blah }; /** * Bar * @param {int} a blah blah */ var bar =3D function(a) { console.log(a); // blah blah }; --nextPart3598671.dWV9SEqChM Content-Disposition: attachment; filename="0001-language-at-point-function-that-handles-local-parser.patch" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="utf-8"; name="0001-language-at-point-function-that-handles-local-parser.patch" From 5981244ffa33496a6f1bc912acf914836d3559df Mon Sep 17 00:00:00 2001 From: Vincenzo Pupillo <v.pupillo@HIDDEN> Date: Fri, 10 Jan 2025 14:32:37 +0100 Subject: [PATCH] language-at-point function that handles local parser. Just for testing. * lisp/progmodes/js.el (js--treesit-language-at-point): New function. (js-ts-mode): Use the new function. --- lisp/progmodes/js.el | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el index 101b882c718..3d172b2d2da 100644 --- a/lisp/progmodes/js.el +++ b/lisp/progmodes/js.el @@ -3718,6 +3718,23 @@ js--treesit-valid-imenu-entry ("lexical_declaration" (treesit-node-top-level node)) (_ t))) +(defun js--treesit-language-at-point (point) + "Return the language at POINT." + (let* ((node (treesit-node-at point 'javascript)) + (node-type (treesit-node-type node)) + (node-start (treesit-node-start node)) + (node-end (treesit-node-end node))) + (if (not (treesit-ready-p 'jsdoc t)) + 'javascript + (if (equal node-type "comment") + (save-excursion + (message "node start = %s , end = %s" node-start node-end) + (goto-char node-start) + (if (search-forward "/**" node-end t) + 'jsdoc + 'javascript)) + 'javascript)))) + ;;; Main Function ;;;###autoload @@ -3927,6 +3944,7 @@ js-ts-mode ;; Tree-sitter setup. (setq-local treesit-primary-parser (treesit-parser-create 'javascript)) + (setq-local treesit-language-at-point-function #'js--treesit-language-at-point) ;; Indent. (setq-local treesit-simple-indent-rules js--treesit-indent-rules) -- 2.47.1 --nextPart3598671.dWV9SEqChM--
bug-gnu-emacs@HIDDEN
:bug#75456
; Package emacs
.
Full text available.Received: (at 75456) by debbugs.gnu.org; 10 Jan 2025 03:24:02 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 09 22:24:02 2025 Received: from localhost ([127.0.0.1]:55954 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tW5cw-0007AR-3v for submit <at> debbugs.gnu.org; Thu, 09 Jan 2025 22:24:02 -0500 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]:42341) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <casouri@HIDDEN>) id 1tW5cu-00079z-7A for 75456 <at> debbugs.gnu.org; Thu, 09 Jan 2025 22:24:00 -0500 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-2167141dfa1so28446755ad.1 for <75456 <at> debbugs.gnu.org>; Thu, 09 Jan 2025 19:24:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736479434; x=1737084234; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=2cstiCIgPLqgShjPw5gPAvZNwrMY5bKpWddtn9g3Ki0=; b=GKrgRPXFd4DSVK5To2Xcn6yDMJn3Uyfy2IPxhbduu61xDpWXnLSq9+U/jOXv6vBLkz tD4IPFmpkR8NfAvP3onoWwZqMPR3ufr/CGQwRHIk8chIJsorpkrQw+D1yqr6KpYEeHC1 G4n81AcjRYVnqynRClWAz8uAQqdeyrv9OP5m0X1uX41VC3iSY4vpe93ThyFdJRA4b0br 2kON9rjQjsgHi0gz0aVmriZV0OiaNUmwqrSxdl5rKPJEF9mryFjkPHqZpphJhSXVHlgt YWGgfSJdwVMN/08Vi1u9XTAYRQpt1OyJJE+sZ1u1YxUrdjLtP3LqFX4EpOCNpOR7XBQl 26/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736479434; x=1737084234; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2cstiCIgPLqgShjPw5gPAvZNwrMY5bKpWddtn9g3Ki0=; b=O2PlgasClOt434SoO9EW+/d7/UR6NfTYNBXGa01xp2zBqFjWgy6ZK8hx0owRPPDjWK FCQJk1urX+kaOEGEI0g/HAG5lur4TeHxS10wUvsWDa9ncmUXYmUvsy5tFqAR3H2WZrns QSqgzoMfN0uGuIKk69Bx6La4Y2zzE3exQrAk5E30PRkIykMpi2TKRgdmC6K8s4z6rYHq Fea7J0Jf9Tz4SAMq/Mfusldyd8jvdD+REUbAEuJhWwj5DuMlYDRAdsObqFHkEhf/+WaS Yu1Za02Jl8XwbdIYA0v0AKf0TsjbCNbtHzVYS4oSFNs3vonG9HnRdX/6HmJPDMbUaXBj L1RA== X-Forwarded-Encrypted: i=1; AJvYcCV4Oxrf9dgQm9n6zu1clvEA2bL20G+15ml0PqIjtN1EAQsAKrSSN82R9bDf8LmcoFiuTNx5Yw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzDkCA5w5FS3w/rkX78V7qCT2kcYgV8hAhqfA8PHE1ySyPcBJsB 0ZJsZMO4HCqbfvIPIKxgwTcIQRlEpMy1s0+xw1yQJbLRzYRaluxf X-Gm-Gg: ASbGnctr/gjRaNL13CuklBPx1NyrmnpkL5C9n+jC42+C6nNjvqjwoMJ3Ux1pr7AimRb 1cTn7ikkVu/xY9dwEUvR8sp7kzYX20WpnFzrtKUoh6GIzZpnBhfBzr8QmKpu0vMI3MWHIj4GA5p NbURmHmp9mL0Xq9rfjJ6/NL/RPO56MNNktVs188yZeO2oQ5ytfWdtnbR3KQxvcR2GgUzGITksXU 0qIju46ARwwZbp6vm5iZPRFFKPvciO986HwxNMMh6SESumWTsH/f8+dPrMrjtqMoqRZpgdd8oFz GnDV X-Google-Smtp-Source: AGHT+IEY5luWQ+es15rAWJ1jLcJfxnHFWzFuxsTPjjz4axnmVXuT/I0DU//GggtXn0/LDiI8VmTsKQ== X-Received: by 2002:a17:902:c403:b0:216:33f0:58d5 with SMTP id d9443c01a7336-21a8d6c7ca5mr79733815ad.17.1736479433976; Thu, 09 Jan 2025 19:23:53 -0800 (PST) Received: from smtpclient.apple ([2601:646:8f81:6120:d801:ab3e:9baf:5ef1]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21a9f10e2c6sm4927905ad.33.2025.01.09.19.23.53 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 09 Jan 2025 19:23:53 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51\)) Subject: Re: bug#75456: 31.0.50; Cannot find the definition of the predicate in `treesit-thing-settings'" sexp-list) From: Yuan Fu <casouri@HIDDEN> In-Reply-To: <19750222.fSG56mABFh@fedora> Date: Thu, 9 Jan 2025 19:23:42 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <DC016557-55DD-4F82-9A01-E50CC7E7DF7B@HIDDEN> References: <2719520.lGaqSPkdTl@HIDDEN> <87msfzvox7.fsf@HIDDEN> <19750222.fSG56mABFh@fedora> To: Vincenzo Pupillo <v.pupillo@HIDDEN> X-Mailer: Apple Mail (2.3776.700.51) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75456 Cc: 75456 <at> debbugs.gnu.org, Juri Linkov <juri@HIDDEN> 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 (-) > On Jan 9, 2025, at 2:42=E2=80=AFPM, Vincenzo Pupillo = <v.pupillo@HIDDEN> wrote: >=20 > Ciao Juri, >=20 > In data gioved=C3=AC 9 gennaio 2025 19:10:28 Ora standard = dell=E2=80=99Europa centrale,=20 > Juri Linkov ha scritto: >>> Ciao, >>> this problem occurs with js-ts-mode when jsdoc is enabled. Occurs = when you >>> place the cursor in a comment highlighted by jsdoc. >>> This is the error message: >>>=20 >>> "treesit-show-paren-data--categorize: peculiar error: ("Cannot find = the >>> definition of the predicate in `treesit-thing-settings'" sexp-list)" >>=20 >> Recently I fixed bug#75198 and tested it on your mhtml-ts-mode >> where it works nicely, and (treesit-language-at (point)) >> returns e.g. 'css' on embedded css. >>=20 >> However, now I discovered that (treesit-language-at (point)) >> returns 'javascript' on embedded jsdoc parts of a js file. >>=20 >> I wonder is this intended? >>=20 >> Since 'treesit-node-match-p' uses node's parser, I could use >> (treesit-parser-language (treesit-node-parser (treesit-node-at = (point)))) >> that returns 'jsdoc'. >>=20 >> But first I'd like to know why treesit-language-at doesn't return the = same? >=20 > Local parsers, like jsdoc or phpdoc, are "ignored" by several = functions used=20 > by treesit. But I don't know in detail how treesit works. > I tried to return local parser languages =E2=80=8B=E2=80=8Bin the = past, but both indentation=20 > and font-locking got messed up. > I just tried and the result is the same (maybe I did something wrong), = and=20 > then treesit-parser-list also returns jsdoc as if it were a global = parser. >=20 > @Yuan can be of more help. >=20 > Thanks. >=20 > Vincenzo If local parsers somehow doesn=E2=80=99t work, it=E2=80=99s a bug. What = are the functions that ignore local parsers? And how exactly does = indentation and font-lock mess up? For indentation, there=E2=80=99s a special condition: if the largest = node at point is a root node for the local parser, we don=E2=80=99t use = it for matching indent rules, because it=E2=80=99s impossible to figure = out how to indent it; instead, Emacs uses the host parser=E2=80=99s node = at that point. (The logic is in treesit--indent-largest-node-at). What do you mean by treesit-parser-list also returns jsdoc as if it = were a global parser? Does it return the jsdoc parser even you pass nil = to the TAG parameter? If so, I think it=E2=80=99s because some treesit = function accidentally created it when looking for a parser for jsdoc. = I=E2=80=99ll try fix that. Yuan=
bug-gnu-emacs@HIDDEN
:bug#75456
; Package emacs
.
Full text available.Received: (at 75456) by debbugs.gnu.org; 9 Jan 2025 22:42:11 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 09 17:42:11 2025 Received: from localhost ([127.0.0.1]:55209 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tW1EB-0002UD-9c for submit <at> debbugs.gnu.org; Thu, 09 Jan 2025 17:42:11 -0500 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:46560) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <v.pupillo@HIDDEN>) id 1tW1E9-0002Tz-LZ for 75456 <at> debbugs.gnu.org; Thu, 09 Jan 2025 17:42:10 -0500 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3863c36a731so1071459f8f.1 for <75456 <at> debbugs.gnu.org>; Thu, 09 Jan 2025 14:42:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736462523; x=1737067323; 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=m+PtPUnaiu5rVrMJ9Tcg7aAsG5tVLrLoY3bJSQ/nzRU=; b=Y50GbnhRO9Ug4JE440CAy+/ogSK7njTItlclmMBQbrbaxGFd4AaNpla0S4QgiZ08Gq GdbhwFHnqLyaftYnq0A05lhRrOnAYvyF1Ox4Toef/vJPoRTSh8sf3CwXcpY4kcRXLZUL +Jkh+V4SIbFKxkg8KtW6grT9ih7D5N96xYKNm9lNQ1A693DvAFhuD2kotPxpL+ne48RW Qu3BjOtW9CLbwwnAnwCjRWzbvsZmBPeL7eW9HTpSfEHdGZSwZoj+E0ruyAOdD6S2mmsE pNIvVmn+QQIMssibxbMFKg1QQTbSS00wh9u//Vkom46id5XnmWvLQv8Pl7TkeY3iw9Me R/8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736462523; x=1737067323; 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=m+PtPUnaiu5rVrMJ9Tcg7aAsG5tVLrLoY3bJSQ/nzRU=; b=kH7Q6J6rPtj33+zv6iAcImlo6lK1ZH0pt7eRdj/bBiapgE3+GaUqG9i74bSJpFdwde LrsYbs5/Hxrs90bqqnKWK7LiWmzRHxaJnDiSrOW0yTSKJwf6NSf2Oa/G4PZPIBnD41JB /UAmzdGHEpXrgUHBH1pBk74KY6+dWYPpJ/bn8YAS7P4dYeONVDmsEdS9V90SHUS+DLyG ebElWixTeUAa5xsxGvZLVADRQX/g6XRfU/qOYse1EXwAJ0ceAllQdF0dUTHwwEI4P4Si 2L6CNLq5k6v3S3BsbYHU6AHuGx7fq2vG77u/AEd3ZBz5ibl+wbUbsqs2WKZRBZkrnIZG /Vdw== X-Forwarded-Encrypted: i=1; AJvYcCVy8B11SjaGs/MoZ4p2ucT/ttRJoGjz/hv8gtgFtnH3clSNrl4B8Lo113qjAw0Lrx5WEPiw/g==@debbugs.gnu.org X-Gm-Message-State: AOJu0YyY9Mca5CemLXNCBqbY3BHAJ5LzxEIGpdO6e8POuz6w3A5Fvd9m h/gxjQH8uNWR2Drb1ZvSw2grlrCAgarvIIWKQTPLB3PFjjlXwYy2gjp5oA== X-Gm-Gg: ASbGncu0wZD6HgQ75m7B3OAv492flF9uJFkSkq2ZfqXj5afPMQ9LpSbUy5PvKttEh/G lOLyEhZlve3Kog5cJueCqTxou1x83m/Kz3EFEordtit7S2Et21EIbGbnDqzO9XaZr0Q3mIpAMsI i1WaegyHh7K+vHwdUK4xf/nCaMeun1xMEWwz9aeZ3dRoivG1SjfXr7zwW85nAq9X/ZdsaO4ktp6 w4O78jIzYdkXpNdcRddzCHZGEG+K8RjzS7hZ+ZyNNOXUCOGwjrEtSh0g2uhxOUA+gsM3c/JggIP X1/lZZeXnE+Oc088yVJX X-Google-Smtp-Source: AGHT+IEXvnTrbCdBhCP5RUY0exN/F0bWV4oGPLQSnRBK8irLxVLfenqkS17JvlDDAvs2ovwXExDFZA== X-Received: by 2002:a05:6000:712:b0:38a:615c:8225 with SMTP id ffacd0b85a97d-38a87305486mr8124230f8f.15.1736462523028; Thu, 09 Jan 2025 14:42:03 -0800 (PST) Received: from fedora.localnet (2-230-139-124.ip202.fastwebnet.it. [2.230.139.124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-436e9d8fd03sm34799485e9.6.2025.01.09.14.42.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jan 2025 14:42:02 -0800 (PST) From: Vincenzo Pupillo <v.pupillo@HIDDEN> To: Juri Linkov <juri@HIDDEN> Subject: Re: bug#75456: 31.0.50; Cannot find the definition of the predicate in `treesit-thing-settings'" sexp-list) Date: Thu, 09 Jan 2025 23:42:01 +0100 Message-ID: <19750222.fSG56mABFh@fedora> In-Reply-To: <87msfzvox7.fsf@HIDDEN> References: <2719520.lGaqSPkdTl@HIDDEN> <87msfzvox7.fsf@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 75456 Cc: Yuan Fu <casouri@HIDDEN>, 75456 <at> debbugs.gnu.org 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 (-) Ciao Juri, In data gioved=C3=AC 9 gennaio 2025 19:10:28 Ora standard dell=E2=80=99Euro= pa centrale,=20 Juri Linkov ha scritto: > > Ciao, > > this problem occurs with js-ts-mode when jsdoc is enabled. Occurs when = you > > place the cursor in a comment highlighted by jsdoc. > > This is the error message: > >=20 > > "treesit-show-paren-data--categorize: peculiar error: ("Cannot find the > > definition of the predicate in `treesit-thing-settings'" sexp-list)" >=20 > Recently I fixed bug#75198 and tested it on your mhtml-ts-mode > where it works nicely, and (treesit-language-at (point)) > returns e.g. 'css' on embedded css. >=20 > However, now I discovered that (treesit-language-at (point)) > returns 'javascript' on embedded jsdoc parts of a js file. >=20 > I wonder is this intended? >=20 > Since 'treesit-node-match-p' uses node's parser, I could use > (treesit-parser-language (treesit-node-parser (treesit-node-at (point)))) > that returns 'jsdoc'. >=20 > But first I'd like to know why treesit-language-at doesn't return the sam= e? Local parsers, like jsdoc or phpdoc, are "ignored" by several functions use= d=20 by treesit. But I don't know in detail how treesit works. I tried to return local parser languages =E2=80=8B=E2=80=8Bin the past, but= both indentation=20 and font-locking got messed up. I just tried and the result is the same (maybe I did something wrong), and= =20 then treesit-parser-list also returns jsdoc as if it were a global parser. @Yuan can be of more help. Thanks. Vincenzo
bug-gnu-emacs@HIDDEN
:bug#75456
; Package emacs
.
Full text available.Received: (at 75456) by debbugs.gnu.org; 9 Jan 2025 18:12:17 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 09 13:12:17 2025 Received: from localhost ([127.0.0.1]:54191 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tVx0z-0005it-5s for submit <at> debbugs.gnu.org; Thu, 09 Jan 2025 13:12:17 -0500 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:57729) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1tVx0y-0005ie-2m for 75456 <at> debbugs.gnu.org; Thu, 09 Jan 2025 13:12:16 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id B0EB5FF802; Thu, 9 Jan 2025 18:12:08 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: Vincenzo Pupillo <v.pupillo@HIDDEN> Subject: Re: bug#75456: 31.0.50; Cannot find the definition of the predicate in `treesit-thing-settings'" sexp-list) In-Reply-To: <2719520.lGaqSPkdTl@HIDDEN> (Vincenzo Pupillo's message of "Thu, 09 Jan 2025 10:49:44 +0100") Organization: LINKOV.NET References: <2719520.lGaqSPkdTl@HIDDEN> Date: Thu, 09 Jan 2025 20:10:28 +0200 Message-ID: <87msfzvox7.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 75456 Cc: Yuan Fu <casouri@HIDDEN>, 75456 <at> debbugs.gnu.org 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 (-) > Ciao, > this problem occurs with js-ts-mode when jsdoc is enabled. Occurs when you > place the cursor in a comment highlighted by jsdoc. > This is the error message: > > "treesit-show-paren-data--categorize: peculiar error: ("Cannot find the > definition of the predicate in `treesit-thing-settings'" sexp-list)" Recently I fixed bug#75198 and tested it on your mhtml-ts-mode where it works nicely, and (treesit-language-at (point)) returns e.g. 'css' on embedded css. However, now I discovered that (treesit-language-at (point)) returns 'javascript' on embedded jsdoc parts of a js file. I wonder is this intended? Since 'treesit-node-match-p' uses node's parser, I could use (treesit-parser-language (treesit-node-parser (treesit-node-at (point)))) that returns 'jsdoc'. But first I'd like to know why treesit-language-at doesn't return the same?
bug-gnu-emacs@HIDDEN
:bug#75456
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 9 Jan 2025 09:50:08 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 09 04:50:07 2025 Received: from localhost ([127.0.0.1]:50472 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tVpB1-0005Um-KP for submit <at> debbugs.gnu.org; Thu, 09 Jan 2025 04:50:07 -0500 Received: from lists.gnu.org ([2001:470:142::17]:54804) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <v.pupillo@HIDDEN>) id 1tVpAy-0005To-IJ for submit <at> debbugs.gnu.org; Thu, 09 Jan 2025 04:50:06 -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 <v.pupillo@HIDDEN>) id 1tVpAj-0002Gw-Vm for bug-gnu-emacs@HIDDEN; Thu, 09 Jan 2025 04:49:50 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) 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 1tVpAi-0003jV-Ab for bug-gnu-emacs@HIDDEN; Thu, 09 Jan 2025 04:49:49 -0500 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-4361f664af5so8832295e9.1 for <bug-gnu-emacs@HIDDEN>; Thu, 09 Jan 2025 01:49:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736416186; x=1737020986; 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=qXPqiJrELB7CIexAa4ypeLK7mU652il+P4VcMSm4lyE=; b=L9gzPkrNfkZhGYPGDW7yrq0R1MPgIvekIfOIk4hKv4GBr5zdlAyAcfcymvEfM2UYJ/ 7u1lUVhpVpsttoOmke4XNwjjVtfAv0gFBRssR7Cw6WG1VjwLu//IiJhgvJGtBF2EyqFi PTzGwH3++2ndo/wtO3cTdNzMvxjm6QVOQYD0af2pewV9OaNJ9X/XoJCDisdkj5Fm6oWk Z4W8PN0uhZIl79HQMk413WI7nl5kr1ArVwKCI0Hf03SB04LB8R2UUneTdI4iMTcrhwR5 dG/azZv12fm9uEenaVfID0iQK6xqOXZ9d6mjFBczAeo6Gn4h9XYeiJNYqmNySzMLh1yL S3Qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736416186; x=1737020986; 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=qXPqiJrELB7CIexAa4ypeLK7mU652il+P4VcMSm4lyE=; b=k3mMnWfPXpM6lK7oeJSnRad8JUjXE2MeudFX/7wxpX8eu3MP0zlEPdDDo/8XHp9SVn Mk74f78P7PgdNrhokNTxPn2WWkAedAm2QcLlGxQvfsTjf96T/zJjXHcgK6cYxxoJXjPI ADqrdVJQDAe8ORurn8nhSTT2M90trmPaEJipvaCPUz1NSrh1ogaPPVFmr4J2QBP0AG/A 29qGGpon7w5tg7NZMZflllMxVSJBfJIjxjT4lZgmk2O/TNJJ4jayiwtWlqLIxrVA1bPh l2uFQFvOyLeMsy9o89A+Hox1Qj6vZ17KHza0wBvVJWb1JbaUCbQ39RX9dtxgZpaAmlMw oJWA== X-Gm-Message-State: AOJu0YwJbhtX7i51DIwB+/4lvOdCZyu/v35rOzh8wK3BLYsSL3vaxlCP z1dGxNl5TYtKVULfpQEVHvJWzMLv7oEBM6B6xPl4IlyHhAy2y/e3kEvIuw== X-Gm-Gg: ASbGnctzT/IGNvw/Hi72CLvZpW5BuwXgnsXfNNCEE7ot3yUkM5NGVLdKMRHktE4kAvJ AwBPofb7hlrhvqQpbul2i9mHfDdr6/03eESpy/82Hi67g4AQQjqAiIw/OSNU7PX4zFthBSemU2j IQyWyx1wJzvp2wJ8T9G0WxxFEQYNSzdYI2LQF6AHKu/Rcock8K4zUjbhwJGkog6PEU0HrYGm894 JbDKEjrZh/J2yMwjXyZK79Hopn2nCsYHDaKpL8KzCMkrCsNHiu6F1tHytt3ElMeaoFB+S5U2mHI ltuhxgSlyA== X-Google-Smtp-Source: AGHT+IFHahz6FqhrNi3y1cmr4qPEIywkQNmmt2RIU4zgK63pYwkk6cLcOiXuQ1tFUc2jKK5RbiHPAg== X-Received: by 2002:a05:6000:184e:b0:385:f64e:f163 with SMTP id ffacd0b85a97d-38a87312f41mr4785607f8f.32.1736416186161; Thu, 09 Jan 2025 01:49:46 -0800 (PST) Received: from 3-191.divsi.unimi.it (3-191.divsi.unimi.it. [159.149.3.191]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-38a8e37d11csm1338786f8f.16.2025.01.09.01.49.45 for <bug-gnu-emacs@HIDDEN> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Jan 2025 01:49:45 -0800 (PST) From: Vincenzo Pupillo <v.pupillo@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: 31.0.50; Cannot find the definition of the predicate in `treesit-thing-settings'" sexp-list) Date: Thu, 09 Jan 2025 10:49:44 +0100 Message-ID: <2719520.lGaqSPkdTl@HIDDEN> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart2533904.XAFRqVoOGU" Content-Transfer-Encoding: 7Bit Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=v.pupillo@HIDDEN; helo=mail-wm1-x331.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DC_IMAGE_SPAM_HTML=0.1, DC_IMAGE_SPAM_TEXT=0.1, DC_PNG_UNO_LARGO=0.001, 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.0 (+) X-Debbugs-Envelope-To: submit 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: -0.0 (/) This is a multi-part message in MIME format. --nextPart2533904.XAFRqVoOGU Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" Ciao, this problem occurs with js-ts-mode when jsdoc is enabled. Occurs when you place the cursor in a comment highlighted by jsdoc. This is the error message: "treesit-show-paren-data--categorize: peculiar error: ("Cannot find the definition of the predicate in `treesit-thing-settings'" sexp-list)" Could this be due to commit 493bb2eaf1610ec950e4a2f7229d6e1f939064b9 ? GNU Emacs 31.0.50 (build 4, x86_64-pc-linux-gnu, GTK+ Version 3.24.43, cairo version 1.18.2) of 2025-01-09 Thanks. Vincenzo --nextPart2533904.XAFRqVoOGU Content-Disposition: attachment; filename="js_sexp-list_issue.png" Content-Transfer-Encoding: base64 Content-Type: image/png; name="js_sexp-list_issue.png" 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 slLd5ypYrzMAAAAAQGSpmCQEUUlJiTZs2KiUlC46cOCAMjIyKiw1yeVyaevWberWrZtXeWJios46 6yyvMrOSkhI5nb/MogqWuXPnyul0avz4uyrMdmnVqpUGDrxOu3bt0urVa7zWSVKvXr28bvfu3Vs5 OTmea6IF0ueSkhJt27ZNl156qRo0+OXXJVu2bKnOnS+ocCqhXbt379Zrr72u4uJiv7OSgqFp0yY6 44wWys096ik7ePCQWrZs6TW2pk2b6Fe/Ottz265Q7Nc1+Tht27ZNxcUl6tOnt1d5z56Xyul0auPG TUHbL2pyXFaC8VxV9joDAAAAANQ9IZ1hJkmvvvqqnn/+OT3//HNasGCBDh8+rEaNGqtjxw6SpNdf n2nepFq6dbtQbdq0MRdr1apVKikp0dtvv62//32KBg26VR9/vEBNmjTR/fffp+LiYvMmXvbs2aOY mBgNHHidfvzxJxUXF2vXrl9m51TV5s0/aObMWbrjjpFKTGyp//73f8rLy1ObNm103XUDVFJSokmT nq5wSt+JEyc0fPhQJSTEa8+everZs4d++9vfaNq06Z5TyALt85tvvq1JkyZq0qSntGDBAsXGxmrI kCEqKirSnDkfmKv7lZiYqAcffEBffPGlMjL2yeVy6bLLeio6Olrr1q0zV6+WlJQuSko6Uw6HQ82b N9c11/SX0+nUxx8v8NT58suvNHToEN1++22aM+cDNWvWTHfeOValpaVebdlV3f26Jh8ns/z8fM2Z M0dDhgzWiRMn9O2336p167M1fPhQbd26VStXrpSquF/U5rh8qc5zFcjrDAAAAABQ94Q8MNu5c5fu vvtPGjZsiEaOHKmEhHjl5eVp69ZtVTpFqjJ33jnWXCRJuvXWwTpy5Ig2bNioyZOnaMSIYRoyZLAO H87SBx98oOLiEvMmXlau/EaLFy/R4MGD1KhRI+Xk5Gjw4KHmalUyZ84HSk9P1w03XK8//vF2xcbG Kjs7W8uWfaZ3333P8jpSJ06c0MSJkzRu3FglJycrLy9Pr776mhYtWuypE2if165dqwkTHtHw4UP1 4IMPqqysVBs3btLjj8+s9Bc2zfLz87V3b4auvfYanXHGGSotLdWePXv05JMTtXnzD+bq1XLPPXd7 /n/0aK527dqpv/3tIa/TV/ft26dJk57WiBHDNGDAtTp48KDeeeffcjj6eepURXX365p8nKy89dbb OnbsmPr3v1p/+MPvlZ+fr88++1yzZr3hCYKqsl/U9risVOe5CuR1BgAAAACoexwXXXSRy1yI8DZ6 9Chdfnkf3XLLIPMqAEHC6wwAAAAA6q+QXsMMAAAAAAAAiDQEZgAAAAAAAIABp2QCAAAAAAAABsww AwAAAAAAAAwIzAAAAAAAAAADAjMAAAAAAADAILqkpMRcBgAAAAAAANRb0U6n01wGAAAAAAAA1Fuc kgkAAAAAAAAYEJgBAAAAAAAABgRmAAAAAAAAgAGBGQAgbPBDNPbweKGuYt8GAAC1jcAMAAAAAAAA MCAwAwAAAAAAAAwIzAAAAAAAAAADAjMAAAAAAADAgMAMAAAAAAAAMCAwAwAAAAAAAAwIzAAAAAAA AAADAjMAAAAAAADAgMAMAAAAAAAAMIg2FwRiwIBrNW7cnTp6NFcjRtymEydOeNYlJibqrbdma9q0 6Vq0aLHXdjXF3T8rEyY8otWrV2vJkkWaOXOWPvhgriRp8OBBuuWWmzVgwEDzJrUiNTVFN954ozp1 OldxcXHKysrWqlWr9J//vKvc3Fxz9TolUsdu3u+Kiop09OhRpafv0Oeff6EVK1bI5XJ51tfGPpeW lqpzzz1X7733vnlVROvUqZNuuGGgOnfurMaNG+v48ePatm2blixZqhUrVki19HiH2kUXXaSbbrpR 55xzjuLj45STk6Pt27dr0aIlWrdunbl6vXPffX9W3759ddVVV5tXqWvXrpoyZbKeemqyli9fbl5d JVOmPK2SkhI98sij5lURpUWLFjrvvE5q2bKlTjvtNJWUlCg7O1vp6Tu0d+9ec3W/EhMT1aJFC/3w ww/mVSERzL6HM/P7TWFhoTIzf9aiRYu0ZMknKi8v96pfVXXpPSPSjpejR4/S5Zf30S23DDKvAgAA NaRKgZlb06ZNdN11A/Tuu++ZV4WFf/3rZWVn53iVpaenS5J2796tvLw8r3Xh4vrrB2rMmNHasmWL Zs9+U7m5eUpObqPrrhugnj0v1QMPPKh9+/aZN6sT6sLYp02brqysLDmdMWrZsqV+85uL9fDDD2nt 2rV69NHHVVJSIkk6evRojX+BS0tL07XXXlMnvvy4DRhwrcaOHaOMjAzNmzdfBw8eUkJCvLp2TdOE CX/T448/oW+//c68WcT7/e9/r/vu+7M2btyk2bNnq6DguFq1SlT37t110UXdw/ILIMLfueeeq+7d uykvL08//bRFBQUFcjqdOvPMVrr00h764osvtX//fvNmPp155pnq2LFDjQRmwe57JHC/3yQkJKh3 796655671apVK82cOctctUrqynsGx0sAAFAV1QrM1q5dq5tuulELFixUQUGBeXWtW7NmrTIyMszF kqQ777zLXBQWzj//fI0adYeWL1+uyZOneP5KvGLFCi1btkwzZkzXww8/pHHjxgftL8jhoq6MfePG TV773bx589S//9W6++7xuuOOkfrXv16WJC1evESLFy8xbFmR0+n0BGzhqjb7eN5552ns2DH6+uuV evrpKSorK/OsW7LkEyUnv6fo6AZe29QVN9wwULt379b//d+DXq+H99+fI6fT6VUXCESLFi3UvXs3 ZWRkaPly7xmx6enpatq0qaKiwvNKDpHc9+owvt988cWXeumlGbrmmv56443ZYf0+WdPC6XhZm++Z AADAnmoFZu+8829NmfK0rr9+oN5++/+ZV3tJTk7WbbeNUJcuneV0xig9fbtmzpylzZtP/tW5Q4cO mjFjmv7yl/s9Ze5TDv7zn3c1e/abkqSkpCS98cZMPfLIo/ruu++97sMO8ymZVirrcyjcdNONKi0t 07RpMyp82M3M/Fnz5s3XsGFD1b17N8/43dP2n3vued1++21q3bq1cnNzNX/+h5o7d55XG4GMyd3e xIlPadSoO9S2bTtlZWXpo48+0ocffuTVXjDV5bEvXLhIPXpcon79+mnWrDdUVFRU4RRB931PmfJ3 3X77bUpObqtPPvlE//znS/rd736rW265WW3btlVpaanWrFmjV199XYcOHfK6n+TkZA0fPkxdunTW aafF6vDhQ/rvf/+nd999T2PHjtHAgddJkpYuPRnUZWdna/DgoZKkCy+8UMOHD1W7du1VWlqiTZs2 6/XXZ3rNgvPVx3Xr1umxxx7V+PF3a/v2k7M43aZMeVoJCQm6++57vMqD4eabb1JpaalefHGaV1jm tmvXLnORl0DGnJiYqJEjb1dqaqoSEhKUl5enrVu36R//eEaFhYVSgPtWsDVs2FA7duys8FqR5PVl rE2bNho06Fadf/55atq0qbKzc/Tdd9/pzTff8vyho2fPnpow4W8aO3Zchcds0qSJatasmeePDLUx 1ppi5/V/6aWXasSIYUpMTNTBgwf15ptve613C2QfCxcXXHCBysvLtWrVt16Bk9vRo0c9/7/kkkvU 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 nJwcHThwsFbHFKi6PPb+/a9W165pWrhwoa39d8uWLSooKFDnzp0r9DkjI8NzXbSSkpO/vte7dy+v U0PMSkpK5HR6/2W6pKRE27Zt06WXXuqZdaNTM+I6d77A8vRLXzZt2qzdu3frjjtGnroG4SJzlaB6 //05io6O1p/+dI9X392Sk5PVoUN7c3GVx7x792699trrKi4uVps259TqvnX22WebiyRJbdu2lSQd PXpEDodDsbGxFa7t5A6fzT79dJni4uLUo8cl6tOnt1as+Nqzv9bmWKtqw4aT1wzq3dv7+OBwONSr Vy/l5+drx45frjkWCJfLpa1bt6lbt25e5YmJiTrrrLM8t6u6j9WmH374QVFRUfrNby62DMOaNm3q uQZjfn6BEhISvOrFxsZWmKFVVlZm+doMtkD7XlZWruzsbP3qV7/yqpeQkKCWLVtWuFaXpAqzAZOT 26iwsNDrdXXo0CEdPXpUF17YVYmJidq61fu03prmfh8wv/Z79rzU67aR+fgmP+8ZkXYsCOR4Gei4 7B5XzX76aYuOHz+ufv36mVcBAIAwE5QZZjr1oWzevPkaNuzkz40bvfrqq3r++ef0/PPPacGCBTp8 +LAaNWqsjh1P/jXO+GMBGzZs0Pjxd6m8vNzza5k7duzQ8ePHlZqaov/3/97x1A0lO30Ops2bf9DM mbN0xx0jlZjYUv/97/+Ul5enNm3a6LrrBqikpESTJj1dYYr+iRMnNHz4UCUkxGvPnr3q2bOHfvvb 32jatOme0xVra0yBqitjT0npoqSkM+V0xqhlyzN08cUXKy0tVWvXrtWsWW+Yq/tVWFioV155Tffe +yclJMRr+fKvlZ+fr+bNmyktLU1r1qzxXJD99ddf13PPPatp017QBx/M0+HDh3Xmma3Utm1bz8XF 9+zZo5iYGA0ceJ1+/PEnFRcXa9euXXrzzbc1adJETZr0lBYsWKDY2FgNGTJERUVFmjPnA1Ov/Fu4 cJHGj79L+fn5+vLLr8yrg+qnn37Syy+/orFjx+ill2bo00+X6cCBg2rYMEFpaWnq2fNSPfbY4+bN JCmgMScmJurBBx/QF198qYyMfXK5XLrssp6Kjo72XOerJvctoylTJuvQoUNaseJrHTx4ULGxsere vbt69+6llSu/UWbmz5KkNWvW6qqrrtI336zS4cOH1bNnT/Xte4W5OUnS/v37tWXLFo0c+Uc1b95c y5Z5XzuvtsZaVRs2bNT333+vkSP/qKSkJG3atEmxsbHq1auX0tJS9dJL/1JJSYl5s0q9/fbb+vvf p2jQoFv18ccL1KRJE91//30VZicFso+Fk6ysLK1evUbdu3fT1Vf3086du5Sfn6+YmBi1apWoc845 x/MDHnv27FFKShd17ZqmH374UXFxcbroou4Vjs+5uUfVoEEDderUSVlZh1VaWqajR4M/88pO3zds 2Kg+fXrr8sv7aOvWbYqOjlZKSheVlpbqxx9/9Gq3tLRUKSkpcjqdOno0V+ec8yu1bt1a3333XYVT Nbdt265f//oiFRcXa+/e0F7svzK7du1STk6OBg8epOeff16SQ4MG3eoV6gZyfPP1nhFpx4JAj5eB jMvlctk6rpqdOHFCr78+U/fcc7eeeOJxLVv2mQoLC9WuXVsVFRV5zVoDAAC1K2iBmSTNnTtPAwZc q8aNG3uV79y5S3ff/ScNGzZEI0eOVEJCvPLy8rR167YK097dvyK0bds2z+kO5ad+QfO3v/2NNm4M 7Ppl1WWnz8E2Z84HSk9P1w03XK8//vF2xcbGKjs7W8uWfaZ3333P8po4J06c0MSJkzRu3FglJycr Ly9Pr776mtf1o2pzTIGqC2O/5567pVMX6z1y5IjS03foqacma8WKFRW+YAVi6dKlys7O1s0336S/ /OVeNWgQraysLG3atNHr9M7t29N17733afjw4RozZpSczhgdOnRQS5f+11Nn5cpvtHjxEg0ePEiN GjU69YVqqNauXasJEx7R8OFD9eCDD6qsrFQbN27S44/PtJxx4c9XXy3X+PF36b///V+Vwgi7Pvro Y23duk033ni9brjh+lOnxRVo69atmjjxKa9fMjMKZMz5+fnauzdD1157jc444wyVlpZqz549evLJ iZ5Avyb3LaNXXnlNPXr8Ttdcc82pU5Bd2r9/v9588y2vMObFF6dp/Phxmjr1OTVo0ECbN2/Wk08+ peeff9arPbdlyz7TXXeNU3Z2doXrRdbWWKvjiScm6pZbblbv3r105ZV9VVZWpl27dmnSpKf11VdV C3Q3bNioyZOnaMSIYRoyZLAOH87SBx98oOJi7/09kH0s3GzdulXZ2dk6//zzdN55nRQbe/I0xays bH355Vfavz9TOnVa2fLlK5SamqJzzz1XBQUF2rRpk9q3957RmZGxT9u3b1eXLp0VExOjEydOaO7c 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 EGlCGpgBAAAAAAAAkYbADAAAAAAAADCwHZi5L/wfyOmWDofDXAQAAAAAAACEtWhzQWVcLhdBGAAA AAAAAOos2zPMAAAAAAAAgLqMwAwAAAAAAAAwCGlgFsh1zgAAAAAAAIBwEtLADAAAAAAAAIg0tgIz LvgPAAAAAACAui6gX8l0n1pJWAYAAAAAAIC6LqDArCpBGbPRAAAAAAAAEIlsnZJpB2EZAAAAAAAA IlHIAjMAAAAAAAAgEhGYAQAAAAAAAAYEZgAAAAAAAIABgRkAAAAAAABgQGAGAAAAAAAAGBCYAQAA AAAAAAYEZgAAAAAAAIABgRkAAAAAAABgQGAGAAAAAAAAGBCYAQAAAAAAAAYEZgAAAAAAAIABgRkA AAAAAABgQGAGAAAAAAAAGBCYAQAAAAAAAAYEZgAAAAAAAIABgRkAAAAAAABgQGAGAAAAAAAAGBCY AQAAAAAAAAYEZgAAAAAAAIABgRkAAAAAAABgQGAGAAAAAAAAGBCYAQAAAAAAAAYEZgAAAAAAAIAB gRkAAAAAAABgQGAGAAAAAAAAGBCYAQAAAAAAAAYEZgAAAAAAAIABgRkAAAAAAABgQGAGAAAAAAAA GBCYAQAAAAAAAAYEZgAAAAAAAIABgRkAAAAAAABgQGAGAAAAAAAAGBCYAQAAAAAAAAYEZgAAAAAA AIABgRkAAAAAAABgQGAGAAAAAAAAGBCYAQAAAAAAAAYEZgAAAAAAAIABgRkAAAAAAABgQGAGAAAA AAAAGBCYAQAAAAAAAAYEZgAAAAAAAIABgRkAAAAAAABgQGAGAAAAAAAAGBCYAQAAAAAAAAYEZgAA AAAAAIABgRkAAAAAAABgQGAGAAAAAAAAGBCYAQAAAAAAAAYEZgAAAAAAAICBIzMz02UuBAAAAAAA AOqr6K1bt5rLAAAAAAAAgHqLUzIBAACAKurdu7ff29Vlbs98GwAAhAaBGQAAAAAAAGAQbS5A7XH/ xfDzzz83r6oVdvrj66+dgWxbVXb6h5pntU/4e66M9f3Vc7NbP1z07t07qP0Ndnt1hZ3Hxe6+Gg7C tc92HveqsNO+nbo1rap9q+p2OKk+PX71aawAAIQKgRmqzVdw1bt3bz6w1VO+nndf5TLsP1ZBgBW7 9eui+jx2f/ztZ1aM+5Kd7WqLr376Kq+vPv/887B8TMKxT6h9wd4vwnX/BwAgknBKJqrFV1hmLONL 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 yPxERPNbx62+0fYoK0crf+t4ZsVF25OzXnO8dbxk5bfaVVvqjLdiSlaM1T4iMj/WOWfWExGdz6w3 1oqb0a7aStbx0etl5Tsimt867vUdHW/Jym+1p87zebzcyTiu2rz2I/PfE582mn8vNnUcv1qrPnVc tXntUVaOWflH9K63Vo3qePlaHV9t+FcyP+L3Qb0BzIi/E69+b9xHeHln1tMb78XNrAf+fCoz4r3r pOKfTI3Xm5/dROtX8VFefsWLn1HPTLvVo8ycz2i8MrOe3aj6rxyvl9+rq+TFqfxe/AxeflWPJxqv zKxntd3q8XjzWvLi1Hij8S1WricamZ8Ild+7Xmeoz+3Vo+q/E1W/N94RM3Ndoa7fmx81n6ot83Ip Xq67iIz3LM1vmF1pxwk7KrrwV4vWE42POpJ/tB8AAG935PN3d08d15s8eX0e1fOA/Oa5Y36wu7zR Va7D+vUo1v9xW2+Y3UXPQsx2W5DReqLxUavzP0FkvQEA0OONn798nt7HG9dnL+bGx/zgDspNs1mb ZYn1P8X0DbO33Xx4C/qKubjinDjPbusNz7bbmtqtHuCIu6/nJ9S/8vN0Rg6Mi85/JD4/0FqsdYV7 GLm+XvzbjcznTkbq9+I9szfLdjQyn1ebvmG24yBX2XFB71YP5tlxveHZdltvu9UDHHH39Xzn+s/4 PF2dH77o/M+MP2N9YS3v+qnrW7/G//LmR83nbrz6VP316145l8r5JN7Ydhz78B/9B3bj7VYflX94 nens8wEAAAAAzlVuFF3x3PlkRzfhtt4wY6EAAADgCO4nAQC7Uhs6bJrtY3jDbOTC1se8+JH8Z7tb Pd6xFbx61PXdnTeeEV4+NT9e/BW8elT9b+PNzx206veO9Wjlr7XivWP4f958XvH+3a2e1bzxpsXr ecZ8RutvxR/l5Vfj9eJnaOX3juG46PxH4+vXOJd3vaz2iGgOr540kG933nhVu2q7k2j93vwkke8r PqOyVq6al2sXkfHMMGNOmn/DzBqUdWLvwqo+VryKTU68p4zP/2/lT8H4kXpW8uqxxrCSVc+KWlbk rOXxzDpXdH6s+KtY9Vj1l1Tfnn6zRd7vUWqMq6hzHR2HypkdzZ0a+RUvfkY9afF6SAfyq7GrfpH8 Kmduv8Ju9ZRUbUfrUjmzo7nTwP1bVLR+L96ycj1b8T1U3/o8KiarY0dF5mdnaq6OjkPlzFTuSLwX m0R8Nnq91Pl6+vValX90vD1UzV57RCuHGoPXR8WXVF+vT2/8LvOv2kqzalplpH6vj4qPWpk7i66f 3nhvbpLRp6T6W32+k57ZP79+/ZIV//z8TDsJAAAAzsH9G4C34ufftZj/tZjf8w3/SiYAAAAAAADw RGyYAQAAAABujW/fXIv5xxM1/4YZAAAAAAA7qP+GUcZmzTmYf7zJfwCdD7B1c4E29wAAAABJRU5E rkJggg== --nextPart2533904.XAFRqVoOGU--
Vincenzo Pupillo <v.pupillo@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#75456
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.