summaryrefslogtreecommitdiff
path: root/elisp/geiser-mode.el
AgeCommit message (Collapse)Author
2020-12-02Declare keymaps using defvar explicitlyJonas Bernoulli
This makes it possible to re-evaluate the containing buffers without user customizations being clobbered.
2020-03-27Fix indentationJonas Bernoulli
2020-03-27Mark the beginning of code part of elisp libraries with Code: headingJonas Bernoulli
It's the convention and by following it we make a big step towards supporting outline navigation. The convention doesn't say much about what parts of the code are supposed to be part of that sections and what parts belong in a subsequent section. Here we put the `require' forms in this section and maybe some setup code, that's a popular approach. In most cases there was " " where we now insert "Code:". They both serve a similar purpose and we keep the former because some users depend on that for navigation. We even add this " " in libraries where it previously was missing. In some cases the permission statement was followed by a commentary, which obviously does not belong in the "Code:" section. In such cases add the conventional "Commentary:" section.
2020-03-27Begin the summary lines of all elisp libraries with three semicolonsJonas Bernoulli
It's the convention and by following it we make a big step towards supporting outline navigation.
2020-01-28C-c \ and C-c [ in geiser-repl tooJose Antonio Ortega Ruiz
With a hat tip to Mikhail Kryshen, who was wondering in guile-user why oh why, and rightly so.
2017-11-22Theoretically unnecessary save-excursionJose Antonio Ortega Ruiz
For some reason, one of our users is experiencing point jumps when calling `geiser-set-scheme'. A save-excursion is all that's needed, even though it *shouldn't* be needed in the first place.
2017-08-28WhitespaceJose Antonio Ortega Ruiz
2017-08-28Add geiser-mode-eval-to-buffer-transformerChaos Eternal
geiser-mode-eval-to-buffer-transformer will take 2 argments: errstring and result when eval-to-buffer, the result will be transformed by this procedure e.g. (setq geiser-mode-eval-to-buffer-transformer (lambda (estring x) (let ((l (length x)) (p (seq-position x ?\n))) (if (and p (< (+ 1 p) l)) (format "\n#| %s%s\n |#" estring x) (format ";;=> %s%s" estring x)))))
2017-04-11Preserve the position of (point) after evalingDiogo F. S. Ramos
After evaling the last expression, if not inserting its value into buffer, leave (point) at its original position.
2017-04-11Eval last expression even after a comment charDiogo F. S. Ramos
Scan for beginning and end of a sexp, instead of using (point) as the end. Previously, if (point) was after a comment character, the REPL would freeze.
2017-01-27bug fix: error message get displayedChaos Eternal
2017-01-17Not inserting a trailing \n when eval prefix is emptyJose Antonio Ortega Ruiz
And, on reflection, it's better we do the same thing with the ERROR insertion...
2017-01-17Not inserting an additional \n when eval prefix is emptyJose Antonio Ortega Ruiz
2017-01-13Make eval-last-sexp-to-buffer customizableChaos Eternal
2016-06-12New key bindings: C-c C-c, C-c C-lJose Antonio Ortega Ruiz
2016-06-12Real fix fontification on scheme switchJose Antonio Ortega Ruiz
2016-06-12REPLs not started by the font-lock bufferJose Antonio Ortega Ruiz
This one should fix github's issue #132. There's still the glitch that scheme strings are fontified without taking into account extra keywords.
2016-06-12Removing stale keywords when switching to another schemeJose Antonio Ortega Ruiz
Addresses github's #158, and its implementation is really easy (kudos to fice-t, also for telling me about bound-and-true-p).
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.
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-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-04-12A bit of documentation for the previous patchesJose Antonio Ortega Ruiz
2013-04-12Simplifications to previous patchJose Antonio Ortega Ruiz
2013-04-12Evaluate last expression to buffer with a prefixDiogo F. S. Ramos
Use a prefix before pressing C-x C-e to print the result of evaluating the expression before mark to the current buffer.
2013-04-12Hide auto-started REPLJose Antonio Ortega Ruiz
I'm not convinced that this is the right thing, and the effect is a bit ugly (we use save-window-excursion), but maybe this is the correct thing to do for users that want auto-start.
2013-04-11New flag to automatically start REPLs when geiser-mode is activatedJose Antonio Ortega Ruiz
When no live REPL is found, of course. The flag's imaginatively called geiser-mode-start-repl-p.
2013-02-03Little cleanups, and C-u variant for the lambda thingJose Antonio Ortega Ruiz
2013-02-03More robust lambda and keybinding to C-c \Jose Antonio Ortega Ruiz
Since C-\ is a standard Emacs binding, and people know how to change it anyway. I've also put the command in the menu for Geiser mode, for discoverability. A pleasant surprise: greek lambdas are understood by both Racket and Guile.
2013-02-03Insert Greek letter lambda.Ray Racine
2012-10-11WhitespaceJose Antonio Ortega Ruiz
2011-10-01Bug fix: avoiding sending unbalanced sexps in C-c C-r and friendsJose Antonio Ortega Ruiz
We were not checking that the region sent to the scheme process was balanced, resulting in said process waiting for ever on `read' (or its moral equivalent in our current implementation). We now just refuse to evaluate an improper region in the first place.
2011-02-03New geiser-add-to-load-path, just for Guile right nowJose Antonio Ortega Ruiz
As per Andy's request. Adding it to Racket (and to the user manual), shouldn't be difficult).
2011-01-11C-c C-Z -> C-c C-aJose Antonio Ortega Ruiz
Since C-c C-z/Z apparently conflict with each other, and the new keybinding is more friendly anyway.
2011-01-09Docstring typosJose Antonio Ortega Ruiz
Mark, again.
2010-12-30New command: "manual" autodoc (C-c C-d s)Jose Antonio Ortega Ruiz
2010-11-26Remove unnecessary calls to symbol-at-pointJose Antonio Ortega Ruiz
... which interns the symbol in the global obarray: rather unfriendly. We still need to remove a few calls to that beast, and avoid intern in the scheme reader.
2010-11-25Completion: respecting tab-always-indentJose Antonio Ortega Ruiz
... and actually using it to implement geiser-smart-tab-mode. Always nice to un-reinvent-the-wheel.
2010-11-23Lookup is a name, look up, a verbJose Antonio Ortega Ruiz
2010-11-23Document browser improvements, and Racket using themJose Antonio Ortega Ruiz
We have a new "manual lookup" command, and Racket now displays a doc browser buffer for help with a button activating it. In the process, we've cleaned-up a little mess in geiser-eval.el and geiser-doc.el, and refactored the affected Racket modules. Next in line is providing manual lookup for Guile.
2010-11-14Support for implementation-specific font lock keywordsJose Antonio Ortega Ruiz
Spinning up from correct fontification of [else in this brave Racket world. I'm keeping the list of extra keywords lean and mean, but making it customizable in both Racket and Guile.
2010-11-13geiser-mode-auto-p: automatic geiser-mode is now optionalJose Antonio Ortega Ruiz
It hadn't occurred to me that anyone wouldn't want non-automatic geiser-mode often enough to require its own customization variable. Rotty proved me wrong. Or maybe not, but he deserves a custom var!
2010-11-09Elisp buggettes and warningsJose Antonio Ortega Ruiz
2010-11-08squarify again, now with numeric prefixJose Antonio Ortega Ruiz
2010-11-08geiser-squarify to toggle between () and []Jose Antonio Ortega Ruiz
2010-10-12Menus: callers/callees active only if availableJose Antonio Ortega Ruiz
2010-08-31Correctly deactivating autodoc when leaving geiser-modeJose Antonio Ortega Ruiz
2010-08-31Make geiser-mode ask which scheme on activation if guessing failsJose Antonio Ortega Ruiz
2010-08-30More docs and a function renamed.Jose Antonio Ortega Ruiz
2010-08-24Compilation commands removed from menu.Jose Antonio Ortega Ruiz
2010-08-21Bug fix: end-of-buffer in elisp code.Jose Antonio Ortega Ruiz