補完候補の表示時のソート関数の指定 (#354)

補完候補を表示するときは辞書順でソートしているがソート順を指定したい
場合があるので *print-completion-sort-function* でソート関数を指定可能
とする。

*print-completion-sort-function* が nil の場合はソート処理自体をしない。

(cherry picked from commit 3e1446e944a73415f411905ec316a0334c0e138f)
*print-completion-sort-function* のキーワードとリファレンスを追加 (#354)

(cherry picked from commit fd53a02df662f4a931db17d88be242479fc606c7)
*print-completion-sort-function* が nil の場合の補完候補の表示順 (#354)

*print-completion-sort-function* が nil の場合は指定したリストの逆順で
補完候補が表示されるのを修正。

(cherry picked from commit 11a4c992099f52a778d53c79e22ccc39476bb708)
*do-completion のテストを追加 (#354)

(cherry picked from commit 353643efc821e8af9b2a420811856350768bd9d6)
ファイルが変更された場合のみ exe をコピー (#355)

(cherry picked from commit f135fa10ff66020b5dafc6b080dddacdead21416)
num-arith.d のデバッグ改善 (#357)

* VS が src/num-arith.d を見つけることができないので
  ワーキングディレクトリは変えずに相対パスで指定
* 行番号がずれていたのを修正

(cherry picked from commit 0961fb77d526f50d8f7ac223d0988ad68dca4949)
num-arith.d のデバッグ改善 (#357)

行番号のズレを修正しても inline 展開されていたりしてまともに
デバッガで num-arith.d をステップ実行できないので、#line を
コメントアウト。

src/gen/num-arith.h を直接デバッグしたほうがまし。

(cherry picked from commit 75697ab316f07b817bc311710f0656fa4259833b)
src/gen/num-arith.h のデバッグ改善 (#357)

* デバッグしやすいように生成するソースコードをインデントするように変更
* num-arith.d でインデント誤りや行末の空白を削除

(cherry picked from commit 64e8cafc5e94e92e5b087a2f4ac25151a70d8c6f)
large_int 構造体を int64_t で置き換え (#252)

(cherry picked from commit ab3a4076a4f3dffe509dce5984705f94f4eb0fd3)

Conflicts:
	src/archiver.cc : merge by hand
	src/bignum.cc   : merge by hand
num-arith.d のテストを追加 (#252)

(cherry picked from commit b2f2cb8cc93d49081376398a7d2d9d47fdeead8e)
file-precious-flag を追加 (#358)

* file-precious-flag が nil の場合、ファイル保存時に
  一時ファイルを作成せずに直接ファイルを上書きする
* デフォルト値は今までの xyzzy の動作とあわせて t
  (一時ファイルに一旦保存する)
* デフォルト値以外の仕様は Emacs とあわせた（つもり）
  http://www.geocities.co.jp/SiliconValley-Bay/9285/ELISP-JA/elisp_372.html#SEC373

(cherry picked from commit 135d06ae3dc841e56f135f578a6354d1b0c275b9)
file-precious-flag のキーワードとリファレンスを追加 (#358)

ついでに backup-by-copying も追加。

(cherry picked from commit fde5c6b3ba960a16f138b9d12a199e0b792002d0)
etc/, lisp/ ファイルをコピーするタイミングを変更 (#355)

* コピーするタイミングを AfterClCompile から BeforeClCompile に変更
* AfterClCompile だとビルドがされない場合は実行されないため

(cherry picked from commit ca98cbf2a1571f1c4c83b139da45d28ce5f49701)
リファレンスに利用可能になるバージョンを明記 (#358)

(cherry picked from commit b360f51081b7a1cb949746cce33ee0d2c15eda82)
リファレンスに利用可能になるバージョンを明記 (#354)

(cherry picked from commit 8a83f4c82eddb2f72c65ab0efb0e2243a6efb22f)
リリースノート更新 (#360)

(cherry picked from commit 1a8c8b2a6cf3165d3d650490ac88dcf3e828b939)
ole-method でNull値を渡せるよう修正

引数がキーワードシンボル :null の場合、Null値を渡す
cf. nil -> False, :empty -> Empty値

(cherry picked from commit 5ddc76b7596739ba9a9448ee4a76117a4c38f637)
ole-method でNull値とEmpty値を渡すテストを追加

(cherry picked from commit fc1e9a1e821304a7f9d01bf6f0dd13006431b05e)
Windows 8 で共通設定のフォントタブが表示されない問題を修正 (#363)

Windows 8 でダイアログのデフォルトのフォントが "MS UI Gothic" (12 文字) から
"Meiryo UI" (9 文字) に変更された。

DLGTEMPLATE ではフォント名のあとの要素は WORD 境界に配置しなければならないが、
12 文字から 9 文字に変わったため WORD 境界からずれてしまっていた。

Reported-by: @yasuoohno

参考:

  * http://msdn.microsoft.com/en-us/library/windows/desktop/ms645394.aspx

    > Remarks
    >
    > The menu, class, title, and font arrays must be aligned on WORD boundaries.

  * http://xyzzy.codeplex.com/SourceControl/changeset/f8e69d864693

(cherry picked from commit 5855f9b84578de8cdc5dafae879bedae293db45f)
Fix: SafeArray of immidiate can't access. (#68)

SafeArrayGetElement return immidate value when safe array is array of UI1.
So if you want to return value to VARIANT, you should set V_VT for input val.
Just setting this value must be enough for this fix, but I also change to use SafeArrayPtrOfIndex.
Because ruby version of win32ole use similar code, and it's used much wider and so it must be much robust.
(And it's a little faster, anyway).
Reference: http://d.hatena.ne.jp/miyamuko/20060619/p1

Conflicts:

	unittest/lisp-tests.l

(cherry picked from commit afeccebe690293ffd03f18bc9253791932b689dc)