2010-07-16 [長年日記]
■ Emacs 23
NTEmacsの(IMEインライン化パッチ適用済み)バイナリは、gnupackから、Cocoa Emacsのバイナリは、GNU Emacs for Mac OS Xからダウンロード出来ます。
フォント周りが、Emacs 22から変わっているので、適当にこんな感じに。
(cond ((eq window-system 'ns)
(create-fontset-from-ascii-font "Monaco-14:weight=normal:slant=normal" nil "monaco")
(set-fontset-font "fontset-monaco"
'unicode
(font-spec :family "Hiragino Kaku Gothic ProN" :size 16)
nil
'append)
(add-to-list 'default-frame-alist '(font . "fontset-monaco")))
((eq window-system 'w32)
(create-fontset-from-ascii-font "Lucida Console-11:weight=normal:slant=normal" nil "lucida")
(set-fontset-font "fontset-lucida"
'unicode
(font-spec :family "Meiryo" :size 16)
nil
'append)
(add-to-list 'default-frame-alist '(font . "fontset-lucida"))))
日本語フォントの幅が等幅になっていませんが、あまり日本語を書かないので気にしないことにします。
IME関係はこんな感じ。
(when (fboundp 'w32-ime-initialize)
(setq default-input-method "W32-IME")
(setq-default w32-ime-mode-line-state-indicator "[--]")
(setq w32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]"))
(w32-ime-initialize)
(add-hook 'input-method-activate-hook
(lambda () (set-cursor-color "blue")))
(add-hook 'input-method-inactivate-hook
(lambda () (set-cursor-color "black")))
(add-hook 'minibuffer-setup-hook
(lambda ()
(if (ime-get-mode)
(set-cursor-color "blue")
(set-cursor-color "black"))))
(global-set-key "\C-o" 'toggle-input-method))
インライン変換時のフォントがフレームに設定したフォントに合っていませんが、パッチを眺めたところ、Windowsのウィンドウに設定されたフォントを使うようになっていて、Emacsで設定したフォントは反映されないようです。
2010-07-10 [長年日記]
■ [HG] 263本目
2時頃から風がしっかりしてきてリッジで楽に浮いていられるコンディションに。時々上がってくるサーマルで上げて800mくらいから、先行する機体を追いかけて山の上を難台へ。ところが、谷の吹き抜けが思ったより強くて低くなってしまい引き返すことに。先行していた機体は難台で上がってさらに南下していたので、沖側を行けば良かったようです。
しばらくリッジで飛んでから、500mくらいから今度は別の先行する機体を追いかけて難台へ。今度は少し山から離れて沖を飛んでいくと、あまり落ちずに所々上がりながら400mくらいで難台に着いたものの、そこで上がらずにまたしても引き返すことに。
徐々に風が東っぽくなってきて西斜面が荒れてきたので、ぴったり二時間までがんばってからランディングへ。
滞空時間:2時間 獲得高度:450m
2010-07-05 [長年日記]
■ XcodeのプロジェクトをEmacsからビルド
XcodeのプロジェクトをEmcasからビルドするためのEmcas lisp。現在のディレクトリから上方向にプロジェクトとファイルを探しにいってビルドします。また、エラー出力も適当に切りだして、complilationバッファに出力します*1。
(defun search-ancestors (directory pred)
(cond ((not directory) nil)
((funcall pred directory) directory)
((string= directory "/") nil)
(t (search-ancestors (expand-file-name (concat directory "/../")) pred))))
(defun xcode ()
(interactive)
(let ((directory (search-ancestors (expand-file-name "./")
(lambda (directory)
(directory-files directory t ".*\\.xcodeproj"))))
(buffer "*compilation*")
(inhibit-read-only t))
(when directory
(save-selected-window
(switch-to-buffer-other-window buffer)
(compilation-mode)
(erase-buffer)
(let ((process (start-process-shell-command "build"
buffer
(concat "cd " directory " && xcodebuild -activeconfiguration -sdk iphonesimulator3.2")))
(filter (lambda (process string)
(with-current-buffer (process-buffer process)
(let ((inhibit-read-only t))
(save-excursion
(goto-char (process-mark process))
(mapcar (lambda (s)
(when (string-match "^\\(/[A-Za-z0-9_---.]+\\)+:" s)
(insert s)
(insert "\n")))
(split-string string "\n"))
(set-marker (process-mark process) (point)))
(goto-char (process-mark process)))))))
(set-process-filter process filter))))))
*1 ただし、かなりいい加減です