-(defun elpher-add-node-bookmark (node)
- "Add bookmark to NODE to the saved list of bookmarks."
- (let ((bookmark (elpher-make-bookmark (elpher-node-display-string node)
- (elpher-node-address node)))
- (bookmarks (elpher-load-bookmarks)))
- (add-to-list 'bookmarks bookmark)
+(defun elpher-add-address-bookmark (address display-string)
+ "Save a bookmark for ADDRESS with label DISPLAY-STRING.
+If ADDRESS is already bookmarked, update the label only."
+ (let ((bookmarks (elpher-load-bookmarks)))
+ (let ((existing-bookmark (rassoc (list address) bookmarks)))
+ (if existing-bookmark
+ (elpher-set-bookmark-display-string existing-bookmark display-string)
+ (add-to-list 'bookmarks (elpher-make-bookmark display-string address))))