summaryrefslogtreecommitdiff
path: root/elisp
AgeCommit message (Collapse)Author
2015-12-05Removed changes to geiser-connectionDan Leslie
2015-12-05Fixes for Literals, Errors and ModulesDan Leslie
If literals were present chicken wouldn't provide any autodocumentation due to an error. Module evaluation was failing due to poor input. Chicken's Error output was failing to parse - Filter out all non-symbols from the autodoc set - Properly escape module names - Add "Error" to the set of accepted error prefixes
2015-10-13Oops: font-lock-ensure is from the futureJose Antonio Ortega Ruiz
Should fix #105
2015-10-12So font-lock-fontify-buffer is for interactive useJose Antonio Ortega Ruiz
Fixed by using font-lock-ensure instead
2015-10-12Keeping the elisp compiler happyJose Antonio Ortega Ruiz
Mainly by reordering definitions so that functions are not used before defined. There are a couple of places where the compiler and I disagree (it complains withing eval-after-load), and a valid complain about functions defined via geiser-popup--define that should be addressed).
2015-10-03Add missing highlighting for 'syntax-case'Alex Kost
2015-10-03Add highlighting/indentation for testsAlex Kost
API for test suites is defined by SRFI-64.
2015-10-03Add highlighting/indentation for exceptionsAlex Kost
Exceptions are defined by R6RS, SRFI-18 and SRFI-34.
2015-09-27Clean up indentation rulesAlex Kost
Move general indentation rules to "geiser-syntax".
2015-09-27Add general font-lock keywords for all implementationsAlex Kost
Move general RNRS/SRFI keywords from "geiser-chicken" to "geiser-syntax".
2015-09-27Add 'geiser-syntax--simple-keywords'Alex Kost
Use this function instead of repeating the same code in each implementation.
2015-09-23Remove Geiser faces from 'faces' custom groupAlex Kost
2015-09-16Add 'geiser-repl-buffer-name-function' variableAlex Kost
2015-09-10Speeding up debugger check (addresses #64)Jose Antonio Ortega Ruiz
Soooo, the long delay experienced when evaluating long string lists in Guile had nothing to do with the time took by emacs to read the response from the scheme process; that process is always a breeze, no matter or its format or number of newlines. The delay was provoked by an innocent looking function that scans the received string (which includes a prompt at the end as an EOT marker) to check whether Guile (or any other scheme) has just entered the debugger (that's done inside `geiser-con--connection-update-debugging`). For some reason, `string-match` on that kind of string using Guile's regexp for a debug prompt takes forever. Instead of trying to optimize the regular expression, i've just applied it to the *second* line of the received string, which is the one that contains the response's prompt.
2015-09-10Fix for geiser-connect-localJose Antonio Ortega Ruiz
This one should address #79. I'm very surprised this ever worked!
2015-09-10Moving implementation loading to geiser-repl (#82)Jose Antonio Ortega Ruiz
That way we avoid circularities in the load graph, always a good thing.
2015-09-10Redundant provide in define-geiser-implementationJose Antonio Ortega Ruiz
This is gone now, since we're diligent enough to always end our impl definitions with an explicit provide form. See PR #87 for a bit of discussion.
2015-09-09WhitespaceJose Antonio Ortega Ruiz
2015-09-09Autoload geiser-connect-local as wellChristoph Egger
2015-09-08Ensuring switch-to-geiser asks for an implementationJose Antonio Ortega Ruiz
Should fix issue #85
2015-09-07Add highlighting for geiser-custom--defcustom/deffaceAlex Kost
2015-09-06repl: Add 'save-history' argument to 'geiser-repl--send'Alex Kost
2015-08-14Don't try to turn on geiser-mode in non-scheme buffersJose Antonio Ortega Ruiz
xscheme defines its own scheme-interaction-mode that, quite rudely if you ask me, calls not only its hooks, but also scheme-mode's. Among them, turn-on-geiser-mode, causing havoc to users of xscheme's run-scheme function. We, ahem, fix this problem by checking that we're actually in scheme-mode when our hook is called. Thanks to Federico Beffa for his reports.
2015-08-14Modifies geiser--cut-version regexDan Leslie
Minor and Patch versions are now optional.
2015-08-14Closes jaor/geiser#65Dan Leslie
geiser--cut-version only supports single-digit minor versions. - Improves the regex to support multiple-digit minor versions. Contributed by @kovrik
2015-03-12Fix for RET with point at the beginning of line after M-pJose Antonio Ortega Ruiz
2015-03-04Using font-lock-variable-name-face in lieu of bold for autodocJose Antonio Ortega Ruiz
For some X faces, a bold string in the modeline causes emacs to widen it to two lines, which is kind of annoying. The default value of font-lock-variable-name-face on color/X displays doesn't include any boldness, and will probably improve the default experience of new users. Thanks to Mario Domenech Goulart for noticing this and the previous one!
2015-02-09Documentation updates and nits for FreijaJose Antonio Ortega Ruiz
Preparing the release of 0.7, which will feature support for Chicken thanks to Dan and Freija!
2015-02-09Initial Chicken supportDan Leslie
2015-01-19Not cleaning the image cache before displaying imagesJose Antonio Ortega Ruiz
Image cache cleaning was being performed during comint output filtering and, since that can happen in batches, if the total output had more images than the maximum cache size, some of them would be gone (in fact it was even worse: we were cleaning the cache after each image display). Now we just perform cache maintenance before sending the input, and avoid paying a price for non-rackets by making the cache dir setting implementation-specific.
2014-10-06remove geiser-mode--maybe-activate from scheme-mode-hook on geiser-unloadHenry Till
2014-09-23A better name for geiser-doc-symbol--fill-current-symbolJose Antonio Ortega Ruiz
Which moreover complies with the unwritten naming conventions we use: geiser-doc--render-docstring.
2014-09-23company: implement --doc-bufferProfpatsch
2014-06-05Possible fix for scanning problemJose Antonio Ortega Ruiz
Apparently, the nesting level returned by emacs's syntax parser can be negative (presumably when it gets confused), and we were not avoiding calling backward-up-list when that happened. Could or could not address issue #41...
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-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-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-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.