2007-12-13から1日間の記事一覧

cygwin上のemacs22のschemeモードでC-cC-l時に自動でwindowを分割する

/usr/local/emacs/22.1/lispに以下のパッチをあてる。 強制保存と*scheme*バッファは3/10のウインドウが割り当てられる。 ファイル名を問い合わせるところはカレントバッファに固定。 $ diff -u cmuscheme.el.orig cmuscheme.el --- cmuscheme.el.orig 2007-…

swi-prologに.proの拡張子を読み込ませ、述語mainを自動実行させる

コマンドラインでは .proを読んでもらえないので -sオプションをつけてファイルを指定。 qオプションでメッセージを抑制、tオプションで実行する述語を指定。 $ cat test2.pro main :- time((permutation([1, 2, 3, 4, 5, 6, 7, 8, 9], [A, B, C, D, E, F, G…

cygwin環境下のemacs22でswi-prologに.proを関連づけしC-cC-lで述語mainを実行するようにする

あとprologモードはswiplを探すらしいのだがplを指定してやる。 (setq auto-mode-alist (append '(("\\.pro" . prolog-mode)) auto-mode-alist)) (setq prolog-program-name "pl")plが探せないみたいなので.bashrcに以下を追加 PATH=/lib/pl-5.6.36/bin/i686…

emacsでどの拡張子がどのモードにひもづけられているか調べる

prologモードに割り当てられている拡張子がわからなかった。 .plはperlに取られているらしい。 rassqを使う。 (rassq 'prolog-mode auto-mode-alist) ("\\.prolog\\'" . prolog-mode) (assoc "\\.prolog\\'" auto-mode-alist) ("\\.prolog\\'" . prolog-mode)

windowsにおいてsendtoからcygwin emacs22を起動する

以下を emacs.vbsとして C:\Documents and Settings\ユーザ名\SendTo\ に保存すると右クリック送るに登録することが出来る。 Set objShell = WScript.CreateObject("WScript.Shell") Set objExec = objShell.Exec("C:\cygwin\bin\cygpath """+WScript.Argume…

emacsでemacsclientを使う

http://flex.ee.uec.ac.jp/texi/faq-jp/faq-jp_63.html なるほど、.emacsに(server-start)と書いてサーバーモードでemacsを立ち上げておけばemacsclientで起動が速くなるのね。 ただしし終了はC-x#

cygwin上のemacs22でデフォルトの文字コードをutf8・改行コードをLFにする

http://d.hatena.ne.jp/x68kace/20071103/ を参考にさせてもらった。 emacs22の設定じゃなさそうな気もしたがこれで取りあえずwindows上のデフォルトがLFになったので良しとしよう。 (set-language-environment "Japanese") (prefer-coding-system 'utf-8-un…

ファイルの文字コードと改行コードを調べる

文字コードと改行コードを調べるときにはnkf --guess を使う。いつもhdかodで見てたんだがこりゃ便利だ。 $ cat a.txt a b c $ nkf --guess a.txt ASCII (LF) $ cat b.txt あ い う $ nkf --guess b.txt UTF-8 (LF) $

すごいぞprolog!魔方陣がワンライナーでかける!(swi-prologで魔方陣を計算その2)

prologはこれがワンライナーでかけるのか。すごすぎる。しかも2秒。あり得ない。 ?- time((permutation([1, 2, 3, 4, 5, 6, 7, 8, 9], [A, B, C, D, E, F, G, H, I]),X is A+B+C,X is D+E+F,X is G+H+I,X is A+D+G,X is B+E+H,X is C+F+I,X is A+E+I,X is C…

cygwin環境下でのemacs22でデフォルトプリンタをPostScriptプリンタにして印刷アイコンもPSのものにする

cygwin環境下ではlpr.exeで直接psプリンタに送れる。 ついでにヘッダや行番号の設定も書いておく。 (require 'printing) (setq ps-multibyte-buffer 'non-latin-printer ps-line-number t ps-line-number-start 5 ps-line-number-step 5 ps-paper-type 'a4 p…