emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/geiser-racket 87662a1 164/191: Not cleaning the image cach


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-racket 87662a1 164/191: Not cleaning the image cache before displaying images
Date: Sun, 1 Aug 2021 18:32:21 -0400 (EDT)

branch: elpa/geiser-racket
commit 87662a1386e684432e8b4a2d3b22c26a09fb1551
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>

    Not cleaning the image cache before displaying images
    
    Image cache cleaning was being performed during comint output filtering
    and, since that can happen in batches, if the total output had more
    images than the maximum cache size, some of them would be gone (in fact
    it was even worse: we were cleaning the cache after each image display).
    
    Now we just perform cache maintenance before sending the input, and
    avoid paying a price for non-rackets by making the cache dir setting
    implementation-specific.
---
 elisp/geiser-racket.el | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el
index 8a0d46d..6a849e3 100644
--- a/elisp/geiser-racket.el
+++ b/elisp/geiser-racket.el
@@ -1,6 +1,6 @@
 ;; geiser-racket.el -- geiser support for Racket scheme
 
-;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Jose Antonio Ortega Ruiz
+;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015 Jose Antonio Ortega 
Ruiz
 
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the Modified BSD License. You should
@@ -366,6 +366,8 @@ using start-geiser, a procedure in the geiser/server 
module."
 (defun geiser-racket--version (binary)
   (shell-command-to-string (format "%s  -e '(display (version))'" binary)))
 
+(defvar geiser-racket--image-cache-dir nil)
+
 (defun geiser-racket--startup (remote)
   (set (make-local-variable 'compilation-error-regexp-alist)
        `(("^ *\\([^:(\t\n]+\\):\\([0-9]+\\):\\([0-9]+\\):" 1 2 3)))
@@ -373,9 +375,12 @@ using start-geiser, a procedure in the geiser/server 
module."
   (if geiser-image-cache-dir
       (geiser-eval--send/wait
        `(:eval (image-cache ,geiser-image-cache-dir) geiser/user))
-    (setq geiser-image-cache-dir
+    (setq geiser-racket--image-cache-dir
           (geiser-eval--send/result '(:eval (image-cache) geiser/user)))))
 
+(defun geiser-racket--image-cache-dir ()
+  (or geiser-image-cache-dir geiser-racket--image-cache-dir))
+
 
 ;;; Additional commands
 
@@ -434,6 +439,7 @@ Use a prefix to be asked for a submodule name."
   (external-help geiser-racket--external-help)
   (check-buffer geiser-racket--guess)
   (keywords geiser-racket--keywords)
+  (image-cache-dir geiser-racket--image-cache-dir)
   (case-sensitive geiser-racket-case-sensitive-p)
   (binding-forms geiser-racket--binding-forms)
   (binding-forms* geiser-racket--binding-forms*))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]