xyzzy

lisp の変数って

値渡し?参照渡し?よくわからんのだが (setf PLACE VALUE) の VALUE が参照だと参照渡しっぽくなるのかと思ってた。 ;; これは値渡しっぽい >>> (setf n1 3) 3 >>> (setf n2 n1) 3 >>> (setf n1 4) 4 >>> n2 3 ;; これも値渡しっぽい >>> (setf s1 "some st…

いろんなオブジェクトのメモ

ただのオブジェクト 実際には Object 型オブジェクト。 hash-table で Object 型オブジェクトもどき作ればいいかと。 javascript のオブジェクトだからプロトタイプチェーン(__proto__ プロパティ)を持ってて、Object.prototype がセットされてる。その Ob…

javascript-mode をごにょごにょしよう

変数名の補完 スコープを意識した変数名(識別子)とかの補完。global から function, with, catch のとこは区切ってスコープごとに宣言された変数名を集めておく。んで補完するときに今のスコープからスコープチェイン内の変数名をリストにして補完候補とし…

py-mode で右に飛んでくの直った

結果だけ先に書くと py-mode.l の py-compute-indentation てのを、1つ上の行見るようにしたら直ったっぽいです。お騒がせしました。以下日記。$xyzzzy/siteinit.l と ~/.xyzzy を退避してまっさらな ~/.xyzzy で snippet と py-mode 動かす設定だけ書いた状…

py-mode の py-indent-line

snippet 展開してなんか入力する度にインデントが謎なことになっていく。 # snippet 展開した状態 class ClassName (object): def __init__(self, arg): self.arg = arg pass # "ClassName" を "blah" に、 "object" を "spam" に class blah (spam): def __…

snippet の置換部分を全部消した時

なんか中の人に催促するようで申し訳ないのだが調べてみた。 全部消した後で入力しても連動する部分が出てこない ("from" "from ${1:module} import ${2:symbol}${3/./ as }${3:alias}$0" nil 0) なんてので #展開した状態から from module import obj as al…

snippet.l をごにょごにょしてみた

とりあえず snippet てのはテンプレートを展開した後で部分的に書き換えたりできるような、そんな感じ。 なんともタイムリーに中の人が ScreenCast なぞしてくれてる。 http://white.s151.xrea.com/wiki/index.php?diary%2F2007-01-18%2Fsnippet%20screencas…