+ (setcar (nthcdr 3 node) content))
+
+(defun elopher-set-node-pos (node pos)
+ (setcar (nthcdr 4 node) pos))
+
+(defun elopher-save-pos ()
+ (when elopher-current-node
+ (elopher-set-node-pos elopher-current-node (point))))
+
+(defun elopher-restore-pos ()
+ (let ((pos (elopher-node-pos elopher-current-node)))
+ (if pos
+ (goto-char pos)
+ (goto-char (point-min)))))
+
+;; Node graph traversal
+
+(defvar elopher-current-node)