ToDo:
AutoLoadの設定は、各Packages/*.nの提供するシンボルに基づいている訳で、 各パッケージライブラリの更新と同期してinit.nを変更する用に管理するのは 構成ファイル間の同期管理を人間がやる訳で効率が悪い気がする。 特に、ブランチ間でのパッチ適用時に init.nのリビジョン違いによる パッチの衝突を手動で解決する必要が有るのがNG
解決策としては、各パッケージライブラリのコードから提供される シンボルを抽出してAutoLoadの設定を自動生成する仕組みを作って、 インストール時にinit-autoloads.n見たいなファイルを生成して 実行時にそれを読み込ませるとか...
コードをパースして外部リンケージなシンボルを探すことも技術的には 可能だが、内部インターフェース用のシンボルも有るので、 コード内に外部公開するシンボルを記述して、それを自動で収集する 辺りが落としどころかな?
記述法としては、
ExportVariables[foo, bar]; ExportSymbols[hoge, hige];
みたいに関数形式で記述する(実行時には、関数がNullを返す)か、
! AutoLoadSymbols: foo bar ! AutoLoadSetSymbols: hoge hige
みたいにコメントブロック内にマジックストリングで埋め込む形式の 2種類が考えられる。
どちらがいいだろう?
関数記法だと回りくどう記述をされると、公開するシンボルがスクリプト 実行時まで決定しないので、インタプリタに読み込ませる必要が有るのが 難かな?
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記