macvim-dev / macvim-dev/macvim

Issues after last commit to src/MacVim/MMBackend.m

オープン
#1,050 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Vim Script
スター
7.9k
フォーク
691
PR マージ指標
30日以内にマージされた PR はありません

説明

Describe the bug
I have several issues with the current master:

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled May 30 2020 15:13:09)
macOS version
Included patches: 1-830

At startup, at least some of the highlight commands from gvimrc are not executed. For example, I have:

set cursorline
set cursorlineopt=screenline
hi CursorLine	NONE
hi CursorLine	gui=underline	guisp=gray

but do not get a underline. Furthermore I sometimes see artifacts of my status bar while scrolling.

Screenshot 2020-05-30 at 14 37 58

I suspect the latest changes in src/MacVim/MMBackend.m as the reason for this behaviour. If I revert this part of the commit:

         while (CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, true)
                   == kCFRunLoopRunHandledSource)
              ;   // do nothing
+       [self processInputQueue];
  }
  - (void)flushQueue:(BOOL)force

I can no longer reproduce the issues and MacVIM behaves as before.

Can someone please check whether the [self processInputQueue]; is necessary at this point or whether it can cause such problems?

Environment (please complete the following information):

  • VIM - Vi IMproved 8.2 (2019 Dec 12, compiled May 30 2020 15:13:09), Included patches: 1-830
  • OS: macOS 10.15.5
  • GUI: MacVIM

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

src/MacVim/MMBackend.m から始め、CFRunLoopRunInMode の後に [self processInputQueue] を追加する変更を調べます。macOS で報告された gvimrc 設定を使って、起動時のハイライトとスクロールのアーティファクトを再現し、その行を元に戻した場合の動作と比較します。回帰が切り分けられ、適切な動作がプロジェクトで利用可能な検証プロセスによってカバーされれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
macos, objective-c, vim
領域
desktop
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。