問題タブ [compile-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
979 参照

windows - リモート(sshコンパイル)エラーファイル名からローカルソースファイルパスを見つけるためのEmacsでのパス名変換

コンパイルモードのソースファイルをリモートパスに基づいてローカルパスに変換できるようにするために、Emacsで利用できるある種の一般的なパス名書き換え/正規化機能はありますか? シンボリック リンクを使用したいと思っていましたが、Windows では機能しません。

私は GNU Emacs 23.1.1 を実行しており、cygwin-mount と w32-symlinks.el (with (customize-option 'w32-symlinks-handle-shortcuts)) を試しました。open-file/dired/completions または compile-mode next-error を取得して、Windows ショートカットまたは cygwin シンボリック リンクをたどることができません。

私はリモートで(ssh経由で)コンパイルしていますが、警告/エラーにより、リモートホスト上の絶対パス名のプレフィックス(例:)を別のパス(実際には)に/nfs/topaz置き換える必要があるファイル名が表示されます。z:/シンボリックリンク付き。

/(emacs でタブ展開される)c:/cygwinと(my ) に移動~します。z:/$HOME

私が望んでいるのは、シンボリックリンク解決の修正(タブ補完またはWindowsショートカットを開くと、それが指すものではなく.lnkファイルを取得する)、またはパス名のプレフィックスの書き換えのリストを提供する機能です。必要な代替パスが別のドライブ上にあるため、ジャンクションはオプションではありません (これも Samba マウントです)。

0 投票する
1 に答える
1162 参照

emacs - elispコンパイル、エラー検出に正規表現を追加

私はemacsから始めていますが、elispについてはあまり知りません。本当にほとんど何もありません。

grepの代わりにackを使用したいと思います。

これらは私がemacs内からackを使用するために従った指示です: http ://www.rooijan.za.net/?q = ack_el

このelファイルで使用されている出力形式が気に入らないので、出力を。の出力にしたいと思いますack --group

だから私は変更しました:

に:

ここまでは順調ですね。しかし、これにより、出力バッファーの行でclick-press_enterを実行できなくなりました。元の動作では、コンパイルモードを使用して、選択した行にジャンプできるようにしました。

ack-modeに正規表現を追加する必要があると考えました。ack-modeは次のように定義されます。

[0-9]+:また、出力バガーのすべての行に含まれている正規表現(行番号)であるため、エラーとして検出される正規表現も追加したいと思います。

上記を変更して正規表現を追加しようとしましたdefine-compilation-modeが、惨めに失敗しました。

ack行をクリックさせての出力バッファを作成するにはどうすればよいですか?

---編集、私も試しました:---

私はそれをどこかで盗み、自分のニーズに適応しようとしました。運がない。

---編集、Ivanの提案後の結果---

ack.elが更新されて次のものが含まれるようになりました。

compilation-error-regext-alist次に、変数をチェックして、値を取得します。

変数の形式が非常に奇妙だと思いませんか?私は(まだ)elispを知らないので、多分それはそのように正しいでしょう。

*ack*バッファにはまだリンクや色がありません。

0 投票する
1 に答える
325 参照

emacs - emacsコンパイルモードのpva複数行コンパイラ出力のキャプチャ

emacs を使用して hSpice pva をコンパイルしたいと考えています。ただし、コンパイル モードは出力を適切に解析しません。

これは、pva コンパイラが生成するエラー メッセージです (pvaE セクション)。

これは、上記の出力をキャプチャできないコンパイル モード設定です。

この正規表現の修正にご協力いただければ幸いです。

0 投票する
2 に答える
4792 参照

emacs - emacsコンパイルバッファの自動クローズ?

エラーや警告がない場合はコンパイルバッファを自動で閉じたいのですが、警告がある場合は表示したいです。誰でも私を助けることができますか?emacswikiのこのコードは、最初の要件のみを実行します。変更方法は?

0 投票する
1 に答える
145 参照

emacs - コンパイルモードの正規表現リストを一時的にオーバーライドする:動的バインディングの奇妙さ?

私は、アセンブラー、プログラマー、およびその他の外部プログラムへのさまざまな呼び出しを行うプログラムモードに取り組んでいます。私の狡猾な計画は、これらすべてを関数で処理し、実行中のプログラムに依存compileする明示的なものを渡すことでした。compile-command

この種のものは機能しているようで、さまざまな外部プログラムに特定のエラー正規表現を追加したいと考えています。1 つのオプションは、メジャー モードを変更compilation-error-regexp-alist-alistしてから、メジャー モードを に追加することcompilation-error-regexp-alistです。

ただし、私がやりたいことは、次のようなものです。

奇妙なことに、このバインディングは、コンパイル バッファーが解析/マークアップされる方法に影響を与えないようです。<my-regexp-and-numbers>バッファの前に手動でプッシュしてcompilation-error-regexp-alistから呼び出すと(compilation-mode t)、すべてが期待どおりにフォント化されます(したがって、正規表現が間違っていません)。ただし、上記のよう(compilation-mode t)にフォーム内に呼び出しを貼り付けてletも、何の影響もありません。

再現しやすいテストケースとして、これは惨めに失敗することを私は認識しています。誰もアイデアを持っていない場合は、例をハックしようとしますが、誰かが「ああ、そうです。それは評価されないからです」など.. .

0 投票する
1 に答える
198 参照

bash - emacsコンパイル:バックグラウンドでスクリプトを呼び出す

dingバックグラウンドでサウンドを再生するスクリプト(これを呼び出しましょう)があります(基本的には単に呼び出しますpaplay <file> &)。何かをコンパイルし終えたら、emacsからこれを呼び出したいと思います。

M-x compilemake && ding

残念ながらpaplay、バックグラウンドで呼び出されるため、何も起こりません(音が再生されません)。を削除する&ding、サウンドは問題なく再生されます。

なぜこれが発生し、スクリプトをコンパイルモードでバックグラウンドで実行する方法がありますか(フォアグラウンドジョブにすることなく)?

0 投票する
4 に答える
2168 参照

emacs - プロセスがエラーまたは警告で終了するまで、Emacs で *コンパイル* バッファを表示しない

Mx コンパイル、Mx 再コンパイル、または保存スクリプトでのコンパイルによってトリガーされる Emacsコンパイルバッファーを、コンパイルがエラーまたは警告で終了したときにのみ表示する方法を探しています。

[1] で説明されているように、エラーや警告がない場合にコンパイル バッファーを閉じる方法を探しているわけではないことに注意してください。いいえ、コンパイルが完全に終了するまでバッファーが表示されないようにし、表示するエラーまたは警告がある場合にのみ表示されるようにします。

理由は簡単です。コンパイル バッファーのちらつきが邪魔で、画面上のコードの位置が再配置されます。保存時にコンパイルを有効にしている場合、これはさらに厄介になります。

コンパイルバッファにはmake から pdflatex までさまざまな種類のコンパイル処理が含まれているため、バッファを表示するかどうかを決定する機能が全面的に機能するとよいでしょう。

[1] emacs コンパイル バッファの自動クローズ?

0 投票する
1 に答える
210 参照

emacs - コンパイルエラー正規表現リストファイル関数から現在一致する行を取得するにはどうすればよいですか?

compileエラーメッセージから関連するソースにリンクできるようにコマンドを実行していますが、リンク先のファイルを取得するには、一致した行のコンテンツのチャンクを変換する必要があります。foo-bar.quux(この行は、に変換する必要があるのような clojure 名前空間を示していますfoo_bar/quux.clj。)

のドキュメントにcompilation-error-regexp-alistは、一部、

各 elt の形式は (REGEXP FILE [LINE COLUMN TYPE HYPERLINK HIGHLIGHT...]) です。... FILE には (FILE FORMAT...) という形式もあり、その名前のファイルが見つかるまで、認識されたファイル名に FORMAT (例: \"%sc\") が適用されます。または、FILE は、(FILENAME) または (RELATIVE-FILENAME . DIRNAME) を返す関数にすることもできます。前者の場合、FILENAME は相対または絶対です。

関数にエントリを追加するcompilation-error-regexp-alist-alistと、関数が引数なしで呼び出されます。その関数内で一致した行を取得するにはどうすればよいですか?compilation-error-regexp-alistFILE

0 投票する
1 に答える
476 参照

emacs - compile-internal をコンパイル開始に置き換えるにはどうすればよいですか?

このvalgrind.elを使用して、 emacs 内で valgrind を実行します。しかし、最新バージョンの emacs では compile-internal が非推奨になりました。コンパイル内部呼び出しをコンパイル開始呼び出しに変換する方法を理解するには、elisp について十分な知識がありません。問題の元の関数呼び出しは次のようになります。

コンパイル開始の使用の可能性を示すこのビットをオンラインで見つけました。

どんな助けでも大歓迎です!

0 投票する
2 に答える
593 参照

c# - リリースでのコンパイル時にのみ OutOfMemoryException がスローされる

多くの小さなオブジェクトと配列を割り当てる C# コンソール アプリケーションがあります。これらのオブジェクトの有効期間は短く、ガベージ コレクターによってすぐにクリーンアップされます。「なぜそんなに短い寿命のオブジェクトを割り当てる必要があるのか​​ 、これを避けるべきです」という質問に対して:プログラムは重いAIタスクに使用されており、今のところこれを回避する明白な方法はありません.

問題は次のとおりです。

プログラムをデバッグ モード x86 で実行すると、問題なく実行され、数分後にすべての処理が終了します。平均して、300 ~ 400 MB を使用します。

まったく同じプログラムをコンパイルしてリリース x86 モードで実行すると、プログラムが使用するメモリがすぐに (数秒で) 2GB に達し、スローOutOfMemoryExceptionされます (これは 32 ビット アプリケーションであるため、予想される動作です)。リリース x64 モードでコンパイルしても問題はまったく解決しません。コンピュータのすべてのメモリ (8GB) をすぐに使い果たし、メモリの割り当てに失敗するとクラッシュします。

アプリケーションのビルドには SharpDevelop 4.3.3 を使用しています。デバッグ モードとリリース モードの唯一の違いは次のとおりです。

  • コードの最適化 (リリースのみ)
  • 算術オーバーフロー/アンダーフローのチェック (デバッグのみ)
  • デバッグ情報 : 完全なデバッグ情報 (デバッグ) / デバッグ情報なし (リリース)

いずれの場合も、デバッガは接続されていません。プログラムはかなり短く、デバッグまたはリリースでコンパイルしたときに異なる動作をさせるコンパイラ ディレクティブはありません。動作を説明する明確な理由はありません。リリース モードでコンパイルすると、ガベージ コレクターが起動されず (または少なくとも十分な回数)、メモリが解放されないように見えます。

同様の質問がすでに出されているようですが、私のものと同じ問題ではないようです。