FelixKratz / SketchyVim

Adds all vim moves and modes to macOS text fields
GNU General Public License v3.0
692 stars 9 forks source link

svim ignores configs after restart, and is unstartable after reinstall #21

Closed chrisgrieser closed 2 years ago

chrisgrieser commented 2 years ago

Hi, sorry to bother you once more 🙈

So the after everything with Alfred worked fine after updating to 1.0.9, I made changes to the svimrc and restarted svim to load those changes (brew services restart svim).

From then on, svim did not recognize any configs anymore – neither in the blacklist file, nor in the svimrc. (and I made sure I did not include any comments, like in #18). Restarting didn't help, but I did notice an svim still being listed as active process, so I killed that process, too, but that also didn't change anything.

So then I decided to reinstall svim and restarted my machine, but weirdly after that, svim refuses to launch at all. running as a foreground service (svim) only results gives this error message: Error: Could not create lock-file..

FelixKratz commented 2 years ago

To be honest I think the changes are not accepted because an instance of svim is still running and that one blocks all other instances from starting a second time.

As you can see here (svimrc) https://github.com/FelixKratz/SketchyVim/blob/75d24df2a18d320127f1d95e9bca912a03c36df9/src/buffer.c#L8-L19 and here (blacklist) https://github.com/FelixKratz/SketchyVim/blob/75d24df2a18d320127f1d95e9bca912a03c36df9/src/event_tap.c#L43-L66 there is nothing magic happening there in terms of reading the config files.

Regarding the error you now get, it originates from here: https://github.com/FelixKratz/SketchyVim/blob/75d24df2a18d320127f1d95e9bca912a03c36df9/src/main.m#L9-L23 and it means that the handle on the file /tmp/svim.lock could not be acquired:

open("/tmp/svim.lock", O_CREAT | O_WRONLY, 0600)

this could be an artifact of two users on the same machine both using svim. Then the lock file will be inaccessible for an unprivileged user.

You could try to delete that file by force

rm -rf /tmp/svim.lock

It could also be that there are too many open files on your system and creating a new fd is blocked by the system, but then you would notice other strange behavior very soon.

chrisgrieser commented 2 years ago

You could try to delete that file by force rm -rf /tmp/svim.lock

Thanks! that did the trick and also made svim load the configs properly.