-(defvar elpher-seen-nodes (make-hash-table :test 'equal)
- "Table mapping addresses to existing (seen) node objects.")
-
(defun elpher-make-node (parent address getter &optional content pos)
"Create a node in the gopher page hierarchy.
(defun elpher-make-node (parent address getter &optional content pos)
"Create a node in the gopher page hierarchy.
page.
The optional arguments CONTENT and POS can be used to fill the cached
page.
The optional arguments CONTENT and POS can be used to fill the cached
-content and cursor position fields of the node.
-
-If the hash table `elpher-seen-nodes' contains a key equal to ADDRESS,
-the node contained as its value will be returned instead."
- (let ((existing-node (gethash address elpher-seen-nodes)))
- (if existing-node
- existing-node
- (let ((new-node (list parent address getter content pos)))
- (puthash address new-node elpher-seen-nodes)
- new-node))))
+content and cursor position fields of the node."
+ (list parent address getter content pos))
(defun elpher-node-parent (node)
"Retrieve the parent node of NODE."
(defun elpher-node-parent (node)
"Retrieve the parent node of NODE."