1

私は Emacs にまったく慣れていないので、問題に遭遇しました。レジスタを変数に設定したいのですが、コードは次のとおりです。

(defvar org-file-location "")
(defvar system-name-as-string (prin1-to-string system-name))

(cond ((string-match "WIN-WORK" system-name-as-string)
           (setq org-file-location "~/../My Documents/Google Drive/Org"))
          )

(set-register ?o '(file . org-file-location))

しかし、キー シーケンスCX rjoでジャンプして登録しようとすると、エラーが発生します: find-file-noselect: Wrong type argument: stringp, org-file-location。誰もが知っていますか、そこに問題がありますか? 助けていただければ幸いです。前もって感謝します。

4

1 に答える 1

1

シンボルを含む値にレジスタを設定していorg-file-locationますが、その値を変数として使用したいとします。

これを試して:

(set-register ?o (cons 'file org-file-location))

または、逆引用符構文を使用して値を補間します。

(set-register ?o `(file . ,org-file-location))
于 2013-07-01T09:28:15.903 に答える