Broken with Hammerspoon 0.9.79
dbalatero opened this issue · comments
David Balatero commented
Lua is pushed to 5.4 and axuielement is bundled now with Hammerspoon, so we can drop the external dependency if we are on >= 0.9.79.
David Balatero commented
dlopen(/Users/dbalatero/.dotfiles/hammerspoon/Spoons/VimMode.spoon/vendor/hs/_asm/axuielement/internal.so, 6): Symbol not found: _lua_newuserdata
Referenced from: /Users/dbalatero/.dotfiles/hammerspoon/Spoons/VimMode.spoon/vendor/hs/_asm/axuielement/internal.so
Expected in: /Applications/Hammerspoon.app/Contents/MacOS/../Frameworks/LuaSkin.framework/Versions/A/LuaSkin
in /Users/dbalatero/.dotfiles/hammerspoon/Spoons/VimMode.spoon/vendor/hs/_asm/axuielement/internal.so
stack traceback:
[C]: in ?
[C]: in function 'rawrequire'
...app/Contents/Resources/extensions/hs/_coresetup/init.lua:651: in function 'require'
...Spoons/VimMode.spoon/vendor/hs/_asm/axuielement/init.lua:27: in main chunk
[C]: in function 'rawrequire'
...app/Contents/Resources/extensions/hs/_coresetup/init.lua:651: in function 'require'
...o/.dotfiles/hammerspoon/Spoons/VimMode.spoon/lib/vim.lua:18: in main chunk
[C]: in function 'dofile'
...tero/.dotfiles/hammerspoon/Spoons/VimMode.spoon/init.lua:10: in main chunk
[C]: in function 'rawrequire'
...app/Contents/Resources/extensions/hs/_coresetup/init.lua:651: in function 'require'
...app/Contents/Resources/extensions/hs/_coresetup/init.lua:324: in field 'loadSpoon'
/Users/dbalatero/.dotfiles/hammerspoon/init.lua:5: in main chunk
[C]: in function 'xpcall'
...app/Contents/Resources/extensions/hs/_coresetup/init.lua:702: in function 'hs._coresetup.setup'
(...tail calls...)```
Slamet Kristanto commented
Is there any progress or workaround to address this issue? any help would be appreciated
David Balatero commented
No progress so far, been quite busy. To sum up what needs to be done though:
- Write a function that checks if the Hammerspoon version is below 0.9.79
- If so, load the vendored axuielement library, business as usual
- Otherwise, load the bundled version that comes with the new version
- Possibly hide this if/else logic in a single
axuielement.lua
file that can export either copy of the lib
David Balatero commented
I believe https://www.hammerspoon.org/docs/hs.html#processInfo contains a version string.
David Balatero commented
Alright all, if you pull master
you should get a working version. Let me know if you discover any issues - I had to make some updates as the axuielement library broke API compatibility when it moved from experimental to HS core.