From 49da44f6373718400833585dd494a35f71205d6e Mon Sep 17 00:00:00 2001 From: Dan Leslie Date: Wed, 2 Dec 2015 21:47:23 -0800 Subject: Fixes for Literals, Errors and Modules If literals were present chicken wouldn't provide any autodocumentation due to an error. Module evaluation was failing due to poor input. Chicken's Error output was failing to parse - Filter out all non-symbols from the autodoc set - Properly escape module names - Add "Error" to the set of accepted error prefixes --- elisp/geiser-chicken.el | 5 +++-- elisp/geiser-connection.el | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'elisp') diff --git a/elisp/geiser-chicken.el b/elisp/geiser-chicken.el index a68ab7b..88d60cf 100644 --- a/elisp/geiser-chicken.el +++ b/elisp/geiser-chicken.el @@ -143,8 +143,9 @@ This function uses `geiser-chicken-init-file' if it exists." (defun geiser-chicken--geiser-procedure (proc &rest args) (case proc ((eval compile) - (let ((form (mapconcat 'identity (cdr args) " "))) - (format "(geiser-eval %s '%s)" (or (car args) "#f") form))) + (let ((form (mapconcat 'identity (cdr args) " ")) + (module (if (car args) (concat "'" (car args)) "#f"))) + (format "(geiser-eval %s '%s)" module form))) ((load-file compile-file) (format "(geiser-load-file %s)" (car args))) ((no-values) diff --git a/elisp/geiser-connection.el b/elisp/geiser-connection.el index e466cd3..8a3de31 100644 --- a/elisp/geiser-connection.el +++ b/elisp/geiser-connection.el @@ -202,7 +202,7 @@ `((error (key . geiser-debugger)) (output . ,answer)) (condition-case err - (let ((start (string-match "((\\(?:result)?\\|error\\) " answer))) + (let ((start (string-match "((\\(?:result)?\\|error\\|Error\\) " answer))) (or (and start (car (read-from-string answer start))) `((error (key . retort-syntax)) (output . ,answer)))) (error `((error (key . geiser-con-error)) -- cgit v1.2.3