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

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

[nongnu] elpa/geiser-racket cf3e1bd 092/191: Racket: configurable image


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-racket cf3e1bd 092/191: Racket: configurable image cache directory
Date: Sun, 1 Aug 2021 18:32:06 -0400 (EDT)

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

    Racket: configurable image cache directory
    
    Brought to you by a comma-command in the REPL and the REPL startup
    function.
---
 geiser/user.rkt | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/geiser/user.rkt b/geiser/user.rkt
index 38eefd8..5d3ab32 100644
--- a/geiser/user.rkt
+++ b/geiser/user.rkt
@@ -79,6 +79,9 @@
          [(geiser-eval) (geiser-eval)]
          [(geiser-no-values) (datum->syntax #f (void))]
          [(add-to-load-path) (add-to-load-path (read))]
+         [(set-image-cache) (image-cache (read))]
+         [(image-cache) (image-cache)]
+         [(gcd) (current-directory)]
          [(cd) (current-directory (read))]
          [else form])]
       [_ form])))
@@ -88,12 +91,18 @@
     (printf "racket@~a> "
             (namespace->module-name (current-namespace) (last-entered)))))
 
+(define image-cache
+  (let ([ensure-dir (lambda (dir)
+                      (and (path-string? dir)
+                           (begin (make-directory* dir) dir)))])
+    (make-parameter #f ensure-dir)))
+
 (define (geiser-prompt-read prompt)
   (make-repl-reader (geiser-read prompt)))
 
 (define (geiser-save-tmpimage imgbytes)
   ;; Save imgbytes to a new temporary file and return the filename
-  (define filename (make-temporary-file "geiser-img-~a.png"))
+  (define filename (make-temporary-file "geiser-img-~a.png" #f (image-cache)))
   (with-output-to-file filename #:exists 'truncate
     (lambda () (display imgbytes)))
   filename)



reply via email to

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