私はこの質問にフレーズする最良の方法はわかりませんが、私の例では何が起きているのかを明確にします。Emacs bibtex-modeは訪問していないファイルを解析できません
一時バッファにビブテックスファイルの内容を挿入し、一度に1つずつエントリを移動し、後で使用するためにbibtex-parse-entry
を使用してエントリを取得するコードがあります。しかし、私がこのemacsセッション中に訪れていないbibtexファイルでコードを実行すると、bibtex-parse-entry
は(wrong-type-argument stringp nil)
エラーを返します。
私がファイルを訪問すると、バッファを閉じてもコードは問題なく実行されます。 bibtex-parse-entry
コールを削除すると、bibtex-kill-entry
に同じ問題が発生します。
(with-temp-buffer
(insert-file-contents "~/test.bib")
(goto-char (point-min))
(bibtex-mode)
(while (not (eobp))
(let* ((entry (bibtex-parse-entry t)))
(message "i'm here"))
(bibtex-kill-entry)
(bibtex-beginning-of-entry)
)
)
とダミー.BIBファイル:これらで
@Article{test,
author = {joe shmo},
title = {lorem ipsum},
journal = {something},
year = {1990},
}
をあなたは私のエラーを再現することができるはずです。ここ
は、私が使用しているelispのコードです。
何が起こっているのかわからないので、何か助けていただければ幸いです。
これはうまくいきました。ご協力いただきありがとうございます。私はデバッグしようとしていましたが、まだelispコードをデバッグしているわけではありません(私の経験の大半は、PythonとMatlabが非常に異なっています)。 –