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

'/'を含むLispスクリプトを登録した場合に実行できない形に変換されてしまう #20

Closed
magai opened this issue Feb 16, 2021 · 5 comments

Comments

@magai
Copy link

magai commented Feb 16, 2021

たとえば (skk-strftime "%Y/%m/%d") を辞書登録した場合、登録時は日時(今日であれば'2021/02/16')に変換されますが、その後再度変換すると登録した内容の文字列そのままに変換されてしまいます。

CorvusSKKでは'/'を含む文字列を辞書登録する場合にLispで'\057'concatする形に変換して登録するようですが、その機能がLispスクリプトを登録する場合にも働いてしまうのが原因のようです。

手動で変換した上で登録すればいいだけの話ではあるんですが……。

バージョンはCorvusSKK 2.8.0です。

@nathancorvussolis
Copy link
Owner

報告ありがとうございます。
現状、無条件で候補全体をconcatの式にしてしまっているので、Lisp式の文字列の部分だけconcatの式にする必要がありますね。
できたら近日中に修正します。

@nathancorvussolis
Copy link
Owner

S式内の文字列なので、concatにする必要は無くて単にエスケープすればいいだけでした。
51f7385

あと、strftime関数で使用できる変換指定文字がLua内部での制限に気付きました。
いまさらですが、Visual Studio 2019 でサポートされているものを有効にしました。
45fb790

#define L_STRFTIMEWIN "aAbBcdHIjmMpSUwWxXyYzZ%" \
"||" "#c#x#d#H#I#j#m#M#S#U#w#W#y#Y" /* two-char options */

corvusskk/liblua/luaconf.h

Lines 760 to 766 in 51f7385

/* strftime function options for Visual Studio 2019 */
#define LUA_STRFTIMEOPTIONS \
"aAbBcCdDeFgGhHIjmMnprRStTuUVwWxXyYzZ%" \
"||" "#a#A#b#B#g#G#h#n#p#t#u#w#X#z#Z#%" \
"#c" \
"#x" \
"#d#D#e#F#H#I#j#m#M#r#R#S#T#U#V#W#y#Y"

ちょうどコードサイニング証明書が切れているのですが、数日後に新しいのが有効になるのでもう少々お待ちを。

@magai
Copy link
Author

magai commented Feb 21, 2021

ありがとうございます! 修正リリースされましたら確認させていただきますね。

@nathancorvussolis
Copy link
Owner

ver.2.8.1をリリースしました。
https://github.com/nathancorvussolis/corvusskk/releases/tag/2.8.1

@magai
Copy link
Author

magai commented Feb 25, 2021

適切に辞書登録されるようになったこと確認しました。ありがとうございました!

@magai magai closed this as completed Feb 25, 2021
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

2 participants