NYAOS.ORG

Nihongo Yet Another {OS/2|OSes|Open|GOing} Shell's support site

NYAOS 3000.ja

NYAOS 3000 とは

luacat.PNG NYAOS 3000 とは Nihongo Yet Another Open Shell 3.xx のコードネームで、 NYAOS 2.xx シリーズの次世代シェルです。

  • Lua で拡張可能
    • 内蔵コマンド 「lua_e "LUA-CODE"」で NYAOS を拡張可能
    • 詳しくは What powered by Luaを参照の事
  • Windows XP SP3 or later, and OS/2 Warp 4.5 に対応
  • CMD.EXE を必要とせず、単独で実行可能(ただし、CMD.EXE向けバッチファイル実行時等には必要)

注意

  • _nya をロードするルールが変わりました。 nyaos.exe が存在するディレクトリ、%HOME%、%USERPROFILE% が差すディレクトリ、 そしてカレントディレクトリにある全ての _nya を読み込むようになりました。
  • OS/2 では0.9d以降の emx.dll が必要です。

Download

Back number (Bitbucket)

変更履歴

  • 3.3.9_0 (2014/05/06)
    • CMD.EXE のように「SET "AHAHA=IHIHI"」という書き方が出来るようにした。
  • 3.8.8_4 (2014/04/05)
    • 漢字の 2 バイト目の 0x5E を ^ と認識してしまう問題を修正 (Thanks to Akinori Hattori)
  • 3.3.8_3 (2013/12/25)
    • COM の引数付きプロパティー参照を関数風に呼び出せない(引数が渡らない) 問題の暫定対応のため、__get__ を用意
    • gpath.lua で、非管理者で実行した時など、 設定失敗した場合にエラーメッセージを出すようにした。
  • 3.3.8_2 (2013/07/24)
    • インクリメンタルサーチ(CTRL-R)に中止機能(CTRL-G)が抜けていたので追加
    • 単独の「{」を関数定義開始と認識してしまう問題を修正
    • UNC パスへ cd できなかった不具合を修正(Thanks to @nocd5)
  • 3.3.8_1 (2013/05/06)
    • ls に -_ オプション:_ で始まるファイルを表示、を追加
    • ALT_0~9,A~Z に機能を設定できなかった不具合を修正
  • 3.3.8_0 (2013/05/03)
    • bindkey 等で CTRL_LEFT,CTRL_RIGHT 等一部のキーに機能を設定できなかった 不具合を修正
    • nyaos.keyhook に登録されている関数が return nil を実行すると、一般のキー 入力が不能に陥ってしまう不具合を修正
    • Shift + TAB の bindkey で使うキー名称を BACKTAB から SHIFT_TAB へ変更
    • Lua関数 nyaos.currentdir() を実装
    • ls -l のファイルサイズの幅が 8 桁固定だと、MB とか GB なファイルがある と表示が乱れるので動的に幅を変更 ※
    • ls にオプション -h , --si を追加 ※
      (※ Akinori Hattori氏コードをマージ)
  • 3.3.7_1 (2013/04/23)
    • X: によるドライブ移動で、ウインドウのタイトルバーにカレントドライブ とカレントディレクトリが反映されない不具合を修正
  • 3.3.7_0 (2013/03/31)
    • COMObject:Item("key")=val ができないので、かわりに COMObject:__put__("Item","key",val) を用意
    • COMオブジェクトのコレクションの各要素を for e in OBJ:__iter__() で列挙できるようにした。(pairs でも出来ていたのをメソッド名を付与)
    • nyaos.const_load(COMObject)COMObject.__const__ と書けるようにした。
      (nyaos.const_load の方はドキュメントより削除)
  • 3.3.6_1 (2013/03/01)
    • リダイレクトすると、ls -l がロングフォーマットにならない不具合を修正
    • CON や PRN をコマンド名として実行すると落ちる不具合を修正
  • 3.3.6_0 (2013/02/24)
    • 内蔵 Lua の文字列リテラルを DBCS 対応化
    • nyaos.sub , nyaos.len 追加
    • nyaos.splitknj 削除
    • _nya の中身を機能単位で分割して、_nya.d\* へ移動
    • [OS/2] PMアプリが実行できない問題が見付かったので、emx.dll を再び使用するようにした。
  • 3.3.5_1 (2013/02/18)
    • Windows8 で日本語が入力できなかった問題を修正
  • 3.3.5_0 (2013/02/16)
    • キャレット(^)を CMD.EXE 同様にエスケープ文字として認識するようにした
    • for,assoc を標準 _nya で関数定義
    • コマンドラインが111文字以上の時にCreateProcess に失敗すると、エラー メッセージが「Too long command line, or bad command or file name.」 になる謎仕様を削除
    • goto が機能していなかった不具合を修正
    • 小文字の関数しか呼べない不具合を修正
    • command(s) | nyaos.exe」 の時に、メッセージを抑制するようにした。
  • 3.3.4_3 (2013/02/09)
    • cd SHORTCUT.lnk の時に、ディレクトリ名がショートファイル名に変わって しまう不具合を修正(WINDOWS)
    • cd の後にショートカット名をファイル名補完できなかった問題を修正(WINDOWS) 全補完候補の共通長と補完前文字列の長さがちょうど同じ時に、ファイルの 大文字・小文字の自動補正が効かなかった不具合を修正
    • _nya にショートカットを作成するコマンド(lnk)を追加(WINDOWS)
    • 内蔵Luaで「pairs(COMのコレクションオブジェクト)」を出来るようにした(試作)
  • 3.3.4_2 (2013/02/02)
    • Lua で COM を呼ぶと、クラッシュする不具合を修正(Windows)
    • 実行ファイルのプロパティーでバージョンを確認できるようにした(Windows)
  • 3.3.4_1 (2013/01/19)
    • 一部の Windows 7 環境で ls , プロンプトの日本語が化ける問題を修正
  • 3.3.4_0 (2012/10/14)
    • ウインドウタイトルを変更できるようになった(Windowsのみ) (@nocd5 氏コードマージ)
    • 内蔵 cls コマンド
    • カレントディレクトリ=%USERPROFILE% の時に、同じ_nyaを2回読み込まないようにした
    • g++ 4.7.0 警告対応
  • 3.3.3_1 (2012/06/18)
    • 「lua_e "print(io.read())"」という内容のファイルを nyaos -f で 実行するとフリーズする問題を修正 (Windows のみ)
  • 3.3.3_0 (2012/06/03)
    • cd , pushd で、ディレクトリだけを補完させるようにした。
    • COM の定数読み込みを行う、nyaos.const_load を実装
    • バッチファイル実行時に、実行ファイル名と引数の両方をダブルクォート で囲むと正しく実行できない問題を修正(例: "foo.bat" "arg1")
  • 3.3.2_0 (2012/05/05)
    • 内蔵Luaから、COMオブジェクトを呼び出せるようにした(Windowsのみ) (nyaos.create_object , nyaos.get_active_object)
    • 「nyaos -f foo.lua」を「nyaos foo.lua」と書けるようにした。
  • 3.3.1_0 (2012/03/02)
    • alias の置換結果に suffix で置換できるようにした。
    • set foo:="ahaha "" ihihi"」で $foo が「ahaha " ihihi」になるようにした。 (従来の「set foo="ahaha "" ihihi"」では「"ahaha "" ihihi"」のまま)
    • set foo= ;set foo+="a""b"」で $foo が「ab」になっていたのを「a"b」になるようにした。
    • 存在しないコマンド foo に対して「echo ahaha | foo」を実行した時に、 「foo: No such file or directory」の他に「foo: Bad file descriptor」 まで表示されてしまう点を修正。
    • 内部処理でのパイプラインの分割・再統合で無駄な空白追加/削除を省いた。
    • Lua関数: nyaos.putenv を追加
  • 3.3.0_3 (2012/02/11)
    • 実行ファイルをチルダ付きパスで呼び出す時、ホームディレクトリ名に 含まれる空白を、パラメータ区切りと誤認識してしまう問題を修正
  • 3.3.0_2 (2012/01/30)
    • option savehist 時にファイルが存在しない時、エラーを出さないようにした。
    • ウインドウを閉じた場合もヒストリ保存や Lua関数 nyaos.goodbye.* を呼び出せるようになった。
    • option uncompletechar に含まれる文字がディレクトリ名の漢字の2バイト目にあった場合にファイル名補完で不要な二重引用符が足されてしまう不具合を修正
    • mklink を CMD.EXE 経由で呼び出すよう alias 定義した(_nya)
  • 3.3.0_1 (2012/01/07)
    • 「alias foo=bar」といった bash 互換文法を alias, suffix, option で 使えるようになった。
    • nyaos.eval で 32767文字を越える文字列を扱うと動作がおかしくなる問題を 修正
  • 3.3.0_0 (2012/01/01)
    • Lua 5.2 対応
    • NYAOS 独自の pairs , ipairs を削除
    • nyaos.bitand、bitor、bitxor、rshift、lshiftを削除