emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/geiser-racket 95d41eb 156/191: Racket: better behaviour of


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-racket 95d41eb 156/191: Racket: better behaviour of geiser-eval-buffer
Date: Sun, 1 Aug 2021 18:32:20 -0400 (EDT)

branch: elpa/geiser-racket
commit 95d41eb644e5255a05f84275c049d4c28cd5b566
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>

    Racket: better behaviour of geiser-eval-buffer
    
    For buffers containing a #lang directive, geiser-eval-buffer was simply
    broken: one cannot send the whole region wrapped in a `begin' in that
    case.
    
    We try now to send the region below, although a real solution would
    imply using #%module-begin as the wrapper, in order to be robust for
    languages that define their own version of the macro (such as TR).
    
    But people should use C-c C-a or C-c C-k and leave this silly function
    alone instead.
---
 elisp/geiser-racket.el | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el
index 59886e3..e466ce3 100644
--- a/elisp/geiser-racket.el
+++ b/elisp/geiser-racket.el
@@ -1,6 +1,6 @@
 ;; geiser-racket.el -- geiser support for Racket scheme
 
-;; Copyright (C) 2009, 2010, 2011, 2012, 2013 Jose Antonio Ortega Ruiz
+;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Jose Antonio Ortega Ruiz
 
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the Modified BSD License. You should
@@ -137,11 +137,14 @@ using start-geiser, a procedure in the geiser/server 
module."
             (geiser-syntax--form-from-string (match-string-no-properties 1))))
       "#f"))
 
-(defun geiser-racket--implicit-module ()
+(defun geiser-racket--implicit-module (&optional pos)
   (save-excursion
     (goto-char (point-min))
     (when (re-search-forward "^#lang " nil t)
-      (buffer-file-name))))
+      (if pos (progn (end-of-line) (list (point))) (buffer-file-name)))))
+
+(defun geiser-racket--eval-bounds ()
+  (geiser-racket--implicit-module t))
 
 (defun geiser-racket--find-module ()
   (let ((bf (geiser-racket--implicit-module))
@@ -428,6 +431,7 @@ Use a prefix to be asked for a submodule name."
   (import-command geiser-racket--import-command)
   (exit-command geiser-racket--exit-command)
   (find-symbol-begin geiser-racket--symbol-begin)
+  (eval-bounds geiser-racket--eval-bounds)
   (display-error geiser-racket--display-error)
   (external-help geiser-racket--external-help)
   (check-buffer geiser-racket--guess)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]