{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":166898298,"defaultBranch":"master","name":"fish-shell","ownerLogin":"krobelus","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2019-01-22T00:10:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6853872?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1713443973.0","currentOid":""},"activityList":{"items":[{"before":"13b34902f550a868a857b216064f10b7bd7dfb59","after":"e5e8670bcb0e420a63c40cb936aed1089fe81c02","ref":"refs/heads/release-script","pushedAt":"2024-04-18T12:44:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Release automation script\n\nWe provide releases in several different formats and channels. There are many\nmanual steps involved in making a release. This makes it hard to learn or\nshare improvements (especially share improvements that last once-and-for-all).\nAlso there is potential for error -- for example our Debian PPAs don't include\nthe latest release and our website doesn't link to the latest tarball.\nWith our current approach, packaging tends to get more complicated, for\nexample we'll want to add things like \"Depends: librust-hexponent\" to our\nDebian package, and set the version based on Cargo.toml.\n\nAdd a script to automate the boring steps of the release process.\nThis should obsolete most of https://github.com/fish-shell/fish-shell/wiki/Release-checklist\n\nIt seems to work on my Linux system but it's obviously not battle-tested yet.\nThe most essential TODO comments ones are for uploading Debian packages.\n\nIteration on the script itself is usually quite fast. I run something like\n\n git add build_tools/release.sh\n git commit -m wip\n build_tools/release.sh 3.8.0 --dry-run --no-test # plus eventual --no-rebuild --no-rebuild-debs\n\nAs a temporary hack, the Debian packages are currently built in a Docker\ncontainer. It'd be easy to skip Docker when debmake is installed on the\nhost system. We don't yet pass through gpg-agent into Docker, so the debuild\nprocess requires interactive password input.\n\nIt takes a really long time (> 15 minutes) to build all Debian packages\nbecause we rebuild them sequentially for all Ubuntu releases (mantic, jammy,\nfocal, bionic and xenial) even though only \"debian/changelog\" is different.\nFor iterating on the script, we can use \"--no-rebuild-debs\" to reuse the the\npackages after they've been built once. Of course this is only valid if the\ntarball has not changed since. We could probably ask debuild to validate\nthis, or speed up the process in a different way, at least parallelize.\n\nFuture ideas:\n- we could run the script in CI instead, to keep us even more honest.\n- we should try to simplify the website release process (should not need to\n talk to the github API, the script already has enough information).\n- do something similar for the the macOS-specific parts","shortMessageHtmlLink":"Release automation script"}},{"before":null,"after":"13b34902f550a868a857b216064f10b7bd7dfb59","ref":"refs/heads/release-script","pushedAt":"2024-04-18T12:39:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Release automation script\n\nWe provide releases in several different formats and channels. There are\nmany manual steps involved in doing a release, making it hard to learn\nor share improvements (especially in a way that lasts once-and-for-all).\nAlso there is potential for error -- for example our Debian PPAs don't include\nthe latest release and our website doesn't link to the latest tarball.\nAdditionally, packaging tends to get more complicated (for example we'll\nwant to add things like \"Depends: librust-hexponent\" to our Debian package,\nand set the version based on Cargo.toml). Finally, I personally would not\nwant to do this manually.\n\nAdd a script to automate the boring steps of the release process.\nThis should obsolete most of https://github.com/fish-shell/fish-shell/wiki/Release-checklist\n\nIt seems works on my Linux system but it's obviously not battle-tested yet.\nThe most essential TODO comments ones are for uploading Debian packages.\n\nIteration on the script itself is usually quite fast. I run something like\n\n git add build_tools/release.sh\n git commit -m wip\n build_tools/release.sh 3.8.0 --dry-run --no-test # plus eventual --no-rebuild --no-rebuild-debs\n\nAs a temporary hack, the Debian packages are currently built in a Docker\ncontainer. It'd be easy to skip Docker when debmake is installed on the host\nsystem. We currently don't forward gpg-agent into docker, so the debuild\nprocess requires interactive password input.\n\nIt takes a really long time (> 15 minutes) to build all Debian packages\nbecause we rebuild them sequentially for all Ubuntu releases (mantic, jammy,\nfocal, bionic and xenial) even though only \"debian/changelog\" is different.\nFor iterating on the script, we can use \"--no-rebuild-debs\" to reuse the the\npackages after they've been built once. Of course this is only valid if the\ntarball has not changed since. We could probably ask debuild to validate\nthis, or speed up the process in a different way, at least parallelize.\n\nFuture ideas:\n- we could run the script in CI instead, to keep us even more honest.\n- we should try to simplify the website release process (should not need to\n talk to the github API, the script already has enough information).\n- automate the macOS-specific parts (with a different script)","shortMessageHtmlLink":"Release automation script"}},{"before":"3700d6a2ea367bc807ab4168e981ad2aff36b67f","after":"e06675bf7a284f650e7e3ce94022fb706fee653e","ref":"refs/heads/indent-for-external-editor","pushedAt":"2024-04-12T09:41:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"builtins type/functions: indent interactively-defined functions\n\nThis means that in case no editor is defined, \"fish_indent\" is now required\nto fix the indentation.\n\nFixes #8603","shortMessageHtmlLink":"builtins type/functions: indent interactively-defined functions"}},{"before":null,"after":"3700d6a2ea367bc807ab4168e981ad2aff36b67f","ref":"refs/heads/indent-for-external-editor","pushedAt":"2024-04-12T09:37:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"builtins type/functions: indent interactively-defined functions\n\nThis means that in case no editor is defined, \"fish_indent\" is now required\nto fix the indentation.\n\nFixes #8603","shortMessageHtmlLink":"builtins type/functions: indent interactively-defined functions"}},{"before":null,"after":"24c55e3f6e581caadef72be70c9fb8ae59954c44","ref":"refs/heads/trace","pushedAt":"2024-04-06T09:22:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"fish_trace filters to avoid suppressing traces from binds etc\n\nToday fish_trace=1 traces all fish script code except bind/events/prompt/title.\n(Also fish_should_add_to_history which is part of bind).\n\nLet's allow enabling these categories. This is mainly to help debugging; I'm\nnot sure how useful this is to people who are not very familiar with fish. I'd\nonly list this in the changelog once we have a better design (reject typos\nlike \"fish_trace=binds\" and maybe allow turning off the default script trace).","shortMessageHtmlLink":"fish_trace filters to avoid suppressing traces from binds etc"}},{"before":"9370e7e2078c491ef0f727a14e3ca19cd86ef940","after":"121efc8534497fb2cf62bec2db40645d13fe9e5b","ref":"refs/heads/tmp","pushedAt":"2024-04-03T10:37:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"debug","shortMessageHtmlLink":"debug"}},{"before":"08bc7d04080e40c30a8cc5d125bf09abfa8a5be1","after":"9370e7e2078c491ef0f727a14e3ca19cd86ef940","ref":"refs/heads/tmp","pushedAt":"2024-04-02T10:38:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"debug","shortMessageHtmlLink":"debug"}},{"before":"74792fdeb863bab0d9ad1af06d56f17258760671","after":"e734e72a94a4d5198924c98ecda82c6c9eecdc8e","ref":"refs/heads/keys","pushedAt":"2024-04-02T06:41:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Extended & human-friendly keys\n\nSee the changelog additions for user-visible changes.\n\nSince we enable/disable terminal protocols whenever we pass terminal ownership,\ntests can no longer run in parallel on the same terminal.\n\nSince fish asks the terminal to speak CSI u now, using gdb may be less\nergonomic. As a remedy, use gdbserver, or lobby for CSI u support in\nlibreadline[1].\n\n[1]: https://lists.gnu.org/archive/html/bug-readline/2022-04/msg00010.html","shortMessageHtmlLink":"Extended & human-friendly keys"}},{"before":"5dd79ec96cd6ff06aa7ca2809eb862806689a2b5","after":"08bc7d04080e40c30a8cc5d125bf09abfa8a5be1","ref":"refs/heads/tmp","pushedAt":"2024-04-02T06:15:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"debug","shortMessageHtmlLink":"debug"}},{"before":"72f551029ff6eddca97d21862e622881a3b26204","after":"74792fdeb863bab0d9ad1af06d56f17258760671","ref":"refs/heads/keys","pushedAt":"2024-04-02T06:12:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Extended & human-friendly keys\n\nSee the changelog additions for user-visible changes.\n\nSince we enable/disable terminal protocols whenever we pass terminal ownership,\ntests can no longer run in parallel on the same terminal.\n\nSince fish asks the terminal to speak CSI u now, using gdb may be less\nergonomic. As a remedy, use gdbserver, or lobby for CSI u support in\nlibreadline[1].\n\n[1]: https://lists.gnu.org/archive/html/bug-readline/2022-04/msg00010.html","shortMessageHtmlLink":"Extended & human-friendly keys"}},{"before":"561fdc80790d55fc4bd76b7d5efd2b9a04b8a17a","after":"5dd79ec96cd6ff06aa7ca2809eb862806689a2b5","ref":"refs/heads/tmp","pushedAt":"2024-04-02T06:06:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"debug","shortMessageHtmlLink":"debug"}},{"before":"2d1c5c3c5bcea79d59a9515e9f54551f08e226c0","after":"561fdc80790d55fc4bd76b7d5efd2b9a04b8a17a","ref":"refs/heads/tmp","pushedAt":"2024-04-02T05:37:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"debug","shortMessageHtmlLink":"debug"}},{"before":"014d114b482f6f7acd7a8b7968b1a171477e6c98","after":"2d1c5c3c5bcea79d59a9515e9f54551f08e226c0","ref":"refs/heads/tmp","pushedAt":"2024-04-01T21:22:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"debug","shortMessageHtmlLink":"debug"}},{"before":"5a2d7825c008d5a54fe3b5fc1b1d606f57c4b0ea","after":"014d114b482f6f7acd7a8b7968b1a171477e6c98","ref":"refs/heads/tmp","pushedAt":"2024-04-01T21:19:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"98e76a0c4313939424e5b0fe178f1cbc84658635","after":"5a2d7825c008d5a54fe3b5fc1b1d606f57c4b0ea","ref":"refs/heads/tmp","pushedAt":"2024-04-01T21:13:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"8ab3ffb90a778e9c5fd3c0732c5604d1f0105d2f","after":"98e76a0c4313939424e5b0fe178f1cbc84658635","ref":"refs/heads/tmp","pushedAt":"2024-04-01T20:14:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"debug","shortMessageHtmlLink":"debug"}},{"before":"ca2a4d820b7db4d8755da64a588340e191f628f1","after":"8ab3ffb90a778e9c5fd3c0732c5604d1f0105d2f","ref":"refs/heads/tmp","pushedAt":"2024-04-01T19:46:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Extended & human-friendly keys\n\nSee the changelog additions for user-visible changes.\n\nSince we enable/disable terminal protocols whenever we pass terminal ownership,\ntests can no longer run in parallel on the same terminal.\n\nSince fish asks the terminal to speak CSI u now, using gdb may be less\nergonomic. As a remedy, use gdbserver, or lobby for CSI u support in\nlibreadline[1].\n\n[1]: https://lists.gnu.org/archive/html/bug-readline/2022-04/msg00010.html","shortMessageHtmlLink":"Extended & human-friendly keys"}},{"before":"f26bfd14bf4ca9174e2c0fe6fcc84b86632b53d9","after":"ca2a4d820b7db4d8755da64a588340e191f628f1","ref":"refs/heads/tmp","pushedAt":"2024-04-01T19:05:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Extended & human-friendly keys\n\nSee the changelog additions for user-visible changes.\n\nSince we enable/disable terminal protocols whenever we pass terminal ownership,\ntests can no longer run in parallel on the same terminal.\n\nSince fish asks the terminal to speak CSI u now, using gdb may be less\nergonomic. As a remedy, use gdbserver, or lobby for CSI u support in\nlibreadline[1].\n\n[1]: https://lists.gnu.org/archive/html/bug-readline/2022-04/msg00010.html","shortMessageHtmlLink":"Extended & human-friendly keys"}},{"before":"9c139486a80f3365121b6776502e567118c95ccd","after":"f26bfd14bf4ca9174e2c0fe6fcc84b86632b53d9","ref":"refs/heads/tmp","pushedAt":"2024-04-01T12:44:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"f0116de3a3ebb77a23f5e3933e0bdfc406aac2db","after":"9c139486a80f3365121b6776502e567118c95ccd","ref":"refs/heads/tmp","pushedAt":"2024-04-01T12:14:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"64cae6b660942936485651811ba1f8417e6dd0ff","after":"f0116de3a3ebb77a23f5e3933e0bdfc406aac2db","ref":"refs/heads/tmp","pushedAt":"2024-04-01T10:33:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Extended & human-friendly keys\n\nSee the changelog additions for user-visible changes.\n\nSince we enable/disable terminal protocols whenever we pass terminal ownership,\ntests can no longer run in parallel on the same terminal.\n\nSince fish asks the terminal to speak CSI u now, using gdb may be less\nergonomic. As a remedy, use gdbserver, or lobby for CSI u support in\nlibreadline[1].\n\n[1]: https://lists.gnu.org/archive/html/bug-readline/2022-04/msg00010.html","shortMessageHtmlLink":"Extended & human-friendly keys"}},{"before":"fe790b9f2794dd65e463b3f95aae23eefae6867e","after":"64cae6b660942936485651811ba1f8417e6dd0ff","ref":"refs/heads/tmp","pushedAt":"2024-04-01T09:37:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"786f24032e4bb625fe223e5f4bdac63e7376878b","after":"72f551029ff6eddca97d21862e622881a3b26204","ref":"refs/heads/keys","pushedAt":"2024-03-31T20:16:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Extended & human-friendly keys\n\nSee the changelog additions for user-visible changes.\n\nSince we enable/disable terminal protocols whenever we pass terminal ownership,\ntests can no longer run in parallel on the same terminal.\n\nSince fish asks the terminal to speak CSI u now, using gdb may be less\nergonomic. As a remedy, use gdbserver, or lobby for CSI u support in\nlibreadline[1].\n\n[1]: https://lists.gnu.org/archive/html/bug-readline/2022-04/msg00010.html","shortMessageHtmlLink":"Extended & human-friendly keys"}},{"before":"34531b22ff76fbc0aea6f2b7c37fa9e4e21735e8","after":"786f24032e4bb625fe223e5f4bdac63e7376878b","ref":"refs/heads/keys","pushedAt":"2024-03-31T20:05:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"chlog","shortMessageHtmlLink":"chlog"}},{"before":"76b3cb901a82cf01bc483b1f85723cfddce1cc86","after":"fe790b9f2794dd65e463b3f95aae23eefae6867e","ref":"refs/heads/tmp","pushedAt":"2024-03-30T08:39:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Fix regression when selection start is deleted\n\nRange with start > end are invalid \"slice index starts at 10 but ends at 0\".","shortMessageHtmlLink":"Fix regression when selection start is deleted"}},{"before":"553db760582574c8ad25598523c918b5ebfb3e82","after":"76b3cb901a82cf01bc483b1f85723cfddce1cc86","ref":"refs/heads/tmp","pushedAt":"2024-03-30T08:24:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Fix regression when selection start is deleted\n\nRange with start > end are invalid \"slice index starts at 10 but ends at 0\".","shortMessageHtmlLink":"Fix regression when selection start is deleted"}},{"before":"0cb27c49d058a60c68007291d1327ad0fc57c758","after":null,"ref":"refs/heads/next","pushedAt":"2024-03-25T07:27:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"}},{"before":"e5d486e69464e083d2b87a62f2f39d5cc32e352d","after":"553db760582574c8ad25598523c918b5ebfb3e82","ref":"refs/heads/tmp","pushedAt":"2024-03-24T11:54:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Use RAII for restoring term modes\n\nIn particular, this allows restoring the terminal on crashes, which is\nfeasible now that we have the panic handler. Since std::process::exit() skips\ndestructors, we need to reshuffle some code. The \"exit_without_destructors\"\nsemantics (which std::process::exit() als has) was mostly necessary for C++\n- Rust leaks global variables by default.","shortMessageHtmlLink":"Use RAII for restoring term modes"}},{"before":"6ef7445ff807ccbdf1433c8bdeb7a5e9dac1f6f0","after":"e5d486e69464e083d2b87a62f2f39d5cc32e352d","ref":"refs/heads/tmp","pushedAt":"2024-03-24T11:19:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Use RAII for restoring term modes\n\nIn particular, this allows restoring the terminal on crashes. Since\nstd::process::exit() skips destructors, we need to reshuffle some code.\nThe \"exit_without_destructors\" semantics (which std::process::exit() als has)\nwas mostly necessary for C++ - Rust leaks global variables by default.","shortMessageHtmlLink":"Use RAII for restoring term modes"}},{"before":"45de320aecb672575ec83d1b17a65fd96a4be09a","after":"6ef7445ff807ccbdf1433c8bdeb7a5e9dac1f6f0","ref":"refs/heads/tmp","pushedAt":"2024-03-24T11:17:24.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"krobelus","name":"Johannes Altmanninger","path":"/krobelus","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6853872?s=80&v=4"},"commit":{"message":"Use RAII for restoring term modes\n\nIn particular, this allows restoring the terminal on crashes. Since\nstd::process::exit() skips destructors, we need to reshuffle some code.\nThe \"exit_without_destructors\" semantics (which std::process::exit() als has)\nwas mostly necessary for C++ - Rust leaks global variables by default.","shortMessageHtmlLink":"Use RAII for restoring term modes"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAENCGtpQA","startCursor":null,"endCursor":null}},"title":"Activity ยท krobelus/fish-shell"}