From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Newsgroups: gmane.emacs.bugs Subject: bug#67463: 30.0.50; Eglot may manage js-json-mode buffers with wrong server Date: Sun, 7 Jan 2024 01:57:59 +0000 Message-ID: References: <83fs0k938h.fsf@gnu.org> <834jgio5os.fsf@gnu.org> <2eeff48a-942a-463b-999c-4a615f67d052@gutov.dev> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18443"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Pengji Zhang , Eli Zaretskii , Stefan Monnier , 67463@debbugs.gnu.org To: Dmitry Gutov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jan 07 02:59:13 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rMIRV-0004aF-Dh for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 07 Jan 2024 02:59:13 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rMIRG-0003CJ-Ms; Sat, 06 Jan 2024 20:58:58 -0500 Original-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 1rMIRF-0003CA-Lp for bug-gnu-emacs@gnu.org; Sat, 06 Jan 2024 20:58:57 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rMIRF-00043x-9P for bug-gnu-emacs@gnu.org; Sat, 06 Jan 2024 20:58:57 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rMIRK-00065d-3t for bug-gnu-emacs@gnu.org; Sat, 06 Jan 2024 20:59:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 07 Jan 2024 01:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67463 X-GNU-PR-Package: emacs Original-Received: via spool by 67463-submit@debbugs.gnu.org id=B67463.170459270523346 (code B ref 67463); Sun, 07 Jan 2024 01:59:02 +0000 Original-Received: (at 67463) by debbugs.gnu.org; 7 Jan 2024 01:58:25 +0000 Original-Received: from localhost ([127.0.0.1]:60467 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rMIQj-00064U-8U for submit@debbugs.gnu.org; Sat, 06 Jan 2024 20:58:25 -0500 Original-Received: from mail-lj1-x22f.google.com ([2a00:1450:4864:20::22f]:55390) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rMIQg-00064E-OI for 67463@debbugs.gnu.org; Sat, 06 Jan 2024 20:58:23 -0500 Original-Received: by mail-lj1-x22f.google.com with SMTP id 38308e7fff4ca-2cd0c151cdcso7831721fa.2 for <67463@debbugs.gnu.org>; Sat, 06 Jan 2024 17:58:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704592691; x=1705197491; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=X/MGxzKy8nThG0mPKk8TUOrNTy4Syc58SJJYhlFQ2hM=; b=Zdp7tK/yYD3/TMq4LBKLZyykJyPgn7LzMrzym35JT8B13K27Dc5LFKQ+8xBfMULkWH f2QCVTltQPcXdeecrB5NOAHPvo5eLMxlldhSgdP118S0CP8cForLhe6F7yLrgyz6U7BN 8lnpcNGZL2qQusFyqODftBTaJwZkwi5T34jDghM6lsn+uFHQ/6liAqIOjW+Rv+MGPk1C E3zjQsgBORlyJqYjhyBzgpYwreBRbQCQREgfGW80+crTLBCi5L5LuoWG5SB7m/9U+0vX IgB0ZTKceSZ45w9CZUzTW1oDv2grLnHJJWXs1XJF3V1XVO/eeB/Ll3DCPRYSL12/ti6A 71Xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704592691; x=1705197491; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X/MGxzKy8nThG0mPKk8TUOrNTy4Syc58SJJYhlFQ2hM=; b=I0LKc/tml2gJyYLTVPzGx/P8LKDdiWSRAXqRsmN+Xw1wajuGZRL4rnJKMK33XSJTmT Icpi67SSG0NHzs62RpegOtWhDBUqrnMcq09hl73oijol2+rUQVBfnxPNcCmGNiGhXwPG QnF7tXYVW5ZITvvlvt/k/aFqXr0xMmEoJx66q/0+iQp8tSkOvc9N+YxUBGIT2VRjMDNV bot9H6Lo+zJ8Yb6MAkSign4wXrVbkj+5uz0BztdIqK0uP70Z1Vulsd9zI+bczfflTWnZ 5U2dfW7Ksojh6eUZniCi2FaLTWHLVmDTN+qm7Yg/GI6er60Vvq0xe18xShUD+iE+8bp2 0nzw== X-Gm-Message-State: AOJu0YwubhTYKIgMbvAnRRb17lTLsj3fXiHzFdKAosum9dQQGcu6h9TA DPboe9H4kg3LreLySSydVWSOEeZ8sDy91e9wTPs= X-Google-Smtp-Source: AGHT+IGGpvdNGVOdmsDxWMjgmHRryz9dc1j5r7ynrgqSL5Fbxzl6wUGvlSC7N38KcvzSbl4+lQHISWkUs+jHXY0qYVU= X-Received: by 2002:a2e:b450:0:b0:2cc:794d:f68b with SMTP id o16-20020a2eb450000000b002cc794df68bmr578484ljm.29.1704592691148; Sat, 06 Jan 2024 17:58:11 -0800 (PST) In-Reply-To: <2eeff48a-942a-463b-999c-4a615f67d052@gutov.dev> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:277486 Archived-At: On Sat, Jan 6, 2024 at 6:04=E2=80=AFPM Dmitry Gutov wrot= e: > > On 06/01/2024 18:01, Stefan Monnier via Bug reports for GNU Emacs, the > Swiss army knife of text editors wrote: > > -(define-derived-mode js-json-mode js-mode "JSON" > > +(define-derived-mode js-json-mode prog-mode "JSON" > > + (js-mode) ;; For expediency, reuse js-mode, but not as parent (bug#6= 7463). > > Nice. I agree. If this works, I think it's quick, but not necessarily dirty. On 06/01/2024 18:01, Stefan Monnier > Add a tool like `derived-mode-remove-parent`. Also agree, but the things we're doing in that symbol-plist seem to have gotten rather complicated lately, so I wouldn't be surpsied this is buggy in some edge case. (require 'cl-lib) (defun derived-mode-remove-parent (mode parent) (cl-macrolet ((allp (m) `(plist-get (symbol-plist ,m) 'derived-mode--all-parents)) (dmp (m) `(plist-get (symbol-plist ,m) 'derived-mode-parent= ))) (setf (allp mode) (delq parent (allp mode))) (when (eq (dmp mode) parent) (setf (dmp mode) (dmp parent))))) but Pengji can try to use it to do the following in the meantime: (derived-mode-remove-parent 'js-json-mode 'js-mode) (derived-mode-remove-parent 'js-json-mode 'js-base-mode) thought the second one shouldn't strictly be needed at the moment. Jo=C3=A3o