Darren Hoo | 21 May 2013 18:31
Picon

feature missed in geiser-repl

Slime REPL has a feature that if you put the point over the old repl
input  then hit enter, the old repl input will be yanked into the repl
again to the end of the comint buffer. I find it is very convenient way
of going through the repl input  history besides cycling through the
history using keybindings M-n and M-p.

How about adding this feature to geiser-repl?

--8<---------------cut here---------------start------------->8---
From 31407eac6011bd6224699b95d4c9e723b83e67f2 Mon Sep 17 00:00:00 2001
From: Darren Hoo <darren.hoo@...>
Date: Tue, 21 May 2013 15:01:11 +0800
Subject: [PATCH] yank input if point is over history input

---
 elisp/geiser-repl.el | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el
index 1d1b317..87c1588 100644
--- a/elisp/geiser-repl.el
+++ b/elisp/geiser-repl.el
 <at>  <at>  -525,15 +525,28  <at>  <at>  module command as a string")
     (narrow-to-region (geiser-repl--last-prompt-end) (point-max))
     (geiser-syntax--nesting-level)))

+(defun geiser-repl--mark-input-bounds (beg end)
+  (add-text-properties beg end '(field t)))
+
+(defun geiser-repl--is-history-input ()
(Continue reading)

Mikhail Maluyk | 13 May 2013 19:29
Picon
Gravatar

Re-evaluation fails when embedding Geiser into Racket program

Hello,

I'm seeing strange behaviour when re-evaluating code, here is a simplified version that fails for me:

;; hello.rkt

(module hello racket
  (require geiser/server "world.rkt")
  (start-geiser 9999 "localhost"))  

;; world.rkt

(module world racket
  (provide pi)
  (define pi 3.14))

When i edit source code of world.rkt and change pi to be 3.141 and execute geiser-eval-last-sexp i get the following error:
(define pi 3.141) Error: struct:exn:fail:contract:variable define-values: assignment disallowed; cannot re-define a constant constant: pi in module: "/home/d/test/world.rkt"
I'm running Racket v5.3.3, Geiser from github #bf1134c65c166eea537bc73797ef6f48cb9b4abe
(compile-enforce-module-constants) -> #f

Any help is appreciated.

--
Regards,
Mikhail
Nick Parker | 10 May 2013 22:28
Favicon
Gravatar

Geiser Patch Submission

Hello,

I am writing to ask about the process for submitting patches to geiser.  Seeing as the codebase [1] is on Github, is it preferred to submit a pull request?

1.  https://github.com/jaor/geiser
Aleix Conchillo Flaqué | 9 May 2013 07:24
Picon
Gravatar

[PATCH] guile: lambda* indentation

Support for lambda* proper indentation.
Attachment (geiser-guile-lambda*.patch): application/octet-stream, 639 bytes
Jose A. Ortega Ruiz | 3 May 2013 20:40
Picon
Gravatar

[ANN] Geiser 0.4 released


With many thanks to all you guys:

  New features:

   - New command geiser-insert-lambda, bound to C-c \ in Scheme
     buffers (thanks to Ray Racine).
   - Configurable case-sensitivity when highlighting keywords (thanks
     to Diogo F.S. Ramos), via geiser-guile-case-sensitive-p and
     geiser-racket-case-sensitive-pp
   - C-u C-x C-e to insert evaluation result in buffer (thanks to
     Diogo).
   - New flag geiser-repl-query-on-kill-p to control whether emacs
     will ask for confirmation before killing a buffer with a live
     REPL process.
   - New flag geiser-mode-start-repl-p to tell Geiser to start a new
     REPL if one isn't active when geiser-mode is activated.

  Bug fixes:

   - Filename completion should also work in emacs 23.2 now.
   - Racket filenames with spaces no longer break Geiser when entering
     them (thanks to Diogo).
   - The REPL no longer hangs when company-mode is active (thanks to
     Aleix Conchillo).
   - Help manual lookup in Racket fixed for #lang racket/base modules.

Happy hacking!
jao
--

-- 
Be regular and orderly in your life so that you may be violent and original
in your work.
 -Gustave Flaubert, novelist (1821-1880)

Diogo F. S. Ramos | 23 Apr 2013 11:15
Picon

"import cycle detected" error with Racket

1. M-x run-racket
2. Visit a buffer with a Racket program
3. Evaluate a "require" expression with C-x C-e
4. Try to enter file with C-c C-a
5. "module: import cycle detected"

Example of Racket program:

#lang racket/base

(require racket/list)

Diogo F. S. Ramos | 17 Apr 2013 17:22
Picon

Fail to look up `date->string' in Racket

1. Enter a file with the language `racket'
2. Try to look up the symbol `date->string' with C-c C-d C-i
3. "Looking up manual for 'date->string'... not found"

Example of file:

#lang racket

(date->string )

C-M-i works for completion, however.

I'm using Emacs 24.3.1, Racket 5.3.3 and geiser from master.

Diogo F. S. Ramos | 15 Apr 2013 01:43
Picon

Manual not showing up while trying to look up symbol with `racket/base'

1. Find a file with `#lang racket/base'
2. Try to look up a symbol with C-c C-d C-i
3. A message appears announcing the look up but nothing shows up

Example of file:

#lang racket/base

(list 42)

Put the cursor on `list' and press C-c C-d C-i.  Only the message in the
echo area will show up.  Even entering the file or changing
"racket/base" to "racket" will not fix it.

Now, kill the REPL with C-c C-q, change "racket/base" to "racket", save
the buffer and open the REPL again with C-c C-z.  Now looking up the
symbol works fine, even changing "racket" to "racket/base" afterwards.

I'm using Racket 5.3.3, Emacs 24.3.1 and geiser from master.

Diogo F. S. Ramos | 14 Apr 2013 20:30
Picon

Racket and JIT

Is the JIT turned off when running a Racket REPL?

Aleix Conchillo Flaqué | 13 Apr 2013 17:11
Picon
Gravatar

iterative process not finishing

While writing this:

http://hacks-galore.org/aleix/blog/archives/2013/04/13/add1-sub1-and-recursive-process

I just found that the iterative process doesn't always end in geiser
if I use big numbers:

(o+ 10 10000000)

I can just press enter right away and the prompt appears again.

scheme <at> (guile-user)> (o+ 10 10000000)

scheme <at> (guile-user)>

This works find using the repl in a terminal.

Any ideas?

Aleix

Diogo F. S. Ramos | 12 Apr 2013 03:49
Picon

[BUG] Hanging while completing symbol in a Racket filename which contains a white space

1. C-x C-f /tmp/foo bar.rkt RET
2. Insert `#lang racket '
3. Save it and enter file with C-c C-a
4. Type `(li[TAB]'

Now the process hangs.

AFAICS it loops indefinitely at a `while' in
`geiser-con--send-string/wait' but I can't understand why.


Gmane