GNU bug report logs - #58790
Eglot URI parsing bug when using clojure-lsp server

Previous Next

Package: emacs;

Reported by: Danny Freeman <danny <at> dfreeman.email>

Date: Wed, 26 Oct 2022 05:08:04 UTC

Severity: normal

Done: João Távora <joaotavora <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Danny Freeman <danny <at> dfreeman.email>
Cc: Felician Nemeth <felician.nemeth <at> gmail.com>, 58790 <at> debbugs.gnu.org, João Távora <joaotavora <at> gmail.com>, Dmitry Gutov <dgutov <at> yandex.ru>, Eli Zaretskii <eliz <at> gnu.org>, Stefan Kangas <stefankangas <at> gmail.com>
Subject: bug#58790: Eglot URI parsing bug when using clojure-lsp server
Date: Sat, 10 Dec 2022 18:45:20 +0100
Danny Freeman <danny <at> dfreeman.email> writes:

Hi Danny,

> Thanks for taking the time to explain more. I understand now, and have
> enough information to re-create this scenario myself. Once I do that
> I'll see how I can account for this scenario in jarchive. When I do I
> will post an update.

Just some random thoughts. In jarchive, I believe you have two options:

- Use tramp-archive. This is restricted to local GNU/Linux systems(*),
  but it shall work out of the box. If you have a local jar archive,
  just map the file name to something like

  jar:file:///home/albinus/.m2/repository/org/clojure/clojure/1.10.3/clojure-1.10.3.jar!/clojure/core.clj
  => /home/albinus/.m2/repository/org/clojure/clojure/1.10.3/clojure-1.10.3.jar/clojure/core.clj

  Try it out, it will work out of the box :-)

  If the jar archive is located on a remote host, say /ssh:user <at> host:,
  just prepend that remote file name location:

  /ssh:user <at> host:/home/albinus/.m2/repository/org/clojure/clojure/1.10.3/clojure-1.10.3.jar/clojure/core.clj

  Try it out, it will work out of the box :-)

- Use jarchive as it is, but on a local cop< if it is located on a
  remote host. If the jarchive is located on, /ssh:user <at> host:, copy it
  locally:

  (copy-file "/ssh:user <at> host:/home/albinus/.m2/repository/org/clojure/clojure/1.10.3/clojure-1.10.3.jar"
            "/tmp/home_albinus_.m2_repository_org_clojure_clojure_1.10.3_clojure-1.10.3.jar"

  Let your jarchive file name handler run on this temp file /tmp/home_albinus_.m2_repository_org_clojure_clojure_1.10.3_clojure-1.10.3.jar!/clojure/core.clj

(*): There are plans to integrate libarchive(3) natively into Emacs. Then
     this would work on all systems.

Best regards, Michael.




This bug report was last modified 2 years and 166 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.