summaryrefslogtreecommitdiff
path: root/elisp
AgeCommit message (Collapse)Author
2014-06-01Almost redundant REPL command to interrupt evaluationJose Antonio Ortega Ruiz
Works almost identically to the stock C-c C-c, with just marginally better output aaand being well behaved when interrupting infinitely looping functions such as (define (f) (newline) (let loop () (loop))) -- cf. issue #29 on github. We like it so much that it replaces the old one.
2014-05-31Finer control of debugging window popupsJose Antonio Ortega Ruiz
It's now possible to control whether we jump to the debug window on evaluation errors (geiser-debug-jump-to-debug-p) and whether we show it all (geiser-debug-show-debug-p).
2014-03-26Indent Guile's `with-mutex'Diogo F. S. Ramos
Follow the convention for `with-' procedures.
2014-03-07Fontify when too (thanks to Diogo)Jose Antonio Ortega Ruiz
2014-03-07Disable error in `define-syntax-rule' font lockDiogo F. S. Ramos
This allows partially matched `define-syntax-rule' expressions and avoids the termination of search-based fontification, which affects other expressions inside the buffer, in the case of a missing subexpression.
2014-03-07Highlight `define-once'Diogo F. S. Ramos
Guile's `define-once' allows defining a variable only once, but its syntax is different from `define', so its highlight is different.
2014-02-27Add 'geiser-connect-local' to connect over Unix-domain socket.Ludovic Courtès
2014-02-25Using font-lock-function-name-face for define-syntax-ruleJose Antonio Ortega Ruiz
The name defined It's more like a function in a define than a variable, since it can take arguments.
2014-02-25Font lock `define-syntax-rule' like `define' proceduresDiogo F. S. Ramos
`define-syntax-rule' is similar enough to procedure definitions that it should be highlight as a slightly different version of one. The faces were chosen to keep the same scheme used by `define-macro'. `define-syntax-rule' was removed from Racket's extra keywords as there is no need to special case it.
2014-01-10Racket: better behaviour of geiser-eval-bufferJose Antonio Ortega Ruiz
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.
2013-09-26Checking for versions before creating the REPL bufferJose Antonio Ortega Ruiz
... so that we don't end up with a blank, useless buffer around.
2013-09-25Scheme version checksJose Antonio Ortega Ruiz
And, if you happen to be launching it all the time, a way of skipping them via a customizable variable. Should address issue #15.
2013-09-19Fix file headers and footer for ELPA compatibilitySteve Purcell
This will allow `package-buffer-info` to parse the description out of the file.
2013-09-19Missing autoload cookies for MELPAJose Antonio Ortega Ruiz
Everything in geiser.el needs one, so that the generated geiser-autoloads.el initializes variables and the like properly automatically.
2013-09-19Paving the way to MELPA (and simpler ELPA generation)Jose Antonio Ortega Ruiz
Following the discussion in GitHub, i'm adding an alternative scheme path to geiser.el as well as ##autoload cookies. As a first benefit, this simplifies a bit the elpa target, after playing a similar path trick in bin/geiser-racket.sh. Things should be almost ready for creating a MELPA recipe.
2013-09-19Fix: not using mapcar for effectJose Antonio Ortega Ruiz
2013-09-13Guile: augmenting %load-compiled-path tooJose Antonio Ortega Ruiz
We add the paths in geiser-guile-load-path also to %load-compiled-path, and new directories added to the load path via geiser-add-to-load-path are added to both %load-path and %load-compiled-path. Here's hope Ludovic will like all these additions!
2013-08-26Syntax error fixedJose Antonio Ortega Ruiz
Too much clojure latetly!!
2013-08-26Ensuring that comint-process-echoes is nil in REPLJose Antonio Ortega Ruiz
This variable makes comint wait for the underlying process to echo its input, something our schemes won't do. If anyone sets the variable globally for what can only be perverse reasons, we just would just hung. Not anymore.
2013-08-25Let's make it *any* submoduleJose Antonio Ortega Ruiz
So the new functions are named geiser-racket-*-submodules, and by default all submodule forms are hidden. Now that we have the helpers in geiser-edit, we could have a generic command in geiser-mode to change the visibility of form at point.
2013-08-25Racket: new commands to show and hide test submodulesJose Antonio Ortega Ruiz
The new commands, being racket-specific, are called geiser-racket-{show,hide,toggle}-tests, and have no default binding in geiser-mode (since they don't have any meaning in Guile). The implementation is based on more generic functions in geiser-edit that allow hiding of any top-level form, given its name, so we will probably find new forms to hide in the future. Hiding is limited to top-level forms, which i think is fine for the only use case we have in mind right now.
2013-08-12Newish emacsen don't have comint-last-prompt-overlayJose Antonio Ortega Ruiz
... so we have to check if it's defined and, in its defect, use the new shiny comint-last-prompt. A bit of refactoring resulted.
2013-07-29Avoiding a segfault due to out of bounds stack sizeJose Antonio Ortega Ruiz
The parser in geiser-syntax is (tail, but elisp doesn't care) recursive, and we are setting max-lisp-eval-depth to some, ahem, heuristic value before starting a read. For long strings, such as that returned by the list of identifiers exported by the racket module, the heuristic was bad enough to produce a value making Emacs to blow away. This is just a palliative. The real solution is turn the recursion in geiser-syntax--read into an explicit iteration.
2013-07-02Real solution for the non-ascii-history problemJose Antonio Ortega Ruiz
We were using a history entry separator including \0 that wasn't writeable as an utf-8 file. Changing the separator to \n}{\n allows using UTF-8 characters in the REPL which are correctly read back.
2013-07-01A couple of byte-compilation warnings goneJose Antonio Ortega Ruiz
2013-07-01Using session instead of session.el for you bytecompilersJose Antonio Ortega Ruiz
2013-07-01Another not entirely satisfactory experiment with raw-textJose Antonio Ortega Ruiz
2013-07-01Experiment setting history file coding systemJose Antonio Ortega Ruiz
2013-07-01Preventing session.el messing up with geiser-doc--historyJose Antonio Ortega Ruiz
Session seems to be recovering the value of geiser-doc--history badly (see issue #7 for @achitu's discoveries), and since it is, in fact, not a good idea to save it anyway, we've added an eval-on-load deregistering the variable from session's list.
2013-06-27White space, reallyJose Antonio Ortega Ruiz
2013-06-20Another indentation rule: match-let-valuesJose Antonio Ortega Ruiz
2013-06-15Missing require cl for caseJose Antonio Ortega Ruiz
2013-06-10racket: new ,geiser-load command in REPLJose Antonio Ortega Ruiz
... and used also internally for C-c C-k, although it doesn't yet work as well as i wanted when it comes to load modules. The reason is probably in geiser/enter, where we don't record modification times per submodule but per path, which is not correct in the presence of submodules.
2013-06-09racket: module* and module+ denote submodules tooJose Antonio Ortega Ruiz
Recognizing those forms in the elisp module getter.
2013-06-09racket: indentation for module*Jose Antonio Ortega Ruiz
2013-06-06For crazy guys that use (define/match [foo bar] ...)Jose Antonio Ortega Ruiz
Racket is happy with that, so who are we to disagree?
2013-06-06Racket: correct font-lock for define/match, againJose Antonio Ortega Ruiz
We weren't considering the obvious: (define/match (foo bar) ...)
2013-06-06Racket: correct font lock for define/matchJose Antonio Ortega Ruiz
We could probably generalize to more function definition forms, but this is a start.
2013-05-21yank input if point is over history inputDarren Hoo
2013-05-13Add geiser-eval-buffer & geiser-eval-buffer-and-goNick Parker
These functions are similar to geiser-eval-region and geiser-eval-region-and-go, however they allow the user to operate on the entire buffer, not requiring the user to narrow to a specific region. This also differs slightly from geiser-compile-current-buffer as geiser-eval-buffer does not require the contents of the buffer to be saved prior to being sent to the REPL. Documentaion has also been updated to include references to the new methods and their keybindings.
2013-05-09guile: lambda* indentationAleix Conchillo Flaque
2013-04-21Fix for Racket compilation error jumping in REPLJose Antonio Ortega Ruiz
The backtraces now display some leading whitespace, which the default compilation-mode regexps was making part of the file name.
2013-04-21Racket: fixing error backtrace cleansingJose Antonio Ortega Ruiz
i.e., removing again references to geiser's innards
2013-04-17Racket: fix for jump to manual for symbols not in the namespaceJose Antonio Ortega Ruiz
We had broken using the hint that `help` offers during our recent adventures...
2013-04-15Racket: correct detection of manual lookup failuresJose Antonio Ortega Ruiz
Still a tad messy, because we are always forcing a retort-syntax error and checking its ouput, but good enough for now.
2013-04-15Racket: better help commandsJose Antonio Ortega Ruiz
For some reason that i don't fully understand, evaluating a function in the racket/base namespace first thing after loading errortrace breaks the help macro (!). This patches provides a workaround by actually invoking help first thing when Geiser starts, with alibi that it serves to preload the help index (in a separate thread). While i was at it, i improved the message printed in the minibuffer when no help is found.
2013-04-14Disabling company calls while the REPL is workingJose Antonio Ortega Ruiz
2013-04-13A better solution to the funky filename problemJose Antonio Ortega Ruiz
So, the problem was that our regexp for a Racket prompt didn't take into account that filenames could contain white spaces: "@[^ ]*> ". A simple solution was accepting them: "@[^>]+> " won't work because '>' is also a valid character in filenames, so we went for "@.*> ". The drawback is that finding the beginning of the prompt (e.g. in C-a) fails when you're writing things like: racket@foo bar.rkt> (> 2 3) because here comint believes that the prompt is "racket@foo bar.rkt> (> " And that could have side-effects elsewhere. So what i've done is simply changing the way white-space is (not) printed in the prompt, substituting it by underscores. That way, whe can go back to the initial regexp, comint doesn't get confused, and users can easily infer that "@foo_bar.rkt>" is actually referring to their "foo bar.rkt" file.
2013-04-13Another take at the fix (files with >, bleh)Jose Antonio Ortega Ruiz
2013-04-13Racket: accepting spaces within comint's promptJose Antonio Ortega Ruiz
Since spaces are allowed inside filenames after all.