* Menu
[[About:self:AboutPage.txt]] | [[Profile:file/southly/]] | [[まとめ:self:1163859357.txt]] | [[オリジナル:http://ninjinix.x0.com/rn/]] | [[xyzzy:lisp/]] | [[あんてな:listall]] | [[■:lisp]] | [[buzz:files/southly#buzz]]
page 0 - << : 0 : >>
* 2008-03-09 :
- elisp を書く気はさらさらないので (requre 'cl) には拘らないです。
- 具体例として、現在の .emacs はこんな感じです。
- session.el
- tails-history.el
- キーバインドを覚えていないのですが、M-x の履歴で何とかしています。
* 2008-03-05 :
- マクロ展開が起こるのは評価時 or コンパイル時という理解でした。
- xyzzy の動作はまさしくこれですよね。
- sbcl はインタプリタがないので定義と同時にコンパイルされて、納得の結果。
- ecl はよく知らない。
- clisp の結果は自分にとってはちょっと不思議。
- 気になったので CLtL2 を確認してみたら、8章の最初のページにありました。
More generally, an implementation of Common Lisp has great latitude in deciding exactly when to expand macro calls within a program. For example, it is acceptable for the defun special form to expand all macro calls within its body at the time the defun form is executed and record the fully expanded body as the body of the function being defined.で、例えば defun での関数定義時にマクロを展開することもOKと書いてありました。
* Common Lisp : 文字列中のエスケープシーケンスを解釈する
とりあえずできた。REPL では動作確認できた。
要 cl-interpol。
SANO さんの情報がなかったらどうにか interpol-reader を使えないか、悩んでいたかも。サンクスです。
[[(ReadMore...) index.rb?1204642645.txt]]
要 cl-interpol。
SANO さんの情報がなかったらどうにか interpol-reader を使えないか、悩んでいたかも。サンクスです。
[[(ReadMore...) index.rb?1204642645.txt]]
* editorパッケージのbuiltin関数
以下で調べて652個
(let ((count 0)) (do-symbols (sym (find-package "editor") (format t "~%count: ~d~%" count)) (when (and (not (find-symbol (symbol-name sym) "lisp")) (fboundp sym) (si:*builtin-function-p (symbol-function sym))) (format t "~a~%" sym) (incf count))))[[(ReadMore...) index.rb?1164371462.txt]]
* xyzzy : WSHでxyzzy起動
の情報をまとめてみる。
まず起動用のスクリプト。起動時にやることは
一度起動した後のことは考えていませんので注意。
さらに、
煮るなり焼くなりご自由に。
[[(ReadMore...) index.rb?1154158495.txt]]
まず起動用のスクリプト。起動時にやることは
- XYZZYHOMEに$XYZZYを設定
- ダンプファイルファイルその他をおくフォルダをTMPに作成
- そのフォルダをXYZZYCONFIGPATHに登録
- もしあればxyzzy.iniと.xyzzy.historyをそのフォルダにコピー(探す場所は$XYZZY/usr/以下)
- Pathとかいじりたい場合はご自由に
// xyzzy.js var shell = WScript.CreateObject("Wscript.Shell"); var fs = WScript.CreateObject("Scripting.FileSystemObject"); var env = shell.Environment("PROCESS"); var dir = env("TMP") + "\\xyzzy"; var path = fs.GetParentFolderName(WScript.ScriptFullName); if (! fs.FolderExists(dir)) { fs.CreateFolder(dir); } env("XYZZYHOME") = path; env("XYZZYCONFIGPATH") = dir; if (fs.FileExists(path + "\\usr\\xyzzy.ini")) { fs.CopyFile(path + "\\usr\\xyzzy.ini", dir + "\\xyzzy.ini"); } if (fs.FileExists(path + "\\usr\\.xyzzy.history")) { fs.CopyFile(path + "\\usr\\.xyzzy.history", dir + "\\.xyzzy.history"); } shell.Exec("xyzzy -image " + dir + "\\xyzzy.dump");
一度起動した後のことは考えていませんので注意。
さらに、
- siteinit.lでDOCの書き出しパスを設定
- *kill-xyzzy-hook*で設定ファイルの削除
(setq lisp::*documentation-path* (merge-pathnames "XYZZYDOC" (directory-namestring (si:dump-image-path)))) (delete-hook '*kill-xyzzy-hook* 'ed::save-history-file) (add-hook '*kill-xyzzy-hook* #'(lambda () (ed::save-history-file) (let ((ini (merge-pathnames "xyzzy.ini" (user-config-path))) (his (merge-pathnames ".xyzzy.history" (user-config-path)))) (copy-file ini (merge-pathnames "usr/xyzzy.ini" (si:system-root)) :if-exists :overwrite :if-access-denied :skip) (copy-file his (merge-pathnames "usr/.xyzzy.history" (si:system-root)) :if-exists :overwrite :if-access-denied :skip) (delete-file ini :if-does-not-exist :skip :if-access-denied :skip) (delete-file his :if-does-not-exist :skip :if-access-denied :skip) (delete-file (si:dump-image-path) :if-does-not-exist :skip :if-access-denied :skip) (delete-file (merge-pathnames "XYZZYDOC" (user-config-path)) :if-does-not-exist :skip :if-access-denied :skip))) t)ただ、*kill-xyzzy-hook*の実行よりも後にxyzzy.iniへ書き込まれる設定があるため、xyzzy.iniの削除は完全ではありません。
煮るなり焼くなりご自由に。
[[(ReadMore...) index.rb?1154158495.txt]]
* xyzzy lisp : 位置とサイズの操作
* xyzzy lisp : junk/httpの利用例として
* Scrapbook : Amazon.co.jp:バカ世界地図 -全世界のバカが考えた脳内ワールドマップ-: 本
page 0 - << : 0 : >>