From a0db7c20b6621b17b90f0f758652c7d120468a4a Mon Sep 17 00:00:00 2001 From: jao Date: Fri, 26 Mar 2021 22:40:54 +0000 Subject: jao-eww-session: flag to avoid saving non-started sessions --- lib/net/jao-eww-session.el | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'lib/net/jao-eww-session.el') diff --git a/lib/net/jao-eww-session.el b/lib/net/jao-eww-session.el index 6e68eb6..ddbc572 100644 --- a/lib/net/jao-eww-session.el +++ b/lib/net/jao-eww-session.el @@ -308,18 +308,21 @@ the session is already displayed in a eww tab, jao-eww-session can: (defun jao-eww-session-current-to-file () (jao-eww-session--to--file jao-eww-session-file)) +(defvar jao-eww-session--init nil) +(defun jao-eww-session--init () (setq jao-eww-session--init t)) + (defun jao-eww-session--to--file (filename &optional is-auto) (require 'pp) - (let ((inhibit-message is-auto)) - (with-temp-buffer - (insert ";;;; File generated by jao-eww-session. DO NOT EDIT!\n") - (pp (jao-eww-session-current) (current-buffer)) - (insert "\n" ";;;; End of " - (file-name-nondirectory jao-eww-session-file) "\n") - (write-region (point-min) (point-max) (expand-file-name filename))))) + (when jao-eww-session--init + (let ((inhibit-message is-auto)) + (with-temp-buffer + (insert ";;;; File generated by jao-eww-session. DO NOT EDIT!\n") + (pp (jao-eww-session-current) (current-buffer)) + (insert "\n" ";;;; End of " + (file-name-nondirectory jao-eww-session-file) "\n") + (write-region (point-min) (point-max) (expand-file-name filename)))))) (defvar jao-eww-session--timer nil) - (defun jao-eww-session--backup-name (fname) (concat (expand-file-name fname) ".bak")) @@ -341,9 +344,12 @@ the session is already displayed in a eww tab, jao-eww-session can: jao-eww-session-autosave-period 'jao-eww-session--save-backup)))) + + ;;;; save session on checkpoints (add-to-list 'kill-emacs-query-functions (lambda () (jao-eww-session-save) t)) (add-hook 'eww-after-render-hook #'jao-eww-session--save-backup) +(add-hook 'eww-after-render-hook #'jao-eww-session--init) (advice-add 'eww-back-url :after #'jao-eww-session--save-backup) (advice-add 'eww-forward-url :after #'jao-eww-session--save-backup) -- cgit v1.2.3