[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-chicken 2127c37 097/102: Fix error when compiling d
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-chicken 2127c37 097/102: Fix error when compiling define-library form in Chicken |
Date: |
Sun, 1 Aug 2021 18:27:03 -0400 (EDT) |
branch: elpa/geiser-chicken
commit 2127c378fe3a5b75fbd19116204d603b5d3ee997
Author: Ricardo G. Herdt <r.herdt@posteo.de>
Commit: Ricardo G. Herdt <r.herdt@posteo.de>
Fix error when compiling define-library form in Chicken
Problem: when running geiser-compile-current-buffer (C-c C-k) on a file
using R7RS's define-library form, geiser-chicken--get-module starts an
infinite recursion. This happens because the original regular expression
contains two groups, but the code only tries to fetch the library name
from the first one with "(match-string-no-properties 1)".
Solution: we use the same strategy as in geiser-guile.el, namely we split
the
regular expression into two separate ones, and check them one by one.
Note: this code also removes "looking-at", since it seems to be an
unnecesary
micro-optimisation.
---
geiser-chicken.el | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/geiser-chicken.el b/geiser-chicken.el
index cac9211..9624085 100644
--- a/geiser-chicken.el
+++ b/geiser-chicken.el
@@ -162,15 +162,19 @@ This function uses `geiser-chicken-init-file' if it
exists."
(format "(geiser#geiser-%s %s)" proc form)))))
(defconst geiser-chicken--module-re
- "( *module +\\(([^)]+)\\|[^ ]+\\)\\|( *define-library +\\(([^)]+)\\|[^
]+\\)")
+ "( *module +\\(([^)]+)\\|[^ ]+\\)")
+
+(defconst geiser-chicken--define-library-re
+ "( *define-library +\\(([^)]+)\\)")
(defun geiser-chicken--get-module (&optional module)
(cond ((null module)
(save-excursion
(geiser-syntax--pop-to-top)
(if (or (re-search-backward geiser-chicken--module-re nil t)
- (looking-at geiser-chicken--module-re)
- (re-search-forward geiser-chicken--module-re nil t))
+ (re-search-backward geiser-chicken--define-library-re nil t)
+ (re-search-forward geiser-chicken--module-re nil t)
+ (re-search-forward geiser-chicken--define-library-re nil t))
(geiser-chicken--get-module (match-string-no-properties 1))
:f)))
((listp module) module)
- [nongnu] elpa/geiser-chicken 2caa284 072/102: Fixes autodoc in Chicken, #258, (continued)
- [nongnu] elpa/geiser-chicken 2caa284 072/102: Fixes autodoc in Chicken, #258, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken d1abcb1 074/102: geiser-chicken.el: Fix jao's name, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken a6f88ca 081/102: Mark the beginning of code part of elisp libraries with Code: heading, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 616954d 078/102: Fix latest chicken. Add debug level logging. Fixed typo., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 1854a39 086/102: geiser-chicken--version: Don't use a shell, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 885fed9 095/102: Nit: first -> car, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 0016d96 096/102: Whitespace, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 555b25b 100/102: autoloads, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 1655717 080/102: Begin the summary lines of all elisp libraries with three semicolons, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 6370805 088/102: add geiser# prefix to geiser calls, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 2127c37 097/102: Fix error when compiling define-library form in Chicken,
Philip Kaludercic <=
- [nongnu] elpa/geiser-chicken b9b12e0 099/102: version update, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken d7d4445 029/102: Refactored to reduce the reliance on regex., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 0efe613 026/102: Limits search to the line beginning, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 6743d36 036/102: Stopped over-aggressive memoization, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken e9bebe2 032/102: Adds memoization, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken bfccf97 038/102: Fixes for Literals, Errors and Modules, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 2481dfc 041/102: Right-most character of arguments was being cut, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken c3731bf 047/102: Oops: shell-quote-binary -> shell-quote-argument, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken bc3f877 049/102: Fuzzy matching for Chicken AutoDoc and Completions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken d3743db 051/102: Fixes a potential endless loop., Philip Kaludercic, 2021/08/01