I've committed a fairly intrusive change to the data structure used at each ewoc node in dvc-bookmarks to my branch. I did this because I was having difficulty understanding all of the nths and cadars and it was stoppping me from working on some dvc-bookmarks features that I'd like to hack on.
I'm hoping this will get some scrutiny before anyone considers merging it. Committed revision 382 to http://bazaar.launchpad.net/~toby-mi6/dvc/toby_allsopp dvc-bookmarks: Clarify data structures. This change introduces the `dvc-bookmark' struct and uses instances of it as the node data for the dvc-bookmarks ewoc. Nothing is changed in the external representation or functionality of dvc-bookmarks (except that the output of `dvc-bookmarks-show-info-at-point' looks slightly different); this is purely to clarify the code in anticipation of future enhancements to functionality. * lisp/dvc-bookmarks.el (dvc-bookmark): New struct. (dvc-bookmark-properties): New function. (dvc-bookmark-partner): New struct. (dvc-assq-all, make-dvc-bookmark-from-assoc, dvc-bookmark-key-value) (dvc-bookmark-value, dvc-bookmark-partners, dvc-bookmark-partner-urls): New functions. (dvc-bookmarks-current-data): Rename to... (dvc-bookmarks-current-bookmark): ... and use ewoc-data directly. (dvc-bookmarks-marked-data): Rename to... (dvc-bookmarks-marked-bookmark): ... and use new accessors. (dvc-bookmarks-get-partners): Remove. (dvc-bookmarks-get-partner-urls): New function. (dvc-bookmarks-partner-nickname): Remove. (dvc-bookmarks-printer, dvc-bookmarks-show-info-at-point) (dvc-bookmarks-kill, dvc-bookmarks-current-value) (dvc-bookmarks-current-key-value, dvc-bookmarks-marked-value) (dvc-bookmarks-missing, dvc-bookmarks-yank) (dvc-bookmarks-toggle-mark-entry, dvc-bookmarks-add) (dvc-bookmarks-add-partner, dvc-bookmarks-remove-partner) (dvc-bookmarks-add-nickname, dvc-bookmarks-add-push-location) (dvc-bookmarks-remove-push-location): Use new functions and accessors. _______________________________________________ Dvc-dev mailing list [email protected] https://mail.gna.org/listinfo/dvc-dev
