Org-modeのバージョンが6.3くらいで古かったのでバージョンを上げた.
すると,Org-modeからこのブログに投稿するために使っているorg-googlecが使えなくなった.
今回は,この問題に対処する.
環境
- OS
- Mac OS X 10.7.5
- Emacsバージョン
- 23.4.1
- Org-modeバージョン
- 7.9.2
症状
http://tokikane-tec.blogspot.jp/2012/09/emacsblogger6970.html
で紹介した通り,
M-x org-googlecl-blog
を実行すると,以下のエラーメッセージが出力される.
let: Symbol's function definition is void: org-forward-same-level
どうやら,
org-forward-same-level
という関数がないらしい原因
結論から言うと, Org-modeの関数名が変わってる のが原因.
具体的には,
org-forward-same-level
という関数の名前が org-forward-heading-same-level
に変わった.ちなみにこの関数は,今カーソルがあるネストのレベルと同じレベルの次の要素の先頭に移動する関数である.
そして,org-googlecは
org-forward-same-level
内部で使っていた.このために上記のようなエラーが出た,というわけである.
対処
関数の名前が変わったなら,呼び出す部分のソースコードを弄ればいい.
org-googlecl.elの
(org-forward-same-level 1 t)
という行を
(org-forward-heading-same-level 1 t)
と書き直す.
これで無事問題が解決する.
おわりに(余談)
どのバージョンを境に関数名が変わったかは不明である.
Org-modeは,結構,昔の環境のことを考えずに変更が加えられることがある.
以前もOrg-modeの参照で
:
を -
に置換するという(おせっかい)機能がついていて,はまった.自分はいつも
fig:hoge
みたいな書き方をするので困った.あとこういうのってgithubでpull requestを出して本家を直してもらう,というのがいいのだろうか?
今までpull requestを出したことがないので,よくわからない.
--
My Emacs Files At GitHub
こんにちは,@r_takaishiといいます.
返信削除問題の関数名変更は,v7.9で行われたものですね.
修正については,PullRequestを出すのがよいかと思います.
Ryo TAKAISHI さん >>
返信削除そうだったんですか
pull requestはなかなか敷居が高いイメージがありますが,調べながらトライしてみます.
ありがとうございます.