On Mon, Aug 2, 2010 at 3:13 AM, Phil Jackson <[email protected]>wrote:
> Hey Nathan, > > One quick note here I might make is that having these things > abstracted like that means that should the fundamental architecture > beneath magit change (I'm thinking of the new key binging system we've > been promising ourselves) then we needn't change plugins when we > switch over. > > Cheers, > Phil > I think that's a case of premature API optimization. It's hard to know how the implementation will change and how that will effect the API; the struct API might well need to be changed in similar ways. Given that, I think it makes sense to go with the cleaner, more Emacsey API in the first place. For instance: the new keybinding system will probably require that Magit know what the prefix char is and what the subprefix chars are. This information currently can't be extracted without potentially-inconsistent string parsing. I think it makes more sense to just let extensions upgrade to new APIs when necessary. After all, there are only three extensions (that I know of) right now, and the extension API will probably more-or-less stabilize before there are many more. - Nathan
