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

複数のレイヤーで同じnameを持つopen_macroを記述すると「... macro is already registered」という警告が出力してしまう #231

Open
jiikko opened this issue Nov 27, 2022 · 1 comment
Labels
bug Something isn't working

Comments

@jiikko
Copy link
Member

jiikko commented Nov 27, 2022

No description provided.

@jiikko jiikko changed the title 複数のレイヤーで同じマクロを記述すると「... macro is already registered」という警告が出力してしまう 複数のレイヤーで同じopen_macroを記述すると「... macro is already registered」という警告が出力してしまう Nov 28, 2022
@jiikko jiikko changed the title 複数のレイヤーで同じopen_macroを記述すると「... macro is already registered」という警告が出力してしまう 複数のレイヤーで同じnameを持つopen_macroを記述すると「... macro is already registered」という警告が出力してしまう Nov 28, 2022
@jiikko
Copy link
Member Author

jiikko commented Nov 28, 2022

open macroのキーがglobalになっているせいで、layerを跨いでも重複扱いになってしまう。

以下で再現する。修正するにはmacroのキーに「layer」も入れれば回避ができると思う。
今の実装のままで回避するには、open_macroの第一引数を一意になるようにすればOK

+        context '同名のopen_macroを複数のlayerで適用するとき' do
+          it '警告が出ないこと' do
+            expect(Kernel).not_to receive(:warn)
+
+            ProconBypassMan.buttons_setting_configure do
+              layer :up do
+                open_macro "SaiHuu", steps: [:x, :y], if_pressed: [:x]
+              end
+              layer :right do
+                open_macro "SaiHuu", steps: [:x, :b], if_pressed: [:b]
+              end
+            end
+          end
+        end

気が向いた時にやりやす。

@jiikko jiikko added the bug Something isn't working label Nov 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant