tag:blogger.com,1999:blog-148621702024-03-07T23:02:55.245-08:00自分のための日記mirohttp://www.blogger.com/profile/00573579594891324482noreply@blogger.comBlogger168125tag:blogger.com,1999:blog-14862170.post-64161098848302179352021-03-09T15:40:00.002-08:002021-03-09T15:40:12.499-08:00~/.gitconfig を ~/.config/git/config に移しました今までは、git で管理している ~/.dotfiles/.config/git/.gitconfig に対して ~/.gitconfig からシムリンクを貼っていたのだが、<a href="https://git-scm.com/docs/git-config#Documentation/git-config.txt-XDGCONFIGHOMEgitconfig">こちらのページ</a>から git の設定ファイルは、~/.config/git/config に書けば良いことが分かった。<div><br /></div>
<div>なので、~/.config/git/config を使うようにした。</div><div><br /></div><div>また、attributes file も ~/.gitconfig に</div>
<pre>[core]
attributesfile = /Users/user/.dotfiles/git/.gitattributes
</pre>
<div>のようにファイルを指定して読み込むようにしていたのだけれども、<a href="https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreattributesFile">こちらのリンク</a>にあるように ~/.config/git/attributes に設定の内容を書き込むだけで良いことが分かったので、そのようにした。</div><div><br /></div><div></div><div><br /></div><div>これで、若干、ホームディレクトリがキレイになった!</div>sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-56593277502053508622021-02-02T12:40:00.001-08:002022-06-14T13:52:00.591-07:00コミットログ(コミッター、コミッターのメールアドレス)を書き換える方法【改】<p>こちらの過去記事に従って、コミットログ(コミッター、コミッターのメールアドレス)を変えようとしたら以下のエラーが表示されたので、修正することにしました。 </p>
<p>
<a href="https://yasuwagon.blogspot.com/2019/02/blog-post.html">コミットログ(コミッター、コミッターのメールアドレス)を書き換える方法</a>
</p>
<h3>表示されたエラーメッセージ</h3>
<pre>WARNING: git-filter-branch has a glut of gotchas generating mangled history
rewrites. Hit Ctrl-C before proceeding to abort, then use an
alternative filtering tool such as 'git filter-repo'
(https://github.com/newren/git-filter-repo/) instead. See the
filter-branch manual page for more details; to squelch this warning,
set FILTER_BRANCH_SQUELCH_WARNING=1.</pre>
<p>なんでも git-filter-branch は不具合や実行速度が遅いので、今は Python で書かれた git-filter-repo を使うように勧められているようです。</p>
<p>こちらに git-filter-branch でのコマンドを git-filter-repo に書き換えるチートシートが用意されているのでこちらを見ながら、前回のブログ記事のコマンドを書き直すことにしました。</p>
<p><a href="https://github.com/newren/git-filter-repo/blob/main/Documentation/converting-from-filter-branch.md">git-filter-repo/converting-from-filter-branch.md at main · newren/git-filter-repo</a></p>
<p>自分のやりたいことは間違ったメールアドレスを参照して間違ったメールアドレスのユーザー名、メールアドレスを変更することです。</p>
<p>従ってこちらのリンク先の git-filter-branch の例を git-filter-repo の例に書き換えます。</p>
<p><a href="https://github.com/newren/git-filter-repo/blob/main/Documentation/converting-from-filter-branch.md#changing-authorcommittertagger-information">git-filter-repo/converting-from-filter-branch.md at main · newren/git-filter-repo - Changing author/committer(/tagger?) information</a></p>
<p>
まずは git-filter-repo をインストールします。
</p>
<p>
インストール方法は、git-filter-repo のレポジトリに書いてありますが、パッケージツールを使ってインストールします。
</p>
<p>
サポートされているパッケージツールについては、git-filter-repo のレポジトリを参考にしてみて下さい。
</p>
<p>
<a href="https://github.com/newren/git-filter-repo/blob/main/INSTALL.md">git-filter-repo/INSTALL.md at main · newren/git-filter-repo</a>
</p>
<p>
自分は、Mac の homebrew を使っているので、<strong>brew</strong> コマンドでインストールします。
</p>
<pre>$ brew install git-filter-repo</pre>
<p>
その後 <strong>.mailmap</strong> というファイル名でファイルを作り、間違ったメールアドレスと正しいユーザー名正しいメールアドレスを入力しておきます。
</p>
<pre>correct_name <correct_email@example.com> <wrong_email@example.com></pre>
<p>
その状態で以下のコマンドを実行します。
</p>
<pre>$ git filter-repo --use-mailmap</pre>
<p>
こちらで上手くいくと思ったのですが、上手く変更されませんでした。
</p>
<p>
メールアドレスではなく、ユーザー名だと上手く行きました。
</p>
<pre>correct_name <correct_email@example.com> wrong_name</pre>
<p>
調べてみると git-filter-branch と似たような形式で変更できるコマンドが見つかりました。
</p>
<p>
<a href="https://stackoverflow.com/a/61368365">How to change the author and committer name and e-mail of multiple commits in Git?</a>
</p>
<p>
こちらを参考に変更してみます。
</p>
<pre>$ git filter-repo --commit-callback '
old_email = b"wrong@example.com"
correct_name = b"correct"
correct_email = b"correct@example.com"
if commit.committer_email == old_email :
commit.committer_name = correct_name
commit.committer_email = correct_email
if commit.author_email == old_email :
commit.author_name = correct_name
commit.author_email = correct_email
'</pre>
<p>
しかし、こちらでも上手く行かなかったので、email ではなく name を参照して変更することにしました。
</p>
<pre>$ git filter-repo --commit-callback '
old_name = b"wrong"
correct_name = b"correct"
correct_email = b"correct@example.com"
if commit.committer_name == old_name :
commit.committer_name = correct_name
commit.committer_email = correct_email
if commit.author_name == old_name :
commit.author_name = correct_name
commit.author_email = correct_email
'</pre>
<p>
すると、この方法では期待通りの結果を得ることが出来ました。
</p>
<p>
email では上手く変更が出来ず、name だと上手く変更が出来る理由は分かりませんでしたが、得たい結果が得られたのでヨシとします。
</p>
<p>
以上でおしまいです。
</p>
<p>
git-filter-branch を使うよりも .mailmap を使う場合はずっと簡単になります。
</p>
<p>
エラーメッセージも出ないし、精神的な負担も軽くすることができますね!
</p>
<p>
皆さんも試してみてください。
</p>
sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-1922560236040270182019-05-20T09:45:00.000-07:002019-05-20T09:45:27.873-07:00gitconfig で会社用アカウントと個人用アカウントを分けるタイトル通りです。基本、こちらの Qiita の記事を参考にしていますが、色々とハマりポイントがあったので、個人のメモとして残しておきます。<br />
<br />
<a href="https://qiita.com/SugarShootingStar/items/64f239f89d25a3b9f520">[git] gitconfigで会社用アカウントと個人用アカウントを楽に使い分けする - Qiita<</a><br />
<br />
参考にした記事では、以下のファイル名ですが、自分なりに変更をしました。<br />
<br />
<strong>変更前</strong><br />
<ul>
<li>~/.gitconfig</li>
<li>~/.gitconfig-work</li>
<li>~/.gitconfig-other</li>
</ul>
<strong>変更後</strong><br />
<ul>
<li>~/.gitconfig</li>
<li>~/.gitconfig_work</li>
<li>~/.gitconfig_personal</li>
</ul>
<br />
この辺は、自由に決めて良いと思います。<br />
<br />
そして、オリジナルの <strong>~/.gitconfig</strong> から <strong>[user]</strong> の箇所を削除して、<strong>~/.gitconfig_work</strong>, <strong>~/.gitconfig_personal</strong> それぞれに <strong>[user]</strong> を追記します。<br />
<br />
<strong>includeIf</strong> の <strong>gitdir</strong> に含まれていないディレクトリ内で git レポジトリを作成してコミットすると、ローカルのユーザ名とマシン名(例: <strong>user1@iMac.lan</strong>)などでコミットされます。<br />
<br />
デフォルトで name, email を設定しておきたい場合は、<strong>~/.gitconfig</strong> に <strong>[user]</strong> の設定を残して置くのが良いと思います。<br />
<br />
ここまで設定をして、いざ、コミット!!<br />
<br />
としてみると、思ったようなユーザ名でコミットされません。。。<br />
<br />
原因は、<strong>includeIf</strong> の <strong>gitdir</strong> のディレクトリ名の最後に <strong>/</strong> を付けるのを忘れていたからでした。。。<br />
<br />
こんなミスするの、自分だけなんだろうなぁ・・・。<br />
<br />
(´・ω・`)<br />
<br />
そして、更に設定をしてみましたが、どうやら指定したユーザ名になる時とならない時があります。<br />
<br />
その原因は、階層の高いディレクトリ (~/dev/) を階層の低いディレクトリ (~/dev/project1/) の後に指定しているからでした。<br />
<br />
<strong>includeIf</strong> の <strong>gitdir</strong> は、最後にマッチした条件のファイルが適用されるので、階層の高いディレクトリから順々に指定する必要があります。<br />
<br />
最終的なファイル内容は、以下の通りです。<br />
<br />
<strong>~/.gitconfig</strong>
<br />
<pre># config for personal
[includeIf "gitdir:~/dev/"]
path = ~/.dotfiles/git/.gitconfig_personal
# overwrite specific projects
# config for work
[includeIf "gitdir:~/dev/project1/"]
path = ~/.dotfiles/git/.gitconfig_work</pre>
<strong>~/.gitconfig_personal</strong>
<br />
<pre>[user]
name = me
email = me@personal.example.com</pre>
<strong>~/.gitconfig_work</strong>
<br />
<pre>[user]
name = me
email = me@work.example.com</pre>
将来の自分のために書き残しておきます。。。<br />
<br />
次回は、こんなポカをしませんように。。。😅sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-68650955453217759582019-02-23T14:55:00.002-08:002021-02-02T12:46:24.666-08:00コミットログ(コミッター、コミッターのメールアドレス)を書き換える方法<strong>2021年2月3日</strong><br />
<br />
現在は、<strong>git-filter-branch</strong> よりも <strong>git-filter-repo</strong> を使うことが推奨されています。<br />
<br />
こちらの記事を参考にして <strong>git-filter-repo</strong> を使うようにしてみて下さい。<br />
<br />
<a href="https://yasuwagon.blogspot.com/2021/02/blog-post.html">コミットログ(コミッター、コミッターのメールアドレス)を書き換える方法【改】</a><br />
<br />
<hr>
<br />
超久しぶりのブログ更新。<br />
<br />
将来の自分のためにメモを残しておこうと思う。<br />
<br />
ローカルで git 管理しているレポジトリを github に上げたら、レポジトリを作成したアカウントとは異なるアカウントでコミットしたことになっていた。<br />
<br />
手順としては、user1 でレポジトリを作成して、その user1 のレポジトリにローカルのレポジトリを push したのに、何故か user2 のコミット履歴が表示された。<br />
<br />
原因は、なんのことはない。ローカルのレポジトリには user2 でコミットしてた。。。😅<br />
<br />
<strong>~/.gitconfig</strong> には以下のように設定されていたので、<br />
<br />
<pre>[user]
email = user2@example.com
name = user2</pre>
<div>
<br /></div>
<div>
ローカルのレポジトリのホームディレクトリにて、以下のコマンドを実行。<br />
<br />
<pre>$ git config user.name "user1"
$ git config user.email "user1@example.com"</pre>
<br />
<strong>--global</strong> オプションをつけると <strong>~/.gitconfig</strong> の設定が変更され、user.name、user.email の設定がされていないレポジトリは、すべて user1 のコミットになってしまう。つまり、グローバルに設定がされてしまう。😆<br />
<br />
今回、github に push したレポジトリだけに限定したかったので、<strong>--global</strong> オプションは付けなかった。<br />
<br /></div>
これで、このコマンドを実行した移行のコミットについては、user1 のコミットとしてログに保存される。<br />
<br />
しかし、これだと過去のコミットの user.name や user.email はそのままなので、それを修正する必要がある。<br />
<br />
なので、こちらのページを参考に、修正をした。<br />
<br />
<a href="https://www.git-tower.com/learn/git/faq/change-author-name-email">How can I change the author (name / email) of a commit?</a>
<br />
<br />
<pre>$ git filter-branch --env-filter '
WRONG_EMAIL="user2@example.com"
NEW_NAME="user1"
NEW_EMAIL="user1@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ]
then
export GIT_COMMITTER_NAME="$NEW_NAME"
export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ]
then
export GIT_AUTHOR_NAME="$NEW_NAME"
export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags</pre>
<br />
このコマンドを実行すると、過去のコミットすべてを書き換えるので、注意して実行する。sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-52754790715426465382014-05-09T18:18:00.000-07:002014-05-09T18:20:08.294-07:00Ubuntu 14.04 起動時に無線 LAN につながらない問題を /etc/pm/power.d/wireless の新規作成で解決しました<p>超久し振りにブログの更新。</p>
<p>最近、古い iMac (確か、2007年くらいに買って、購入時に入っていた OS は Leopard)に Ubuntu 14.04 を入れたのだが、起動時に無線 LAN につながらないという問題が発生していた。再起動をすることで、一応は無線 LAN につながるようにはなるのだけれども、使いたい時に毎回、起動、再起動をしないとインターネットにつながらないのはちょっと不便なので、修正をした。</p>
<p>結論としては、以下のリンクにある通りに実行するだけで、問題解決した!</p>
<a href="http://askubuntu.com/questions/450048/cannot-connect-to-wireless-in-lubuntu-14-04">networking - Cannot connect to wireless in Lubuntu 14.04 - Ask Ubuntu</a>
<p>やったこととしては、/etc/pm/power.d/wireless を新規作成して、以下の内容を記述しただけ。ファイルが存在していなかったので、新規作成をする必要があったけれども、それ以外は /etc/network/interfaces に必要な記述がされているかを確認するだけだった。</p>
<pre><strong>$ sudo vi /etc/pm/power.d/wireless</strong>
#!/bin/sh
/sbin/iwconfig wlan0 power off</pre>
<p>これで、少しは時間の節約になるね。良かった!</p>sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-62867625659533138612012-07-24T15:46:00.000-07:002012-07-24T15:46:18.671-07:00ターミナルでの処理が終わったらGrowlで知らせる方法<p>こちらに掲載されていた内容の横流し。</p>
<p><a href="http://veadardiary.blog29.fc2.com/blog-entry-3998.html">ターミナルでの処理が終わったらDockアイコンを跳ねさせ未読バッヂを表示、警告音も鳴らす方法 - Macの手書き説明書</a></p>
<p>"&& tput bel" をコマンドの後につけるだけ。"bell" ではなく "bel" なので注意。</p>
<pre>$ ping -c 5 www.google.com && tput bel</pre>
<p>とかすると、ping が終了した後に Growl でお知らせしてくれる。ターミナルがアクティブ状態になっていないことが条件のようだ。</p>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-ebpijHEGtA0/UA8ksUhkqUI/AAAAAAAAEIY/fLwIBURmXKM/s1600/Screen%2Bshot%2B2012-07-24%2Bat%2B4.33.55%2BPM.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="89" width="328" src="http://3.bp.blogspot.com/-ebpijHEGtA0/UA8ksUhkqUI/AAAAAAAAEIY/fLwIBURmXKM/s400/Screen%2Bshot%2B2012-07-24%2Bat%2B4.33.55%2BPM.png" /></a></div>
<p>因みに、エラー音も出る。エラー音の設定は、System Preferences の Sound で出来る。</p>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-1UTM8VPt4ZM/UA8kzf9s0tI/AAAAAAAAEIk/9RlQymUvJcs/s1600/Screen%2Bshot%2B2012-07-24%2Bat%2B4.37.13%2BPM.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="320" width="400" src="http://3.bp.blogspot.com/-1UTM8VPt4ZM/UA8kzf9s0tI/AAAAAAAAEIk/9RlQymUvJcs/s400/Screen%2Bshot%2B2012-07-24%2Bat%2B4.37.13%2BPM.png" /></a></div>
<p>自分はデフォルトの Funk を利用している。</p>
<p>地味に便利なので使ってみて!!</p>sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-8230795165968791582012-06-19T13:27:00.000-07:002012-06-19T13:27:05.927-07:00emacs-w3m 実行時に Wrong type argument: arrayp, nil のエラー<p>突然ですが emacs-w3m をインストールすることにした。</p>
<p>まずは、いつものように環境から。</p>
<h3>環境</h3>
<ul>
<li>Mac OS X Version 10.6.8</li>
<li>GNU Emacs 24.1.1 (x86_64-apple-darwin, NS apple-appkit-1038.36) of 2012-06-10 on bob.porkrind.org</li>
<li>emacs-w3m-1.4.4</li>
</ul>
<br />
<h3>インストール</h3>
<p>こちらのページを参考にして、emacs-w3m をインストールした。</p>
【参考】<a href="http://redtower.plala.jp/2011/02/19/emacs-web-emacs-w3m.html">EmacsでWebページをみる。(Emacs-w3m) - redtower's memo</a>
<br />
<pre><b>$ wget http://emacs-w3m.namazu.org/emacs-w3m-1.4.4.tar.gz</b>
<b>$ tar zxvf emacs-w3m-1.4.4.tar.gz</b></pre>
<pre><b>$ cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot co emacs-w3m</b>
<b>$ cp -pr emacs-w3m/* emacs-w3m-1.4.4</b></pre>
<pre><b>$ cd emacs-w3m-1.4.4</b>
<b>$ ./configure --prefix=~/.emacs.d/elisp/emacs-w3m</b>
<b>$ make</b>
<b>$ make install</b></pre>
<br />
<p>~/.emacs に以下の内容を記述。</p>
<pre>(add-to-list 'load-path "~/.emacs.d/emacs-w3m/share/emacs/site-lisp/w3m")
(add-to-list 'Info-additional-directory-list "~/.emacs.d/elisp/emacs-w3m/share/info")
(require 'w3m-load)</pre>
<br />
<h3>エラーへの対応</h3>
<p>M-x w3m として w3m を起動する。しかし、起動時に以下のエラーが表示され、起動に失敗する。</p>
<pre>Wrong type argument: arrayp, nil</pre>
<br />
<p>以下のページを参照すると、Emacs 22 未満でバイトコンパイルした *.elc を Emacs 23 でロードしているのが原因とのこと。</p>
【参考】<a href="http://emacs-w3m.namazu.org/ml/msg11146.html">Re: (wrong-type-argument arrayp nil) in w3m-ems</a>
<br /><br />
<p>「*.elc を直接開いてみると、先頭の方にバイトコンパイルした Emacs のバージョンが記載されている」とのことなので、インストールされた w3m.elc の先頭を確認してみると Emacs 22.1.1 でバイトコンパイルされていた。</p>
<p>「おかしい。。。自分の使っている Emacs は 24.1.1 だぞ。。。」と思い、コマンドプロンプトにて Emacs のバージョンを確認してみた。</p>
<pre><b>$ which emacs</b>
/usr/bin/emacs
<b>$ emacs --version</b>
GNU Emacs 22.1.1</pre>
<p>ということで、Emacs 22.1.1 がバイトコンパイルに使われていることが判明した。これは、GUI で使っている Emacs と CUI で使っている Emacs が別のバージョンの Emacs であったことに原因がある。</p>
<ul>
<li>CUI - /usr/bin/emacs</li>
<li>GUI - /Applications/Emacs.app/Contents/MacOS/Emacs</li>
</ul>
<p>それぞれ CUI は 22.1.1、GUI は 24.1.1 であった。</p>
<p>よって、GUI の Emacs で w3m.el を開き、M-x byte-compile-file で w3m.el をバイトコンパイル。するとコンパイルエラー。先ほどのページのスレッドを辿ると「w3m-ems.el でエラーになる」とのことだったので、w3m-ems.el をコンパイルした後に、w3m.el をバイトコンパイル。</p>
【参考】<a href="http://emacs-w3m.namazu.org/ml/msg11130.html">Re: (wrong-type-argument arrayp nil) in w3m-ems</a>
<br /><br />
<p>すると今度は、バイトコンパイルに成功!!</p>
<p>そして、M-x w3m をするとエコーエリアに以下のエラー。</p>
<pre>Searching for program: No such file or directory, /usr/bin/w3m</pre>
<p>/usr/bin/w3m にシムリンクを貼る。</p>
<pre><b>$ which w3m</b>
/usr/local/bin/w3m
<b>$ sudo ln -s /usr/local/bin/w3m /usr/bin/w3m</b></pre>
<p>をして、M-x w3m をしたところ、無事に emacs-w3m を起動することが出来ました!!</p>
<p>しかし、よくよく先ほどのスレッドのページを見なおしてみると「EMACS を指定するようにして解決しました。」とのこと。以下のように make 実行時に EMACS を指定してインストールすると、無事に emacs-w3m をインストールすることが出来た。。。手動で w3m.el や w3m-ems.el をバイトコンパイルする必要なんてなかった。。。</p>
<pre><b>$ ./configure --prefix=~/.emacs.d/elisp/emacs-w3m</b>
<b>$ make EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs</b>
<b>$ make install</b></pre>
<p>何はともあれ、emacs-w3m が動いて良かった!!これで次のステップに進めるょっ!!</p>
(・∀・)sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-2074115528027766432012-03-17T14:27:00.000-07:002012-03-17T14:45:19.366-07:00Command+Tab で Finder を表示しないようにする方法<a href="http://www.lifehacker.jp/2012/02/120215removefinder.html">Mac OS Xの「Command+Tab」でアプリ切替をする時にFinderが表示されないようにする方法 : ライフハッカー[日本版]</a>
<p>こちらのリンクを参考にやってみた。Command+Tab でアプリを選択している時に誤って Finder が選択されてしまうことが時々あったので、この Tips はとても嬉しい。</p>
<p>ほぼリンク先のまんまの記事で申し訳ないが、リンク先にある手順を実行するだけで簡単に設定することが出来る。</p>
<h3>環境</h3>
<ul>
<li>Mac OS X Version 10.6.8</li>
</ul>
<pre>$ su -
# vi /System/Library/CoreServices/Finder.app/Contents/Info.plist
</pre>
<p>dict ノードの下に以下を追加する。</p>
<pre>
< key > NSUIElement < /key >
< string > 1 < /string >
</pre>
<p>Doc にある Finder を Option キーを押したまま右クリックして、「Relaunch」を選び、Command+Tab で Finder が表示されないことを確認。</p>
<p>これは便利だ!!</p>
<p>(・∀・)イイ!!</p>sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-10153049072035492222011-09-02T14:34:00.000-07:002011-09-03T21:10:05.831-07:00bm.el の色の設定を変更してみた<h3>背景</h3>
以前、bm.el をインストールした訳だが、デフォルトの色がちょっと見にくかったので変更してみた。
<br /><br />
【参考】<a href="http://yasuwagon.blogspot.com/2011/05/bmel.html">自分のための日記: bm.el を入れてみた</a>
<br /><br />
<h3>環境</h3>
<ul>
<li>Mac OS X Version 10.6.7</li>
<li>GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local</li>
<li>bm.el,v 1.55</li>
</ul>
<br /><br />
<h3>デフォルトの色</h3>
デフォルトの色は、こんな感じ。文字の色は白で、背景は紺っぽい色。
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-76a5CxXPTTI/TmFLBwZ07mI/AAAAAAAAD7o/EH0SsZ5dIPo/s1600/Screen%2Bshot%2B2011-06-16%2Bat%2B18.14.44%2B.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://3.bp.blogspot.com/-76a5CxXPTTI/TmFLBwZ07mI/AAAAAAAAD7o/EH0SsZ5dIPo/s400/Screen%2Bshot%2B2011-06-16%2Bat%2B18.14.44%2B.png" width="376" /></a></div>
<br />
文字の色が単色であれば、そんなに問題ないようにも思えるが、ソースコードなどは型名、クラス名、メソッド名、リターンタイプ、予約語などは色付けされているので、紺だとちょっと色が強すぎる気が。。。あと、文字色がすべて白になってしまうのも、ソースコードを読むとき、コーディングしているときに見づらいと思った。
<br /><br />
<h3>デフォルトの色の変更</h3>
bm.el 内で color で検索したら、この辺が出てきた。
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-P6dT3pfBdgU/TmFLLXsgW-I/AAAAAAAAD7w/AJn5hyXZSrs/s1600/Screen%2Bshot%2B2011-06-16%2Bat%2B18.25.12%2B.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://1.bp.blogspot.com/-P6dT3pfBdgU/TmFLLXsgW-I/AAAAAAAAD7w/AJn5hyXZSrs/s400/Screen%2Bshot%2B2011-06-16%2Bat%2B18.25.12%2B.png" width="376" /></a></div>
<pre> (((class color)
(background light)) (:foreground "White" :background "DarkOrange1"))
(((class color)
(background dark)) (:foreground "Black" :background "DarkOrange1")))
(((class color)
(background light)) (:foreground "White" :background "DarkBlue"))
(((class color)
(background dark)) (:foreground "White" :background "DarkBlue")))
(((class color)
(background light)) (:foreground "White" :background "DarkOrange1"))
(((class color)
(background dark)) (:foreground "Black" :background "DarkOrange1")))
(((class color)
(background light)) (:foreground "White" :background "DarkBlue"))
(((class color)
(background dark)) (:foreground "White" :background "DarkBlue")))
</pre>
<br />
bm-persistent-face, bm-fringe-persistent-face に設定されている以下の色が怪しい、と思った。
<br /><br />
<pre>(:foreground "White" :background "DarkBlue")</pre>
<br />
自分のバックグラウンドは白で明るいので (background light)の行を変更する。という訳で、399行と434行の設定を以下のように変更してみた。
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-8yNspXxUthI/TmFLecQwCwI/AAAAAAAAD8A/Mp6v-AIKToI/s1600/Screen%2Bshot%2B2011-06-16%2Bat%2B18.37.59%2B.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://1.bp.blogspot.com/-8yNspXxUthI/TmFLecQwCwI/AAAAAAAAD8A/Mp6v-AIKToI/s400/Screen%2Bshot%2B2011-06-16%2Bat%2B18.37.59%2B.png" width="376" /></a></div>
<ul>
<li>変更前
<pre> (background light)) (:foreground "White" :background "DarkBlue"))</pre>
</li>
<li>変更後
<pre> (background light)) (:background "LightGreen"))</pre>
</li>
</ul>
<br /><br />
設定を変更して、Emacs を再起動。
<br /><br /><br />
すると、何も変わらなかった。。。
<br /><br />
Σ(゚Д゚;)ガーーーン!
<br /><br />
よくよく bm.el のある ~/.emacs.d/auto-install ディレクトリを見ると、bm.elc ファイルがある。という訳で、bm.el をバイトコンパイル。
<br /><br />
<pre>M-x byte-compile-file[Enter]
~/.emacs.d/auto-install/bm.el</pre>
<br />
そして、Emacs を再起動。
<br /><br />
すると、ブックマークの色が期待した色になりましたー!
<br /><br />
(・∀・)!
<br /><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-15Sxm9eFB2U/TmFLoE8TnwI/AAAAAAAAD8I/xB9-FRU8TnE/s1600/Screen%2Bshot%2B2011-06-16%2Bat%2B18.49.52%2B.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://3.bp.blogspot.com/-15Sxm9eFB2U/TmFLoE8TnwI/AAAAAAAAD8I/xB9-FRU8TnE/s400/Screen%2Bshot%2B2011-06-16%2Bat%2B18.49.52%2B.png" width="376" /></a></div>
<br />
こちらの方が、foreground のカラーは維持されるし、background のカラーもどぎつくないので、断然見やすいのではないでしょうか?
<br /><br />
因みに、今回は bm-persistent-face, bm-fringe-persistent-face の両方を変更しましたが、bm-persistent-face を変更するだけで、所望の結果が得られることが分かりました。lisp の書き方が分からないので、emacs の設定をするときは毎回「トライ&エラー」なのが悲しいところ。。。
<br /><br /><br />
(´・ω・`)
sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com2tag:blogger.com,1999:blog-14862170.post-74637704873620057902011-06-11T15:00:00.000-07:002011-06-11T15:00:50.320-07:00Mac OS X で Java のアップデート<h3>背景</h3>JPCERT/CC からの 注意喚起にて、Java SE のクリティカルパッチアップデートがあることを知る。Java SE 6 Update 26 にアップデートする必要があるようだ。<br />
<br />
<br />
<h3>環境</h3>現在の環境は、以下の通りです。<br />
<br />
<ul><li>Mac OS X version 10.6.7</li>
</ul><br />
<br />
<h3>現状確認</h3>JPCERT/CC によると、以下のページで Java のバージョンの確認が出来るようだ。<br />
<br />
<a href="http://www.java.com/ja/download/installed.jsp">Java のバージョンの確認</a><br />
<br />
<br />
実際に確認してみたところ、以下のページが表示された。<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-nZCeT5lKYNw/TfPjj0vU99I/AAAAAAAAD4o/EzN03DhkgdE/s1600/Screen%2Bshot%2B2011-06-08%2Bat%2B22.37.44%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="297" width="400" src="http://1.bp.blogspot.com/-nZCeT5lKYNw/TfPjj0vU99I/AAAAAAAAD4o/EzN03DhkgdE/s400/Screen%2Bshot%2B2011-06-08%2Bat%2B22.37.44%2B.png" /></a></div><br />
<br />
<pre>Mac をお使いの場合: お使いの Mac に最新バージョンの Java がインストールされているかどうかを確認するには、アップルメニューのソフトウェアアップデート機能を使用します。</pre><br />
とのことだが、ソフトウェアアップデート機能を使用しても何の更新も起こらない。<br />
<br />
iTerm2 から以下のコマンドを入力すると、古いバージョン(1.6.0_24)のままであることが分かる。<br />
<br />
<pre><b>$ java -version</b></pre><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-XVI4BbtSJw0/TfPjtbyZtLI/AAAAAAAAD4w/rdmzfZ6Vt-E/s1600/Screen%2Bshot%2B2011-06-08%2Bat%2B22.40.37%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="145" width="400" src="http://4.bp.blogspot.com/-XVI4BbtSJw0/TfPjtbyZtLI/AAAAAAAAD4w/rdmzfZ6Vt-E/s400/Screen%2Bshot%2B2011-06-08%2Bat%2B22.40.37%2B.png" /></a></div><br />
<br />
<h3>対策</h3>以下の自分のブログの記事を参考にして、"Java for 10.6 Update 5" をインストールした。<br />
<br />
<a href="http://yasuwagon.blogspot.com/2011/06/eclipse-rtjar.html">自分のための日記: Eclipse で rt.jar のソースを見る方法</a><br />
<br />
<br />
インストールすると、/Library/Java/JavaVirtualMachines に 1.6.0_24-b07-334.jdk の他に 1.6.0_26-b03-377.jdk がインストールされていることが分かる。<br />
<br />
<br />
ついでだから、上記の自分のブログを参考に、Eclipse で使う JRE を 1.6.0_26 の JRE に変更しておいた。<br />
<br />
<br />
因みに、1.6.0_24-b07-334.jdk は必要なさそうというか、以下の記事を参考にすると「旧バージョンの Java は削除することを推奨する」とのことだったので削除した。<br />
<br />
<a href="http://www.st.ryukoku.ac.jp/blog/vuln/0364">JDK および JRE 6 Update 26 が公開されています - 特に重要なセキュリティ欠陥・ウイルス情報</a><br />
<br />
<br />
1.6.0_24-b07-334.jdk を削除するとどうでしょう。java -version とコマンドを入力すると、バージョンが 1.6.0_26 となっていることを確認することが出来ました。<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-LhlEz3ySnvU/TfPj2xydPmI/AAAAAAAAD44/UeKJwU-3Oa4/s1600/Screen%2Bshot%2B2011-06-08%2Bat%2B22.58.46%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="137" width="400" src="http://2.bp.blogspot.com/-LhlEz3ySnvU/TfPj2xydPmI/AAAAAAAAD44/UeKJwU-3Oa4/s400/Screen%2Bshot%2B2011-06-08%2Bat%2B22.58.46%2B.png" /></a></div><br />
<br />
<h3>感想</h3>あれ?おかしくない?java コマンドは /usr/bin/java にあり、/usr/bin/java は /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java へのシムリンクになっている。<br />
<br />
<pre><b>$ which java</b>
/usr/bin/java
<b>$ ls -l /usr/bin/java</b>
(略)java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java</pre><br />
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java の親フォルダが /Library/Java/JavaVirtualMachines/1.6.0_26-b03-377.jdk/Contents/Home/bin へのシムリンクになっているのかと思ったが、そうではないようだ。<br />
<br />
「現状確認」でも確認したように、Mac の場合、「最新バージョンの Java がインストールされているかどうかを確認するには、アップルメニューのソフトウェアアップデート機能を使用」するしかないようなので、ソフトウェアアップデートによって Java を最新の状態にすることでデフォルトの Java が最新の状態になるのかと思っていた。しかし、開発版の Java を入れることで Java が最新になった。<br />
<br />
自分でも何がなんだか分からない。<br />
<br />
Mac OS X 上にある java コマンドを探すと<br />
<br />
<pre><b>$ find / -name java -type f 2>/dev/null</b>
/Library/Java/JavaVirtualMachines/1.6.0_26-b03-377.jdk/Contents/Home/bin/java
/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
/usr/share/file/magic/java</pre><br />
と表示される。それぞれのコマンドで java -version を実行してみた。<br />
<br />
<pre><ol><li>/Library/Java/JavaVirtualMachines/1.6.0_26-b03-377.jdk/Contents/Home/bin/java</li>
<li>/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java</li>
<li>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java</li>
<li>/usr/share/file/magic/java</li>
</ol>
とする。
<ol><li>java version "1.6.0_26"</li>
<li>java version "1.6.0_26"</li>
<li>java version "1.6.0_24"</li>
<li>zsh: permission denied: /usr/share/file/magic/java</li>
</ol>
4. は、file コマンドが使う magicfile と呼ばれるデータベースのようだ。
【参考】
<a href="http://oss.timedia.co.jp/show/column/%e4%bb%8a%e6%97%a5%e3%81%ae%e4%b8%80%e8%a1%8c/%ef%bc%92%ef%bc%90%ef%bc%90%ef%bc%95%e5%b9%b4%ef%bc%94%e6%9c%88#H-3l8zqp119rtbx">2005年4月 | 今日の一行 | column | OSS-Web</a>
</pre><br />
という訳で、システムにインストールされている Java で 1.6.0_26 のものは、<br />
<br />
<ul><li>/Library/Java/JavaVirtualMachines/1.6.0_26-b03-377.jdk/Contents/Home/bin/java</li>
<li>/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java</li>
</ul><br />
で、1.6.0_24 のものは、<br />
<br />
<ul><li>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java</li>
</ul><br />
だった。<br />
<br />
「アップルメニューのソフトウェアアップデート機能を使用」することで、/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java のバージョンが 1.6.0_26 になるのではないか、と信じている。sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-37770709063899439442011-06-03T12:56:00.000-07:002011-06-03T12:56:04.116-07:00Eclipse で rt.jar のソースを見る方法完全にこちらのサイトを参考にしました。<br />
<br />
<ul><li><a href="http://d.hatena.ne.jp/kaw0909/20101128/1290919656">mac Eclipseでrt.jarのソースを見るには? - 理系のためのTIPS集</a></li>
<li><a href="http://d.hatena.ne.jp/ykmbpp/20080307/1204878500">Java API のソースコードを見たいのに Mac に src.jar が入ってない? - YKMbPP</a></li>
</ul><br />
<br />
<h3>環境</h3><ul><li>Mac OS X version 10.6.7</li>
<li>Eclipse ( Version : Helios Service Release 2 )</li>
</ul><br />
<br />
<h3>ダウンロード</h3><a href="http://connect.apple.com/">Developer Downloads & ADC Program Assets</a> から "Java for Mac OS X 10.6 Update 4 Developer Package" をダウンロード(2011年6月3日現在での最新版)。<br />
<br />
<br />
<h3>インストール</h3>ダウンロードした dmg ファイルを解凍してインストール。<br />
<br />
<br />
<h3>src.jar のパス</h3>以下の手順に従って、src.jar があるパスを突き止める。<br />
<br />
<ol><li>/Applications/Utilities から Java Preferences.app を起動する</li>
<li>General タブにある "Java SE 6" をダブルクリックする<br />
<ul><li>因みに、"Java SE 6 (System)" をダブルクリックしても何も起こらなかった</li>
<li>自分の CPU-Type は 32-bit だが、CPU-Type が 64-bit の "Java SE 6" をダブルクリックしても目的とするフォルダが開いた</li>
</ul><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-WuLUpq-KJAI/Tek5MvCkXgI/AAAAAAAAD3U/X3u4ljWYWqI/s1600/Screen%2Bshot%2B2011-06-02%2Bat%2B19.30.30%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="306" width="400" src="http://2.bp.blogspot.com/-WuLUpq-KJAI/Tek5MvCkXgI/AAAAAAAAD3U/X3u4ljWYWqI/s400/Screen%2Bshot%2B2011-06-02%2Bat%2B19.30.30%2B.png" /></a></div></li>
<li>1.6.0_24-b07-334.jdk を右クリックして Show Package Contents を選択する<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-NNC28aSLsnA/Tek6Gkm8EVI/AAAAAAAAD3s/CL7cwSSvNsc/s1600/Screen%2Bshot%2B2011-06-02%2Bat%2B19.37.37%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="196" width="400" src="http://2.bp.blogspot.com/-NNC28aSLsnA/Tek6Gkm8EVI/AAAAAAAAD3s/CL7cwSSvNsc/s400/Screen%2Bshot%2B2011-06-02%2Bat%2B19.37.37%2B.png" /></a></div></li>
<li>1.6.0_24-b07-334.jdk/Contents/Home ディレクトリの中に src.jar があることを確認する</li>
</ol><br />
ということで、私の環境では src.jar は以下にインストールされていた。<br />
<br />
<pre>/Library/Java/JavaVirtualMachines/1.6.0_24-b07-334.jdk/Contents/Home/src.jar</pre><br />
<br />
<h3>Eclipse の設定</h3><ol><li>Eclipse メニューの Preferences を選択する</li>
<li>Prefereces ダイアログの Java の Installed JREs を選択する<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-R8dsisJljOo/Tek6SzCH8yI/AAAAAAAAD30/T0yetcJJ3mw/s1600/Screen%2Bshot%2B2011-06-02%2Bat%2B20.24.39%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="387" width="400" src="http://2.bp.blogspot.com/-R8dsisJljOo/Tek6SzCH8yI/AAAAAAAAD30/T0yetcJJ3mw/s400/Screen%2Bshot%2B2011-06-02%2Bat%2B20.24.39%2B.png" /></a></div></li>
<li>Add をクリック</li>
<li>MacOS X VM(多分)を選択して Next をクリック<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-NCrxwTtkyZE/Tek6cXiPquI/AAAAAAAAD38/8YZDaP5l3As/s1600/Screen%2Bshot%2B2011-06-02%2Bat%2B20.29.16%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="372" width="400" src="http://4.bp.blogspot.com/-NCrxwTtkyZE/Tek6cXiPquI/AAAAAAAAD38/8YZDaP5l3As/s400/Screen%2Bshot%2B2011-06-02%2Bat%2B20.29.16%2B.png" /></a></div></li>
<li>JRE Home に以下を入力する<br />
<pre>/Library/Java/JavaVirtualMachines/1.6.0_24-b07-334.jdk/Contents/Home</pre><ul><li>Directory... ボタンを押してディレクトリを選択する方式で行くと 1.6.0_24-b07-334.jdk が選択出来ない状態になっていて行き詰まる</li>
</ul><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-WspU0mbcv0M/Tek6vfi5UhI/AAAAAAAAD4E/xgBPlOJbToc/s1600/Screen%2Bshot%2B2011-06-02%2Bat%2B20.31.24%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="400" width="375" src="http://2.bp.blogspot.com/-WspU0mbcv0M/Tek6vfi5UhI/AAAAAAAAD4E/xgBPlOJbToc/s400/Screen%2Bshot%2B2011-06-02%2Bat%2B20.31.24%2B.png" /></a></div></li>
<li>名前は Home にする(適当)</li>
<li>Finish をクリック</li>
<li>デフォルトで使う JRE を Home にする<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-sa-OrcP1nRU/Tek64SobnwI/AAAAAAAAD4M/I1kM4mXbqYs/s1600/Screen%2Bshot%2B2011-06-02%2Bat%2B20.35.30%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="316" width="400" src="http://4.bp.blogspot.com/-sa-OrcP1nRU/Tek64SobnwI/AAAAAAAAD4M/I1kM4mXbqYs/s400/Screen%2Bshot%2B2011-06-02%2Bat%2B20.35.30%2B.png" /></a></div></li>
<li>既存のプロジェクトを右クリックして Properties をクリック</li>
<li>Java Build Path をクリックし、JRE System Library [JavaSE-1.6] をクリック<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-2ocqsZMWWJk/Tek7Aij2EjI/AAAAAAAAD4U/TiRrqnmTl0o/s1600/Screen%2Bshot%2B2011-06-03%2Bat%2B13.26.23%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="286" width="400" src="http://4.bp.blogspot.com/-2ocqsZMWWJk/Tek7Aij2EjI/AAAAAAAAD4U/TiRrqnmTl0o/s400/Screen%2Bshot%2B2011-06-03%2Bat%2B13.26.23%2B.png" /></a></div></li>
<li>Edit... をクリック</li>
<li>ラジオボタンの Workspace default JRE (Home) をクリック<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-t9NWrNEOb_o/Tek7OWj0OsI/AAAAAAAAD4c/qi_WdLS-GiM/s1600/Screen%2Bshot%2B2011-06-03%2Bat%2B13.29.03%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="269" width="400" src="http://1.bp.blogspot.com/-t9NWrNEOb_o/Tek7OWj0OsI/AAAAAAAAD4c/qi_WdLS-GiM/s400/Screen%2Bshot%2B2011-06-03%2Bat%2B13.29.03%2B.png" /></a></div></li>
<li>Finish をクリック</li>
<li>JRE System Library [Home] となっていることを確認する</li>
<li>すべての既存のプロジェクトの System Library を JavaSE-1.6 から Home に変更する</li>
</ol><br />
既存のプロジェクトの1つを変更すると、あるプロジェクトは System Library が Home に勝手に変更され、あるプロジェクトは JavaSE-1.6 のままだった。System Library が自動で変更されなかったプロジェクトについては、手動で Home に変更した。<br />
<br />
<br />
<h3>使い方</h3>調べたいクラスやメソッドを選択した後、F3 を押すことで、クラス、あるいはメソッドのソースを見ることが出来る!!<br />
<br />
これは、便利だ!!<br />
<br />
(・∀・)<br />
<br />
<br />
<h3>感想</h3>今まで、なんでエラーになっているかよく分からなかったところ、どういう実装になっているか興味のあったところなど、ソースをみてみたいと思う。特に Collection, Map, HashMap などは興味があるので見てみようと思う。sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-10903002077475354162011-05-31T16:01:00.000-07:002011-05-31T16:01:49.910-07:00Carbon Emacs で使うフォントを Ricty にする<h3>背景</h3>最近、「<a href="http://save.sys.t.u-tokyo.ac.jp/~yusa/fonts/ricty.html">プログラミング用フォント Ricty</a>」というフォントが巷で噂になっているらしく、「試しに」ということで、iTerm2 のフォントを Ricty にしてみた。<br />
<br />
因みに、iTerm2 については、以下を参照。<br />
<br />
<a href="http://www.iterm2.com/#/section/home">iTerm2 - Mac OS Terminal Replacement</a><br />
<br />
「フォントを変更したくらいじゃぁ、何も変わらないだろう。。。」と高を括っていたのだが、使っているうちに非常に読みやすいことが分かり感動した!!なので、普段 iTerm2 よりも頻繁に使っている Carbon Emacs のフォントも Ricty にすることにした。<br />
<br />
<br />
<h3>奮闘</h3>以下の複数のページを参考に、Ricty になるよう孤軍奮闘してみたが、どの設定をしても上手く行かない。。。<br />
<br />
<ul><li><a href="http://d.hatena.ne.jp/kitokitoki/20110502/p2">emacs で使うフォントをプログラミング用フォント Ricty にした。感動。 - わからん</a></li>
<li><a href="http://d.hatena.ne.jp/Rion778/20110503/1304430954">EmacsのフォントをRictyにした - もうカツ丼でいいよな</a></li>
<li><a href="http://d.hatena.ne.jp/sugyan/20110510/1305011319">Emacsのフォント設定を変えてみた - すぎゃーんメモ</a></li>
<li><a href="http://blogs.dion.ne.jp/moe_moe/archives/6988149.html">nao研究室: [Emacs]Carbon Emacsのフォント変更</a></li>
<li><a href="http://d.hatena.ne.jp/ymorimo/20070329/1175190807">Carbon Emacsの(脱carbon-font)フォント設定 - 掃き溜め</a></li>
<li><a href="http://macemacsjp.sourceforge.jp/matsuan/FontSettingJp.html">Carbon版 Emacs 22.1 のフォント設定</a></li>
</ul><br />
「なんだ、これはー。もうダメだ。」と諦めていたところ、ついに設定方法を発見しました。<br />
<br />
<br />
<h3>環境</h3>設定方法を書く前に、私の環境を晒しておきます。<br />
<br />
<ul><li>Mac OS X version 10.6.7</li>
<li>GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local</li>
</ul><br />
<br />
<h3>設定方法</h3>Ricty をインストールした後、以下の内容を ~/.emacs に書いて Carbon Emacs を再起動することで設定内容が反映されます。<br />
<br />
<pre>(set-face-attribute 'default nil :family "Ricty" :height 140)
(set-fontset-font "fontset-default" 'japanese-jisx0208 '("Ricty" . "iso10646-*"))
</pre><br />
参考にしたサイトでは「:height 160」となっていたが、160 では大き過ぎるので「:height 140」とした。勝手に「:height 140」としていいのかは不明。。。<br />
<br />
<br />
<h3>参考サイト</h3>以下のサイトを参考にしました。<br />
<br />
<a href="http://hibari.2ch.net/test/read.cgi/mac/1228489176/696">Mac de Emacs総合スレ v6</a><br />
<br />
ありがとうございます。<br />
<br />
<br />
<h3>感想</h3>Ricty に変える前は、「フォントを変えるくらいでは何も変わらないのでは?」と思っていたのだが、Ricty にしてから非常に見やすくなった。特に濁点、半濁点の区別がしやすいのが気に入っている。ブラウザのフォントの設定も Ricty にしようかな?sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-57061390167626831862011-05-26T15:36:00.000-07:002011-05-26T15:36:09.073-07:00bm.el を入れてみたまずは、環境から。<br />
<br />
<h3>環境</h3><ul><li>Mac OS X version 10.6.7</li>
<li>GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local</li>
</ul><br />
<br />
<h3>参考</h3>以下のページを参考にしました。<br />
<br />
<ul><li><a href="http://cvs.savannah.gnu.org/viewvc/bm/bm/bm.el">[sources] Log of /bm/bm/bm.el</a></li>
<li><a href="http://d.hatena.ne.jp/kenkov/20110507/1304754238">bm.el入れました - kenkov dialy</a></li>
<li><a href="http://d.hatena.ne.jp/peccu/20100402/bmglobal">bm.elでブックマーク一覧からブックマークにジャンプする - ぺっくブログミラー@peccul</a></li>
</ul><br />
基本、上記のページを参照して頂ければ、bm.el のインストールは出来ると思います。。。<br />
<br />
(;・∀・)<br />
<br />
<br />
<h3>インストール</h3>Emacs の scratch buffer で以下のコマンドを入力して、C-j で実行する。<br />
<br />
<pre>(install-elisp "http://cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el")</pre><br />
上記のコマンドを入力すると、bm.el のソースがダウンロードされる。ダウンロードした後に、"C-c C-c to continue" と言われるので、C-c C-c を入力してインストールを行う。<br />
<br />
install-elisp の引数には、<a href="http://cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el">http://cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el</a> を指定する。ブラウザから <a href="http://cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el">http://cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el</a> にアクセスすると、bm.el の最新のソースコードが表示される。<br />
<br />
<br />
<h3>設定</h3>設定をする上で、キーバインドを何にするか迷った。候補としては、参考にしたサイトを参考に以下が上がった。<br />
<br />
<pre>M-;
M-:
M-@
M-[
M-]</pre><br />
これらのキーバインドは、以下に割り当てられていた。<br />
<br />
<pre>M-; ww-next-gtag
M-: eval-expression
M-@ mark-word
M-[ (undefined)
M-] (undefined)</pre><br />
M-@ に割り当てられている mark-word は何をする関数か調べてみる。<br />
<br />
<pre>mark-word is an interactive compiled Lisp function in `simple.el'.
It is bound to M-@.
(mark-word &optional arg allow-extend)
Set mark arg words away from point.
The place mark goes is the same place M-f would
move to with the same argument.
Interactively, if this command is repeated
or (in Transient Mark mode) if the mark is active,
it marks the next arg words after the ones already marked.</pre><br />
単語ごとに選択が出来るようにする関数らしい。特に、使うこともないので、M-@、 M-[、M-] を使うことにした。<br />
<br />
因みに、キーバインドがどんな関数に割り当てられているか、関数が何をするかの詳細を調べるには、以下のコマンドを利用する。<br />
<br />
<ul><li>キーバインドがどんな関数に割り当てられているか<br />
<pre>[f1] - c</pre>または<pre>M-x help-for-help c</pre></li>
<li>関数が何をするか<br />
<pre>[f1] - f</pre>または<pre>M-x help-for-help f</pre></li>
</ul><br />
詳細は、以下のページを参照。<br />
<br />
<a href="http://taka.no32.tk/diary/20101212.html#p01">いつもの操作がなんなのか調べる方法 - 32nd Diary(2010-12-12)</a><br />
<br />
<br />
そういう訳で、M-@、M-[、M-] を使って設定をする。と言っても、<a href="http://d.hatena.ne.jp/kenkov/20110507/1304754238">bm.el入れました - kenkov dialy</a> にある設定を ~/.emacs にコピペしてみました。。。<br />
<br />
<pre>;;; bm.elの設定
;;; (install-elisp "http://cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el")
(require 'bm)
;; キーの設定
(global-set-key (kbd "M-@") 'bm-toggle)
(global-set-key (kbd "M-[") 'bm-previous)
(global-set-key (kbd "M-]") 'bm-next)
;; マークのセーブ
(setq-default bm-buffer-persistence t)
;; セーブファイル名の設定
(setq bm-repository-file "~/.emacs.d/bm-repository")
;; 起動時に設定のロード
(setq bm-restore-repository-on-load t)
(add-hook 'after-init-hook 'bm-repository-load)
(add-hook 'find-file-hooks 'bm-buffer-restore)
(add-hook 'after-revert-hook 'bm-buffer-restore)
;; 設定ファイルのセーブ
(add-hook 'kill-buffer-hook 'bm-buffer-save)
(add-hook 'auto-save-hook 'bm-buffer-save)
(add-hook 'after-save-hook 'bm-buffer-save)
(add-hook 'vc-before-checkin-hook 'bm-buffer-save)
;; Saving the repository to file when on exit
;; kill-buffer-hook is not called when emacs is killed, so we
;; must save all bookmarks first
(add-hook 'kill-emacs-hook '(lambda nil
(bm-buffer-save-all)
(bm-repository-save)))</pre><br />
一つ変えたところは、セーブファイル名。ドットファイルから、通常のファイルにした。<br />
<br />
<ul><li>変更前<br />
<pre>(setq bm-repository-file "~/.emacs.d/.bm-repository")</pre></li>
<li>変更後<br />
<pre>(setq bm-repository-file "~/.emacs.d/bm-repository")</pre></li>
</ul><br />
<br />
<h3>動作確認</h3><br />
~/.emacs を保存した後に、以下のコマンドを実行して ~/.emacs を読みなおす。<br />
<br />
<pre>M-x load-file [return]
~/.emacs [return]</pre><br />
そして、M-@ でブックマークをし、M-[、M-] で前のブックマークに戻ったり、次のブックマークに進んだりする。<br />
<br />
期待した通りの動作をしました!!<br />
<br />
これで、少し速く開発できる!!と思う。<br />
<br />
ヽ(´ー`)ノsejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-56925434444881389692011-05-24T09:52:00.000-07:002011-05-24T09:52:08.828-07:00Mac でピクセルの色を調べる方法ひょんなことから Mac でピクセルの色を調べる必要があった。グーグルで検索した結果、便利なツールを発見したので、備忘録の意味でブログにしておこう、っと。<br />
<br />
<h3>環境</h3><ul><li>Mac OS X 10.6.7</li></ul><br />
<h3>手順</h3><ol><li>「Applications」フォルダの「Utilities」フォルダにある「DigitalColor Meter.app」を開く</li>
<li>ドロップダウンリストから「RGB as Hex Value, 8-bit」を選択する</li>
<li>必要に合わせてスライドバーで「Aperture Size」を変更する</li>
<li>知りたいピクセルにマウスカーソルを合わせる</li>
<li>Shift + Command + C でピクセルの色の値をコピーする</li>
<li>エディタなどに値を貼り付ける</li>
</ol><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-F_XYbkDiGVw/TdviDMaBcxI/AAAAAAAAD3E/HqjOkFDd9kU/s1600/Screen%2Bshot%2B2011-04-28%2Bat%2B19.15.37%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="187" width="320" src="http://3.bp.blogspot.com/-F_XYbkDiGVw/TdviDMaBcxI/AAAAAAAAD3E/HqjOkFDd9kU/s320/Screen%2Bshot%2B2011-04-28%2Bat%2B19.15.37%2B.png" /></a></div><br />
<br />
以上のことは、「<a href="http://docs.info.apple.com/article.html?path=Mac/10.6/jp/8489.html">Mac OS X 10.6 Help: ディスプレイに表示されている色を計測する</a>」に書いてあります。。。<br />
<br />
<br />
Mac OS X 10.5 を使っている場合は、以下を参照。<br />
<br />
<a href="http://docs.info.apple.com/article.html?path=Mac/10.5/jp/8490.html">Mac OS X 10.5 Help: 色を HTML 書類またはグラフィックス書類にコピーする</a><br />
<br />
<br />
また、画面上のピクセルの色の値を確認する「ColorSync ユーティリティ」なるアプリケーションもあるようだが、使い方がいまいち分からなかった。<br />
<br />
<a href="http://docs.info.apple.com/article.html?path=Mac/10.6/jp/8881.html">Mac OS X 10.6 Help: 画面上のピクセルの色の値を確認する</a><br />
<br />
(´・ω・`)sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-17664347218927844832011-05-23T13:05:00.000-07:002011-05-23T13:05:04.248-07:00ターミナルから Emacs を起動すると Symbol's function definition is void: fixed-width-set-fontset のエラーまずは、環境から。<br />
<br />
<h3>環境</h3><ul><li>Mac OS X version 10.6.7</li>
<li>GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local</li>
</ul><br />
<h3>背景</h3>普段は、Carbon Emacs を使っているが、時々、ターミナルから Emacs を使うことがあった。ターミナルから Emacs を起動した時に、以下のエラーが発生していた。<br />
<br />
<pre>Symbol's function definition is void: fixed-width-set-fontset</pre><br />
<h3>原因</h3>以下の2行目でエラーが発生。if 文の中に fixed-width-set-fontset が入っていないことが原因だったようだ。<br />
<br />
<pre>(if (eq window-system 'mac) (require 'carbon-font))
(fixed-width-set-fontset "osaka" 10)</pre><br />
<h3>対策</h3>以下のページを参考に、progn 式を使って、if 文の中に複数の式を書いて解決!!<br />
<br />
<a href="http://www.haun.org/kent/lisp1/1.html">Lisp一夜漬け -- 1.Lispの書き方</a><br />
<br />
<pre>(if (eq window-system 'mac) (progn
(require 'carbon-font)
(fixed-width-set-fontset "osaka" 10)))</pre><br />
<h3>感想</h3><a href="http://ja.wikipedia.org/wiki/Osaka_(%E6%9B%B8%E4%BD%93)">Osaka フォント</a>は、carbon-font を require しないと使えない。なので、carbon-font の require と <a href="http://ja.wikipedia.org/wiki/Osaka_(%E6%9B%B8%E4%BD%93)">Osaka フォント</a>の設定は、同時に行う必要がある。<br />
<br />
また、「if 文を取ってしまえ!」と思い、if 文を取って (require 'carbon-font) としてみたところ、ターミナルから起動した時に以下のエラーが発生。<br />
<br />
<pre>File error: Cannot open load file, carbon-font</pre><br />
理由は Carbon Emacs じゃないから?詳細は不明。。。<br />
<br />
あれ?<a href="http://ja.wikipedia.org/wiki/Osaka_(%E6%9B%B8%E4%BD%93)">Osaka フォント</a> にしたときは、どこかから設定をコピーしてきて .emacs に貼り付けただけだと思うんだけどなぁ。。。コピーしたサイトも同様に設定に失敗していたか、もしくは、コピペに失敗したか、のどっちかだなぁ。。。<br />
<br />
多分、後者。<br />
<br />
(´・ω・`)sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-17193058384262570572011-05-18T21:12:00.000-07:002011-05-18T21:12:43.176-07:00Mac OS X で mail コマンドでメールを送るとりあえず、環境から。<br />
<br />
<h3>環境</h3><ul><li>Mac OS X version 10.6.7</li>
<li>Postfix 2.5.5</li>
</ul><br />
因みに、Postfix のバージョンを調べるには、以下のコマンドを実行すると分かります。因みに、root アカウントでなくても出来ます。私は、出来ました。<br />
<br />
<pre><b>$ postconf mail_version</b>
mail_version = 2.5.5</pre><br />
<br />
<h3>経緯</h3>Linux を使っていたころは、<br />
<br />
<pre><b>$ mail hoge@example.com</b>
Subject: test
test
.</pre><br />
とかやれば、hoge@example.com にメールを送信することが出来た。「Mac は Unix ベースだから、Linux と同様のことが出来るだろう」と思い、同じようにコマンドを入力してメールを送信しようとしたが、一向にメールが送られない。/var/log/mail.log を見ると以下のエラー。<br />
<br />
<pre><b>$ less /var/log/mail.log</b>
May 17 20:00:17 MacBook postfix/smtp[5737]: connect to gmail-smtp-in.l.google.com[74.125.127.27]:25: Operation timed out</pre><br />
色々と調べていたら、最近のプロバイダは、迷惑メール防止のために TCP 25 番ボートをブロックしていることが分かった。<br />
<br />
<br />
<h3>解決方法 その1</h3>以下のページにあるように、Gmail の SMTP サーバを利用して、Gmail からメールを送信する。<br />
<br />
<a href="http://www.awaresoft.jp/development/42-mac/75-macosx-sendmail.html">Mac OS X Snow LeopardでPHPのmail()関数を使うには - Awaresoft</a><br />
<br />
詳細な説明をすると、上記のページをそのままコピーすることになってしまうので、出来るだけ省いて記載します。<br />
<br />
<pre><b># vi /etc/postfix/sasl_passwd</b>
smtp.gmail.com:587 ****@gmail.com:password
<b># postmap /etc/postfix/sasl_passwd</b>
<b># ls /etc/postfix/sasl_passwd.db</b> # .db ファイルが出来たことを確認
<b># rm /etc/postfix/sasl_passwd</b> # パスワードが平文で書かれているので削除
<b># vi /etc/postfix/main.cf</b>
# Minimum Postfix-specific configurations.
mydomain_fallback = localhost
mail_owner = _postfix
setgid_group = _postdrop
relayhost=smtp.gmail.com:587
# Enable SASL authentication in the Postfix SMTP client.
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options=
# Enable Transport Layer Security (TLS), i.e. SSL.
smtp_use_tls=yes
smtp_tls_security_level=encrypt
tls_random_source=dev:/dev/urandom
<b># postfix reload</b>
</pre><br />
これで、mail コマンドを使ってメールを送信することが出来ます。ただ、この方法でメールを送ると From: がすべて /ect/postfix/sasl_passwd で設定した Gmail のアドレスになってしまいます。それで問題なければ、それでいいのですが、/etc/postfix/main.cf の mydomain で設定した値を使う場合は、以下の「解決方法 その2」を使います。<br />
<br />
<br />
<h3>解決方法 その2</h3>以下のページにあるように、自分のプロバイダの SMTP サーバを利用します。<br />
<br />
<a href="http://www.ninxit.com/blog/2009/02/14/postfix-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB-op25b%E8%A8%AD%E5%AE%9A/">Postfix + インストール + OP25B設定 | NINXIT-BLOG</a><br />
<br />
自分のプロバイダの SMTP サーバの認証方式を確認します。最後のポート番号は、25 の場合、587 の場合とあるので、自分で試してみる必要があります。<br />
<br />
<pre><b>$ telnet mail.example.com 25</b>
Trying *.*.*.*
Connected to mail.example.com
Escape character is '^]'.
220 Example SMTP
<b>ehlo localhost</b> # 入力する
250-****
250-AUTH LOGIN PLAIN
250-***********
250-***********
250-***********
(略)
<b>quit</b>
</pre><br />
<br />
確認した内容を /etc/postfix/main.cf に反映します。<br />
<br />
<pre><b># vi /etc/postfix/main.cf</b>
relayhost = [mail.example.com]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/authinfo
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = PLAIN</pre><br />
認証ファイルを作成します。ポート番号は、telnet で接続できたポート番号を利用します。<br />
<br />
<pre><b># vi /etc/postfix/authinfo</b>
[mail.example.com]:25 hoge@example.com:password
<b># postmap /etc/postfix/authinfo</b>
<b># ls /etc/postfix/authinfo.db</b>
/etc/postfix/authinfo.db
<b># rm /etc/postfix/authinfo</b></pre><br />
Postfix のリロード。<br />
<br />
<pre><b># postfix reload</b></pre><br />
これで、mail コマンドを使ってメールを送信することが出来ます。メールヘッダの From: は、ユーザ名に /etc/postfix/main.cf で設定した mydomain がくっついた形になります。<br />
<br />
<br />
<br />
<h3>役に立ったコマンド</h3><br />
<ul><li>溜まっているキューを見る。<br />
<pre><b>$ postqueue -p</b></pre></li>
<li><u>queue_id</u> のキューを削除 (root で実行)。<br />
<pre><b># postsuper -d <u>queue_id</u></b></pre></li>
<li>キューをすべて削除 (root で実行)。<br />
<pre><b># postsuper -d ALL</b></pre></li>
<li>/etc/postfix/main.cf の文法チェック。<br />
<pre><b># postfix check</b></pre></li>
<li>すべての postfix の設定を表示。<br />
<pre><b># postconf</b></pre></li>
<li>デフォルトから変更した postifx の設定を表示。<br />
<pre><b># postconf -n</b></pre></li>
</ul><br />
<br />
<br />
<h3>感想</h3>昔は、ターミナルから mail hoge@example.com って入力すれば、hoge@example.com にメールを送信することができたんだけどなぁ・・・。まぁ、昔っていっても、2004年、2005年頃のことだから、6、7年前だけどね。ってそんなに前になるのかぁ。そりゃぁ、それなりに SPAM 対策なり、セキュリティ対策なりされるわなぁ。。。<br />
<br />
それにしても、<a href="http://ja.wikipedia.org/wiki/Outbound_Port_25_Blocking">Outbound Port 25 Blocking</a> が原因であることが分かるまで結構、時間かかっちゃったなぁ。まぁ、勉強になったからヨシとしよう!!<br />
<br />
<br />
<br />
<h3>参考</h3>以下のページを参考にさせて頂きました。大変、勉強になりました。ありがとうございます!!<br />
<br />
<ul><li><a href="http://www.aconus.com/~oyaji/mail2/op25b.htm">OP25B対策(Outbound Port 25 Blocking対策)</a></li>
<li><a href="http://www.awaresoft.jp/development/42-mac/75-macosx-sendmail.html">Mac OS X Snow LeopardでPHPのmail()関数を使うには - Awaresoft</a></li>
<li><a href="http://www.ninxit.com/blog/2009/02/14/postfix-%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB-op25b%E8%A8%AD%E5%AE%9A/">Postfix + インストール + OP25B設定 | NINXIT-BLOG</a></li>
</ul>sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-67310282844335224172011-05-13T11:53:00.000-07:002011-05-13T11:53:37.509-07:00Google Chart Tools を使って地図に色塗りをする学校の授業で自分が行ったことのある国についてプレゼンテーションをする機会があり、そのときに「自分が行ったことのある国を地図上で色を塗って見せることが出来たら、とても分かりやすいんじゃないか?」と思って色々と調べてみた。<br />
<br />
調べてみた結果、Google Chart Tools または Google Image Charts または Google Chart API を使うことで出来ることが分かった。<br />
<br />
<br />
以下のページで、マウスをポチポチするだけで、自分の欲する地図チャートが出来上がった。<br />
<br />
<a href="http://code.google.com/apis/chart/image/docs/chart_wizard.html">Chart Wizard - Google Chart Tools / Image Charts (aka Chart API) - Google Code</a><br />
<br />
<br />
国のデフォルトカラーを設定したかったので設定し(DDF8CC)、塗りたい色を作成した(FF9999)。そして、Country を選択、Data Values に1を入力すると、行ったことのある国が塗りたい色ではなく青で表示された。<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><img src="http://chart.apis.google.com/chart?chf=bg,s,EAF7FE&chs=440x220&cht=t&chco=DDF8CC,FF9999&chld=AUCACNHKITKRPHUS&chd=t:1,1,1,1,1,1,1,1&chtm=world" width="440" height="220" alt="" /></div><br />
なので、Data Values に 100 を入力してみた。すると、行ったことのある国が赤で表示された。<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><img src="http://chart.apis.google.com/chart?chf=bg,s,EAF7FE&chs=440x220&cht=t&chco=DDF8CC,FF9999&chld=AUCACNHKITKRPHUS&chd=t:100,100,100,100,100,100,100,100&chtm=world" width="440" height="220" alt="" /></div><br />
<br />
どうやら Data Values に入力した値を正規化して色を割り当てているようだ。Color Gradients を一色にし、すべての国に対して同一の値を設定しても、思ったように色は塗られないようだ。<br />
<br />
ということで、新たに色を作成し(FF0000)、Data Values を1に設定してみたところ、Color Gradients で最初に設定した値になった!!また、Color Gradients に同一の色を2つ設定しても期待した動作をすることを確認した。<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-77tZphm797I/Tc18sT4T5SI/AAAAAAAAD2o/4ujqgvBI7MI/s1600/Screen%2Bshot%2B2011-05-12%2Bat%2B15.47.57%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="226" width="320" src="http://4.bp.blogspot.com/-77tZphm797I/Tc18sT4T5SI/AAAAAAAAD2o/4ujqgvBI7MI/s320/Screen%2Bshot%2B2011-05-12%2Bat%2B15.47.57%2B.png" /></a></div><br />
<br />
出来た地図は以下の通り。<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><img src="http://chart.apis.google.com/chart?chf=bg,s,EAF7FE&chs=440x220&cht=t&chco=DDF8CC,FF9999,FF0000&chld=AUCACNHKITKRPHUS&chd=t:1,1,1,1,1,1,1,1&chtm=world" width="440" height="220" alt="" /></div><br />
いつか、またどこか行ったことのない国に旅行に行って、この地図の色塗りの続きが出来るといいなぁ。。。sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-60506015620154351702011-05-13T11:45:00.000-07:002011-11-08T12:10:47.146-08:00FLV ファイルから音声を無劣化で抽出ついに見つけた!!<br />
<br />
色々とソフトウェアをインストールしたり、Mac、Windows の環境を行ったり来たりしてたけど、ようやく本当に FLV ファイルから音声を無劣化で抽出する方法を見つけました。<br />
<br />
<br />
こちらがその方法。<br />
<br />
<a href="http://d.hatena.ne.jp/miguchi/20110430/p1">flv/mp4ファイルから音声のみ劣化無しに抽出 - 堕落した人生を目指す日記</a><br />
<br />
<br />
ffmpeg と mp4box というのを使うらしい。<br />
<br />
ffmpeg は既にインストール済みだったので、mp4box をインストール。brew でインストール出来た。<br />
<br />
<pre>$ brew install mp4box</pre><br />
音声部 aac を劣化無しに抜き出す。<br />
<br />
<pre>$ ffmpeg -i [infile (flv/mp4)] -vn -acodec copy [outfile (aac)]</pre><br />
抜き出した aac ファイルを MPEG4 Audio 形式でパックする。<br />
<br />
<pre>$ mp4box -add [infile (aac)] [outfile (m4a)]</pre><br />
<br />
出来たー。音質良くなったし、ファイルサイズも小さくなった!!それに、FLV だけじゃなくて MP4 からも音声を無劣化で抽出することが出来た!!<br />
<br />
一石三鳥ですね。これは本当に嬉しい!!!<br />
<br />
(・∀・)!!sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-71445421667933646172011-05-13T11:41:00.000-07:002011-05-13T11:41:47.961-07:00iExtractMP3 - FLV から MP3 ファイルを抽出Mac で FLV から音声部分のみを抽出する方法を以前に紹介した。<br />
<br />
<a href="http://yasuwagon.blogspot.com/2011/01/mac-os-x-youtube-aac.html">自分のための日記: Mac OS X で Youtube から動画をダウンロードして AAC 規格で圧縮する方法</a><br />
<br />
しかし、この方法よりももっと良い方法が Moongift で紹介されていました。<br />
<br />
<a href="http://www.moongift.jp/r/2011/05/20110510/">気に入ったFlashビデオからMP3ファイルを抽出する「iExtractMP3」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向けブログ</a><br />
<br />
<br />
これはスゴイ。ということで、早速試してみることにした。<br />
<br />
<br />
<h3>環境</h3><ul><li>Mac OS X version 10.6.7</li>
</ul><br />
<br />
<h3>インストール</h3>以下から iExtractMP3 をダウンロード。<br />
<br />
<a href="http://www.fraction.jp/log/archives/2008/01/18/FLVMP3Extractor">iExtractMP3 -- BONNOH FRACTION 14</a><br />
<br />
展開して、/Applications フォルダに置くだけ。<br />
<br />
<br />
<h3>FLV から音声部分のみを抽出</h3>実際に使ってみたところ、抽出出来たファイルと抽出できなかったファイルがあった。処理が正常に終了したように見えるけれども、再生してみると音声が全く流れない。。。そんなファイルが半分くらい。<br />
<br />
あと、自分が保存していた動画は FLV だけでなく、MP4 もあった。そういう訳で、家に帰ったら以下の Windows + SplitFLV の方法を試してみようと思う。<br />
<br />
<br />
<h3>SplitFLV</h3>Windows では、SplitFLV というのがあるらしい。<br />
<br />
<a href="http://shoppers-jp.com/software/splitflv.html">FLVからMP3を高速抽出「SplitFLV」</a><br />
<br />
iExtractMP3 は、SplitFLV に影響受けて開発されたようだ。<br />
<br />
家に帰ったら、SplitFLV を試してみよう。SplitFLV でも MP4 からの音声抽出は出来なそうなので、MP4 ファイルについては、別のソフトウェアを探してみようと思う。<br />
<br />
<br />
<br />
<br />
<br />
家に帰って来て SplitFLV で音声ファイルの抽出にトライしてみた。すべてのファイルのファイルサイズが 0KB でした。<br />
<br />
( ̄□ ̄;)<br />
<br />
また別のソフトを探してみよう。。。sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-91580298877038228232011-04-22T17:07:00.000-07:002011-04-22T17:07:53.848-07:00Emacs 起動時の Warning: reference to free variable `org-directory' についてanything.el をインストールして以来、Emacs 起動時に出ていた以下のエラーについて、出ないように修正したので報告します。<br />
<br />
<pre>Warning: reference to free variable `org-directory'</pre><br />
とりあえず、Emacs を起動すると horizontal に画面が分割され、分割された下側に Compile-Log として上記のエラーが表示されていました。今までは、Emacs を起動するたびに C-x 1 を入力して Compile-Log を見なかったことにするなどして対応してきましたが、流石に毎回 C-x 1 を入力するのも面倒になってきたので直すことにしました。<br />
<br />
とりあえず、<a href="http://www.google.co.jp/#q=%22Warning:+reference+to+free+variable+%60org-directory%27%22&fp=946713261e7e53bb&hl=ja">グーグルで "Warning: reference to free variable `org-directory'" と検索</a>してみると、なんと anything.el をインストールしたときの自分のページしか検索に引っかかりませんでした。。。<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-3NDTvVA8jBw/TbIV6oRKhvI/AAAAAAAAD2U/ANI3dIfj5hI/s1600/Screen%2Bshot%2B2011-04-22%2Bat%2B17.10.18%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="238" width="320" src="http://1.bp.blogspot.com/-3NDTvVA8jBw/TbIV6oRKhvI/AAAAAAAAD2U/ANI3dIfj5hI/s320/Screen%2Bshot%2B2011-04-22%2Bat%2B17.10.18%2B.png" /></a></div><br />
<a href="http://yasuwagon.blogspot.com/2011/02/anything.html">自分のための日記: anything.el のインストール</a><br />
<br />
こんなエラー出してるの、オレだけなんだろうなぁ。。。<br />
<br />
(´・Д・`;)<br />
<br />
<br />
org-directory ってことは、多分、org-mode に関係する設定なんだろうと予測。anything.el をインストールした後に、org-mode の設定でエラーが出たので、とりあえず、org-mode の設定と anything.el の設定の順番を変更してみる。<br />
<br />
<ul><li>変更前</li>
<pre>; for org mode
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cb" 'org-iswitchb)
(global-font-lock-mode 1)
(transient-mark-mode 1)
(add-hook 'org-mode-hook (lambda () (setq truncate-lines nil)))
(setq org-agenda-files (list "~/org"))
(setq org-deadline-warning-days 0)
(add-to-list 'load-path (expand-file-name "~/.emacs.d/auto-install"))
(require 'auto-install)
(setq auto-install-directory "~/.emacs.d/auto-install/")
(auto-install-compatibility-setup)
(require 'recentf-ext)
(require 'anything-startup)</pre><li>変更後</li>
<pre>(require 'recentf-ext)
(require 'anything-startup)
; for org mode
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cb" 'org-iswitchb)
(global-font-lock-mode 1)
(transient-mark-mode 1)
(add-hook 'org-mode-hook (lambda () (setq truncate-lines nil)))
(setq org-agenda-files (list "~/org"))
(setq org-deadline-warning-days 0)
(add-to-list 'load-path (expand-file-name "~/.emacs.d/auto-install"))
(require 'auto-install)
(setq auto-install-directory "~/.emacs.d/auto-install/")
(auto-install-compatibility-setup)</pre></ul><br />
すると、どうでしょう。org-mode の設定が完全に読み込まれなくなってしまいました。Messages を確認すると以下のエラーが出ていることが分かりました。<br />
<br />
<pre>File error: Cannot open load file, recentf-ext</pre><br />
recentf-ext が読み込めないとのことで、よくよく .emacs ファイルを見てみると、recentf-ext は ~/.emacs.d/auto-install 内に入っていることを思い出しました。<br />
<br />
ということで、今回は、load-path の設定のあとに recentf-ext を読み込むように設定。<br />
<br />
<pre>; for org mode
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cb" 'org-iswitchb)
(global-font-lock-mode 1)
(transient-mark-mode 1)
(add-hook 'org-mode-hook (lambda () (setq truncate-lines nil)))
(setq org-agenda-files (list "~/org"))
(setq org-deadline-warning-days 0)
(add-to-list 'load-path (expand-file-name "~/.emacs.d/auto-install"))
(require 'recentf-ext)
(require 'anything-startup)
(require 'auto-install)
(setq auto-install-directory "~/.emacs.d/auto-install/")
(auto-install-compatibility-setup)</pre><br />
すると、どうでしょう!!今回は、なんのエラーも表示されることなく、emacs を起動できました!!<br />
<br />
因みに、以下のように、anything-startup と auto-install の require する順番を変更すると、最初の問題点である warning が表示されることを確認しました。<br />
<br />
<pre>Warning: reference to free variable `org-directory'</pre><br />
原因は、よく分かっていませんが、<br />
<br />
<pre>(require 'auto-install)
(require 'anything-startup)</pre><br />
こうすると、<br />
<br />
<pre>Warning: reference to free variable `org-directory'</pre><br />
この warning が emacs 起動時に表示されるということです。<br />
<br />
<br />
という記事を書くなどしていたら、もっと華麗な方法で warning を消す方法を見つけてしまいました。<br />
<br />
<a href="http://d.hatena.ne.jp/myhobby20xx/20110308/1299593824">emacsにanythingを導入した時に出る警告 - まーのメモ</a><br />
<br />
<pre>(defvar org-directory "")</pre><br />
org-directory は、org-mode の変数で (defvar org-directory "") とすることで warning を回避できるようです。<br />
<br />
確かに以前の設定に戻し、(require 'anything-startup) の前に (defvar org-directory "") を設定しておくと、warning が表示されなくなることが確認できました。。。。。<br />
<br />
<br />
じゃぁ、なんでオレの設定は、(defvar org-directory "") ってしてないのに動いているんだ!?<br />
<br />
( ̄Д ̄;)<br />
<br />
(require 'auto-install) の前に (require 'anything-startup) を呼ぶようにしただけで動いているんだが、これでいいんだろうか?今度は、動いていることに対して不安になってきた。<br />
<br />
とりあえず、動いているのでヨシとしよう。。。emacs はどうやって設定したらいいのか、設定に失敗した場合、どうやって原因を探ったらいいのか、がよく分からないなぁ。。。emacs の所為というより自分の勉強不足なんだけれども。<br />
<br />
それにしても、「defvar で回避できる」って記事にしてた人のブログは参考になるなぁ。色々と参考になる記事が上がっているので、rss reader に登録しました!!<br />
<br />
<a href="http://d.hatena.ne.jp/myhobby20xx/">まーのメモ</a><br />
<br />
それではー。sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-89985142169301032322011-04-21T11:56:00.000-07:002011-04-21T11:56:04.329-07:00emacs が固まる問題を auto complete のアップデートで解決しました大分前の話になるんだけれども、emacs で html, css を手打ちしてたときにどうも固まることがあった。特に、css を編集しているときに固まることがあったので、emacs での手打ちをやめて、vi で手打ちをしていた。(手打ちをやめろという話もありますが。。。)<br />
<br />
そんなこんなしているとき、サブマシンに emacs を入れる機会があって、そのときに auto complete をインストールすることになった。auto complete のページを見ると、「v1.3.1 の変更点 修正されたバグ css-mode で border: と入力すると Emacs が固まる問題」とある。なんと。これが原因だったのかな?<br />
<br />
サブマシンに auto complete をインストールすると同時に、メインマシンの auto complete をアップデートしたら、emacs で css を手打ちしているときにも固まることがなくなりました!!<br />
<br />
で、ここで、疑問が2つ。<br />
<br />
<ol><li>auto complete などの拡張の最新版がリリースされたのを知るにはどうしたらいいの?</li>
<li>Emacs が固まったときに原因を調査するにはどうしたらいいの?</li>
</ol><br />
1については、auto complete の作者のページ(<a href="http://cx4a.org/">Lonely Emacs</a>)にあった rss (<a href="http://cx4a.org/news.xml">cx4a.org/news.xml</a>)を rss reader に登録することで解決しました。ただ、他の拡張の最新版がリリースされたのを知ることは出来ないので、完全な問題解決にはなっていません。<br />
<br />
2については、どうしたらいいのか想像もつきません。そもそもエラーが表示される Messages の見方もよく分かっていないし、Lisp も何度も何度も勉強にトライしてみたけど、「かー」、「くだー」あたりで挫折してるから、どうしようもないかも。<br />
<br />
とりあえず、拡張がリリースされたときに知ることが出来るよう、拡張をリリースしている作者さんの rss を rss reader に登録しておくことくらいしか出来なそう。何か良いアイデアがあったら教えて下さい!!<br />
<br />
よろしくお願いします。sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-22172137968414048432011-04-21T11:13:00.000-07:002011-04-21T11:56:38.498-07:00Mac OS X でオートログインしてすぐにユーザ切り替えする方法Lifehacker の記事にあった「ログイン前にOS Xのデスクトップの読み込みを開始する方法!」をやってみるょ。<br />
<br />
<a href="http://www.lifehacker.jp/2011/04/110316macos_x.html">ログイン前にOS Xのデスクトップの読み込みを開始する方法! : ライフハッカー[日本版]</a><br />
<br />
Lifehacker のタイトルにあるように、「ログイン前にOS Xのデスクトップの読み込みを開始する方法!」をタイトルにしようと思ったんだけど、さすがにタイトルをそのままコピペするのはマズイと思ったので、タイトルは「オートログインしてすぐにユーザ切り替えする方法」にしました。<br />
<br />
タイトルには、「ログイン前にOS Xのデスクトップの読み込みを開始する」とあるけど、やっていることは、オートログインしてその直後にユーザ切り替えをしているようです。<br />
<br />
手順は、以下の通り。<br />
<br />
<ol><li>「システム環境設定>アカウント>ログインオプション>オートログイン」を「入」に切り換える</li>
<li>以下の内容を標準テキストで保存する</li>
<pre><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AbandonProcessGroup</key>
<true/>
<key>Label</key>
<string>com.luomat.loginhook</string>
<key>ProgramArguments</key>
<array>
<string>/System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession</string>
<string>-suspend</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
</pre><li>上記のテキストを「com.luomat.loginhook-2.plist」として起動OSのあるボリュームの「ユーザ/(ユーザー名)/ライブラリ/LaunchAgentsフォルダ」に保存する</li>
</ol><br />
以上です。<br />
<br />
アカウントのログインオプションをオートログインにするのを忘れると、ログインした後にすぐにユーザ切り替えが走ってしまうので気をつけて下さい。因みに、私は、それをやりました。。。sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-90565287728523248592011-03-23T21:57:00.000-07:002011-03-23T21:57:48.052-07:00Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden のエラーについてちょっと Apache の設定でハマったのでメモ。<br />
<br />
今回の環境は、以下の通り。<br />
<br />
<ul><li>Mac OS X version 10.6.7</li>
<li>Server version: Apache/2.2.17 (Unix)</li>
</ul><br />
<br />
mod_rewrite を使ったアプリケーションを ~/Sites に置いてみた。mod_rewrite を使っているので、アプリケーションには .htaccess が含まれていた。きちんとしたソースからダウンロードしたので、.htaccess には間違いがないはず。<br />
<br />
で、<a href="http://localhost/index.php">http://localhost/index.php</a> にアクセスすると、Forbiddenエラー。なので、Apache のログを見てみた。<br />
<br />
<pre><b># less /var/log/apache2/error_log</b>
[Wed Mar 23 19:25:50 2011] [error] [client ::1] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /Users/yasu/Sites/index.php</pre><br />
なんだか、FollowSymLinks の設定が出来ていないらしい。ということで、Apache の設定ファイルを見てみる。<br />
<br />
<pre><b># less /etc/apache2/httpd.conf</b>
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory></pre><br />
何も問題ないように見える。FollowSymLinks もしてるし。Apache を再起動したり、.htaccess を削除して Forbidden エラーがで出なくなることを確認したり、など、色々と試してみるが依然として Forbidden エラーが表示される。<br />
<br />
グーグルで検索してみたところ、mod_rewrite を使うには確かに FollowSymLinks が必要な模様。しかし、FollowSymLinks してるのに mod_rewrite が動かない!<br />
<br />
<br />
ゴニョゴニョしているうちに、カスタムの Apache の設定を作成したことを思い出した。カスタムの Apache の設定を見てみると以下のようになっていた。<br />
<br />
<pre><Directory "/Users/yasu/Sites/">
Options Indexes MultiViews
AllowOverride FileInfo
Order allow,deny
Allow from all
</Directory></pre><br />
この設定の Options に FollowSymLinks をつけて以下のようにした。<br />
<br />
<pre>Options Indexes MultiViews FollowSymLinks</pre><br />
すると、Forbidden のエラーが解消された!!<br />
<br />
ヽ(´∀`)ノ<br />
<br />
<br />
調べてみると、httpd.conf で /private/etc/apache2/extra/httpd-userdir.conf をインクルードし、httpd-userdir.conf で /private/etc/apache2/users/*.conf をインクルードしている模様。httpd.conf で直接 /private/etc/apache2/users/*.conf をインクルードしていないのが厄介なところ。<br />
<br />
<pre><b># less /etc/apache2/httpd.conf</b>
Include /private/etc/apache2/extra/httpd-userdir.conf
<b># less /etc/apache2/extra/httpd-userdir.conf</b>
Include /private/etc/apache2/users/*.conf</pre><br />
因みに、Mac の場合、/etc は /private/etc にシムリンクが貼られています。<br />
<br />
<pre><b># ls -l /etc</b>
lrwxr-xr-x@ 1 root wheel 11B 2 21 2010 /etc@ -> private/etc</pre><br />
<br />
以上でーす。動いて良かったー!sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-9599146261559642362011-02-16T13:04:00.001-08:002011-02-16T13:04:36.786-08:00recentf-ext.el のインストールanything.el の開発者 <a href="http://d.hatena.ne.jp/rubikitch/">rubikitch</a> さんのブログを見ていたら、recentf-ext.el というのを発見した。<br />
<br />
<a href="http://d.hatena.ne.jp/rubikitch/20091224/recentf">人は俺を「recentfマスター」と呼ぶ - (rubikitch loves (Emacs Ruby CUI Books))</a><br />
<br />
recentf-ext.el を使うと、recentf でディレクトリも扱ってくれるようになるようだ。これは便利、ということでインストールすることにした。<br />
<br />
<h3>インストール</h3>Emacs 上で以下のコマンドを入力するのみ。<br />
<br />
<pre>M-x install-elisp-from-emacswiki[Enter]
recentf-ext.el[Enter]
C-c C-c</pre><br />
設定は、.emacs に以下を記述する。<br />
<br />
<pre>(require 'recentf-ext)</pre><br />
<br />
これで dired なんかで表示しただけのファイル、ディレクトリも M-x anything-for-files したあとの候補に表示されるようになる。これは、便利だ!sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0tag:blogger.com,1999:blog-14862170.post-45707868325067343562011-02-16T11:20:00.000-08:002011-02-16T11:36:17.536-08:00anything.el のインストール巷で噂になっている anything.el を最近知り、遅れ馳せながらインストールすることしました。<br />
<br />
anything.el の開発を行っているのは、<a href="http://d.hatena.ne.jp/rubikitch/">rubikitch さん</a>で、rubikitch さんも仰っているように開発者である rubikitch さんのブログの最新記事を参考にすることにしました。<br />
<br />
<br />
2011-02-16 現在、以下の記事が anything.el 導入の最新記事なのですが、2010-07-18 での執筆になっており、若干古いようにも感じました。<br />
<br />
<a href="http://d.hatena.ne.jp/rubikitch/20100718/anything">anything導入のeverything ~3分で使えるanything.el~ - (rubikitch loves (Emacs Ruby CUI Books))</a><br />
<br />
しかし、この記事以降の anything.el についての導入のブログ記事が見当たらないので、この記事を 2011-02-16 現在での最新の記事とみることにしました。<br />
<br />
<h3>環境</h3>今回、インストールした環境は、以下の通りです。<br />
<br />
<ul><li>Mac OS X version 10.6.6</li>
<li>GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local</li>
</ul><br />
<h3>auto-install.el のインストール</h3><a href="http://d.hatena.ne.jp/rubikitch/20100718/anything">rubikitch さんの解説</a>によると、インストールには、auto-install.el が必要のようです。auto-install.el については、この記事の前にインストールしたときのメモを書いたので、そちらを参考にしてみて下さい。<br />
<br />
<a href="http://yasuwagon.blogspot.com/2011/02/auto-installel.html">自分のための日記: auto-install.el のインストール</a><br />
<br />
<h3>anything.el のインストール</h3>auto-install.el を使って anything.el をインストールします。以下を Emacs 上で実行します。<br />
<br />
<pre><b>M-x auto-install-batch[Enter]</b>
Extension name: <b>anything</b></pre><br />
実行するとファイルのダウンロードが始まります。ファイルのダウンロードが完了した時点で以下を Emacs に入力します。<br />
<br />
<pre>C-c C-c
C-c C-c can do nothing useful at this location.</pre><br />
<br />
Σ(・∀・;)ぇっっ?<br />
<br />
ヽ(´Д`;)ノ出来ないっっ。ヽ(;´Д`)ノ出来ないっっ。<br />
<br />
と焦って C-c C-c を連打したり、C-g を連打したりしました。<br />
<br />
諦めて途方に暮れていると、どこからともなく Lisp ファイルが現れました。C-c C-c を入力してみると、どうやらインストールが実行されているようです。<br />
<br />
(;・∀・)やったのか・・・?<br />
<br />
成功したかどうか分からないので、もう一度、Emacs を開き直してインストールを最初からやり直すことにしました。rubikitch さんの以下のブログ記事によると、anything.el の更新は、インストールのときと同じく、M-x auto-install-batch[Enter]anything[Enter] と入力するだけのようです。<br />
<br />
<a href="http://d.hatena.ne.jp/rubikitch/20100915/anything">anything-filelist ~すべてのファイルを瞬時に開く方法~ - (rubikitch loves (Emacs Ruby CUI Books))</a><br />
<br />
で、入力してみたところ、以下のエラーがエコーエリアに表示されました。<br />
<br />
<pre>Wrong number of arguments: kill-buffer, 0</pre><br />
早速、エラーメッセージの内容でグーグル先生に聞いてみると、rubikitch さんの以下のページがヒットしました。<br />
<br />
<a href="http://d.hatena.ne.jp/rubikitch/20091221/autoinstall">auto-install.elでEmacsLispパッケージを自動インストール→anything.el関連を一括インストール - (rubikitch loves (Emacs Ruby CUI Books))</a><br />
<br />
<pre>craf 2010/08/29 16:49
すでに最新のファイルがあるときにauto-install を実行すると、*Messages*に
> moccur-edit.el is up-to-date
> error in process filter: auto-install-handle-download-content: Wrong number of arguments: kill-buffer, 0
> error in process filter: Wrong number of arguments: kill-buffer, 0
のようなエラーが出ています。
auto-install-batchの場合はそこから次のファイルに進めなくなってしまいます。
Meadow 3.02 (emacs 22.3.1)です。</pre><br />
(;・∀・)あれ・・・?これって、解決してないんじゃ。。。<br />
<br />
インストールに成功すると、メニューバーに anything のメニューに出るはずなのですが、それも出ていません。とりあえず、インストールに成功したという前提で話を進めることにしました。<br />
<br />
<br />
が、、、rubikitch さんの説明によると、この時点で初期設定が出来ていて、すぐにでも試すことが出来るはずなんだが。。。メニューに anything のメニューが表示されません。。。<br />
<br />
とりあえず、.emacs に以下の一行を加えることにしました。<br />
<br />
<pre>(require 'anything-startup)</pre><br />
<br />
動いた━━━(゚∀゚)━━━ッ!!<br />
<br />
無事、メニューに "Anything" が表示されることを確認しました!!<br />
<br />
しかし、Emacs の起動時、Compile-Log に以下のエラーメッセージが表示されるようになりました。<br />
<br />
<pre>Warning: reference to free variable `org-directory'</pre><br />
少しグーグルで原因を調査しましたが、分かりませんでした。あとで直そう。。。<br />
<br />
<br />
動作確認のため、M-x を入力すると、エコーエリアに以下の文字が表示されることを確認。<br />
<br />
<pre>pattern:</pre><br />
おおっ!試しに、version と入れてみると version を含むコマンドが表示されました。適当に、emacs-version を表示。<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-CxEcqLzDLOw/TVwihntnsEI/AAAAAAAAD0M/LzL1sMST6yY/s1600/Screen%2Bshot%2B2011-02-16%2Bat%2B12.03.29%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="314" width="320" src="http://4.bp.blogspot.com/-CxEcqLzDLOw/TVwihntnsEI/AAAAAAAAD0M/LzL1sMST6yY/s320/Screen%2Bshot%2B2011-02-16%2Bat%2B12.03.29%2B.png" /></a></div><br />
おおっ!エコーエリアに emacs-version が小さく表示されているのが分かります。<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-kcDm2VXLUKk/TVwioYAhwxI/AAAAAAAAD0U/w7f0kA_F_2k/s1600/Screen%2Bshot%2B2011-02-16%2Bat%2B12.06.16%2B.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="314" width="320" src="http://1.bp.blogspot.com/-kcDm2VXLUKk/TVwioYAhwxI/AAAAAAAAD0U/w7f0kA_F_2k/s320/Screen%2Bshot%2B2011-02-16%2Bat%2B12.06.16%2B.png" /></a></div><br />
<br />
使い方はまだ分かっていませんが、anything メニューを使うなどしてジョジョに覚えていこうと思います。sejihttp://www.blogger.com/profile/04782822632454307383noreply@blogger.com0