summaryrefslogtreecommitdiff
path: root/elisp/geiser-connection.el
AgeCommit message (Collapse)Author
2021-12-29geiser-eval-wait -> geiser-wait-eval (and make it work)jao
2021-12-27New helper, geiser-eval-wait, to facilitate synchronous evaluationsjao
This should address, for instance, issue #30
2021-12-20Asynchronous, interruptable evaluationsjao
2021-12-19Debugger: fixes and better determination of debugging statusjao
2021-12-18Allowing debuggers to use Dbg buffer for outputjao
2021-12-04Fix: better handling of recurring debugging entrancesjao
2021-11-30Better handling of REPL's output regionsjao
FSVO better, but at least the code is cleaner and prompts regexps more accurate.
2021-04-21Use defvar-localJonas Bernoulli
It is available since Emacs 24.3 and we already depend on Emacs 24.4.
2020-04-26Fix typosJonas Bernoulli
2020-03-27Fix indentationJonas Bernoulli
2020-03-27Mark the beginning of code part of elisp libraries with Code: headingJonas Bernoulli
It's the convention and by following it we make a big step towards supporting outline navigation. The convention doesn't say much about what parts of the code are supposed to be part of that sections and what parts belong in a subsequent section. Here we put the `require' forms in this section and maybe some setup code, that's a popular approach. In most cases there was " " where we now insert "Code:". They both serve a similar purpose and we keep the former because some users depend on that for navigation. We even add this " " in libraries where it previously was missing. In some cases the permission statement was followed by a commentary, which obviously does not belong in the "Code:" section. In such cases add the conventional "Commentary:" section.
2019-08-06Remove debug printing. Align par-style with geiser.Lockywolf
2019-08-06Add scheme subroutine to find files implementing modules to chibi.Lockywolf
Add a helper function make-location to chibi interface.
2016-04-10Use assq instead of assoc in request and connection wrappersAlex Kost
2016-04-10Remove double call in 'geiser-con--connection-add-request'Alex Kost
Avoid calling 'geiser-con--request-string' twice by wrapping it into 'let'.
2015-12-05Removed changes to geiser-connectionDan Leslie
2015-12-05Fixes for Literals, Errors and ModulesDan Leslie
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
2015-09-10Speeding up debugger check (addresses #64)Jose Antonio Ortega Ruiz
Soooo, the long delay experienced when evaluating long string lists in Guile had nothing to do with the time took by emacs to read the response from the scheme process; that process is always a breeze, no matter or its format or number of newlines. The delay was provoked by an innocent looking function that scans the received string (which includes a prompt at the end as an EOT marker) to check whether Guile (or any other scheme) has just entered the debugger (that's done inside `geiser-con--connection-update-debugging`). For some reason, `string-match` on that kind of string using Guile's regexp for a debug prompt takes forever. Instead of trying to optimize the regular expression, i've just applied it to the *second* line of the received string, which is the one that contains the response's prompt.
2013-04-10Fix for evaluations returning no resultJose Antonio Ortega Ruiz
Such as (values), which produce a retort of the form ((result) ...), which has nothing wrong in it! Thanks to Diogo.
2011-06-23Avoid (read) breakage (fixes #33090)jao
Autodoc was firing while the REPL was waiting for input of a (read) call, causing all kinds of misbehaviour. We now inhibit autodoc on sending a form for evaluation and re-inhibit it once a prompt is read back again.
2011-02-14Fix for the fix of the fixJose Antonio Ortega Ruiz
2011-02-14Fix for the fixJose Antonio Ortega Ruiz
2011-02-14Guile REPL: bug fix: correctly track debugging statusJose Antonio Ortega Ruiz
We weren't tracking the "enter debugger" event correctly, and all evaluations in debug mode were failing. There's still (at least) another bug, because error navigation in backtraces seems broken.
2011-02-09More robust retort detectionJose Antonio Ortega Ruiz
Some schemes (okay, Guile) may output spurious messages besides a well-formed retort. This will be eventually fixed; in the meantime, we try to skip the noise (and may fail miserably if that noise has a form similar to the signal we search).
2011-01-03Really avoiding *spurious* buffersJose Antonio Ortega Ruiz
My previous attempt was bogus! Also, i'm taking advantage of our sending queries serially to simplify transaction queue processing, and to clean after ourserlves on error.
2010-12-28Bug fix: properly enqueue requestsJose Antonio Ortega Ruiz
I've observed that autodoc requests in connections to tekuti processes often miss their deadline. This was causing serialization problems, fixed (i think) by this patch; but we still have the problem of too many misses, which could be fixed by making autodoc asynchronous (and we probably need this for really remote connections anyway).
2010-12-14No more vicious error circle on tq errorsJose Antonio Ortega Ruiz
I've eliminated the annoying *spurious* popup produced by tq, so that Geiser can recover from error conditions arising from unexpected input to a transaction queue that has no active transaction. We now log the offending input and keep going. Greg, over at racket's list, reported such a happening when leaving the REPL after C-u C-c C-z; but i've been unable to reproduce the problem. Probably, we have a bug lurking somewhere that this patch doesn't fix, but at least it should work as a palliative.
2010-11-14Smoother reloadJose Antonio Ortega Ruiz
Let's not wait for active connections to clear their queue when we're shutting down the REPL.
2010-11-13CleanupsJose Antonio Ortega Ruiz
Nothing here, move on.
2010-11-12Make do with a single connectionJose Antonio Ortega Ruiz
Separate connections for the REPL and Geiser commands was kind of neat, but it had the problem of synchronising the current namespace for both connections. A quick fix would have been to ask the scheme for the current namespace for every Geiser command in the REPL, but that, besides clunky, would add potentially prohibitive overhead for (real) remote connections. As it happens, using a single connection turned out to be not that difficult and relatively clean code-wise. We could even turn back to not use inferior schemes, and the net result of this refactoring would be the replacement of comint-redirect (which wasn't able to match the whole EOT token if it didn't arrive all at once) by transaction queues (which also makes geiser-connection's implementation cleaner). But using an inferior scheme has a dog-food value, and allows external processes to connect to the scheme being used by Geiser without further ado, which could be useful for debugging (although this is a lame excuse: nothing prevents you from starting a REPL server from emacs if you want). We'll see.
2010-11-12Debugger support, and Guile using itJose Antonio Ortega Ruiz
2010-11-12Better EOT token for more robust communicationJose Antonio Ortega Ruiz
2010-11-12NitsJose Antonio Ortega Ruiz
2010-11-11Partial work (connections working)Jose Antonio Ortega Ruiz
2010-11-09Racket: remote REPLsJose Antonio Ortega Ruiz
2010-11-09Elisp buggettes and warningsJose Antonio Ortega Ruiz
2010-11-08Connection plumbing: ability to specify EOT token addedJose Antonio Ortega Ruiz
2010-11-07Interruptible connection waitingJose Antonio Ortega Ruiz
2010-11-07Better connection logsJose Antonio Ortega Ruiz
2010-11-07Pumbling cleanupsJose Antonio Ortega Ruiz
2010-11-07NitsJose Antonio Ortega Ruiz
2010-07-20Guile: geiser commands working at the debugging prompt.Jose Antonio Ortega Ruiz
2010-03-08Hook to setup the debugger when it's launched.Jose Antonio Ortega Ruiz
2010-01-28Generic support for debugging prompts in the REPLJose Antonio Ortega Ruiz
2010-01-17Minor bug fix.Jose Antonio Ortega Ruiz
2009-09-11BSD relicensing: elisp code.Jose Antonio Ortega Ruiz
2009-07-02Simpler, nicer, more efficient handling of evaluation results. ItJose Antonio Ortega Ruiz
comes with a pony too.
2009-06-17Whitespace.Jose Antonio Ortega Ruiz
2009-06-16Fixes in retort parsing.Jose Antonio Ortega Ruiz
2009-06-16Better parsing of scheme retorts in the Emacs end.Jose Antonio Ortega Ruiz