Coder Social home page Coder Social logo

asdlei99 / xyzzy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xyzzy-022/xyzzy

0.0 1.0 0.0 5.48 MB

xyzzy 0.2.2 系列。有志により開発が継続中です。

Home Page: http://xyzzy-022.github.com

License: MIT License

Shell 0.14% C 26.41% Scheme 0.25% Ruby 0.04% C++ 72.45% Objective-C 0.03% D 0.67%

xyzzy's Introduction

xyzzy

xyzzy は亀井哲弥氏 が開発した、Common Lisp っぽい言語で拡張可能な Emacs っぽいテキストエディタのようなものです。 2ch とか Twitter とか五目並べができたり、テキストファイルの読み書きができます。

現在は亀井氏に変わり有志によって開発が継続しています。


xyzzy 0.2.2 系列とは

xyzzy 0.2.2 系列は以下の観点を重視したバージョンです。

  • xyzzy 0.2.2.235 との後方互換性
    • xyzzy は過去に作られた資産のうちメンテされていないものが結構ありますが、 これらを修正せずに動作できることが絶対条件です
    • そのためにはたとえバグでも直さないことがあります
  • Common Lisp との互換性を重視
    • ただし、0.2.2.235 との互換性が保たれる場合のみ
    • CL と動作が違う部分で過去の資産に影響を与えなさそうなものは修正する
    • CL と動作が違う部分で過去の資産に影響を与えるものは、 common-lisp パッケージまたは common-lisp-user パッケージで定義する
  • 安定性
    • 十分テストしてから粛々とリリースする

以下の観点については特に重視しません。

  • 前方互換性
    • 新規 API に依存したアプリが 0.2.2.235 で動かないのは当たりまえ
    • 前方互換性を気にしていると前に進めない
  • multiframe 版や unicode 版との互換性
    • そもそも上記派生バージョンは 0.2.2.235 と互換性がないから
    • multiframe 版や unicode 版のうち互換性に影響を与えない修正は取り込む

他の派生版との違いは以下のとおりです。

  • multiframe 版と比べて、一つの xyzzy で画面をいっぱい開いたり出来ません。 その代わり 0.2.2.235 と互換性があります。
  • unicode 版と比べて、ユニコードへの対応が中途半端です。 その代わり 0.2.2.235 と互換性があります。

用語:

  • 後方互換性 = 0.2.2.235 以前に書かれたものが 0.2.2.236 以降でも動作すること
  • 前方互換性 = 0.2.2.236 以降に書かれたものが 0.2.2.235 でも動作すること

開発

https://github.com/xyzzy はすでにアカウントが取られていたので https://github.com/xyzzy-022 という GitHub Organization で行います。

開発したい人は Organization に追加するので、とりあえず Pull Request を送ってください。

  • ブランチモデルは A successful Git branching model に従います

    • topic ブランチ、develop ブランチ、release ブランチ、master ブランチ
    • topic ブランチで開発して develop ブランチの merge --no-ff
    • Fast Forward な merge だと問題があった時に revert するのが面倒なので、かならず --no-ff でマージコミットを生成する
    • master ブランチは常にリリース可能な状態に置く
  • チケット・ドリブン

    • とりあえず気づいたことは GitHub Issues に登録しておく
    • いきなり Pull Request でもよい
    • すでにあるチケットを実装したなら Pull Request 時に元のチケットの番号を記載する
  • チケットの仕方

    • てきとーに
  • ChangeLog は書かない

    • merge 時にコンフリクトしまくってめんどくさい
    • チケットに書けばいい
  • コミットログの書き方

    • Git 流 (メールみたいなやつ) に従うが日本語で良い
    • エンコーディングは UTF-8 で
  • コーディングルール

  • push または Pull Request する前に以下を確認

    • build.batbuild.bat Debug が警告なしでビルドできること
    • run-tests-all.bat がパスすること
  • .gitconfig に以下を設定しておく

    [i18n]
            commitencoding = utf-8
            logoutputencoding = utf-8
    [gui]
            encoding = utf-8

リリース

  • 毎月、肉の日リリース
  • バージョン番号は 0.2.2.x の x 部分をリリースのたびにインクリメント
    • 修正の大小にかかわらず常に 1 づつ増やしていく
    • 0.2.2.65535 まで使える

サポート OS

  • Windows XP SP3 以降をサポート

ビルド方法

環境

手順

  1. build.bat
    • デバッグ版は build.bat Debug
  2. bytecompile.bat
  3. ぽけーと待つ
  4. できあがり
  5. run-tests.bat でユニットテストを実行

ライセンス

MIT ライセンスです。 詳細は LICENSE ファイルを参照のこと。

xyzzy's People

Contributors

ambi avatar bowbow99 avatar coexe avatar furugomu avatar m-takagi avatar miyamuko avatar mumurik avatar snmsts avatar southly avatar splhack avatar wanabe avatar x022235 avatar xyzzy-17-638 avatar youz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.