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

内部状態とバッファの状態の相違を検出するコードの考慮漏れについて #172

Open
tyru opened this issue Dec 8, 2013 · 10 comments
Labels

Comments

@tyru
Copy link
Collaborator

tyru commented Dec 8, 2013

#171 でのフェイルセーフ実装にマッピングで待ち状態になった後に2キー以上同時に処理された場合の考慮が抜けていた。

(2キー目以降ではまだ1キー目の結果がバッファに挿入されてないみたい)

@tyru
Copy link
Collaborator Author

tyru commented Dec 8, 2013

@Shougo #171 に書いてもらってましたが、これからはこっちに書いてもらえるようお願いします。

@Shougo
Copy link
Collaborator

Shougo commented Dec 8, 2013

了解です。とはいえ、もうtyruさんのところで原因がわかったらしいのでこちらでやることはなさそうです。
補完についての問題は再現できましたでしょうか。そちらもここに書いたほうが良いでしょうか。

@tyru
Copy link
Collaborator Author

tyru commented Dec 8, 2013

そちらはまだ再現できていませんので、

  • 前提条件(neocompleteを有効化した場合等)
  • 再現手順
  • それによってどのようなエラーが発生するのか(おそらくもう片方のエラーと同じでしょうか)
  • 求める結果は何か

等を書いておいてもらえると助かります。
2013/12/09 8:33 "Shougo" [email protected]:

了解です。とはいえ、もうtyruさんのところで原因がわかったらしいのでこちらでやることはなさそうです。
補完についての問題は再現できたのでしょうか。そちらもここに書いたほうが良いでしょうか。


Reply to this email directly or view it on GitHubhttps://github.com//issues/172#issuecomment-30096528
.

@Shougo
Copy link
Collaborator

Shougo commented Dec 9, 2013

  • 前提条件(neocompleteを有効化した場合等)
    neocompleteとeskk.vimを同時に有効化する。
    もしかすると、Vimのバージョンに依存するかも知れません。私のVimは7.4.103です。
    独自パッチを当ててなくても再現するので、それは関係ないと思われます。
  • 再現手順 - それによってどのようなエラーが発生するのか(おそらくもう片方のエラーと同じでしょうか)
    neocompleteによりeskk.vimの補完候補が出てきたら、<C-n>で候補を選択し、<CR>を押す。発生するエラーはもう片方のエラーと同じです。
  • 求める結果は何か
    エラーなく、選択した補完結果が挿入される

@Shougo
Copy link
Collaborator

Shougo commented Dec 24, 2013

補完についての問題は最新版で直っているようです。

@thinca
Copy link
Member

thinca commented Jan 14, 2014

これ、直る目処など立っているんでしょうか?

@tyru
Copy link
Collaborator Author

tyru commented Jan 14, 2014

すいません、まだです。
thincaさんのLingrでの書き込みも偶然見たのですが、
自分の方でも高速にタイプすると再現する事が分かっただけですね。
2人とも再現方法が同じなので間違いないようです。
ただ原因が分かっていません。
2014/01/14 18:28 "thinca" [email protected]:

これ、直る目処など立っているんでしょうか?


Reply to this email directly or view it on GitHubhttps://github.com//issues/172#issuecomment-32249742
.

@thinca
Copy link
Member

thinca commented Jan 14, 2014

了解です。時間が取れたら調べてみます。

@tyru
Copy link
Collaborator Author

tyru commented Jan 14, 2014

助かります。
よろしくお願いします。

On Tue, Jan 14, 2014 at 11:35 PM, thinca [email protected] wrote:

了解です。時間が取れたら調べてみます。


Reply to this email directly or view it on GitHubhttps://github.com//issues/172#issuecomment-32268944
.

@tyru
Copy link
Collaborator Author

tyru commented Mar 22, 2014

メモより。

