Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tilix core dumps with GNOME 47 #2239

Open
cedricroijakkers opened this issue Sep 19, 2024 · 10 comments
Open

Tilix core dumps with GNOME 47 #2239

cedricroijakkers opened this issue Sep 19, 2024 · 10 comments

Comments

@cedricroijakkers
Copy link

GNOME 47 has just been released in the Arch repo's, and Tilix now core dumps when starting:

Sep 19 12:47:13 48HVWD3 systemd-coredump[9745]: [🡕] Process 9709 (tilix) of user 1000 dumped core.
                                                
                                                Stack trace of thread 9709:
                                                #0  0x000079a7b85f0c18 n/a (libgobject-2.0.so.0 + 0x41c18)
                                                #1  0x000079a7b85e1b4c n/a (libgobject-2.0.so.0 + 0x32b4c)
                                                #2  0x000079a7b85e1db2 g_signal_emit_valist (libgobject-2.0.so.0 + 0x32db2)
                                                #3  0x000079a7b85e1e74 g_signal_emit (libgobject-2.0.so.0 + 0x32e74)
                                                #4  0x000079a7b85ccd16 n/a (libgobject-2.0.so.0 + 0x1dd16)
                                                #5  0x000079a7b85c1118 n/a (libgobject-2.0.so.0 + 0x12118)
                                                #6  0x000079a7b8926857 n/a (libvte-2.91.so.0 + 0x13857)
                                                #7  0x000079a7b8960d89 n/a (libvte-2.91.so.0 + 0x4dd89)
                                                #8  0x000079a7b8961157 n/a (libvte-2.91.so.0 + 0x4e157)
                                                #9  0x000079a7b8961253 n/a (libvte-2.91.so.0 + 0x4e253)
                                                #10 0x000079a7b89613ad n/a (libvte-2.91.so.0 + 0x4e3ad)
                                                #11 0x000079a7b894697b n/a (libvte-2.91.so.0 + 0x3397b)
                                                #12 0x000079a7b7944f6d n/a (libgtk-3.so.0 + 0x344f6d)
                                                #13 0x000079a7b85c082a g_closure_invoke (libgobject-2.0.so.0 + 0x1182a)
                                                #14 0x000079a7b85f13e5 n/a (libgobject-2.0.so.0 + 0x423e5)
                                                #15 0x000079a7b85e1b4c n/a (libgobject-2.0.so.0 + 0x32b4c)
                                                #16 0x000079a7b85e1db2 g_signal_emit_valist (libgobject-2.0.so.0 + 0x32db2)
                                                #17 0x000079a7b85e1e74 g_signal_emit (libgobject-2.0.so.0 + 0x32e74)
                                                #18 0x000079a7b754806e n/a (libgdk-3.so.0 + 0x3506e)
                                                #19 0x000079a7b7533ac0 n/a (libgdk-3.so.0 + 0x20ac0)
                                                #20 0x000079a7b84bd90a n/a (libglib-2.0.so.0 + 0x5e90a)
                                                #21 0x000079a7b84bc459 n/a (libglib-2.0.so.0 + 0x5d459)
                                                #22 0x000079a7b851f0d7 n/a (libglib-2.0.so.0 + 0xc00d7)
                                                #23 0x000079a7b84bb955 g_main_context_iteration (libglib-2.0.so.0 + 0x5c955)
                                                #24 0x000079a7b86ecbf6 g_application_run (libgio-2.0.so.0 + 0xdebf6)
                                                #25 0x0000583370c8840a n/a (tilix + 0x31640a)
                                                #26 0x000079a7b8daa06d _D2rt6dmain212_d_run_main2UAAamPUQgZiZ6runAllMFZv (libdruntime-ldc-shared.so.109 + 0xe706d)
                                                #27 0x000079a7b8da9e87 _d_run_main2 (libdruntime-ldc-shared.so.109 + 0xe6e87)
                                                #28 0x000079a7b8da9cdd _d_run_main (libdruntime-ldc-shared.so.109 + 0xe6cdd)
                                                #29 0x0000583370c8b1e2 n/a (tilix + 0x3191e2)
                                                #30 0x000079a7b8af7e08 n/a (libc.so.6 + 0x25e08)
                                                #31 0x000079a7b8af7ecc __libc_start_main (libc.so.6 + 0x25ecc)
                                                #32 0x0000583370a95c15 n/a (tilix + 0x123c15)
                                                
                                                Stack trace of thread 9710:
                                                #0  0x000079a7b8be91fd syscall (libc.so.6 + 0x1171fd)
                                                #1  0x000079a7b84ede20 g_cond_wait (libglib-2.0.so.0 + 0x8ee20)
                                                #2  0x000079a7b848498c n/a (libglib-2.0.so.0 + 0x2598c)
                                                #3  0x000079a7b84f4037 n/a (libglib-2.0.so.0 + 0x95037)
                                                #4  0x000079a7b84eff26 n/a (libglib-2.0.so.0 + 0x90f26)
                                                #5  0x000079a7b8b6639d n/a (libc.so.6 + 0x9439d)
                                                #6  0x000079a7b8beb49c n/a (libc.so.6 + 0x11949c)
                                                
                                                Stack trace of thread 9712:
                                                #0  0x000079a7b8be91fd syscall (libc.so.6 + 0x1171fd)
                                                #1  0x000079a7b84eeb37 g_cond_wait_until (libglib-2.0.so.0 + 0x8fb37)
                                                #2  0x000079a7b8484955 n/a (libglib-2.0.so.0 + 0x25955)
                                                #3  0x000079a7b84f4afb n/a (libglib-2.0.so.0 + 0x95afb)
                                                #4  0x000079a7b84eff26 n/a (libglib-2.0.so.0 + 0x90f26)
                                                #5  0x000079a7b8b6639d n/a (libc.so.6 + 0x9439d)
                                                #6  0x000079a7b8beb49c n/a (libc.so.6 + 0x11949c)
                                                
                                                Stack trace of thread 9713:
                                                #0  0x000079a7b8bddbb0 ppoll (libc.so.6 + 0x10bbb0)
                                                #1  0x000079a7b851f1a4 n/a (libglib-2.0.so.0 + 0xc01a4)
                                                #2  0x000079a7b84bd187 g_main_loop_run (libglib-2.0.so.0 + 0x5e187)
                                                #3  0x000079a7b8721ae4 n/a (libgio-2.0.so.0 + 0x113ae4)
                                                #4  0x000079a7b84eff26 n/a (libglib-2.0.so.0 + 0x90f26)
                                                #5  0x000079a7b8b6639d n/a (libc.so.6 + 0x9439d)
                                                #6  0x000079a7b8beb49c n/a (libc.so.6 + 0x11949c)
                                                
                                                Stack trace of thread 9714:
                                                #0  0x000079a7b8bddbb0 ppoll (libc.so.6 + 0x10bbb0)
                                                #1  0x000079a7b851f1a4 n/a (libglib-2.0.so.0 + 0xc01a4)
                                                #2  0x000079a7b84bb955 g_main_context_iteration (libglib-2.0.so.0 + 0x5c955)
                                                #3  0x000079a7b42e42fe n/a (libdconfsettings.so + 0x62fe)
                                                #4  0x000079a7b84eff26 n/a (libglib-2.0.so.0 + 0x90f26)
                                                #5  0x000079a7b8b6639d n/a (libc.so.6 + 0x9439d)
                                                #6  0x000079a7b8beb49c n/a (libc.so.6 + 0x11949c)
                                                
                                                Stack trace of thread 9711:
                                                #0  0x000079a7b8bddbb0 ppoll (libc.so.6 + 0x10bbb0)
                                                #1  0x000079a7b851f1a4 n/a (libglib-2.0.so.0 + 0xc01a4)
                                                #2  0x000079a7b84bb955 g_main_context_iteration (libglib-2.0.so.0 + 0x5c955)
                                                #3  0x000079a7b84bb9b2 n/a (libglib-2.0.so.0 + 0x5c9b2)
                                                #4  0x000079a7b84eff26 n/a (libglib-2.0.so.0 + 0x90f26)
                                                #5  0x000079a7b8b6639d n/a (libc.so.6 + 0x9439d)
                                                #6  0x000079a7b8beb49c n/a (libc.so.6 + 0x11949c)
                                                
                                                Stack trace of thread 9715:
                                                #0  0x000079a7b8be91fd syscall (libc.so.6 + 0x1171fd)
                                                #1  0x000079a7b84ede20 g_cond_wait (libglib-2.0.so.0 + 0x8ee20)
                                                #2  0x000079a7b848498c n/a (libglib-2.0.so.0 + 0x2598c)
                                                #3  0x000079a7b84849fd g_async_queue_pop (libglib-2.0.so.0 + 0x259fd)
                                                #4  0x000079a7b6a835fc n/a (libpangoft2-1.0.so.0 + 0xc5fc)
                                                #5  0x000079a7b84eff26 n/a (libglib-2.0.so.0 + 0x90f26)
                                                #6  0x000079a7b8b6639d n/a (libc.so.6 + 0x9439d)
                                                #7  0x000079a7b8beb49c n/a (libc.so.6 + 0x11949c)
                                                ELF object binary architecture: AMD x86-64
