EmacsからOctopressに投稿できるOctomacs.elが最新版のrvm.elに対応してないようだったので修正してみました。
原因はOctomacs.elがrvm.elの内部で使われている関数を使っていたのですが、その関数が最新版で削除されていたからだったみたいです。
結論として、
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
*** /home/kim/.emacs.d/lisp/octomacs/octomacs.el 2013-09-16 22:29:14.498296762 +0900
--- /home/kim/.emacs.d/elpa/octomacs-20121026.1649/octomacs.el 2013-08-31 23:54:13.044373498 +0900
***************
***4,10****
;;
;; Author: Jacob Helwig <jacob@technosorcery.net>
;; Homepage: http://technosorcery.net
! ;; Version: 0.0.1
;; URL: https://github.com/jhelwig/octomacs
;;
;;; License:
--- 4,11 ----
;;
;; Author: Jacob Helwig <jacob@technosorcery.net>
;; Homepage: http://technosorcery.net
! ;; Version: 20121026.1649
! ;; X-Original-Version: 0.0.1
;; URL: https://github.com/jhelwig/octomacs
;;
;;; License:
***************
***133,146****
(defun octomacs-format-rake-task-with-args (task &optional arguments)
"Build a shell suitable string of the rake TASK name with the specified ARGUMENTS."
(let ((arguments-string (if arguments
! (format "[%s]" (if (listp arguments) (mapconcat 'octomacs-shell-escape-string arguments ", ") arguments))
"")))
(format "'%s%s'" task arguments-string)))
(defun octomacs-rake-with-rvm (directory task &optional arguments)
"Run rake task TASK with specified ARGUMENTS in DIRECTORY using rvm"
(let* ((default-directory (file-name-as-directory (expand-file-name directory)))
! (rvmrc-info (or (rvm--load-info-rvmrc) (rvm--load-info-ruby-version) (rvm--load-info-gemfile)))
(rvm-command (if rvmrc-info
(concat "rvm " (mapconcat 'identity rvmrc-info "@") " do ")
"")))
--- 134,148 ----
(defun octomacs-format-rake-task-with-args (task &optional arguments)
"Build a shell suitable string of the rake TASK name with the specified ARGUMENTS."
(let ((arguments-string (if arguments
! (format "[%s]" (mapconcat 'octomacs-shell-escape-string arguments ", "))
"")))
(format "'%s%s'" task arguments-string)))
(defun octomacs-rake-with-rvm (directory task &optional arguments)
"Run rake task TASK with specified ARGUMENTS in DIRECTORY using rvm"
(let* ((default-directory (file-name-as-directory (expand-file-name directory)))
! (rvmrc-path (rvm--rvmrc-locate directory))
! (rvmrc-info (if rvmrc-path (rvm--rvmrc-read-version rvmrc-path) nil))
(rvm-command (if rvmrc-info
(concat "rvm " (mapconcat 'identity rvmrc-info "@") " do ")
"")))
|
こんな感じです。これでちゃんと.rvmrc
やら.ruby-version
やら.ruby-gemset
やらを反映してくれます。 pull-req投げてみました。初pull-reqです。英語心配です。
俺、pull-reqとりこまれたらrake gen_deploy
にも挑戦するんだ…
あ、因みにこの投稿はinit.el
に
(setq octomacs-workdir-alist '(("default" . "~/Ruby/octopress")))
してoctomacs-new-post
から投稿してます。