[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-chicken 0efe613 026/102: Limits search to the line
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-chicken 0efe613 026/102: Limits search to the line beginning |
Date: |
Sun, 1 Aug 2021 18:26:49 -0400 (EDT) |
branch: elpa/geiser-chicken
commit 0efe613603a9db8eb384c7ca52cd3e4ea75c6532
Author: Dan Leslie <dan@ironoxide.ca>
Commit: Dan Leslie <dan@ironoxide.ca>
Limits search to the line beginning
- Also adds page breaks to geiser-chicken.el
---
elisp/geiser-chicken.el | 33 +++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/elisp/geiser-chicken.el b/elisp/geiser-chicken.el
index c086b17..973c4e7 100644
--- a/elisp/geiser-chicken.el
+++ b/elisp/geiser-chicken.el
@@ -26,7 +26,6 @@
(eval-when-compile (require 'cl))
-
(defconst geiser-chicken-builtin-keywords
'("and-let*" "assume" "compiler-typecase" "cond-expand" "condition-case"
"cut" "cute" "declare" "define-constant" "define-inline" "define-interface"
@@ -40,6 +39,7 @@
"unless" "use" "when" "with-input-from-pipe" "match" "match-lambda"
"match-lambda*" "match-let" "match-let*" "receive"))
+
;;; Customization:
(defgroup geiser-chicken nil
@@ -96,7 +96,7 @@ this variable to t."
:type 'boolean
:group 'geiser-chicken)
-
+
;;; REPL support:
(defun geiser-chicken--binary ()
@@ -118,6 +118,7 @@ This function uses `geiser-chicken-init-file' if it exists."
(defconst geiser-chicken--prompt-regexp "#[^;]*;[^:0-9]*:?[0-9]+> ")
+
;;; Evaluation support:
(defun geiser-chicken--geiser-procedure (proc &rest args)
@@ -171,16 +172,20 @@ This function uses `geiser-chicken-init-file' if it
exists."
(defun geiser-chicken--exit-command () ",q")
(defun geiser-chicken--symbol-begin (module)
- (apply
- 'max
- (append
- (list (save-excursion (beginning-of-line) (point))
- (save-excursion (skip-syntax-backward "^-()>") (point)))
- (mapcar
- (lambda (match-string)
- (save-excursion (skip-chars-backward match-string) (point)))
- geiser-chicken-prefix-delimiters))))
-
+ (let ((distance-to-beginning-of-line (- (point) (line-beginning-position))))
+ (apply
+ 'max
+ (append
+ (list (save-excursion (beginning-of-line) (point))
+ (save-excursion (skip-syntax-backward "^-()>"
distance-to-beginning-of-line)
+ (point)))
+ (mapcar
+ (lambda (match-string)
+ (save-excursion (skip-chars-backward match-string
distance-to-beginning-of-line)
+ (point)))
+ geiser-chicken-prefix-delimiters)))))
+
+
;;; Error display
(defun geiser-chicken--display-error (module key msg)
@@ -190,6 +195,7 @@ This function uses `geiser-chicken-init-file' if it exists."
(geiser-edit--buttonize-files))
(and (not key) msg (not (zerop (length msg)))))
+
;;; Trying to ascertain whether a buffer is Chicken Scheme:
(defconst geiser-chicken--guess-re
@@ -204,6 +210,7 @@ This function uses `geiser-chicken-init-file' if it exists."
"Loads chicken doc into a buffer"
(browse-url (format "http://api.call-cc.org/cdoc?q=%s&query-name=Look+up"
id)))
+
;;; Keywords and syntax
(defun geiser-chicken--keywords ()
@@ -264,6 +271,7 @@ This function uses `geiser-chicken-init-file' if it exists."
(define-interface 1)
(module 2))
+
;;; REPL startup
(defconst geiser-chicken-minimum-version "4.8.0.0")
@@ -303,6 +311,7 @@ This function uses `geiser-chicken-init-file' if it exists."
(compilation-setup t)
(geiser-chicken--compile-or-load (not geiser-chicken-compile-geiser-p)))
+
;;; Implementation definition:
(define-geiser-implementation chicken
- [nongnu] elpa/geiser-chicken 616954d 078/102: Fix latest chicken. Add debug level logging. Fixed typo., (continued)
- [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, 2021/08/01
- [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 <=
- [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
- [nongnu] elpa/geiser-chicken 1d3e6de 023/102: Add general font-lock keywords for all implementations, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken c1f5959 053/102: Remove compilation of chicken module, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 975fca9 001/102: Initial Chicken support, Philip Kaludercic, 2021/08/01