前提・実現したいこと
Emacs の org2blog を使って WordPress に投稿をアップロードするために、
ブログのユーザ名・パスワードを登録したいけれども、
さすがに init.el に直に書くのは止めたいので、auth-source を使うことにしました。
直書きしていた時には M-x org2blog/wp-login でブログにログインできていたのですが、
後述のように auth-source を使うように init.el を書き換えたところ、
エラーが出るようになりました。
init.el を書き換え後にも、書き換え前と同様にログインするには、
どこを改めれば良いでしょうか?
よろしくお願いします。
発生している問題・エラーメッセージ
text
1xml-rpc-value-to-xml-list: Wrong type argument: stringp, nth
該当のソースコード
lisp
1;; init.el の一部 2 3(setq org2blog/wp-blog-alist 4 '(("myblog" 5 :url "https://blog.example.com/xmlrpc.php" 6 :username (nth 0 (auth-source-user-and-password "myblog")) 7 :password (nth 1 (auth-source-user-and-password "myblog")) 8 :default-title "Hello World" 9 :default-categories ("greeting") 10 :tags-as-categories nil)))
.authinfo の内容は下記のとおりで、GnuPG で暗号化しています。
text
1machine myblog login yamada password SeCrEtWoRd
エラーメッセージを見た限り、Emacs が次の S 式を評価せずに、
ただのデータのリストとして読んでいるようです。
僕の基本的な知識が足りずに、式が評価されない理由が分かりません。
lisp
1(nth 0 (auth-source-user-and-password "myblog")) ;; => "yamada"
試したこと
org2blog に関する記事を参考に、S 式の前にコンマを付けました。
(本来は、こちらのみを書いてありました。)
lisp
1; 原文 2 :username (nth 0 (auth-source-user-and-password "myblog")) 3 :password (nth 1 (auth-source-user-and-password "myblog")) 4 5; 試行 → 失敗 6 :username ,(nth 0 (auth-source-user-and-password "myblog")) 7 :password ,(nth 1 (auth-source-user-and-password "myblog"))
試行の結果は次の通り。
text
1xml-rpc-value-to-xml-list: Wrong type argument: stringp, \,
補足情報(FW/ツールのバージョンなど)
-
GNU Emacs 26.2 (build 1, x86_64-apple-darwin18.2.0, NS appkit-1671.20 Version 10.14.3 (Build 18D109)) of 2019-04-13
-
Org mode version 9.2.4 (9.2.4-10-g3b006f-elpaplus @ /Users/masahiro/.emacs.d/elpa/org-plus-contrib-20190715/)
-
Package: xml-rpc.el 1.6.12
current state:
(setq
xml-rpc-tz-pd-defined-in "/Applications/Emacs.app/Contents/Resources/lisp/timezone.el"
date-parses-as ["2009" "11" "30" "00:52:53" nil]
xml-rpc-load-hook nil
xml-rpc-use-coding-system 'utf-8
xml-rpc-allow-unicode-string t
xml-rpc-base64-encode-unicode t
xml-rpc-base64-decode-unicode t
)
あなたの回答
tips
プレビュー