Skip to content

Instantly share code, notes, and snippets.

@gcr
Created September 2, 2012 18:54
Show Gist options
  • Select an option

  • Save gcr/3603121 to your computer and use it in GitHub Desktop.

Select an option

Save gcr/3603121 to your computer and use it in GitHub Desktop.
(defun geiser-debug--display-retort (what ret &optional res auto-p)
(let* ((err (geiser-eval--retort-error ret))
(key (geiser-eval--error-key err))
(output (geiser-eval--retort-output ret))
(impl geiser-impl--implementation)
(module (geiser-eval--get-module))
(dbg nil)
(img nil)
(dir default-directory)
(buffer (current-buffer))
(debug (eq key 'geiser-debugger))
(after (geiser-debug--display-after what)))
(when debug
(switch-to-geiser nil nil buffer)
(geiser-debug--enter-debugger impl))
(geiser-debug--with-buffer
(erase-buffer)
(when dir (setq default-directory dir))
(unless after
(geiser-debug--display-error impl module nil what)
(newline 2))
(setq img (when (and res (not err)) (geiser-debug--insert-res res)))
(setq dbg (geiser-debug--display-error impl module key output))
(when after
(goto-char (point-max))
(insert "\nExpression evaluated was:\n\n")
(geiser-debug--display-error impl module nil what))
(goto-char (point-min)))
(when (or img dbg) (geiser-debug--pop-to-buffer))))
(defun geiser-image--replace-images (inline-images-p auto-p)
"Replace all image patterns with actual images"
(let ((seen 0))
(with-silent-modifications
(save-excursion
(goto-char (point-min))
(while (re-search-forward "\"?#<Image: \\([-+./_0-9a-zA-Z]+\\)>\"?" nil t)
(setq seen (+ 1 seen))
(let* ((file (match-string 1))
(begin (match-beginning 0))
(end (match-end 0)))
(delete-region begin end)
(if (and inline-images-p (display-images-p))
(progn
(goto-char begin)
(insert-image (create-image file) "[image]"))
(geiser-image--insert-button file)
(when auto-p (geiser-image--display file)))
(setq geiser-image-cache-dir (file-name-directory file))
(geiser-image--clean-cache)))))
seen))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment