-(defvar elopher-incomplete-record "")
-
-(defun elopher-render-complete-records (string)
- (let* ((til-now (string-join (list elopher-incomplete-record string)))
- (lines (split-string til-now "\r\n")))
- (dotimes (idx (length lines))
- (if (< idx (- (length lines) 1))
- (let ((line (elt lines idx)))
- (unless (string-empty-p line)
- (elopher-render-record line)))
- (setq elopher-incomplete-record (elt lines idx))))))
-
-
-;;; History management
-;;
-
-(defvar elopher-history nil
- "List of pages in elopher history.")
-
-(defun elopher-push-history ()
- "Add current contents of buffer, including point, to history."
- (unless (string-empty-p (buffer-string))
- (push
- (list (buffer-string)
- (point))
- elopher-history)))
-
-(defun elopher-pop-history ()
- "Restore most recent page from history."
- (interactive)
- (if (get-buffer "*elopher*")
- (if elopher-history
- (let* ((inhibit-read-only t)
- (prev-page (pop elopher-history))
- (page-string (car prev-page))
- (page-point (cadr prev-page)))
- (switch-to-buffer "*elopher*")
- (erase-buffer)
- (insert page-string)
- (goto-char page-point))
- (message "Already at start of history."))
- (message "No elopher buffer found.")))
-