From 460d921de8788a7ae8dfaebcf5aec0d776d3cbd5 Mon Sep 17 00:00:00 2001 From: jao Date: Sat, 13 Aug 2022 19:44:05 +0100 Subject: jao-doc-session: using it --- lib/doc/jao-doc-view.el | 58 ------------------------------------------------- lib/eos/jao-afio.el | 11 +++++----- 2 files changed, 5 insertions(+), 64 deletions(-) (limited to 'lib') diff --git a/lib/doc/jao-doc-view.el b/lib/doc/jao-doc-view.el index 03fd5c1..3973104 100644 --- a/lib/doc/jao-doc-view.el +++ b/lib/doc/jao-doc-view.el @@ -18,66 +18,8 @@ ;; Author: Jose Antonio Ortega Ruiz ;; Start date: Fri Feb 15, 2013 01:21 - -;;; Session - (require 'doc-view) -(defvar jao-doc-view-session-file "~/.emacs.d/cache/doc-view-session.eld") -(defvar-local jao-doc-view--is-doc nil) - -(defun jao-doc-view-session-mark (path) (setq-local jao-doc-view--is-doc path)) -(defun jao-doc-view--is-doc () - (or jao-doc-view--is-doc - (when (derived-mode-p 'doc-view-mode 'pdf-view-mode 'nov-mode) - (buffer-file-name)))) - -(defun jao-doc-view--read-file (file) - (let ((buff (find-file-noselect file))) - (ignore-errors - (with-current-buffer buff - (goto-char (point-min))) - (read buff)))) - -(defun jao-doc-view--save-to-file (file value) - (with-current-buffer (find-file-noselect file) - (erase-buffer) - (insert (format "%S" value)) - (save-buffer))) - -(defun jao-doc-view-session (&optional file) - (let ((file (or file jao-doc-view-session-file))) - (jao-doc-view--read-file file))) - -(defun jao-doc-view-save-session (&optional skip-current) - (interactive) - (let ((docs '()) - (cb (when skip-current (current-buffer)))) - (dolist (b (buffer-list)) - (with-current-buffer b - (when-let (fn (and (not (eq cb b)) (jao-doc-view--is-doc))) - (add-to-list 'docs fn)))) - (when (> (length docs) 0) - (jao-doc-view--save-to-file jao-doc-view-session-file docs)))) - -(defun jao-doc-view--save-session-1 () - (when (jao-doc-view--is-doc) (jao-doc-view-save-session t))) - -(defvar jao-doc-view-inhibit-session-save nil) - -(defun jao-doc-view--save-session () - (let ((inhibit-message t) - (message-log-max nil)) - (when (not jao-doc-view-inhibit-session-save) - (jao-doc-view-save-session)) - t)) - -(add-hook 'kill-emacs-query-functions #'jao-doc-view--save-session) -(add-hook 'kill-buffer-hook #'jao-doc-view--save-session-1) -(add-hook 'doc-view-mode-hook #'jao-doc-view--save-session) -(add-hook 'pdf-view-mode-hook #'jao-doc-view--save-session) -(add-hook 'nov-mode-hook #'jao-doc-view--save-session) - ;;; PDF info (defvar-local jao--pdf-outline nil) diff --git a/lib/eos/jao-afio.el b/lib/eos/jao-afio.el index 306a1d5..98a8760 100644 --- a/lib/eos/jao-afio.el +++ b/lib/eos/jao-afio.el @@ -21,6 +21,7 @@ ;;; Code: (require 'cl-lib) +(require 'jao-doc-session) (defvar jao-open-doc-fun 'find-file) (defvar jao-afio-mail-function 'gnus) @@ -74,8 +75,8 @@ ;;;###autoload (defun jao-afio-open-pdf-session () (interactive) - (let ((jao-doc-view-inhibit-session-save t)) - (dolist (doc (jao-doc-view-session)) + (let ((jao-doc-session-inhibit-save t)) + (dolist (doc (jao-doc-session)) (when (and (file-exists-p doc) (y-or-n-p (format "Open %s? " doc))) (jao-open-doc doc) (other-window 1))) @@ -85,13 +86,11 @@ (interactive) (delete-other-windows) (split-window-right) - (let ((docs (cl-remove-if-not (lambda (b) - (with-current-buffer b (jao-doc-view--is-doc))) - (buffer-list)))) + (let ((docs (cl-remove-if-not 'jao-doc-session-is-doc (buffer-list)))) (if (car docs) (progn (switch-to-buffer (car docs)) (switch-to-buffer-other-window (or (cadr docs) (car docs)))) - (when (and (jao-doc-view-session) (y-or-n-p "Load saved session? ")) + (when (and (jao-doc-session) (y-or-n-p "Load saved session? ")) (jao-afio-open-pdf-session))))) (declare w3m "w3m") -- cgit v1.2.3