xyzzy-022 / xyzzy Goto Github PK
View Code? Open in Web Editor NEWxyzzy 0.2.2 系列。有志により開発が継続中です。
Home Page: http://xyzzy-022.github.com
License: MIT License
xyzzy 0.2.2 系列。有志により開発が継続中です。
Home Page: http://xyzzy-022.github.com
License: MIT License
(si:binhex-decode "") で落ちるみたいです。
0.2.2.235 では落ちません。
テスト用のデータは以下にあります。
http://en.wikipedia.org/wiki/BinHex
以下の変更を取り込む。
commit 4c1662ee2cafa7a9b150209e9c45392982c51426
Author: mumurik <none@none>
Date: Mon Feb 6 12:32:32 2012 +0900
Use b_fold_columns to minimize temporary code.
commit 7b9c522e74d3dd4b7f8e6df14573db59781a0cbb
Author: mumurik <none@none>
Date: Mon Feb 6 12:32:13 2012 +0900
fold support done.
TODO: fix buffer-fold-column related elisp.
commit 1e26b16397716c712d9c3c014abdff2adf260ab9
Author: mumurik <none@none>
Date: Sun Feb 5 18:37:10 2012 +0900
tmp commit for folding support.
before changing Chunk.
commit c031a17294dcdbed89eeddd486351258796464f0
Author: mumurik <none@none>
Date: Sun Feb 5 14:25:44 2012 +0900
tmp check-in for multiple frame fold support.
Before changing parse_fold_line.
468 名前:465[sage] 投稿日:2012/02/04(土) 09:55:59.04 ID:Fq8+o6lg [2/6]
雑談ですが、フォールディング周りのコード見てるとバッファが保持するんですよね。
これじゃあ縦分割の時もうまく行かないんじゃないか?と思ってウィンドウを縦分割して幅変更すると良くわからない挙動。
どっかの(xyzzy用語での)ウィンドウで計算された値を他のウィンドウでも使う、って挙動っぽい…かな?
469 名前:465[sage] 投稿日:2012/02/04(土) 10:00:31.90 ID:Fq8+o6lg [3/6]
続き:
このウィンドウ縦分割時のフォールディングの挙動ってかつて議論された事あるんですかね?
どういう結論が出たのかがちょっと知りたいのですが。治すとまずい理由があったのかなぁ。
(さすがに今更こういう話はわからんか)
470 名前:名無し~3.EXE[sage] 投稿日:2012/02/04(土) 12:21:38.81 ID:g4pfSV9K
>>469
MLで見たことあるようなと思って探してみたら、こんなのが見つかりました。
ttp://hie.s64.xrea.com/xyzzy/ml/msg03457.html
まだあるかも。
471 名前:465[sage] 投稿日:2012/02/04(土) 13:08:53.40 ID:Fq8+o6lg [4/6]
>>470
おお、サンクス。
バッファローカルな手抜きで実装出来る範囲になってる、って事か。
大した理由は無さそうだしmapにでもしちまうかなぁ。
(削除したフレーム分のゴミがバッファ削除まで残るがまぁいいだろう)
xyzzy Part17
http://toro.2ch.net/test/read.cgi/win/1303662374/468-471
以下の修正を取り込む。
514 名前:465[sage] 投稿日:2012/02/13(月) 22:56:31.19 ID:5QKPlGS2
オリジナルのxyzzyでも
(setq a 1)
(while (< a 10000)
(setq a (+ 1 a)))
とかをevalして他のアプリをアクティブにして、5~6秒待ってghost windowになった後にxyzzyに戻すとC-gが効かないですね。
multiframe版は適当に対応してしまいますが、本来はDisableGhostしてしまう方が筋はいいのかしら?
commit ed49f0f296ee3e326aca93a8a7cb6529f8730bfc
Author: mumurik <none@none>
Date: Mon Feb 13 22:58:08 2012 +0900
C-g related fix. Quit thread should be 1.
quit_thread_id is application global, not frame local.
Ghost window handling.
FFI で Win32 API を呼び出したあとにエラーコードを取得するために
GetLastError を FFI で呼び出す場合がある。
現状は上手く動いているように見えるが、FFI で Win32 API を呼んでから
GetLastError を呼び出す前に、どこかでエラーコードが上書きされる
可能性があるのでロバストではない。
FFI の処理の中で関数を呼び出すごに GetLastError の結果を
保存しておきあとで取得できるようにする。
si:*last-win32-error
c:last-win32-error
unicode 版の修正内容のうち unicode 対応以外の変更を確認し、
取り込める修正があれば取り込む。
si:hmac-md5, si:sha-1, si:hmac-sha-1 のリファレンスがないので追加する。
バイトコードを追加し、コンパイラで最適化することで構造体のアクセッサを高速化する。
ただしバイトコードを追加すると前方互換性がなくなるので、
実際に入れるかは要検討。
#0.2.2.236 でバイトコンパイルした *.lc ファイルは 0.2.2.235 では実行できない。
#「バイトコードが壊れています」というエラーになる
si:*index-slot-value
si:*slot-value
si:*slot-index
si:*set-index-slot-value
si:*set-slot-value
aref
http://d.hatena.ne.jp/bowbow99/20101128/1290949006
でのベンチマーク結果は以下のとおり。
| Form | before[ms] | after[ms] | rate
---------------------------------------------------------------------
| (second list) | 78.0 | 93.0 | 0.84
| (cadr list) | 93.0 | 78.0 | 1.19
| (getf plist :y) | 219.0 | 219.0 | 1.00
| (cdr (assoc :y alist)) | 327.0 | 343.0 | 0.95
| (gethash :y hash-table) | 234.0 | 234.0 | 1.00
| (gethash :y hash-table-eq) | 219.0 | 234.0 | 0.94
| (gethash :y hash-table-eql) | 218.0 | 234.0 | 0.93
| (gethash :y hash-table-equal) | 234.0 | 234.0 | 1.00
| (aref vec 1) | 203.0 | 125.0 | 1.62
| (svref vec 1) | 94.0 | 93.0 | 1.01
| (struct-y struct) | 468.0 | 78.0 | 6.00
| (system:*slot-value struct :y) | 202.0 | 94.0 | 2.15
| (system:*index-slot-value struct 1) | 203.0 | 94.0 | 2.16
| (struct-vec-y struct-vec) | 359.0 | 93.0 | 3.86
| (elt struct-vec 1) | 94.0 | 94.0 | 1.00
| (struct-list-y struct-list) | 405.0 | 125.0 | 3.24
| (elt struct-list 1) | 125.0 | 124.0 | 1.01
aref
は 1.6 倍、struct-y
は 6 倍速くなった。
multiframe 版の以下の変更を取り込む。
commit d6bb61082bedd9b38ce78d0f72d96bd846bf1c8f
Author: mumurik <[email protected]>
Date: Thu Feb 23 15:08:08 2012 +0900
Add unicode related files.
Once original auther wonder whether these files are re-distributable
from the license point of view, so he's not included these files.
But now it's clear that these files are MIT license compatible.
So I include these files and update .gitignore.
Also, update gen-ucs2tab.cc for "for loop" variable problem.
開発用のツールを登録する。
以下の問題を修正する。
:shadowing-import-from 2 つと :shadow を書くとエラー
user> (defpackage :hoge
(:use :lisp)
(:shadowing-import-from :ansify
:typecase)
(:shadowing-import-from :ansi-loop
:loop)
(:shadow
:car))
:shadowと:shadowing-import-fromでcarが2回以上指定されています
パッケージが見つからない場合のエラーメッセージが不正
user> (defpackage :hoge
(:use :no-such-package))
パッケージが見つかりません: nil
文字列を UTF-8 で HTTP で送信したい場合に、Content-Length にバイトサイズを
設定する必要があるが、文字列のバイトサイズを効率的に取得する API がない。
以下は http-client のソースの一部である。
(defun string-byte-size (str)
(1- (si:chunk-size (si:make-string-chunk str))))
0.2.2.235 では si:make-string-chunk するか convert-encoding-to-internal で
再変換するしかなくメモリを無駄に使用する。
user> (setf utf8 (convert-encoding-from-internal *encoding-utf8n* "abcあいう"))
"abc縺ゅ>縺\x86"
user> (length utf8)
8
user> (si:chunk-size (si:make-string-chunk utf8))
13 ;; si:make-string-chunk が NULL 文字を追加する
user> (setf utf8bin (convert-encoding-to-internal *encoding-binary* utf8))
"abc\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86"
user> (length utf8bin)
12
以下の API を追加する。
si:octet-length STRING &key ENCODING START END => bytesize
octet-length string &key external-format start end => length
が欲しい機能デフォルトで付いてくるキーワードファイルを更新する。
以下のファイルはまた今度。
以下の変更を取り込む。
commit 299545c1e5bca9779d8c9bc2e9c24dda6a69501a
Author: mumurik <[email protected]>
Date: Sat Feb 25 10:28:05 2012 +0900
Support USB boot.
ini file priority:
1. command line argument
2. environment variable "XYZZYINIFILE"
3. xyzzy.ini file inside the same dir of xyzzy.exe
below here is the same as previous version.
Then, I add 1 section [USBInit] in ini file.
There are 2 variables:
- "usbHomeDir" specify home directory relative to xyzzy.exe dir
- "usbConfigDir" specify config directory relative to xyzzy.exe dir
If the specified directory does not exist, just ignore these variable.
If these variable exists and specified folder exists, use them as home directory and config directory.
Also, archiver search dll from lib\\ folder of the same directory of xyzzy.exe.
(previous commit).
commit ed83225d433e99e120b59ab3cfc987a52d8eafe0
Author: mumurik <[email protected]>
Date: Fri Feb 24 22:15:15 2012 +0900
Merge of USB boot patch first phase.
Add archiver dll load path ($MODULEPATH/lib).
リリース作業の殆どを自動化できるようにスクリプトを作成する。
スクリプトでやるべき事。
https://github.com/southly/xyzzy.src/tree/nanri-master
取り込まなかった修正は以下のとおり。
ccb97f1 xyzzy.src : modify do-auto-fill.
1f2b117 Revert "xyzzy.src : modify do-auto-fill."
aed3d2b xyzzy.src : modify buffer size in detecting char-encoding.
1cb7695 Revert "xyzzy.src : modify buffer size in detecting char-encoding."
edd427a xyzzy.src : prevent the process working set from being trimmed.
cfb8181 Revert "xyzzy.src : prevent the process working set from being trimmed."
1eb1bb9 xyzzy.src : fix for VC10.
e484281 xyzzy.src : fix format "~T".
1201b0b Revert "xyzzy.src : fix format "~T"."
aaff81f Revert "xyzzy.src : fix for VC10."
直後に Revert している。
72fc217 xyzzy.src : modify start point in buffer-menu.
c115395 xyzzy.src : modify tags-setup-buffer.
必要性がよく分からない。
651897f xyzzy.src : modify edict-lookup-word.
背景を理解したので #141 で取り込んだ。
e3ec8de xyzzy.src : modify make-tags-file-dialog.
背景を理解したので #125 で取り込んだ。
5670289 xyzzy.src : add repl.
まだ実験的すぎる。
9a13581 xyzzy.src : fix wheel icon.
何が変わっているのかよく分からない。
6426764 xyzzy.src : fix format "~n@A".
影響が大きすぎる。(#2)
以下の CL の文字も追加する。
文字名の大文字小文字の違いは無視されるため #¥Tab と #¥TAB は同じなので追加しない。
;; Common Lisp xyzzy Lisp char-code
;; --------------------------------------
;; #\Backspace #\C-h 8
;; #\Tab #\TAB 9
;; #\Newline #\LFD 10
;; #\Linefeed #\LFD 10
;; #\Page #\C-l 12
;; #\Return #\RET 13
;; #\Space #\SPC 32
;; #\Rubout #\DEL 127
現状 features に含まれる OS 名が XP までにしか対応していない。
(:windows-xp :windows-2000 :windows-nt :xyzzy :ieee-floating-point)
:widnows-8
, :windows-7
, :windows-vista
を追加する。
nmake によるビルドではなく VIsualStudio のプロジェクトファイルを登録する。
multiframe 版の VIsualStudio 対応は makefile プロジェクトで行っており中途半端。
unicode 版のやり方を参考にする。
http://xyzzy.codeplex.com/SourceControl/list/changesets
今後本体に API が追加されるので reference.xml を本体に取り込む。
http://xyzzy.s53.xrea.com/wiki/index.php?%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9
コンパイルを通すために一時的に定義しているが、コードを修正して削除する。
主に開発者向けへのドキュメントを用意する。
まずは最低限の対応から行う。
si:*app-user-model-id
でアプリケーション ID を返すcreate-shotcut
に :appid
引数を追加し、アプリケーション ID を指定してxyzzycli.exe は起動したらすぐに終了するので、これにアプリケーション ID を
設定しても意味が無い。
331 名前:名無し~3.EXE[sage] 投稿日:2011/10/10(月) 08:14:04.79 ID:e2rPDniz
Windows7でタスクバーにピン止めして
ジャンプリストから履歴を使いたいんですが
xyzzycli.exeを登録すると、xyzzy.exeが実行されて
タスクバーに両方のアイコンが並んでしまいます
xyzzycli.exeから開く挙動のままで
アイコンを一つに抑える方法はありませんか?
xyzzy Part17
http://toro.2ch.net/test/read.cgi/win/1303662374/331
truename がバグっているので修正する。
user> (truename "C:/Windows/System32/drivers/etc/hosts")
"C:/Windows/System32/drivers//hosts"
なお、C:/Windows/System32/drivers/ から etc/ の補完ができないのは
C:/Windows/SysWoW64/drivers/etc を作成してもらうことで回避してもらう。
#特別な処理は入れない
multiframe 版はよく分からない修正をしているので参考にしない。
mumurik/xyzzy#25
mumurik/xyzzy#12
mumurik/xyzzy#2
https://bitbucket.org/mumurik/xyzzy/issue/22/no-init-file
lisp のキーワードファイルが何故かデフォルトでは同梱されていないので追加する。
基本的に今コミットされている reference.xml から xy-reference で生成したものを追加するが、
なんかあれば色指定が微妙だった気がするのでそこは見直す。
SHA1 はあるが SHA2 がないので以下の関数を追加する。
追加された API のリファレンスを記述する。
ジャンプリストを操作する API を提供する。
use-local-menu
のようにバッファごとにジャンプリストを持てるようにするhttp://msdn.microsoft.com/ja-jp/library/gg491724(v=vs.85).aspx
http://msdn.microsoft.com/ja-jp/magazine/dd942846.aspx
http://archive.msdn.microsoft.com/WindowsAPICodePack
CL の lisp-implementation-version, lisp-implementation-type を実装する。
software-type, software-version と同じ値を返す。
http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Body/fun_lisp-impl_tion-version.html
警告を抑制するために一時的に定義しているが、コードを修正して削除する。
Common Lisp の machine-type, machine-version, machine-instance を実装する。
;; clisp
[1]> (values (machine-type) (machine-version) (machine-instance))
"PC/386" ;
"PC/686" ;
"gap [192.168.0.5]"
;;; SBCL
* (values (machine-type) (machine-version) (machine-instance))
"X86"
NIL
"GAP"
;;; GCL
>(values (machine-type) (machine-version) (machine-instance))
NIL
NIL
NIL
;;; CCL
? (values (machine-type) (machine-version) (machine-instance))
"x86"
"Intel64 Family 6 Model 23 Stepping 10, GenuineIntel"
"gap"
CCL の machine-version は PROCESSOR_IDENTIFIER を返している。
アバウト画面に表示するバージョンは software-version-display-string
で取得しているので、
この関数で git の情報を付けて返すようにする。
>git describe --tag --dirty
v0.2.2.235-179-gaefba1c
ただし、リリース版では従来通りの文字列を返すようにする。
参考: http://d.hatena.ne.jp/higepon/20091230/1262176205#c
software-version-display-string
はその名のとおり表示用のバージョン文字列を返す関数なのでsoftware-version
を利用していることが期待できる以下の問題を修正する。
print-function が事前に定義されていないとエラーになる
user> (defstruct (foo
(:print-function print-foo)))
関数が定義されていません: print-foo
継承した print-function があるとバイトコンパイルできない
;; a.l
(defstruct (foo
(:print-function (lambda (o s p) (format s "<foo>")))))
(defstruct (bar
(:include foo)))
user> (compile-file "a.l")
不正な関数です: #<lexical-closure: (anonymous)>
print-function を再定義しても反映されない
user> (defun print-foo (o s p)
(format s "#<foo>"))
print-foo
user> (defstruct (foo
(:print-function print-foo)))
#<structure-definition: foo>
user> (defun print-foo (o s p)
(format s "#<foo2 0x~X>" (si:address-of o)))
print-foo
user> (format nil "~A" (make-foo))
"#<foo>"
デフォルトのコンストラクタが必ず作られる
user> (defstruct (foo
(:constructor make-foo (a)))
a)
#<structure-definition: foo>
user> (make-foo 1)
不正なデータ型です: 1: symbol
user> (make-foo :a 1)
#S(foo a 1)
コンストラクタの引数の割り当てがおかしい
user> (defstruct (foo
(:constructor make-foo2 (a c)))
a b c)
#<structure-definition: foo>
user> (make-foo2 1 3)
#S(foo a 1 b 3 c nil) ;; b nil c 3 になるはず
コンストラクタで引数を指定すると、スロット定義の初期値が無視される
user> (defstruct (foo
(:constructor create-foo (x)))
x (y 2))
#<structure-definition: foo>
user> (create-foo 1)
#S(foo x 1 y nil) ;; #S(foo x 1 y 2) になるべき
警告を抑制するために一時的に定義しているが、コードを修正して削除する。
format 書式が色々変更されているが互換性に影響がないか確認する。
取り込む基準は以下のとおり。
commit cb29477aee752f0fd554ecafa16ec8db2e053a17
Author: NANRI <[email protected]>
Date: Wed Jul 14 03:29:14 2010 +0900
xyzzy.src : fix format "~T".
(format nil "~0,1T") ; 0.2.2.235
""
(format nil "~0,1T")
" "
lisp/abbrev.l で "~15,1T" を使っているが動作には影響ない。
他に利用を確認できなかったので取り込む。
commit 7e247ad26763c95410a60145c16f903f3e9eb703
Author: NANRI <[email protected]>
Date: Wed Jul 14 03:04:57 2010 +0900
xyzzy.src : fox format "~VT" in the case of being provided '() as a prefix parameter.
(format nil "~VT" nil) ; 0.2.2.235
Vパラメータの型が不正です
(format nil "~VT" nil)
" "
どう見てもバグ修正なので取り込む。
commit 6ecf6706dfbb0cee584ccc19245c23075061883f
Author: NANRI <[email protected]>
Date: Mon Mar 1 01:51:31 2010 +0900
xyzzy.src : fix format "~F".
(format nil "~,,VF" 3 pi) ; 0.2.2.235
"3.141592653589793d0"
(format nil "~,,VF" 3 pi)
"3141.592653589793"
利用を確認できなかったので取り込む。
commit 64267643cae53a087acb346a1cde76e51bb0d6f2
Author: NANRI <[email protected]>
Date: Thu Dec 10 00:01:03 2009 +0900
xyzzy.src : fix format "~n@A".
(format nil "~10@A" "hoge") ; 0.2.2.235
"hoge "
(format nil "~10@A" "hoge")
" hoge"
影響が大きすぎるので取り込まない。
2ch でも報告が上がっている。
654 名前:名無し~3.EXE[sage] 投稿日:2012/02/28(火) 07:15:19.32 ID:ypWJPGEx [1/2]
465さん
2ch-modeのpopup.lに*app~が残っています。
あと、私の環境では、2ch-modeのメニューバッファや
ボード・ヒストリーバッファのスレッド名が
右寄せになってしまうのですが、原因とかわかりますでしょうか?
参考: http://d.hatena.ne.jp/bowbow99/20090829/1251547986
commit d9314ec490f7cadcf95a03c4ff0e2f6a00ba8cf3
Author: NANRI <[email protected]>
Date: Tue Dec 1 23:12:35 2009 +0900
xyzzy.src : fix format "~G".
(format nil "~10g" 1.23456d+38) ; 0.2.2.235
"^@^@^@^@^@^@ "
(format nil "~10g" 1.23456d+38)
"123456000000000000000000000000000000000.0 "
どう見てもバグ修正なので取り込む。
参考: http://hie.s64.xrea.com/xyzzy/ml/msg09203.html
commit 4a989be4d17e2ed6528c497d71ff6b493626d635
Author: NANRI <[email protected]>
Date: Tue Dec 1 23:11:38 2009 +0900
xyzzy.src : fix format "~E".
(format nil "~E" 123.45) ; 0.2.2.235
"123.45"
(format nil "~E" 123.45)
"1.2345e+2"
利用を確認できなかったので取り込む。
参考: http://hie.s64.xrea.com/xyzzy/ml/msg09202.html
commit bca58407569a2366b5f34ee2dd22d3cd5e365315
Author: NANRI <[email protected]>
Date: Tue Dec 1 23:10:09 2009 +0900
xyzzy.src : fix format "~F".
(format nil "~@F" 123.45) ; 0.2.2.235
"123.45"
(format nil "~@F" 123.45)
"+123.45"
利用を確認できなかったので取り込む。
参考: http://hie.s64.xrea.com/xyzzy/ml/msg09202.html
commit 74aeee5f70f07ce95614f519c8c8c14537054da6
Author: NANRI <[email protected]>
Date: Tue Dec 1 23:08:08 2009 +0900
xyzzy.src : fix format "~R".
(format nil "~16,10,'*,'-,2:R" #x123abc) ; 0.2.2.235
パラメータが多すぎます
(format nil "~16,10,'*,'-,2:R" #x123abc)
"**12-3a-bc"
バグ修正なのでとり込む。
si:md5 や si:sha-1 はダイジェストを 16 進文字列で返すが、
バイナリで欲しい場合がある。
以下は oatuh.l のコードからの引用である。
;;; signature
(defun hmac-sha-1-bin (key str)
(let ((h (si:hmac-sha-1 key str))
(s (make-sequence 'string 20)))
(loop
for i from 0 below 40 by 2
for n = (parse-integer h :start i :end (+ i 2) :radix 16)
do (setf (svref s (/ i 2)) (code-char n)))
s))
以下の API に :binary
引数を追加する。
:binary t
の場合はバイナリ値をそのまま返す、nil
の場合は16進文字列で返す。
hex-string-to-bin-string
を追加しようかと考えたが、si:md5
などと組み合わせて使うことになりそうなのでやめたAmazon Web Services のリクエストに署名するコード。
(defvar *access-key-id* "00000000000000000000")
(defvar *secret-access-key* "1234567890")
(defun make-aws-request (params &key domain path access-key-id secret-access-key timestamp)
(labels ((encode-param1 (v)
(si:www-url-encode v nil "0-9A-Za-z---._~"))
(encode-params (params)
(format nil "~{~A~^&~}"
(mapcar #'(lambda (kv)
(format nil "~A=~A"
(car kv)
(encode-param1 (cdr kv))))
params))))
(let* ((query (encode-params (sort (append `(("AWSAccessKeyId" . ,access-key-id)
("Timestamp" . ,timestamp))
params)
#'string< :key #'car)))
(string-to-sign (format nil "~{~A~^~%~}" (list "GET" domain path query)))
(signature (delete #\LFD
(si:base64-encode
(si:hmac-sha-256 secret-access-key string-to-sign :binary t)))))
(format nil "http://~A~A?~A&Signature=~A"
domain path query (encode-param1 signature)))))
(make-aws-request '(("Service" . "AWSECommerceService")
("Operation" . "ItemLookup")
("ItemId" . "0679722769")
("ResponseGroup" . "ItemAttributes,Offers,Images,Reviews")
("Version" . "2009-01-06"))
:access-key-id *access-key-id*
:secret-access-key *secret-access-key*
:domain "webservices.amazon.com"
:path "/onca/xml"
:timestamp "2009-01-01T12:00:00Z")
=> "http://webservices.amazon.com/onca/xml?AWSAccessKeyId=00000000000000000000&ItemId=0679722769&Operation=ItemLookup&ResponseGroup=ItemAttributes%2COffers%2CImages%2CReviews&Service=AWSECommerceService&Timestamp=2009-01-01T12%3A00%3A00Z&Version=2009-01-06&Signature=Nace%2BU3Az4OhN7tISqgs1vdLBHBEijWcBeCqL5xN9xg%3D"
参考: サンプルリクエストに署名を行うためのステップ
# このページのサンプルの結果は誤っている
ユーザ向けのドキュメントを整備する。
以下の変更を取り込み、仕様をリファレンスに記述する。
commit 179f4ad3b01c0116b2008b5f753e2f3363f96624
Author: mumurik <none@none>
Date: Sun Feb 19 16:04:58 2012 +0900
FIX: percent update even if there is no %/.
commit 9f45e92d32894c5f2dee3f038ae16be4df4de2b9
Author: mumurik <none@none>
Date: Sun Feb 19 08:49:56 2012 +0900
Support %/ at mode-line-format.
%/ shows percentage of current caret position of total buffer size.
commit 34285e2c6b3ad8aa6f6aa8be815c747c09898248
Author: mumurik <none@none>
Date: Sat Feb 18 22:34:40 2012 +0900
Extract paint_mode_line_point related code to mode_line_point_painter.
multiframe 版の修正はいい加減過ぎる感じがするのであまり参考にしないこと。
WoW64 対応 (#4) など、マシンアーキテクチャによって処理を分けたい場合が
あるかもしれないので features に :x86
, :x64
, :ia64
, :wow64
を追加する。
なお、SBCL では :X86
と :X86-64
がある。
https://bitbucket.org/mumurik/xyzzy/issue/19/part17-670-c
テストが不十分に見えるので慎重に。
Google Chrome のように Aero プレビューで各タブの内容のサムネイルを表示する。
Chrome はウィンドウに表示されている Web サイトをそのまま縮小しているが、
xyzzy ではカーソルがあるところの周辺のテキストをクリップして表示する。
これはテキストファイルは文字のみであり縦に長いという特徴がある。
そのため、そのまま縮小すると区別ができないためである。
HMAC-SHA1 はあるが HMAC-SHA-2 がないので以下の関数を追加する。
なお、テストデータは以下にある。
http://tools.ietf.org/html/rfc4231
defpackage マクロで :documentation オプションに対応し、
documentation 関数でドキュメントを取得できるようにする。
;; 0.2.2.235
user> (defpackage :foo
(:use :lisp)
(:documentation "foo doc"))
未サポートのオプションです: :documentation
user> (documentation (find-package :foo) t)
nil
xyzzy+ のリポジトリは Mercurial なので直接 merge したり cherry-pick できなくて不便なので、
xyzzy-022 Organization 内に xyzzy+ というプロジェクトを作成しhg-git を使って GitHub にミラーする。
call-process では :error で標準エラー出力の出力先を指定できるが、
make-process では指定できない。
標準エラー出力がいらない場合や別々に取得した場合があるので、
make-process にも :error を追加する。
make-process
:error を指定されたらそのバッファに標準エラー出力を出力するprocess-buffer
は多値を返すように変更 (:error が指定された場合のみ)A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.