From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#61726: [PATCH] Eglot: Support positionEncoding capability Date: Fri, 24 Feb 2023 15:34:05 +0200 Message-ID: <83edqfnq5u.fsf@gnu.org> References: <87a614g628.fsf@gmail.com> <83cz60r7hu.fsf@gnu.org> <875ybsfvtj.fsf@gmail.com> <831qmgr17p.fsf@gnu.org> <87wn48ecdz.fsf@gmail.com> <83v8jspgnr.fsf@gnu.org> <87lekodxja.fsf@gmail.com> <83a614p4sh.fsf@gnu.org> <87cz60dus9.fsf@gmail.com> <835ybrpnqj.fsf@gnu.org> <87y1oncz09.fsf@gmail.com> <83r0ufo3uc.fsf@gnu.org> <87356vbf0b.fsf@gmail.com> <83pm9znw0i.fsf@gnu.org> <87lekn9ss3.fsf@gmail.com> <83h6vbntqd.fsf@gnu.org> <878rgn9r6u.fsf@gmail.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3853"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 61726@debbugs.gnu.org, joaotavora@gmail.com To: Augusto Stoffel Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Feb 24 14:35:22 2023 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 1pVYEK-0000ld-Tp for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 24 Feb 2023 14:35:21 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pVYE4-0000Hd-3v; Fri, 24 Feb 2023 08:35:04 -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 1pVYE2-0000HO-Q4 for bug-gnu-emacs@gnu.org; Fri, 24 Feb 2023 08:35:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pVYE2-0004ne-GV for bug-gnu-emacs@gnu.org; Fri, 24 Feb 2023 08:35:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pVYE2-00065W-4F for bug-gnu-emacs@gnu.org; Fri, 24 Feb 2023 08:35:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 24 Feb 2023 13:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 61726 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 61726-submit@debbugs.gnu.org id=B61726.167724566823358 (code B ref 61726); Fri, 24 Feb 2023 13:35:02 +0000 Original-Received: (at 61726) by debbugs.gnu.org; 24 Feb 2023 13:34:28 +0000 Original-Received: from localhost ([127.0.0.1]:36312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVYDT-00064g-NG for submit@debbugs.gnu.org; Fri, 24 Feb 2023 08:34:28 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:40090) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVYDR-00064S-Qq for 61726@debbugs.gnu.org; Fri, 24 Feb 2023 08:34:26 -0500 Original-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 ) id 1pVYDM-0004gt-Jt; Fri, 24 Feb 2023 08:34:20 -0500 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=8Sjqns6/3LQYtwZWFKAFae3AZiuo3zM//kd/FDNaCEA=; b=oDMS/KFc9h17 lI1rcxMCu3umwyOfV5ozYRuwr06MegUuolnql6wSEvs/Osq1p1HRRsg6t9ccYlkyIJE75c3k6NEac PSZzJ0yNa/ExkIUPYNDBX1CopL4opQe6ozxKuu06ETW2OyVLNMmlFzogqMV5vS+bKKPDmN1VQ86/G hj67by1YSA637K8kVqSfbWT2RELdsj8gxDu+Y7fr7S5WlCmEEeeqxkiXpGvGyrhrCCkrp3Rqq+3PS Kuppqp3x1j0qqfJ68unNCBK8Mf1BIdRNUr7K5fLVpmAm9MJtmJEEgSeDlWVitWsaWaE4xOwMBc3Fa Gy84gllVJyUrFnaJScbY0g==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pVYD7-0006av-3B; Fri, 24 Feb 2023 08:34:20 -0500 In-Reply-To: <878rgn9r6u.fsf@gmail.com> (message from Augusto Stoffel on Fri, 24 Feb 2023 13:35:37 +0100) 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:256593 Archived-At: > From: Augusto Stoffel > Cc: joaotavora@gmail.com, 61726@debbugs.gnu.org > Date: Fri, 24 Feb 2023 13:35:37 +0100 > > On Fri, 24 Feb 2023 at 14:16, Eli Zaretskii wrote: > > > You assume that the characters that aren't encodable in UTF-8 somehow > > invalidate the results produced by the LSP? But that is not > > necessarily true, it depends on the context. IOW, this is not the > > problem eglot.el should solve, and I'm not sure that signaling an > > error is the correct reaction to this situation. It is basically the > > problem of the user and/or the major mode. Eglot should do its best > > to cope, and leave the rest to the user. > > You can't even send or receive a message through the JSONRPC channel if > it's not valid UTF-8 That's because we _decided_ to behave like that. A decision that is not carved in stone. > and `json-serialize' rightfully emits an error. There's no "rightfully" here. It's our decision to signal an error in this case. Substituting some innocent character for the unencodable ones would be an entirely legitimate alternative. > So there's nothing Eglot can do to cope. I'm talking about Emacs as a whole. Eglot shouldn't second-guess what we might decide some day, definitely not in areas that are not specific to Eglot, such as JSON. > It also should not, IMO, because we don't know how the server will > respond, and we must trust the server when it tell us to do > destructive operations like adding or deleting text. See above: replacing problematic characters would also solve this problem. Some other applications out there actually behave like that.