問題タブ [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.
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-backward
a[ ]*b[ ]*c[ ]*
問題は、関数にアドバイスしてから「abc」のisearchを実行すると、エラーが発生したことですI-search: abc [(void-function nil)]
。しかし、コードをdefadvise
元のisearch-search-fun-default
関数に入れると、うまくいきます! だから私は混乱します。Elisp のマニュアルad-do-it
では、元の関数コードのプレースホルダーに過ぎないと述べているため、これらの 2 つのアプローチ (関数にアドバイスするか、元の関数を変更する) は、最終的に同じコードを生成するはずです。アドバイスするとエラーになるのはなぜですか?
emacs - 組織モードは、エクスポート中に src ブロックのコンテンツを取得します
これが私がやろうとしていることです:
組織ドキュメントから生成された HTML に表示し、そのコードを HTML ページで実行したい JavaScript コードのスニペットがあります。単純な例として、次のようにします。
しかし、これは undefined symbol について文句を言いますblock-name
。
非常によく似たこの質問を見つけましたが、そこにある答えはうまくいきません。Emacs org-mode で、あるコード ブロックのソース コードを別のコード ブロックへの入力にする
ブロックの内容/名前を参照するための構文は何ですか?
編集:
私は近づいていますが、まだそこにはありません:
これには 2 つの問題があります。script
変数の値はnil
で、スクリプト タグはエスケープされています (山かっこは and に置き換えられてい<
ます>
。スクリプト タグを評価の外に置くことで、この特定の置換のケースを見つけることができましたが、一般的にこれを防ぐことはできません。ルール (スクリプト内に「より少ない」または「より大きな」記号がある場合、それらは置き換えられます)。
EDIT1:
もうすぐそこ!
org-babel-get-src-block-info
variable に名前が付けられている場合は、コードのブロックのコンテンツをローカルに保存するようにアドバイスしました<name>-text
。これにより、後で取得できます。
使用例:
エスケープは:results html
オプションで処理されます。これにより、Org は HTML を文字どおりに挿入します。
失敗する最小限の例を次に示します。
しかし、これは機能し、「期待される」結果を生成します:
の出力<script>your script could be here</script>
と、eLisp コード ブロックのコメント内の JavaScript コード。
emacs - defadvice ループで eval を回避するかどうか、および回避する方法
次のコードで eval を避けるべきですか? もしそうなら、どのように?それとも、これは eval を使用する方が優れている例外的なケースの 1 つですか?
上記のイディオムの実際の例:
emacs - 実行中のプロセスを含むバッファを強制終了するときの煩わしい遅延
Emacs で実行中のプロセスを含むバッファーを強制終了するたびに、対話が続行されるまでに約 2 秒の遅延が発生します。そして、それが起こると、私はメッセージを受け取ります
トリッキーな問題は、私の Emacs 構成でのみ発生し、Vanilla Emacs では発生しないことです。ロードされたモジュールの 1 つまたは一部でアクティブ化された追加のフックまたはアドバイスが原因で、遅延が発生したと推測しています。
エラーメッセージを認識し、この問題を引き起こしている可能性のあるフックまたはアドバイスを知っている人はいますか? 運がないので、ウェブを検索してみました。
elisp - アドバイスメッセージが機能しない
advice-add
~の後message
、エラーWrong type argument: sequencep, #<subr message>
が通知されます。何が問題ですか?
emacs - 対話型関数をアドバイスでオーバーライドする
defadvice
elispで インタラクティブ入力をオーバーライドするにはどうすればよいですか?
たとえばansi-term
、次のように入力を求めるプロンプトを停止しようとしています。
explicit-shell-file-name
ただし、正しく設定されていてもプロンプトが表示されます。
emacs - アドバイスでelisp関数本体の式を変える
アドバイスを追加するときに、elisp 関数の本文の特定の式をどのように一致させますか? find-file-noselect
具体的には、次の例で、の代わりに使用する関数をアドバイスしたいと思いfind-file
ます。行(find-file path)
は有効になります(find-file-noselect path)
。
私はむしろそれを にしたいad-add-function
のですが、これを最初に機能させようとしています。