Skip to content

v0.3-DlPatch-1 - Dreamland Patch Release 1

Compare
Choose a tag to compare
@IepIweidieng IepIweidieng released this 26 Feb 11:46

修改記錄 | Changelog

  • API 變更 | API Changes
    1. 重新定義 getyx()/getmaxyx() 結果的 y 為 row,x 為 column
      Redefine the result of getyx()/getmaxyx(): y for row and x for column
      • 避免與其他 BBS 系統的定義衝突
        Prevent the y and x definition clashing with other BBS systems
      • 可以透過 bbsruby.c 開頭的環境設定恢復成 x 為 row,y 為 column 的定義
        The environment settings in the beginning of bbsruby.c can be used to re-enable the previous definition where y is for row and x is for column
      • 建議改用如 r, c = getyx().values 的方式讀取結果
        It is recommended to use a construction like r, c = getyx().values to make use of the result
  • 問題修正 | Fixed issues
    1. 修正 memory leak 以及其他記憶體存取問題
      Fix memory leaks and other memory accessing issues
      1. 修正 Ruby interpreter 會隨機顯示 parse 錯誤的問題
        Fix the issue that the Ruby interpreter sometimes reports parsing errors while loading a script
    2. 修正 BBS-Ruby 執行失敗會造成 segmentation fault 的問題
      Fix the issue that segmentation faults occurs when BBS-Ruby produces run-time errors
    3. 修正執行 BBS-Ruby 會造成所有的 signal handler 被取代的問題
      Fix the issues that all the signal handlers are replaced permanently when BBS-Ruby is launched
    4. 部分解決 Ruby 變數/物件不會重設的問題
      Fix the issue that Ruby variables/objects never reset
    5. 修正 move()/moverel() 的結果不正確的問題
      Fix the issue that move()/moverel() produce wrong results
    6. 修正不接受說明文件中的 TOC 標籤格式的問題
      Fix the issue that the documented TOC format is not accepted by the implementation
  • 功能改進 | Functionality improvements
    1. 增加對 Ruby 2.0 ~ 2.2 的支援
      Add supports for Ruby 2.0 - 2.2
      • 由於安全上的問題,暫不支援 Ruby 2.3+
        Ruby 2.3+ is not support for now due to security considerations
      • 目前建議使用 Ruby 2.2 編譯
        For now, it is recommended to compile BBS-Ruby with Ruby 2.2
    2. 現在 BBS-Ruby 可以在其他 Maple3 / PttBBS 上編譯了
      BBS-Ruby now compiles on other Maple3 and PttBBS systems
      • 可能需要自行調整 bbsruby.c 開頭的環境設定
        You might still need to adjust the environment settings in the beginning of bbsruby.c
    3. 讓程式出錯時的錯誤訊息更為詳細
      Make error messages reported by Ruby interpreter more detailed
    4. 現在 BBS-Ruby 在執行前會檢查版本
      Now BBS-Ruby checks the target API level before executing the script
    5. 讓程式行號與文章行號一致
      The line number of the script and the line number of the article is now consistent
    6. 現在執行 BBS-Ruby 時會先清除螢幕
      The screen will be cleared when BBS-Ruby is launched
    7. 放寬 TOC 標籤語法
      Make the TOC syntax less restrictive
      1. TOC 標籤可以用 ##### 開頭
        A TOC entry may start with ## or ###
      2. TOC 標籤可以包含空格,也接受大小寫混合
        A TOC entry may contain spaces and mixed-case titles
      3. 可以用全小寫的 key 存取 TOC 標籤
        TOC entries may be accessed with lower-cased keys
    8. getdata() 在支援的 BBS 上可以用 Ctrl-C 跳出
      Ctrl-C now makes getdata() return when the configuration of the BBS system permits
  • 其他 | Other changes
    1. 重新排版程式碼,修正程式碼錯字及亂碼
      Re-indent the code as well as fix typos and mojibake
    2. 將程式碼改寫成符合 ISO C90/C99 標準
      Make the code conform to ISO C90/C99
    3. 修正程式碼中誤用函數/參數型別不符的問題
      Fix misuses of library function and type mismatches
    4. 不再load空白檔案 empty.rb;移除 RubyFix.h
      The empty file empty.rb is no longer needed to be loaded; RubyFix.h is now unneeded and has been removed
    5. 將 C API 函數名稱改為以 brb_ 開頭
      Change the prefix of BBS-Ruby C API functions to brb_
    6. 其他程式碼重構/細節修正
      Other refactors and detail corrections