unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#64099: Emacs 29 - Eglot hint display issue on macOS
@ 2023-06-15 16:41 Milan Jovanovic
  2023-06-21 20:17 ` Daniel Martín via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 2+ messages in thread
From: Milan Jovanovic @ 2023-06-15 16:41 UTC (permalink / raw)
  To: 64099

[-- Attachment #1: Type: text/plain, Size: 1832 bytes --]

Hi all,

There is an issue with how Eglot inlay hints are being printed on the macOS
(both Intel and apple silicon).
I've tried on Linux with the same versions and it works fine.

Example of broken inlay hints:
https://user-images.githubusercontent.com/3064500/245880108-a4f43db5-7ebb-43e6-8031-ebb403ee94b3.png

How to reproduce:
1. install Emacs 29 from https://emacsformacosx.com or via brew
https://github.com/d12frosted/homebrew-emacs-plus

2. install rustup/rustc/cargo/rust-analyzer - https://rustup.rs
   # curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
   `rustup component add rust-analyzer`

3.  create rust project
   # cargo new inlay-hints


copy this code to inlay-hints/src/main.rs
==================================
use std::error::Error;

struct Foo {}

struct Bar {}

type MyResult = Result<Foo, (Bar, String, Box<dyn Error + Send>)>;

fn get_vec_results() -> Vec<MyResult> {
    todo!()
}

fn main() {
    for result in get_vec_results() {
        match result {
            Ok(res) => todo!(),
            Err(err) => todo!(),
        }
    }
}

==================================

4. open Emacs (no .emacs and no .emacs.d)
   # cd inlay-hints
   # /Applications/Emacs.app/Contents/MacOS/Emacs -Q src/main.rs -f
rust-ts-mode -f eglot
      choose/type 'rust-analyzer' as the server


------------------------------------------------------------------------------
My Emacs:

system-configuration-options:
"--with-ns '--enable-locallisppath=/Library/Application
Support/Emacs/${version}/site-lisp:/Library/Application
Support/Emacs/site-lisp' --with-modules --with-x-toolkit=no"

ELISP> system-configuration-features
"ACL GLIB GMP GNUTLS JPEG JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG
RSVG THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER ZLIB"



P.S. I'm seeing the same thing with Emacs 28

[-- Attachment #2: Type: text/html, Size: 2944 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#64099: Emacs 29 - Eglot hint display issue on macOS
  2023-06-15 16:41 bug#64099: Emacs 29 - Eglot hint display issue on macOS Milan Jovanovic
@ 2023-06-21 20:17 ` Daniel Martín via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 2+ messages in thread
From: Daniel Martín via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-06-21 20:17 UTC (permalink / raw)
  To: Milan Jovanovic; +Cc: 64099

Milan Jovanovic <milanj@gmail.com> writes:

> Hi all,
>
> There is an issue with how Eglot inlay hints are being printed on the macOS
> (both Intel and apple silicon).
> I've tried on Linux with the same versions and it works fine.
>
> Example of broken inlay hints:
> https://user-images.githubusercontent.com/3064500/245880108-a4f43db5-7ebb-43e6-8031-ebb403ee94b3.png
>
> How to reproduce:
> 1. install Emacs 29 from https://emacsformacosx.com or via brew
> https://github.com/d12frosted/homebrew-emacs-plus
>
> 2. install rustup/rustc/cargo/rust-analyzer - https://rustup.rs
>    # curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
>    `rustup component add rust-analyzer`
>
> 3.  create rust project
>    # cargo new inlay-hints
>
>
> copy this code to inlay-hints/src/main.rs
> ==================================
> use std::error::Error;
>
> struct Foo {}
>
> struct Bar {}
>
> type MyResult = Result<Foo, (Bar, String, Box<dyn Error + Send>)>;
>
> fn get_vec_results() -> Vec<MyResult> {
>     todo!()
> }
>
> fn main() {
>     for result in get_vec_results() {
>         match result {
>             Ok(res) => todo!(),
>             Err(err) => todo!(),
>         }
>     }
> }
>
> ==================================
>
> 4. open Emacs (no .emacs and no .emacs.d)
>    # cd inlay-hints
>    # /Applications/Emacs.app/Contents/MacOS/Emacs -Q src/main.rs -f
> rust-ts-mode -f eglot
>       choose/type 'rust-analyzer' as the server
>
>
> ------------------------------------------------------------------------------
> My Emacs:
>
> system-configuration-options:
> "--with-ns '--enable-locallisppath=/Library/Application
> Support/Emacs/${version}/site-lisp:/Library/Application
> Support/Emacs/site-lisp' --with-modules --with-x-toolkit=no"
>
> ELISP> system-configuration-features
> "ACL GLIB GMP GNUTLS JPEG JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER PNG
> RSVG THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER ZLIB"
>
>
>
> P.S. I'm seeing the same thing with Emacs 28

I can reproduce the issue with a build from https://emacsformacosx.com,
concretely:

29.0.91 (Build 21G217) of 2023-05-14

But I can't reproduce the issue if I build Emacs from the emacs-29
branch, concretely:

29.0.92 (Build 22A380) of 2023-06-21

It could be a bug related to how https://emacsformacosx.com packages
Emacs, but the fact that it also fails in another Emacs distro
(Emacs-plus), I'd say that this is probably a problem in Eglot that may
have been recently fixed.  Could you try an Emacs build from the tip of
the emacs-29 branch?





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-06-21 20:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-15 16:41 bug#64099: Emacs 29 - Eglot hint display issue on macOS Milan Jovanovic
2023-06-21 20:17 ` Daniel Martín via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).