-
Notifications
You must be signed in to change notification settings - Fork 3
/
ChangeLog.txt
588 lines (465 loc) · 20.4 KB
/
ChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
2012-05-02 NANRI Masaoki <southly@gmail.com>
* src : support getting filer's window handle
(get-window-handle :filer)
でファイラのウィンドウハンドルを取得できるようにした。
2011-12-23 NANRI Masaoki <southly@gmail.com>
* src : bypass assertion in regexp search.
関数 substitute-string や関数 string-looking-at で長い文字列(32768以上)
を検索の対象にした時、アサーションに誤って引っかかるのを回避する。
Regexp::search (const Char *string, int size, int offset)
Regexp::match (const Char *string, int size, int offset)
にて short の Chunk::c_used に int の size を代入してしまっていたのが原
因。
2011-12-21 NANRI Masaoki <southly@gmail.com>
* lisp : fix error jump.
関数 find-errors-get-buffer の引数 name にパスとして長すぎる文字列が渡
されたときにエラーで処理が止まってしまうのを修正。*error-regexp-list*
の中の別の正規表現に誤ってマッチしてしまい、ファイル名部分が長くなって
しまった場合を想定している。
* lisp : fix saving session file.
ヒストリファイルと同様にセッションファイルも書き込み時に *print-length*
などの影響を受けないよう修正。
(progn
(ed::write-session-file "0ssn.l")
(let ((*print-circle* t)
(*print-pretty* nil)
(*print-length* 1)
(*print-level* 1))
(ed::write-session-file "1ssn.l")))
* lisp : fix saving history-file.
ヒストリファイル書き込み時に *print-length* などの影響を受けるのを修正。
(progn
(let ((*history-file-name* "0hist.l"))
(ed::save-history-file))
(let ((*history-file-name* "1hist.l")
(*print-circle* t)
(*print-pretty* nil)
(*print-length* 1)
(*print-level* 1))
(ed::save-history-file)))
2011-12-20 NANRI Masaoki <southly@gmail.com>
* src : fix equalp for hash-table.
equalp に hash-table を渡すと多値が返ってくる問題を修正。
https://gist.github.com/1480046
2011-06-17 NANRI Masaoki <southly@gmail.com>
* src : fix sxhash.
sxhash の値が equalp 用の値になっているが equal 用の値になるように修正。
(= (sxhash (list "ABC")) (sxhash (list "ABC"))) => t
(= (sxhash (list "abc")) (sxhash (list "ABC"))) => nil
2011-06-15 NANRI Masaoki <southly@gmail.com>
* lisp : fix compiling lambda form.
lambda form をコンパイルするとレキシカル変数を参照できなくなっていた問
題を修正。
https://gist.github.com/998414
https://gist.github.com/1000096
2011-06-14 NANRI Masaoki <southly@gmail.com>
* lisp : fix typo in lisp/compile.l.
関数名のミスを修正。
https://twitter.com/#!/bowbow99/status/80332901014704128
2011-01-30 NANRI Masaoki <southly@gmail.com>
* src : fix abbreviate-display-string.
abbreviate-display-string で必要以上に文字列が省略されることがあるのを
修正。以下のようになる場合があった。
(abbreviate-display-string "D:/src/cmigemo-1.3c-MIT/src/wordlist.h" 40 t)
=> "D:/..."
string.cc の 1109 行目、以下のようになっていた。
strcpy (le, "...");
strcpy (le + 3, rb);
はじめの strcpy で '\0' が書き込まれ、その位置がちょうど rb と一致した
ときに発生した。
2011-01-21 NANRI Masaoki <southly@gmail.com>
* lisp : fix pipe-command.
「plink name@example.jp ls」と plink を利用しようとすると
「Unable to read from standard input: ハンドルが無効です。」
というエラーになるのを修正。
execute-shell-command の第二引数に文字列・nil以外の引数を渡すとファイル
名が空のファイルを開こうとするので、エラーになっていた模様。
* src : fix wheel icon.
なんとなくホイールボタンをクリックしたときのアイコンをいじってみた。
* src : fix multiple binding of special variables in let, let*.
http://d.hatena.ne.jp/bowbow99/20101127/1290818576
let や let* で同一のスペシャル変数に対して複数回の束縛を作ったときの値
がおかしいのを修正。
コンパイルしたときの動作は修正できていない。
(progn
(defparameter *special* :global)
(let ((*special* :local-1)
(*special* :local-2))
*special*))
=> :local-2
レキシカルな環境には逆順に登録されるので、スペシャル変数に値を設定する
前に順序を元に戻している。
2011-01-05 NANRI Masaoki <southly@gmail.com>
* src : fix let, let*.
http://d.hatena.ne.jp/bowbow99/20101127/1290818576
コンパイルしたときは値が変わることはないが、インタプリタと同様に逆順で
値をリストアするように修正。
2011-01-04 NANRI Masaoki <southly@gmail.com>
* src : fix special variables restore at the end of let, let*.
http://d.hatena.ne.jp/bowbow99/20101127/1290818576
let や let* で同一のスペシャル変数に対して複数回の束縛を作ると、スコー
プが外れたときに値が書き換わってしまうのを修正。
(progn
(defparameter *special* :global)
(let ((*special* :local-1)
(*special* :local-2))
*special*)
*special*)
=> :global
値を保存するとき(src/eval.cc 347行目辺り)と逆順に値をリストアするように
した。
2010-12-14 NANRI Masaoki <southly@gmail.com>
* src : fix eol-code of zero size file.
ファイルサイズが 0 のときの (正確には改行がないファイルのときの) 改行コー
ドが常に CRLF になるのを修正し *default-eol-code* に基づいた改行コード
になるようにする。
xyzzy Part16 577
2010-12-13 NANRI Masaoki <southly@gmail.com>
* src : fix DLL loading (hhctrl.ocx).
JVNVU#707943: Windows プログラムの DLL 読み込みに脆弱性
http://jvn.jp/cert/JVNVU707943/index.html
の修正の続き。
hhctrl.ocx のロードは静的変数の初期化時に行われるため、先の修正の効果が
及ばない。よって、ロードのタイミングを関数 html-help 呼び出し時に変更。
* src : fix DLL loading.
JVNVU#707943: Windows プログラムの DLL 読み込みに脆弱性
http://jvn.jp/cert/JVNVU707943/index.html
の修正。
統合アーカイバの DLL と WSOCK32.DLL と ctl3d32.dll が対象。
foreign:define-dll-entry (si:load-dll-module) で指定する DLL も対象だが、
こちらはフルパスで指定するのが望ましいだろう。
2010-12-12 NANRI Masaoki <southly@gmail.com>
* src : update zlib(version 1.2.5).
zlibをバージョン1.2.5にアップデート。
* lisp : support lzma and xz in filer.
lzma および xz の圧縮と展開をファイラから利用できるように修正。
* src : support lzma and xz.
tar32.dll Ver2.35 から利用できるようになった lzma および xz の圧縮と展
開に対応。
2010-12-11 NANRI Masaoki <southly@gmail.com>
* src : fix hash-table.
rehash 時に不要なハッシュオブジェクトのエントリーを NULL に設定している
ので、サイズも 0 に設定する。hash-table のマークフェーズ(data.ccの613行
目あたり)で NULL を参照するのを防止する。
以下のような hash-table が rehash した後の GC のタイミングで落ちる現象
がおそらく解消すると思われる。
http://twitter.com/miyamuko/status/14229437114
http://d.hatena.ne.jp/knenet/20091223/1261578863
2010-12-10 NANRI Masaoki <southly@gmail.com>
* src : fix (cdr '#1='#1#) printing.
http://blog.bugyo.tk/lyrical/archives/610
http://blog.practical-scheme.net/gauche/20100609-curious-circular-list
「(cdr '#1='#1#)」の評価結果の印字でスタックオーバーフローするのを修正。
'#1='#1# => #1='#1#
(cdr '#1='#1#) => #1=((quote . #1#))
(cdr '#1=(quote #1#)) => #1=((quote . #1#))
(cdr '#1=(q #1#)) => #1=((q . #1#))
2010-12-01 NANRI Masaoki <southly@gmail.com>
* src : fix macroexpand.
http://twitter.com/bowbow99/status/9887141152694272
二番目の戻り値が返っていなかったのを修正。
(macroexpand '(push 1 x))
=> (setq x (cons 1 x))
=> t
(macroexpand '(setq x (cons 1 x)))
=> (setq x (cons 1 x))
=> nil
* src : fix flet, labels, macrolet.
http://twitter.com/bowbow99/status/8011887295856640
引数のチェックがおかしかったのを修正。
(flet () 3) => 3
(flet ()) => nil
(labels () 3) => 3
(labels ()) => nil
(macrolet () 3) => 3
(macrolet ()) => nil
* src : add "listp" Macro.
オブジェクトが cons である、又は nil であるかどうか調べる listp マクロ
を追加。
2010-11-09 NANRI Masaoki <southly@gmail.com>
* src : fix type-check in list-length.
http://twitter.com/bowbow99/status/1742537278623744
(list-length :foo)
-> 不正なデータ型です: :foo: list
(list-length '(a . b))
-> 不正なデータ型です: b: list
引数にdotted listを渡したときのエラーメッセージがいまいちだが、
とりあえずそのまま。
* src : fix nthcdr given dotted list.
http://twitter.com/bowbow99/status/1746294087352320
(nthcdr 0 '()) => nil
(nthcdr 3 '()) => nil
(nthcdr 0 '(a b c)) => (a b c)
(nthcdr 2 '(a b c)) => (c)
(nthcdr 4 '(a b c)) => nil
(nthcdr 1 '(0 . 1)) => 1
(nthcdr 3 '(0 . 1)) => nil
最後のケースはエラーにすべきだけど、とりあえずそのまま。
* src : fix single-float-epsilon, single-float-negative-epsilon.
http://twitter.com/TwilightClover/status/26251344464
http://gist.github.com/608561
http://gist.github.com/608467
(dolist (sym '((double-float-epsilon t)
(double-float-negative-epsilon nil)
(long-float-epsilon t)
(long-float-negative-epsilon nil)
(short-float-epsilon t)
(short-float-negative-epsilon nil)
(single-float-epsilon t)
(single-float-negative-epsilon nil)))
(let ((epsilon (symbol-value (car sym)))
(positive (cadr sym)))
(format t "~30S = ~@30S, test = ~S~%"
(car sym)
epsilon
(if positive
(not (= (float 1 epsilon) (+ (float 1 epsilon) epsilon)))
(not (= (float 1 epsilon) (- (float 1 epsilon) epsilon)))))
))
double-float-epsilon = 2.220446049250313d-16, test = t
double-float-negative-epsilon = 1.110223024625157d-16, test = t
long-float-epsilon = 2.220446049250313d-16, test = t
long-float-negative-epsilon = 1.110223024625157d-16, test = t
short-float-epsilon = 1.192093e-7, test = t
short-float-negative-epsilon = 5.960464e-8, test = t
single-float-epsilon = 1.192093e-7, test = t
single-float-negative-epsilon = 5.960464e-8, test = t
nil
2010-09-30 MIYAMUKO Katsuyuki <miyamuko@gmail.com>
* src : add deleted-window-p
削除された Window なら t を返す。
deleted-buffer-p の Window バージョン。
http://twitter.com/bowbow99/status/25935896653
2010-09-12 MIYAMUKO Katsuyuki <miyamuko@gmail.com>
* src : add optional value parameter to si:putenv.
引数を環境変数名とオプショナルな値をとるように変更。
値を省略した場合や nil を指定した場合は環境変数を削除する。
戻り値は環境変数の設定に成功した場合は設定した値を返し、
環境変数を削除した場合または設定に失敗した場合は nil を返すように変更。
(si:putenv "FOO" "bar")
=> "bar"
(si:putenv "FOO")
=> nil
(si:putenv "=FOO" "bar")
=> nil
2010-09-11 NANRI Masaoki <southly@gmail.com>
* src : remove redefinition.
Microsoft Visual C++ 2010 では wingdi.h がインクルードされて、
tagWCRANGE と tagGLYPHSET が定義されるようなので gen-fontrange.cc での
定義を削除。
とりあえずVC2010でのみ削除。
* src : remove pragma optimize.
「internal compiler error」対策とのコメントがあるが、Microsoft Visual
C++ 2010 ではエラーが発生しないので削除。
とりあえずVC2010でのみ削除。
* src : add si:putenv.
si:putenv を追加。
via http://d.hatena.ne.jp/miyamuko/20100910/xyzzy_putenv
2010-08-31 NANRI Masaoki <southly@gmail.com>
* src : fix call-process.
call-processの標準入力・標準出力等の指定がうまく設定されない現象がおき
ていたのを修正。
2010-07-14 NANRI Masaoki <southly@gmail.com>
* src : fix format "~T".
「~colnum,colincT」のとき、「colnum+k*colinc」を満たす最小の正の整数kで
桁を求めるように修正。
(format nil "~0,1T")
=> " "
* src : fox format "~VT" in the case of being provided '() as a prefix parameter.
Vに引数としてnilを渡したときの動作を修正。
(format t "~VA" nil 'x)
== (format t "~A" 'x)
* src : fix for VC2010.
Microsoft Visual C++ 2010 でのビルド用に修正。
Makefileの修正のみ。
2010-04-04 NANRI Masaoki <southly@gmail.com>
* src : add repl.
コマンドプロンプトを表示するバージョンxyzzyrpl.exeを作成できるようにし
た。「nmake repl」で作成できる。
;;; 簡易REPL
(defun repl ()
(interactive)
(let ((*standard-input* *terminal-io*)
(*standard-output* *terminal-io*))
(loop
(format t "~%> ")
(format t "~A" (eval (read *standard-input*))))))
2010-03-01 NANRI Masaoki <southly@gmail.com>
* src : fix "*load-pathname*" initialization.
ダンプ作成時にロードしたファイル名がそのままダンプファイルに保存される
ようなので、起動時にも初期化するように修正。
* src : fix format "~F".
formatの"~F"の第一パラメータwを指定しないと第三パラメータkが機能しない
のを修正。
(dotimes (i 10)
(format t "~,,VF~%" i pi))
3.141592653589793
31.41592653589793
314.1592653589793
3141.592653589793
31415.92653589793
314159.2653589793
3141592.653589793
31415926.53589793
314159265.3589793
3141592653.589793
nil
(do ((i -9 (1+ i)))
((> i 9))
(format t "~,,VF~%" i pi))
-0.000000009
-0.00000008
-0.0000007
-0.000006
-0.00005
-0.0004
-0.003
-0.02
-0.1
0.0
10.0
200.0
3000.0
40000.0
500000.0
6000000.0
70000000.0
800000000.0
9000000000.0
nil
2010-02-21 NANRI Masaoki <southly@gmail.com>
* src : fix applyhook.
applyhook, *applyhook* をローカル関数に対応させた。
call_applyhookの第一引数にクロージャを渡すように変更した。
* src : add "*read-eval*".
スペシャル変数*read-eval*が機能するようにした。
*read-eval*の出力への影響の理解が怪しい。
*read-eval*がnilの場合はencodingをunreadable-objectとして出力するようし
ているが、自信なし。
2010-01-23 NANRI Masaoki <southly@gmail.com>
* src : fix for VC2008.
Microsoft Visual C++ 2008 でのビルド用に修正。
http://xyzzy.s53.xrea.com/wiki/index.php?Memo%2F%A5%BD%A1%BC%A5%B9%A4%AB%A4%E9%A5%D3%A5%EB%A5%C9%A4%B7%A4%C6%A4%DF%A4%EB3
* src : add get-buffer-colors.
関数get-buffer-colorsを追加。
set-buffer-colorsと対となる現在のバッファの色設定を取得する関数。
2010-01-22 NANRI Masaoki <southly@gmail.com>
* src : fix listen.
EOFのときにnilを返すように修正。
分かる範囲ということでstring-streamとfile-streamだけ。
2010-01-11 NANRI Masaoki <southly@gmail.com>
* src : fix save-window-excursion.
(save-window-excursion (values 1 2 3))
で正しく多値が返らない場合があるのを修正。
xyzzy Part11 8
WindowConfigurationのデストラクタ内でLispのコードが実行されるので、
WindowConfigurationのデストラクタを実行したあとで、多値を元の値に戻
す必要がある。
* lisp : fix long-operation.
long-operationの戻り値がprog1相当になっているのをprogn相当になるよ
うに修正。
xyzzy Part10 470
2009-12-26 NANRI Masaoki <southly@gmail.com>
* src : update zlib.
zlibをバージョン1.2.3にアップデート。
2009-12-17 NANRI Masaoki <southly@gmail.com>
* lisp : modify make-tags-file-dialog.
タグファイル作成ダイアログのソースディレクトリのデフォルトにXTAGSフ
ァイルの内容を反映するように修正。
* lisp : modify edict-lookup-word.
辞書を引く単語をカーソルの前方に変更。
* lisp : modify start point in buffer-menu.
buffer-menuを実行したときのカーソル位置を現在のバッファの位置に変更。
* src : add key parameter ":show" to make-process.
make-processにキーパラメータ :show を追加する。
http://xyzzy.s53.xrea.com/wiki/index.php?patch%2F12
2009-12-16 NANRI Masaoki <southly@gmail.com>
* src : support IMR_DOCUMENTFEED.
via http://fixdap.com/p/xyzzy/7376/
以下で動作を確認。
さいた あたたかい
布を 牛乳
花が 春
時間を
* src : fix set-buffer-modified-p.
(set-buffer-modified-p nil) をした時に以前更新なし状態だった点が更
新無し状態のままなのを修正。
* src : fix inverse-cursor-line.
(setq inverse-cursor-line t)
の状態にすると行カーソルと折り返し線の交点が反転したまま残ってしま
うのを修正。
2009-12-10 NANRI Masaoki <southly@gmail.com>
* src : fix format "~n@A".
http://d.hatena.ne.jp/bowbow99/20090829/1251547986
2009-12-09 NANRI Masaoki <southly@gmail.com>
* src : add "*brackets-is-wildcard-character*" to history-variable.
共通設定の「[...]はワイルドカード」の設定が保存されないので、対応す
る変数をヒストリに追加。
* src : fix dump hash-table.
シンボルがキーのハッシュテーブルをダンプファイルに入れた場合、
gethashで値がとれない問題があった。ただし、maphashで全要素を取得す
ることはできた。
---- $XYZZY/site-lisp/siteinit.l の内容
(defparameter *hash* (make-hash-table))
(dolist (i '((aaa . abab) (bbb . bcbc) (ccc . cdcd)))
(setf (gethash (car i) *hash*) (cdr i)))
---- ダンプファイルをロードしたあとに評価
(gethash 'aaa *hash*)
=>nil ; 本来は abab
=>nil ; t
(maphash #'(lambda (key val) (format t "~S: ~S~%" key val)) *hash*)
aaa: abab
bbb: bcbc
ccc: cdcd
=>nil
----
シンボルのハッシュ値はオブジェクトのアドレスを元に計算しているが、
ダンプファイル作成時とダンプファイルロード後ではシンボルオブジェク
トのアドレスが異なり、同一のハッシュ値にならないのが原因。
ダンプファイルをロードしたあとにrehashするように修正。
* lisp : fix defpackage.
defpackageマクロで:exportオプションを指定できない不具合を修正。
[xyzzy:09241]
* lisp : fix shell-alternate-send-input.
http://xyzzy.s53.xrea.com/wiki/index.php?patch%2F15
* lisp : fix calendar.
カレンダーの祝日を現行法にあわせる。
[xyzzy:09224]
* lisp : fix typo in lisp/timestmp.l.
コメントのtypoを修正。
[xyzzy:09158]
* lisp : fix typo in lisp/encoding.l.
provideのtypoを修正。
[xyzzy:09158]
* lisp : fix typo in lisp/css-mode.l.
provideのtypoを修正。
[xyzzy:09158]
* lisp : fix typo in lisp/builtin.l.
主に引数のtypoを修正。
[xyzzy:09158]
* src : fix hash-table rehash size.
ハッシュテーブルの要素数が80000を越える辺りから、ハッシュテーブルの
サイズの増加量が100に固定される。そのため頻繁にrehashされパフォーマ
ンスが低下していた。
rehashするときは最低でも前のサイズの1.5倍になるようにした。
* src : fix ole-method.
ole-method で文字列を渡すと余計な 0x00 が付く問題
via http://fixdap.com/p/xyzzy/8379/
via http://d.hatena.ne.jp/miyamuko/20080304/xyzzy_ole_method_bug
* src : fix for FFI.
戻り値が double, float の C 関数を呼ぶとクラッシュする
http://xyzzy.s53.xrea.com/wiki/index.php?patch%2F25
via http://d.hatena.ne.jp/miyamuko/20070509/p1
* src : fix start-timer.
http://xyzzy.s53.xrea.com/wiki/index.php?patch%2F21
* src : fix format "~G".
[xyzzy:09204]
* src : fix format "~E".
[xyzzy:09204]
* src : fix format "~F".
[xyzzy:09204]
* src : fix format "~R".
[xyzzy:09198]
* src : fix for VC2005.
Microsoft Visual C++ 2005 でビルドできるように、こまごまと修正。
http://xyzzy.s53.xrea.com/wiki/index.php?patch%2F13