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

Reply via email to