[GVIM] [02/06/14 07:18:33] [DEBUG] eskk#filter(): char = ';', nested count = 1
[GVIM] [02/06/14 07:18:33] [DEBUG] eskk#filter(): char = 'g', nested count = 1
[GVIM] [02/06/14 07:18:33] [DEBUG] eskk#filter(): char = 'e', nested count = 1
[GVIM] [02/06/14 07:18:34] [DEBUG] eskk#filter(): char = 't', nested count = 1
[GVIM] [02/06/14 07:18:34] [DEBUG] eskk#filter(): char = 'u', nested count = 1
[GVIM] [02/06/14 07:18:34] [DEBUG] eskk#filter(): char = 'm', nested count = 1
[GVIM] [02/06/14 07:18:34] [DEBUG] eskk#filter(): char = 'a', nested count = 1
[GVIM] [02/06/14 07:18:34] [DEBUG] eskk#filter(): char = 't', nested count = 1
[GVIM] [02/06/14 07:18:34] [DEBUG] eskk#filter(): char = 'u', nested count = 1
[GVIM] [02/06/14 07:18:34] [DEBUG] eskk#filter(): char = ' ', nested count = 1
[GVIM] [02/06/14 07:18:35] [DEBUG] eskk#filter(): char = 'n', nested count = 1
[GVIM] [02/06/14 07:18:35] [DEBUG] eskk#filter(): char = 'i', nested count = 1
[GVIM] [02/06/14 07:18:35] [DEBUG] eskk#filter(): char = ';', nested count = 1
[GVIM] [02/06/14 07:18:35] [DEBUG] eskk#filter(): char = 'h', nested count = 1
[GVIM] [02/06/14 07:18:35] [DEBUG] eskk#filter(): char = 'e', nested count = 1
[GVIM] [02/06/14 07:18:35] [DEBUG] eskk#filter(): char = 'n', nested count = 1
[GVIM] [02/06/14 07:18:35] [DEBUG] eskk#filter(): char = 'k', nested count = 1
[GVIM] [02/06/14 07:18:36] [DEBUG] eskk#filter(): char = 'o', nested count = 1
[GVIM] [02/06/14 07:18:36] [WARN] invalid rewrite of buffer was detected. reset preedit status...: ['$へんk', '<ab>$へん']
[GVIM] [02/06/14 07:18:36] [INFO] current phase: 1
[GVIM] [02/06/14 07:18:36] [INFO] phase: 0
[GVIM] [02/06/14 07:18:36] [INFO] rom_str: ''
[GVIM] [02/06/14 07:18:36] [INFO] matched pairs: []
[GVIM] [02/06/14 07:18:36] [INFO] phase: 1
[GVIM] [02/06/14 07:18:36] [INFO] rom_str: 'k'
[GVIM] [02/06/14 07:18:36] [INFO] matched pairs: [['he', 'へ', {'converted': 1}], ['n', 'ん', {'converted': 1}]]
[GVIM] [02/06/14 07:18:36] [INFO] phase: 2
[GVIM] [02/06/14 07:18:36] [INFO] rom_str: ''
[GVIM] [02/06/14 07:18:36] [INFO] matched pairs: []
[GVIM] [02/06/14 07:18:36] [INFO] phase: 3
[GVIM] [02/06/14 07:18:36] [INFO] rom_str: ''
[GVIM] [02/06/14 07:18:36] [INFO] matched pairs: []
[GVIM] [02/06/14 07:18:37] [DEBUG] eskk#filter(): char = 'k', nested count = 1
[GVIM] [02/06/14 07:18:37] [DEBUG] eskk#filter(): char = 'u', nested count = 1
[GVIM] [02/06/14 07:18:37] [DEBUG] eskk#filter(): char = ' ', nested count = 1
[GVIM] [02/06/14 07:18:37] [DEBUG] eskk#filter(): char = '^H', nested count = 1
[GVIM] [02/06/14 07:18:37] [DEBUG] eskk#filter(): char = '^H', nested count = 1
[GVIM] [02/06/14 07:18:38] [DEBUG] eskk#filter(): char = '^H', nested count = 1
[GVIM] [02/06/14 07:18:38] [DEBUG] eskk#filter(): char = '^H', nested count = 1
[GVIM] [02/06/14 07:18:38] [DEBUG] eskk#filter(): char = '^H', nested count = 1
[GVIM] [02/06/14 07:18:38] [DEBUG] eskk#filter(): char = '^H', nested count = 1

→なぜ「henk」のkがeskk#filter()によって処理される(eskk#filter(): char = 'k')よりも前にrom_strにkが入っているのか?
→自動補完が働いてcomplete.vimからrom_strがsetされてるのでは?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants