Permalink
Browse files

Merge branch 'xyzzy-022-mirror'

Conflicts:
	etc/Makefile
	etc/extract.exe
	etc/jdwrap.exe
	etc/tail-f.exe
	projects/xyzzy.vcxproj.filters
	src/Buffer.cc
	src/dpp.cc
	src/version.h
  • Loading branch information...
2 parents dda1cf8 + 312e268 commit 599c79cf5e7cc80f9881be117dd3216fe9d264b4 @mumurik committed Aug 4, 2012
Showing with 4,244 additions and 1,840 deletions.
  1. +3 −0 .gitignore
  2. +37 −0 LEGAL.md
  3. +274 −0 docs/release-note-0.2.2.242.md
  4. +3 −0 etc/Lisp
  5. +0 −33 etc/Makefile
  6. BIN etc/extract.exe
  7. BIN etc/jdwrap.exe
  8. BIN etc/tail-f.exe
  9. +13 −12 lisp/builtin.l
  10. +9 −0 lisp/compile.l
  11. +44 −4 lisp/files.l
  12. +8 −7 lisp/glob.l
  13. +13 −2 lisp/grepd.l
  14. +2 −0 lisp/gresregd.l
  15. +4 −4 lisp/lispmode.l
  16. +1 −1 lisp/sequence.l
  17. +20 −36 projects/{gen-utf2sjis.vcxproj → den8util.vcxproj}
  18. +6 −11 projects/{gen-ctab.vcxproj.filters → den8util.vcxproj.filters}
  19. +0 −101 projects/dpp.vcxproj
  20. +0 −14 projects/dpp.vcxproj.filters
  21. +38 −0 projects/etc.sln
  22. +9 −0 projects/etc.targets
  23. +22 −34 projects/{gen-vinf.vcxproj → extract.vcxproj}
  24. +6 −11 projects/{gen-ibmext.vcxproj.filters → extract.vcxproj.filters}
  25. +0 −104 projects/gen-char-width.vcxproj
  26. +0 −26 projects/gen-char-width.vcxproj.filters
  27. +0 −102 projects/gen-ctab.vcxproj
  28. +0 −14 projects/gen-fontrange.vcxproj.filters
  29. +0 −104 projects/gen-ibmext.vcxproj
  30. +0 −102 projects/gen-iso2022state.vcxproj
  31. +0 −26 projects/gen-iso2022state.vcxproj.filters
  32. +0 −104 projects/gen-jisx0212-hash.vcxproj
  33. +0 −26 projects/gen-jisx0212-hash.vcxproj.filters
  34. +0 −112 projects/gen-jisx0212-width.vcxproj
  35. +0 −26 projects/gen-jisx0212-width.vcxproj.filters
  36. +0 −14 projects/gen-ktab.vcxproj.filters
  37. +0 −102 projects/gen-lucida-width.vcxproj
  38. +0 −26 projects/gen-lucida-width.vcxproj.filters
  39. +251 −0 projects/gen-src1.vcxproj
  40. +82 −0 projects/gen-src1.vcxproj.filters
  41. +18 −15 projects/{gen-msg.vcxproj → gen-src2.vcxproj}
  42. +6 −0 projects/{gen-msg.vcxproj.filters → gen-src2.vcxproj.filters}
  43. +0 −109 projects/gen-syms.vcxproj
  44. +0 −29 projects/gen-syms.vcxproj.filters
  45. +0 −113 projects/gen-ucs2tab.vcxproj
  46. +0 −26 projects/gen-ucs2tab.vcxproj.filters
  47. +1 −7 projects/gen.targets
  48. +18 −31 projects/{gen-fontrange.vcxproj → jdwrap.vcxproj}
  49. +6 −8 projects/{gen-utf2sjis.vcxproj.filters → jdwrap.vcxproj.filters}
  50. +16 −27 projects/{gen-ktab.vcxproj → tail-f.vcxproj}
  51. +6 −8 projects/{gen-vinf.vcxproj.filters → tail-f.vcxproj.filters}
  52. +18 −43 projects/xyzzy.vcxproj
  53. +47 −0 projects/xyzzy.vcxproj.filters
  54. +171 −15 reference/reference.xml
  55. +4 −2 src/Buffer.cc
  56. +2 −0 src/charset.h
  57. +13 −2 src/data.cc
  58. +4 −3 src/dpp.cc
  59. +80 −0 src/dsfmt/CHANGE-LOG.txt
  60. +32 −0 src/dsfmt/LICENSE.txt
  61. +52 −0 src/dsfmt/README.jp.txt
  62. +41 −0 src/dsfmt/README.txt
  63. +115 −0 src/dsfmt/dSFMT-common.h
  64. +87 −0 src/dsfmt/dSFMT-params.h
  65. +40 −0 src/dsfmt/dSFMT-params11213.h
  66. +40 −0 src/dsfmt/dSFMT-params1279.h
  67. +40 −0 src/dsfmt/dSFMT-params132049.h
  68. +40 −0 src/dsfmt/dSFMT-params19937.h
  69. +40 −0 src/dsfmt/dSFMT-params216091.h
  70. +40 −0 src/dsfmt/dSFMT-params2203.h
  71. +40 −0 src/dsfmt/dSFMT-params4253.h
  72. +40 −0 src/dsfmt/dSFMT-params44497.h
  73. +40 −0 src/dsfmt/dSFMT-params521.h
  74. +40 −0 src/dsfmt/dSFMT-params86243.h
  75. +633 −0 src/dsfmt/dSFMT.cc
  76. +629 −0 src/dsfmt/dSFMT.h
  77. +35 −32 src/encdec.cc
  78. +1 −1 { → src}/etc/den8util.cc
  79. +2 −2 { → src}/etc/extract.cc
  80. 0 { → src}/etc/jdwrap.cc
  81. +2 −2 { → src}/etc/tail-f.cc
  82. +6 −0 src/etc/unlha/README.txt
  83. +21 −11 src/eval.cc
  84. +30 −0 src/gen-action1.h
  85. +6 −0 src/gen-action2.h
  86. +4 −3 src/gen-char-width.cc
  87. +2 −4 src/gen-ctab.cc
  88. +5 −5 src/gen-fontrange.cc
  89. +4 −6 src/gen-ibmext.cc
  90. +4 −8 src/gen-iso2022state.cc
  91. +5 −6 src/gen-jisx0212-hash.cc
  92. +4 −5 src/gen-jisx0212-width.cc
  93. +4 −6 src/gen-ktab.cc
  94. +7 −8 src/gen-lucida-width.cc
  95. +35 −0 src/gen-main.cc
  96. +2 −4 src/gen-msg.cc
  97. +1 −0 src/gen-stdafx.cc
  98. +11 −0 src/gen-stdafx.h
  99. +16 −18 src/gen-syms.cc
  100. +4 −5 src/gen-ucs2tab.cc
  101. +4 −4 src/gen-utf2sjis.cc
  102. +20 −3 src/glob.cc
  103. +2 −2 src/lprint.cc
  104. +5 −3 src/pathname.cc
  105. +29 −33 src/process.cc
  106. +51 −51 src/random.cc
  107. +20 −14 src/random.h
  108. +3 −1 src/signal.cc
  109. +18 −1 src/xyzzyenv.cc
  110. +150 −0 unittest/editor-tests.l
  111. +85 −0 unittest/eval-tests.l
  112. +200 −0 unittest/glob-tests.l
  113. +50 −0 unittest/random-tests.l
  114. +31 −2 unittest/sequence-tests.l
  115. +3 −4 unittest/simple-test.l
  116. +67 −0 unittest/system-tests.l
  117. +51 −0 xyzzy.sln
View
@@ -134,3 +134,6 @@ Desktop.ini
!src/zlib/Debug/
!src/zlib/Release/zlib.pdb
!src/zlib/Debug/zlib.pdb
+
+# unlha files
+src/etc/unlha/UNLHA32.LIB
View
@@ -92,6 +92,43 @@
----
+### src/dsfmt/*
+
+ Copyright (c) 2007, 2008, 2009 Mutsuo Saito, Makoto Matsumoto
+ and Hiroshima University.
+ Copyright (c) 2011, 2002 Mutsuo Saito, Makoto Matsumoto, Hiroshima
+ University and The University of Tokyo.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of the Hiroshima University nor the names of
+ its contributors may be used to endorse or promote products
+ derived from this software without specific prior written
+ permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+----
+
### src/md5.h, src/md5c.cc
Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
@@ -0,0 +1,274 @@
+xyzzy リリースノート
+====================
+
+ * バージョン: 0.2.2.242
+ * リリース日: 2012-07-29
+ * ホームページ: <http://xyzzy-022.github.com>
+
+
+はじめに
+--------
+
+xyzzy 0.2.2.242 では grep-dialog などでの無視ディレクトリの指定や、
+complete+ 利用時に時々クラッシュする問題の修正などを行なっています。
+
+
+インストール
+------------
+
+インストーラはありませんので zip を展開するだけです。
+インストールから初期設定までは以下を参照してください。
+
+ * [QuickTour - XyzzyWiki]
+
+
+アップデート
+------------
+
+以下の手順で 0.2.2.235 からアップデートしてください。
+
+ 1. 0.2.2.235 のバックアップ取得
+ 2. 0.2.2.242 を上書き
+ 3. $XYZZY/html を削除 ($XYZZY/docs/old に移動しています)
+ 4. xyzzy.wxp を削除
+ 5. xyzzy.exe 起動
+
+lisp/ 配下や etc/ 配下をカスタマイズしている場合は
+上書き後に再度カスタマイズをお願いします。
+
+
+機能追加
+--------
+
+ * `grep-dialog`, `gresreg-dialog` で無視ディレクトリを指定できるようになりました (x022235, #198)
+
+ 再帰的にファイルを検索する時に無視したいディレクトリ名を
+ `ed:*grep-ignored-directories*` で指定します。
+
+ デフォルトでは以下が設定されています。
+
+ ```lisp
+ "SCCS", "RCS", "CVS", "MCVS", ".svn", ".git", ".hg", ".bzr",
+ "_MTN", "_darcs", "{arch}"
+ ```
+
+ 追加で tmp/ を無視したい場合は以下のようにします。
+
+ ```lisp
+ (require "grepd")
+ (pushnew "tmp" *grep-ignored-directories* :test #'string-equal)
+ ```
+
+ * 非表示バッファ選択時にもタイトルバーを変更するようにしました (x022235, #336)
+
+ * ファイルを開くときに XML のエンコード宣言にしたがってエンコードを決定するようにしました (x022235, #339)
+
+
+バグ修正
+--------
+
+ * ミニバッファでファイル名の補完時に時々クラッシュする問題を修正しました (x022235, #321)
+
+ Vista 以降で [complete+] を利用していると高確率で発生していた問題です。
+ complete+ の問題ではなく xyzzy 本体の問題でした。
+
+ * etc/extract.exe がウィルス感染ファイルであると誤認識される問題を修正しました (x022235, #342)
+
+
+xyzzy Lisp 開発者向け機能追加
+-----------------------------
+
+ * ハッシュダイジェストをバイナリ値で取得できるようにしました (x022235, #47)
+
+ Amazon Web Services や OAuth などは HMAC-SHA-256 のバイナリ値を
+ base64 でエンコードしたものが必要になります。
+
+ 今までは `si:hmac-sha-256` などが返した 16 進文字列からバイナリ値を
+ 得るために無駄な再変換が必要でしたが、以下の関数に `:binary` 引数を
+ 指定することでバイナリ値を直接生成できるようにしました。
+
+ - md5
+ - sha-1
+ - sha-224
+ - sha-256
+ - sha-384
+ - sha-512
+ - hmac-md5
+ - hmac-sha-1
+ - hmac-sha-224
+ - hmac-sha-256
+ - hmac-sha-384
+ - hmac-sha-512
+
+ `:binary` 引数が `non-nil` なら計算結果をバイナリ値を文字列で返します。
+ `nil` の場合は従来通り 16 進文字列に変換して返します。
+
+ ```lisp
+ (setq sha256bin (map 'list 'char-code (si:sha-256 "xyzzy" :binary t)))
+ => (24 72 88 160 15 215 151 31 129 8 72 38 110 188 236 238 94 139 105
+ 151 44 95 250 237 98 47 94 224 120 103 26 237)
+
+ (format nil "~{~2,'0X~}" sha256bin)
+ => "184858a00fd7971f810848266ebcecee5e8b69972c5ffaed622f5ee078671aed"
+
+ (si:sha-256 "xyzzy")
+ => "184858a00fd7971f810848266ebcecee5e8b69972c5ffaed622f5ee078671aed"
+ ```
+
+ * 乱数の生成アルゴリズムをメルセンヌ・ツイスターに変更しました (x022235, #142)
+
+ 実装には松本眞氏と斎藤睦夫氏によって開発された [Double precision SIMD-oriented Fast Mersenne Twister (dSFMT)]
+ を利用しています (周期はビルド時に 2^19937-1 で固定)。
+
+ 参考: [良い乱数・悪い乱数]
+
+ * `directory` 関数に `:test` 引数を追加しました (x022235, #198)
+
+ 見つかったファイルを引数にして `:test` で指定した関数を `funcall` します。
+ 関数が `nil` を返した場合、そのファイルは無視します。
+ ディレクトリの場合はディレクトリ配下のファイルをすべて無視します
+ (そのディレクトリ配下の探索自体を行いません)。
+
+ ```lisp
+ ;; .git ディレクトリを無視したい場合
+ (directory "." :test #'(lambda (path)
+ (not (and (file-directory-p path)
+ (string-equal ".git" (pathname-name path)))))
+ :absolute t :recursive t)
+ ```
+
+ 備考: [CL の directory] 関数には `:test` 引数はありませんが、
+ もともと xyzzy の `directory` 関数は CL とは大きく異なるため追加しました。
+ この仕様は [CL-FAD の walk-directory] 関数を参考にしました。
+
+ * `flet`, `labels` で作成した局所関数に印字用の名前を付けました (youz, x022235, #323)
+
+ `*Trace Output*` バッファでも名前付きで出力されるためデバッグがしやすくなりました。
+
+ ```lisp
+ (flet ((foo ()))
+ (labels ((bar ()))
+ (list #'foo #'bar)))
+ ;=> (#<lexical-closure: (flet foo)> #<lexical-closure: (labels bar)>)
+ ; 0.2.2.241 では (#<lexical-closure: (anonymous)> #<lexical-closure: (anonymous)>)
+ ```
+
+
+xyzzy Lisp 開発者向けバグ修正
+-----------------------------
+
+ * `random-state` をほぼ同時に作成すると同じ乱数が生成される問題を修正しました (x022235, #142)
+
+ 乱数の seed を時刻から [CryptGenRandom] で生成した乱数に変更しました。
+
+ ```lisp
+ (let ((s1 (make-random-state t))
+ (s2 (make-random-state t)))
+ (dotimes (_ 10)
+ (format t "~S~%" (list (random 100 s1) (random 100 s2)))))
+ (48 63)
+ (53 47)
+ (32 70)
+ (83 27)
+ (36 25)
+ (99 81)
+ (54 22)
+ (36 82)
+ (63 35)
+ (67 14)
+
+ ; 0.2.2.241 では以下のように同じ乱数が生成される
+ (72 72)
+ (44 44)
+ (92 92)
+ (54 54)
+ (89 89)
+ (72 72)
+ (22 22)
+ (93 93)
+ (19 19)
+ (72 72)
+ ```
+
+ * `make-process``:show` パラメータが動作しない問題を修正しました (x022235, #315)
+
+ `make-process` は xyzzyenv.exe 経由で指定したコマンドを実行しますが、
+ `:show` パラメータが指定したコマンドではなく xyzzyenv.exe に反映されていました。
+
+ ```lisp
+ (make-process "notepad" :show :maximize)
+ ;=> メモ帳が最大化して起動
+ ; 0.2.2.241 では xyzzyenv.exe が最大化して起動
+ ```
+
+ また、`ed:*xyzzyenv-show-flag*` で xyzzyenv.exe の表示方法を指定することができます。
+
+ ```lisp
+ ; xyzzyenv.exe はタスクバーに表示しない
+ (let ((*xyzzyenv-show-flag* :hide))
+ (make-process "notepad" :show :maximize))
+ ```
+
+ * マクロ・特殊形式の引数間違い時のエラーメッセージを改善しました (x022235, #329)
+
+ ```lisp
+ (if 1 2 3 4)
+ ;=> 引数が多すぎます: (if 1 2 3 4)
+ ; 0.2.2.241 では「引数が多すぎます: (#1=#:|| . #1#)」
+
+ (defmacro foo (a b)
+ `(+ ,a ,b))
+ (foo 1)
+ ;=> 引数が少なすぎます: (foo 1)
+ ; 0.2.2.241 では「引数が少なすぎます: (#1=#:|| . #1#)」
+ ```
+
+ * `*scratch*` バッファで評価すると `*Trace Output*` に警告が出力される問題を修正しました (x022235, #334)
+
+ * `reduce``:from-end` パラメータに t を指定した時の不具合を修正しました (youz, #335)
+
+ 0.2.2.241 でのデグレードでした。
+
+その他
+------
+
+ * マルチコア環境でのビルド速度を改善しました (x022235, #341)
+
+
+既知の問題
+----------
+
+ * macro-function が CL と異なる (#320)
+ * multiple-value-bind、multiple-value-setq の macro-function が nil (#319)
+ * special-form-p が特殊形式以外にも t を返す (#318)
+ * call-process :wait t でコマンドが固まると xyzzy も固まる (#316)
+ * (setf (symbol-function)) がシンボル名を返す (#269)
+ * ASCII 以外のサイズはお任せ時に日本語が縦長で表示される (#242)
+ * software-type, software-version が CL と異なる (#169)
+ * :typeがlistかvectorで:namedじゃない構造体でtypepがおかしい (#138)
+ * ローカル関数で (setf READER) (#137)
+ * dualウィンドウモードでfilerのディレクトリ指定が動かない (#130)
+ * c-modeでマクロの継続行のインデントがおかしい (#127)
+ * クリップボードにコピーするとxyzzyが固まる場合がある (#113)
+ * C-u 999 C-g 後にメニュー操作でエラー (#111)
+ * Vista 以降で再変換 (C-c C-c) が動作しない (#101)
+ * ole で responseBody, responseStream を取得できない (#68)
+ * ole-for-each で ie.Document.all の IEnum を取得できない (#67)
+ * ole-create-event-sink に TypeLib のファイル名を明示的に指定しないとエラーになる (#66)
+ * 巨大な文字列に対する正規表現マッチがすごい遅い (#65)
+ * setf の最適化に bug (#63)
+ * handler-case で :no-error を指定してコンパイルするとエラー (#62)
+ * labels の lambda-list 内の init-form で同じ labels 式で定義したローカル関数を呼び出してると、コンパイルで挙動が変わる (#61)
+ * multiframe: 画面端の折り返しがウィンドウ単位でちゃんと動くようにする変更を取り込む (#25)
+
+
+`(provide "xyzzy-0.2.2.242")`
+
+
+ [QuickTour - XyzzyWiki]: http://xyzzy.s53.xrea.com/wiki/index.php?QuickTour
+ [complete+]: http://white.s151.xrea.com/wiki/index.php?script%2Fcomplete%2B
+ [良い乱数・悪い乱数]: http://www001.upp.so-net.ne.jp/isaku/rand.html
+ [Double precision SIMD-oriented Fast Mersenne Twister (dSFMT)]: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index-jp.html
+ [CL の directory]: http://clhs.lisp.se/Body/f_dir.htm
+ [CL-FAD の walk-directory]: http://weitz.de/cl-fad/#walk-directory
+ [CryptGenRandom]: http://msdn.microsoft.com/en-us/library/windows/desktop/aa379942.aspx
View
@@ -1623,6 +1623,7 @@ zerop
*gmark-keep-column*
*grep-directory-name-hook*
*grep-hook*
+*grep-ignored-directories*
*grepd-hook*
*gresreg-directory-name-hook*
*history-file-name*
@@ -1703,6 +1704,7 @@ zerop
*this-command*
*unicode-to-half-width*
*wrap-search*
+*xyzzyenv-show-flag*
//
///
:case-fold
@@ -3137,6 +3139,7 @@ si:*find-in-environment
si:*fixnump
si:*flet-helper
si:*fset
+si:*function-name
si:*get-string-input-stream-index
si:*index-slot-value
si:*instance-number
View
@@ -1,33 +0,0 @@
-.SUFFIXES: .cc
-
-CC=cl -nologo
-CFLAGS=-O2b1 -Gs -MD -W3 -DSTRICT -EHsc
-
-.cc.dll:
- $(CC) $(CFLAGS) -LD -Tp$< user32.lib kernel32.lib
-
-.cc.exe:
- $(CC) $(CFLAGS) -Tp$< user32.lib
-
-all: den8util.dll jdwrap.exe extract.exe tail-f.exe
-
-extract.exe: unlha32.lib
- $(CC) $(CFLAGS) -Tpextract.cc kernel32.lib user32.lib unlha32.lib \
- -link -machine:i386 -subsystem:windows -entry:WinMainCRTStartup \
- -fixed -merge:.rdata=.text
-
-unlha32.lib: unlha32.def
- lib -machine:i386 -def:unlha32.def
-
-tail-f.exe: tail-f.cc
- $(CC) $(CFLAGS) -Tptail-f.cc kernel32.lib user32.lib \
- -link -machine:i386 -subsystem:console -entry:process_startup \
- -fixed -merge:.rdata=.text
-
-clean: force
- -rm -f *.obj *.dll *.lib *.exp
-
-realclean: clean
- -rm -f *~ #*
-
-force:
View
Binary file not shown.
View
Binary file not shown.
View
Binary file not shown.
Oops, something went wrong. Retry.

0 comments on commit 599c79c

Please sign in to comment.