2008-11-10
Carbon Emacsでgclientを使う
昔のエントリにCarbon Emacsでgclientが使えないよーーー。ぎゃぼー。と書いた気がするけど。何となく原因が分かりました。わかってしまえば、アホみたいな原因でした。
原因はcurlのビルド方法(というか、configureのオプション)にあったようです。
僕のマシンはmacportsで管理しているんだけど、僕のマシンではPATHの関係上、MacOS X付属のcurlよりもmacportsでインストールしているcurlが優先されます。このmacports版のcurlではデフォルトでは機能が制限されていて、インストールする際に必要な機能をvariantsで探して有効にする必要があります。このcurlのvariantsにsslサポートも含まれていて、僕の環境では無印のcurlがインストールされていたのでgclientがhttpsでアクセスしようとしてもcurlがsslを理解できないので、認証関係で刺さっていたようです。もっと早く気がつけよ、俺。。。
さっき、macportsでアップデートの検査をしたらcurlが出てきたので、好奇心でcurlの
variantsを調べてみたらsslがvariantsになっていました。多分、sslとgnutlsのどちらかを選びな、ということでしょう。sslとipv6を有効にしてアップデートしたところ、きっちりgclientが動いてくれました。このエントリはgclientのgbloggerでポストしてみます。
2008-06-30
Carbon Emacsのphp-mode.elとmumamo
かなり以前に「Carbon Emacsでmumamoとphp-modeをうまく連携できない」と叫んでいたが、なんとか解決できた。解決できたと言っても、「やっぱり、僕ってお間抜けね。てへ。」みたいな感じ。結論から言うと、本家のphp-modeを使ってはいたのが原因ぽい。あと、この記事で言及しているCarbon Emacsは2008年春版ね。
Carbon EmacsにはnXhtml modeが最初からインストールされていて、設定までがすんでいる。で、nXhtml modeにはmumamoに適応した、というよりもnXhtml modeに最適化されたphp-modeが入っている。ちなみに、nXml modeに付属しているphp-modeのバージョンは1.4.1-nxhtmlで本家で配布しているバージョンは1.4.0だった。
というわけで、自前の環境にあるphp-mode.elを読み込まずに、nXhtml modeに付属しているphp-mode.elを読み込むようにしたら問題は解決。mumamoも問題なく有効になって、幸せなphp開発環境が手に入りましたとさ。ちなみに、php-mode.elは1.4.0からmumamoなどの複数メジャーモードを1つのバッファで扱える環境を作っておかないと文句を言います。
自分のメモとして現状のphp-mode用の設定を書いときます。
;; load from ~/site-lisp/php-mode.el
;(load "~/site-lisp/php-mode.el")
(autoload 'php-mode "php-mode" "PHP mode" t)
;; phpでのアウトラインモード (outline-mode)
(defun php-outline-level ()
(save-excursion
(looking-at outline-regexp)
(let ((title (buffer-substring (match-beginning 1) (match-end 1))))
(cond ((equal (substring title 0 2) "") 0)
((equal (substring title 0 6) "public") 1)
((equal (substring title 0 7) "private") 1)
((equal (substring title 0 8) "function") 1)
((equal (substring title 0 5) "class") 1)
((equal (substring title 0 2) "**") 15)
(t (length title))))))
;; PEARコーディング規約
(custom-set-variables '(php-mode-force-pear t))
(add-hook
'php-mode-hook
'(lambda ()
(setq outline-level 'php-outline-level)
(setq outline-regexp "^[ \t]*\\(<\\?\\|\\?>\\|public\\|private\\|class\\|function\\|/\\*\\*\\)")
(outline-minor-mode t)
))
2008-04-22
登録:
投稿 (Atom)