0

私が使用している emacs-lisp スクリプトには小さなバグがあり、エラー メッセージが表示されることがありますが、実行は問題なく進行します。エラー自体は気にしませんが、Emacs がその後 10 ~ 15 秒ブロックされたままになり、何らかのタイマー (エラーメッセージが消える前に確実に表示されるように設計されている) と思われるものが終了するまで待たなければならないのが気になります。編集を再開できます。

この遅延を減らす簡単な方法はありますか? 値を変更するために、このタイマーが定義されている場所が見つかりませんでした。

いくつかの追加情報:

  • 私は Emacs 23.2 を使用していますが、再コンパイルして 23.4 を使用してみましたが、何も変わりませんでした。
  • Emacs 24.1 を試してみたところ、エラーは消えましたが、パフォーマンスに大きな影響がありました (スクリプトは Emacs 23.2 用に設計されています)。
  • 問題のスクリプトは、将来的にその作成者によって更新される予定ですが、それまでの間、迅速で汚い解決策を探しています。
  • エラーメッセージは次のとおりです。「プロセスフィルターのエラー: ミニバッファーまたは通常のウィンドウのみを削除しようとしています」
4

1 に答える 1

1

すでに述べたように、それはバグです。メンテナに報告してください。

次のようなフォームのコードを調べることができます

(accept-process-output &optional PROCESS SECONDS MILLISEC JUST-THIS-ONE)

サブプロセスからの保留中の出力を Emacs が読み取れるようにします。プロセスのバッファに読み込まれるか、フィルタ関数に渡されます。nil 以外の arg PROCESS は、PROCESS から何らかの出力が受信されるまで返さないことを意味します。

nil 以外の 2 番目の引数 SECONDS と 3 番目の引数 MILLISEC は、待機する秒数とミリ秒数です。

;;;

于 2012-08-04T07:02:37.770 に答える