[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-guile 5848440 246/284: Speeding up debugger check (
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-guile 5848440 246/284: Speeding up debugger check (addresses #64) |
Date: |
Sun, 1 Aug 2021 18:29:53 -0400 (EDT) |
branch: elpa/geiser-guile
commit 58484400fd3dde3ec28057159ce55f22fcb6c919
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>
Speeding up debugger check (addresses #64)
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.
---
geiser/evaluation.scm | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/geiser/evaluation.scm b/geiser/evaluation.scm
index ea4071d..4c87532 100644
--- a/geiser/evaluation.scm
+++ b/geiser/evaluation.scm
@@ -49,11 +49,6 @@
(ge:set-warnings 'none)
-(define (stringify obj)
- (object->string obj
- (lambda (o . ps)
- (pretty-print o (car ps) #:max-expr-width 100))))
-
(define (call-with-result thunk)
(letrec* ((result #f)
(output
@@ -62,7 +57,8 @@
(with-fluids ((*current-warning-port* (current-output-port))
(*current-warning-prefix* ""))
(with-error-to-port (current-output-port)
- (lambda () (set! result (map stringify (thunk))))))))))
+ (lambda () (set! result
+ (map object->string (thunk))))))))))
(write `((result ,@result) (output . ,output)))
(newline)))
- [nongnu] elpa/geiser-guile 420a8c4 222/284: Guile: setting *current-warning-prefix* during evaluation, (continued)
- [nongnu] elpa/geiser-guile 420a8c4 222/284: Guile: setting *current-warning-prefix* during evaluation, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 4c02219 227/284: Guile: capturing output to standard error, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 09e2247 230/284: Little clean-ups to the indentation rules, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile af0122c 238/284: Fix: not using mapcar for effect, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 7d17a3c 236/284: Guile: augmenting %load-compiled-path too, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 08d4524 252/284: Use OS-specific quotes when asking for versions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 3ba4ad4 242/284: Guile: font lock for all components of module names, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile cf8498d 219/284: Guile: 'format' added to the warning list, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 55efccc 226/284: Guile: deprecated format usage eliminated, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 51b62a7 248/284: Add 'geiser-guile--builtin-keywords', Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 5848440 246/284: Speeding up debugger check (addresses #64),
Philip Kaludercic <=
- [nongnu] elpa/geiser-guile 129d6de 234/284: Missing require cl for case, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 467aded 240/284: Highlight `define-once', Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 5836749 278/284: Library declaration recognition (Arun Isaac), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile b3d0caa 259/284: Bug fix: expanding file name at the right time, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 0355cd6 266/284: Begin the summary lines of all elisp libraries with three semicolons, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 8532dc1 274/284: geiser-guile.el at the top level, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 91be7a3 280/284: missing require, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 72290ad 172/284: Bug fix: connect-to-guile wasn't interactive, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 9ad7d3a 178/284: Guile: recognizing R6RS libraries as modules, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 061559e 187/284: Guile: suppress embedded comments when sending multi-line sexps, Philip Kaludercic, 2021/08/01