Comments (7)
各ファイルにおいて、それが必要としている feature についてとにかく require することを手元で試したことがありますが、お互いに require しあう状態が多発したことを覚えています。
ファイル配置、関数配置を大幅に見直すことになろうかと思われます。
from ddskk.
なるほど。
循環参照になるならこの状態を直すのは大変ですね。。
from ddskk.
取り組む勇気がある方なら、テーマとしては面白いものであると思われます。
from ddskk.
勉強しようと思い Wanderlust や org のコードを眺めてみましたが、私にとっては高度な内容でした。
何か参考になるコードやコーディング規約がありましたら教えてください。
from ddskk.
一般的な内容としては"GNU Emacs Lisp Reference Manual" (info elisp)の
Coding Conventionsがありますが、循環参照を回避するテクニックとしては、
Wanderlustのwl/wl.elを参照してみてはどうでしょうか。
(provide 'wl) ; circular dependency (require 'wl-folder) (require 'wl-summary)
(provide 'wl)によって、以降のrequire先での(require 'wl)によるロード
が抑止されています。
from ddskk.
https://github.com/magit/magit/blob/c8cd22e28d20b0d7ae74102df4e35d7c0c61ebe6/lisp/magit.el#L553-L556
https://github.com/magit/magit/blob/c8cd22e28d20b0d7ae74102df4e35d7c0c61ebe6/lisp/magit-status.el#L33
なるほど。provideの後にrequireするのは何か変な感じがするなぁと思っていたのですが、循環参照を回避するテクニックだったのですね。
magitでも確認できました。
from ddskk.
手元で実験中です。require の前にあらかじめ provide することによって、全ファイルのバイトコンパイルは通りました。
が、別な問題が発生しています(調査中)。
from ddskk.
Related Issues (20)
- skk-get-current-candidate: Symbol’s function definition is void: skk-henkan-count HOT 7
- skk-jisyo の standard value について HOT 1
- trailing space HOT 4
- 「う゛」から「ゔ」使用に切り替えるパッチ HOT 1
- Multiple Cursorsと一緒使えない HOT 1
- マーカー(▼と▽)の変更 HOT 17
- MELPAでddskkではなくskkとして配布する HOT 7
- Markdown-modeの表中でddskkを使うと▼マーカーが削除されない HOT 4
- skk-undo-kakutei-return-previous-point non-nil の時の挙動 HOT 2
- skk-azikの「tU」->「っ」定義について HOT 2
- (void-function facemenu-color-equal) in Emacs-28 HOT 1
- Cursor colour no longer changes to match hiragana/katakana mode. HOT 18
- void-function facemenu-color-equal in Emacs-28.0 HOT 2
- sticky-key使用時、まだ消費されていない文字が消える
- make info で error HOT 2
- Emacs 29.0.50: Wrong type argument: listp, 1000000000 HOT 1
- '(setq skk-use-azik t)' in ~/.skk causes error 'Symbols' definition is void: del-alist` HOT 1
- emacs-29とddskk masterでisearchを使えば「Lisp error: (void-function nil)」が出ます HOT 6
- elpaca fails to install ddskk because ccc installed version (0) lower than min required 1.43
- ccc depends on facemenu, yet ccc doesn't stipulate facemenu as a dependency. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ddskk.