問題タブ [defadvice]

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 投票する
1 に答える
150 参照

emacs - isearch-search-fun-default の defadvice エラー

これは前回の投稿の続きです ( Emacs で isearch-forward の前に入力文字列を前処理することは可能ですか)。jpkotta変数を使用しての回答を実装しようとしていますisearch-search-fun-function。独自の関数を記述する代わりに、「abc」と入力するたびに isearch が regexp を強調表示して検索するようisearch-search-fun-defaultに、独自の関数 (isearch-str-forwardおよび、デモの目的で) を含めることをお勧めします。isearch-str-backwarda[ ]*b[ ]*c[ ]*

問題は、関数にアドバイスしてから「abc」のisearchを実行すると、エラーが発生したことですI-search: abc [(void-function nil)]。しかし、コードをdefadvise元のisearch-search-fun-default関数に入れると、うまくいきます! だから私は混乱します。Elisp のマニュアルad-do-itでは、元の関数コードのプレースホルダーに過ぎないと述べているため、これらの 2 つのアプローチ (関数にアドバイスするか、元の関数を変更する) は、最終的に同じコードを生成するはずです。アドバイスするとエラーになるのはなぜですか?

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

emacs - 組織モードは、エクスポート中に src ブロックのコンテンツを取得します

これが私がやろうとしていることです:

組織ドキュメントから生成された HTML に表示し、そのコードを HTML ページで実行したい JavaScript コードのスニペットがあります。単純な例として、次のようにします。

しかし、これは undefined symbol について文句を言いますblock-name

非常によく似たこの質問を見つけましたが、そこにある答えはうまくいきません。Emacs org-mode で、あるコード ブロックのソース コードを別のコード ブロックへの入力にする

ブロックの内容/名前を参照するための構文は何ですか?

編集:

私は近づいていますが、まだそこにはありません:

これには 2 つの問題があります。script変数の値はnilで、スクリプト タグはエスケープされています (山かっこは and に置き換えられてい<ます>。スクリプト タグを評価の外に置くことで、この特定の置換のケースを見つけることができましたが、一般的にこれを防ぐことはできません。ルール (スクリプト内に「より少ない」または「より大きな」記号がある場合、それらは置き換えられます)。

EDIT1:

もうすぐそこ!

org-babel-get-src-block-infovariable に名前が付けられている場合は、コードのブロックのコンテンツをローカルに保存するようにアドバイスしました<name>-text。これにより、後で取得できます。

使用例:

エスケープは:results htmlオプションで処理されます。これにより、Org は HTML を文字どおりに挿入します。


失敗する最小限の例を次に示します。

しかし、これは機能し、「期待される」結果を生成します:

の出力<script>your script could be here</script>と、eLisp コード ブロックのコメント内の JavaScript コード。

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

emacs - defadvice ループで eval を回避するかどうか、および回避する方法

次のコードで eval を避けるべきですか? もしそうなら、どのように?それとも、これは eval を使用する方が優れている例外的なケースの 1 つですか?

上記のイディオムの実際の例:

0 投票する
0 に答える
89 参照

emacs - 実行中のプロセスを含むバッファを強制終了するときの煩わしい遅延

Emacs で実行中のプロセスを含むバッファーを強制終了するたびに、対話が続行されるまでに約 2 秒の遅延が発生します。そして、それが起こると、私はメッセージを受け取ります

トリッキーな問題は、私の Emacs 構成でのみ発生し、Vanilla Emacs では発生しないことです。ロードされたモジュールの 1 つまたは一部でアクティブ化された追加のフックまたはアドバイスが原因で、遅延が発生したと推測しています。

エラーメッセージを認識し、この問題を引き起こしている可能性のあるフックまたはアドバイスを知っている人はいますか? 運がないので、ウェブを検索してみました。

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

elisp - アドバイスメッセージが機能しない

advice-add~の後message、エラーWrong type argument: sequencep, #<subr message>が通知されます。何が問題ですか?

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

emacs - 対話型関数をアドバイスでオーバーライドする

defadviceelispで インタラクティブ入力をオーバーライドするにはどうすればよいですか?

たとえばansi-term、次のように入力を求めるプロンプトを停止しようとしています。

explicit-shell-file-nameただし、正しく設定されていてもプロンプトが表示されます。

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

emacs - アドバイスでelisp関数本体の式を変える

アドバイスを追加するときに、elisp 関数の本文の特定の式をどのように一致させますか? find-file-noselect具体的には、次の例で、の代わりに使用する関数をアドバイスしたいと思いfind-fileます。行(find-file path)は有効になります(find-file-noselect path)

私はむしろそれを にしたいad-add-functionのですが、これを最初に機能させようとしています。