@cedricroijakkers
Copy link
Author

I've tried building from source, and that is failing with the following message:

FAILED: tilix 
ldc  -of=tilix tilix.p/source_gx_gtk_actions.d.o tilix.p/source_gx_gtk_cairo.d.o tilix.p/source_gx_gtk_clipboard.d.o tilix.p/source_gx_gtk_color.d.o tilix.p/source_gx_gtk_dialog.d.o tilix.p/source_gx_gtk_resource.d.o tilix.p/source_gx_gtk_settings.d.o tilix.p/source_gx_gtk_threads.d.o tilix.p/source_gx_gtk_util.d.o tilix.p/source_gx_gtk_vte.d.o tilix.p/source_gx_gtk_x11.d.o tilix.p/source_gx_i18n_l10n.d.o tilix.p/source_gx_tilix_bookmark_bmchooser.d.o tilix.p/source_gx_tilix_bookmark_bmeditor.d.o tilix.p/source_gx_tilix_bookmark_bmtreeview.d.o tilix.p/source_gx_tilix_bookmark_manager.d.o tilix.p/source_gx_tilix_prefeditor_advdialog.d.o tilix.p/source_gx_tilix_prefeditor_bookmarkeditor.d.o tilix.p/source_gx_tilix_prefeditor_common.d.o tilix.p/source_gx_tilix_prefeditor_prefdialog.d.o tilix.p/source_gx_tilix_prefeditor_profileeditor.d.o tilix.p/source_gx_tilix_prefeditor_titleeditor.d.o tilix.p/source_gx_tilix_terminal_actions.d.o tilix.p/source_gx_tilix_terminal_activeprocess.d.o tilix.p/source_gx_tilix_terminal_advpaste.d.o tilix.p/source_gx_tilix_terminal_exvte.d.o tilix.p/source_gx_tilix_terminal_layout.d.o tilix.p/source_gx_tilix_terminal_monitor.d.o tilix.p/source_gx_tilix_terminal_password.d.o tilix.p/source_gx_tilix_terminal_regex.d.o tilix.p/source_gx_tilix_terminal_search.d.o tilix.p/source_gx_tilix_terminal_terminal.d.o tilix.p/source_gx_tilix_terminal_util.d.o tilix.p/source_gx_tilix_application.d.o tilix.p/source_gx_tilix_appwindow.d.o tilix.p/source_gx_tilix_closedialog.d.o tilix.p/source_gx_tilix_cmdparams.d.o tilix.p/source_gx_tilix_colorschemes.d.o tilix.p/source_gx_tilix_common.d.o tilix.p/source_gx_tilix_constants.d.o tilix.p/source_gx_tilix_customtitle.d.o tilix.p/source_gx_tilix_encoding.d.o tilix.p/source_gx_tilix_preferences.d.o tilix.p/source_gx_tilix_session.d.o tilix.p/source_gx_tilix_shortcuts.d.o tilix.p/source_gx_tilix_sidebar.d.o tilix.p/source_gx_util_array.d.o tilix.p/source_gx_util_path.d.o tilix.p/source_gx_util_string.d.o tilix.p/source_secret_Collection.d.o tilix.p/source_secret_Item.d.o tilix.p/source_secret_Prompt.d.o tilix.p/source_secret_Schema.d.o tilix.p/source_secret_SchemaAttribute.d.o tilix.p/source_secret_Secret.d.o tilix.p/source_secret_Service.d.o tilix.p/source_secret_Value.d.o tilix.p/source_secretc_secret.d.o tilix.p/source_secretc_secrettypes.d.o tilix.p/source_x11_X.d.o tilix.p/source_x11_Xlib.d.o tilix.p/source_app.d.o -L=--allow-shlib-undefined -link-defaultlib-shared -L=-O1 -L=--sort-common -L=--as-needed -L=-z -L=relro -L=-z -L=now -L=-z -L=pack-relative-relocs --flto=full -L=--export-dynamic -L=-L/usr/lib/pkgconfig/../../lib -L-L/usr/lib// -L-lgtkd-3 -L-ldl -L=-lgtk-3 -L=-lgdk-3 -L=-lz -L=-latk-1.0 -L=-lrsvg-2 -L=-lcairo-gobject -L=-lcairo -L=-lpng16 -L=-ldav1d -L=-lgdk_pixbuf-2.0 -L=-lharfbuzz -L=-lxml2 -L=-lpangocairo-1.0 -L=-lpangoft2-1.0 -L=-lpango-1.0 -L=-lfontconfig -L=-lfreetype -L=-lgmodule-2.0 -L=-lgio-2.0 -L=-lglib-2.0 -L=-lgobject-2.0 -L=--export-dynamic -L=-L/usr/lib/pkgconfig/../../lib -L-lvted-3 -L-L/usr/lib// -L-lgtkd-3 -L-ldl -L=-lgdk-3 -L=-lz -L=-latk-1.0 -L=-lrsvg-2 -L=-lcairo-gobject -L=-lpng16 -L=-ldav1d -L=-lgdk_pixbuf-2.0 -L=-lharfbuzz -L=-lxml2 -L=-lpangocairo-1.0 -L=-lpangoft2-1.0 -L=-lfontconfig -L=-lfreetype -L=-lgmodule-2.0 -L=-lvte-2.91 -L=-lcairo -L=-lgio-2.0 -L=-lglib-2.0 -L=-lgobject-2.0 -L=-lpango-1.0 -L=-lgtk-3 -L=-lX11 -L=-lunwind -L=-lsecret-1 -L=-lglib-2.0 -L=-lgobject-2.0 -L=-lgio-2.0
/usr/bin/ld: /tmp/lto-llvm-8ebefc.o: in function `gx.tilix.common.GenericEvent!(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult).GenericEvent.__xopEquals(ref const(gx.tilix.common.GenericEvent!(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult).GenericEvent)) const':
ld-temp.o:(.text._D2gx5tilix6common__T12GenericEventTEQBjQBjQBg10ActionTypeTCQCgQCgQCd__T16CumulativeResultTbZQvZQCx11__xopEqualsMxFKxSQEmQEmQEj__TQEfTQDuTQDbZQErZb+0x25): undefined reference to `core.internal.array.equality.__equals!(const(void(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult) delegate), const(void(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult) delegate)).__equals(scope const(void(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult) delegate)[], scope const(void(gx.tilix.common.ActionType, gx.tilix.common.CumulativeResult!(bool).CumulativeResult) delegate)[])'
/usr/bin/ld: /tmp/lto-llvm-8ebefc.o: in function `gx.tilix.common.GenericEvent!(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]).GenericEvent.__xopEquals(ref const(gx.tilix.common.GenericEvent!(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]).GenericEvent)) const':
ld-temp.o:(.text._D2gx5tilix6common__T12GenericEventTAyaTQeTQhTQkZQBc11__xopEqualsMxFKxSQCrQCrQCo__TQCkTQBzTQCdTQChTQClZQDeZb+0x25): undefined reference to `core.internal.array.equality.__equals!(const(void(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]) delegate), const(void(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]) delegate)).__equals(scope const(void(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]) delegate)[], scope const(void(immutable(char)[], immutable(char)[], immutable(char)[], immutable(char)[]) delegate)[])'
/usr/bin/ld: /tmp/lto-llvm-8ebefc.o: in function `gx.tilix.common.GenericEvent!(gx.tilix.session.Session).GenericEvent.__xopEquals(ref const(gx.tilix.common.GenericEvent!(gx.tilix.session.Session).GenericEvent)) const':
ld-temp.o:(.text._D2gx5tilix6common__T12GenericEventTCQBjQBj7session7SessionZQBn11__xopEqualsMxFKxSQDcQDcQCz__TQCvTQCkZQDdZb+0x25): undefined reference to `core.internal.array.equality.__equals!(const(void(gx.tilix.session.Session) delegate), const(void(gx.tilix.session.Session) delegate)).__equals(scope const(void(gx.tilix.session.Session) delegate)[], scope const(void(gx.tilix.session.Session) delegate)[])'
collect2: error: ld returned 1 exit status
Error: /usr/bin/cc failed with status: 1

Seems like some library Tilix is using has changed in GNOME 47 maybe?

@github-staff github-staff deleted a comment from nhatlaso1 Sep 23, 2024
@cedricroijakkers
Copy link
Author

I managed to get a debugging backtrace, see gdb-tilix.txt. It looks like Tilix needs to be rebuilt against the new library. I don have any experience in D, so I really cannot help here by making a PR or something...

@cedricroijakkers
Copy link
Author

The good folks at Arch have now managed to get Tilix to compile again against GNOME 47, see the patch here, and this seems to work again for a lot of people. However, in my case (and I have no idea why) it is still core dumping when starting on one PC, but not on the other.

Also it seems that if you start Tilix with a config file to start with a 2x2 grid, it always core dumps on a PC where you can start the vanilly Tilix.

@andryyy
Copy link

andryyy commented Oct 29, 2024

I had no idea what I was doing, but I have backups, so I gave it a try and compile on Debian Trixie/testing.

My Tilix would constantly crash with a similar segfault at libgdk-3.

I installed dub and libgio-2.0-dev-bin, then changed the dub.json:

*** 33,38 ****
--- 33,39 ----
              "name": "default",
              "targetType": "executable",
              "libs-linux": ["X11"],
+             "lflags": ["-lz"],
              "versions": ["StdLoggerDisableTrace"]
          },
          {

See the added -lz flag.

After that it compiled and I was able to use install.sh as root (don't sudo here).

So far it seems stable.

@cedricroijakkers
Copy link
Author

I've tried your trick in linking the binary to lz, but no dice. I can see the new binary is now linked to /usr/lib/libz.so.1 but still crashes when starting.

I'm really baffled here, since I have another laptop on which Tilix is working fine (fair warning: that is running KDE on X11, I'm running GNOME on Wayland). There must be something wrong on my system, but I have absolutely no clue what it is.

@edgan
Copy link

edgan commented Jan 2, 2025

@cedricroijakkers Have you tried with a fresh user?

I am on Fedora 41 with Gnome 47, and Tilix doesn't crash with my 2x2 json file. I have used this on multiple systems.

Can you post your config?

Edit: It looks like from your comments above you are compiling Tilix with llvm. I checked and Fedora is compiling with gcc 14.2.1.

Edit2: You could try installing Tilix from the Fedora flatpak. This would help isolate many Arch-isms.

https://www.google.com/search?client=firefox-b-1-d&q=how+to+setup+fedora+flatpak+on+arch

My 2x2 json file:

{
    "child": {
        "child1": {
            "child1": {
                "directory": "\/home\/ngrennan",
                "height": 680,
                "profile": "2b7c4080-0ddd-46c5-8f23-563fd3ba789d",
                "readOnly": false,
                "synchronizedInput": true,
                "type": "Terminal",
                "uuid": "77aa9b5c-7306-4ab9-a7bd-b71deb9e6806",
                "width": 1280
            },
            "child2": {
                "directory": "\/home\/ngrennan",
                "height": 676,
                "profile": "2b7c4080-0ddd-46c5-8f23-563fd3ba789d",
                "readOnly": false,
                "synchronizedInput": true,
                "type": "Terminal",
                "uuid": "ec665be3-193f-40ad-8678-690e5da6de98",
                "width": 1280
            },
            "orientation": 1,
            "position": 49,
            "ratio": 0.499632623071271098,
            "type": "Paned"
        },
        "child2": {
            "child1": {
                "directory": "\/home\/ngrennan",
                "height": 680,
                "profile": "2b7c4080-0ddd-46c5-8f23-563fd3ba789d",
                "readOnly": false,
                "synchronizedInput": true,
                "type": "Terminal",
                "uuid": "c74ddcdc-81a5-4439-b8a6-f8e202cf36e5",
                "width": 1275
            },
            "child2": {
                "directory": "\/home\/ngrennan",
                "height": 676,
                "profile": "2b7c4080-0ddd-46c5-8f23-563fd3ba789d",
                "readOnly": false,
                "synchronizedInput": true,
                "type": "Terminal",
                "uuid": "4f5dd265-59f0-4aa3-a3d4-f03c337f3f08",
                "width": 1275
            },
            "orientation": 1,
            "position": 49,
            "ratio": 0.499632623071271098,
            "type": "Paned"
        },
        "orientation": 0,
        "position": 50,
        "ratio": 0.5,
        "type": "Paned"
    },
    "height": 1361,
    "name": "${title}",
    "synchronizedInput": false,
    "type": "Session",
    "uuid": "811f96ce-0622-4ca5-bce6-24e89689657c",
    "version": "1.0",
    "width": 2560

@yochananmarqos
Copy link

@cedricroijakkers I have never been able to reproduce this with both tilix in the Arch extra repo nor my tilix-git AUR package.

@edgan Both the Arch and Fedora packages are built with LDC which uses LLVM.

@edgan
Copy link

edgan commented Jan 4, 2025

@yochananmarqos I suspect it is unique to his configuration file. Which is why I shared mine.

I also just fixed the flatpak.

#2169 (comment)

@cedricroijakkers
Copy link
Author

@cedricroijakkers Have you tried with a fresh user?

Yes, I have deleted everything in my home dir related to Tilix, and it still core dumps when starting.

Edit2: You could try installing Tilix from the Fedora flatpak. This would help isolate many Arch-isms.

I have also tried this, interestingly, Tilix then starts, but core dumps at random moments later on. Sometimes when I want to start a shell command, sometimes when I'm in the configuration window, but almost all the time when I want to split off a horizontal or vertical window.

Out of frustration, I have now switched to ghostty which does everything I want. Still haven't found why Tilix will just not work on my system.

@edgan
Copy link

edgan commented Jan 6, 2025

Deleting everything sounds a lot less reliable than just making a fresh user.

As I learned, the flatpak is actually very broken. I ended up fixing it, but it took a lot of work. It also requires jumping through a lot of hoops to build a working version. Note, a lot of the weirdness happens when you start Tilix as a flatpak while running a normal process of it. The process sharing spans the sandbox. You have to only run any other terminal, and then run the flatpak to get true flatkpak behavior. Alternatively you can use --new-proces. It will then crash. If you are at all interested see my comment above.

Ghostty is what got me thinking about Tilix again. Ghostty is missing one huge feature, the ability to save a layout for re-use. It is on the TODO list, but it has been there for around a year. I also want scrollbars, which Ghostty doesn't have. I also want them to be draggable. Ghostty also seems to be MacOS first, not Linux first or Linux equal.

Ghostty also got me to look at Kitty. Kitty is in much closer shape. It is missing draggable scrollbars. I also don't really care for Ghostty's and Kitty's configuration file for everything style. It is great from a portability between systems perspective once you have made your perfect configuration. On the other hand it is so much extra work to discover all the settings you want to tweak, and finding the right value for them.

I also learned more about the thing that drove me away from Tilix, the intermittent % issue. It is probably still a Tilix bug, but it is an interaction between Tilix and zsh's no newline feature. So you can just disable that in zsh, and fix it. On the other hand, now I am trying to switch to fish.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants