* Version 0.31 (unreleased) - New custom variable geiser-insert-actual-lambda - Non-existent geiser-version function removed from autoloads * Version 0.30 (December 15, 2023) - New geiser-repl-superparen-mode - Fix: better message for symbol not found error - Fix: better detection of whitespace in REPL - Compilation warnings and all libraries using lexical binding * Version 0.29.1 (August 6 2023) - Minimum Emacs version upped to 27.1 * Version 0.29 (July 14 2023) - Autoeval mode for REPL (thanks to Antero Mejr) - Fixes for jumping and starting new REPLs - Better tramp support (thanks to Brian Cully) * Version 0.28.1 (November 27 2022) - Bug fix: ensure geiser-activate-implementation is autoloaded. - Bug fix: don't require transient, it's not used anymore by geiser core. * Version 0.28 (November 4 2022) - Last-result local jumps and autodoc (without using imenu). - Simplifications to the debugging support. - Clean-ups and more libs under lexical binding. * Version 0.27 (October 13 2022) - Fallback to imenu for jumping to symbol definition, as a last resort. - Bug fixes: and-go commands, docsig for completions (now controlled by the new geiser-autodoc-docsig flag). * Version 0.26.1 (September 6 2022) - Improve default names for per-project REPLs. - Recover missing, obsoleted alias run-geiser * Version 0.26 (August 25 2022) - Ask interactively for REPL startup on C-c C-k as needed. - New public command geiser-repl-maybe-send. - ~switch-to-geiser~ and ~switch-to-geiser-module~ obsoleted in favour of ~geiser-repl-switch~ and geiser-~repl-switch-to-module~. For implementations, geiser-IMPL-switch is defined, obsoleting swith-to-IMPL. - ~run-geiser~ obsoleted, just use =M-x geiser=. For implementations, geiser-IMPL is defined, obsoleting run-IMPL. * Version 0.25.1 (August 21 2022) - Fixes for compilation errors. * Version 0.25 (August 21 2022) - New customizable variables: geiser-repl-startup-hook and geiser-repl-startup-forms. - Fix: support for .dir-locals.el in REPL buffers. - Fix: geiser-restart-repl: don't start a REPL to just restart it. - Fix: respect user-defined completion-at-point-functions. * Version 0.24 (May 7 2022) - Support for #{...}# extended symbol syntax - Removed explicit company backend: use CAPF instead. * Version 0.23.1 (March 23 2022) - Bug fix for debug buffer fontification * Version 0.23 (March 9 2022) - Set REPL's default directory to project's root. - Depend on ELPA's project 0.8.1 to ensure compatibility with emacs < 28. - Harmonize buffer names (follow ~*Geiser ...*~ format) * Version 0.22.2 (February 3 2022) - Bug fixes (byte-compiler warnings, corfu compatibility). * Version 0.22.1 (January 23 2022) - Fix for C-u C-x C-e (in-buffer printing of evaluated expression) - Fix for project functions other than project-current * Version 0.22 (December 29 2021) - New functions geiser-wait-eval and geiser-eval-region/wait for synchronous clients like ob-scheme. * Version 0.21 (December 22 2021) - Asynchronous, interruptible evaluation and compilation * Version 0.20 (December 20 2021) - Improved support for debugging sessions (for implementations supporting them, as usual). - New option to add current project's root to load path or any of its subdirectories, ~geiser-repl-add-project-paths~. - Defaulting ~geiser-repl-current-project-function~ to ~project-current~ in emacsen having it available, and using the new ~geiser-repl-per-project-p~ to decide whether to use it. * Version 0.19 (December 4 2021) - Bug fixes * Version 0.18 (October 3 2021) - Documentation fix * Version 0.17 (August 8 2021) - Package available in NonGNU ELPA (doc update) - Linting and minor fixes * Version 0.16 (April 21 2021) - Bug fix: display of evaluation outputs in schemes with no special error display handler. * Versions 0.14 and 0.15 (April 16 2021) - Fixes for autoloads in some distributions * Version 0.13 (April 4 2021) - Split into per-scheme projects * Version 0.12 (July 14 2020) - New project.el and projectile support (Andrew Whatson) - Improved Chez support (Jay Xu, Aaron Marks, Julian Herrera) - Improved Chicken support (Ricardo G. Herdt, Noam Postavsky) - Bug fixes (Philip K, spellcard199) - Linting and clean ups (Jonas Bernoulli) - Documentation updates * Version 0.11.2 (February 25 2020) - Bug fixes * Version 0.11.1 (February 23 2020) - Bug fixes * Version 0.11 (February 4 2020) - Bug fixes for all supported implementations - New support for Gambit * Version 0.10 (March 14 2018) - Better support for Guile 2.2 - Better support for Chicken (Dan Leslie, John Whitbeck) - Better support for Chez (Chaos Eternal) - Bug fixes (Peter Wang, Diog F. S. Ramos, Mario Rodas, Jordan Brown) - Documentation fixes (Jonas Bernoulli, Andrew Sackville-West, Ziyi Yan, James C. De Ricco, George D. Plymale II) * Version 0.9 (Oct 6 2016) - Chicken: improvements by Dan Leslie. - Guile: support for Guile 2.2 (with help from Raffik Naccache and David Thompson). - Preliminary support for GNU/MIT, Chibi and Chez by Peter Feigl. - Lots of bug fixes. * Version 0.8.1 (Oct 13 2015) Bug fix: font-lock-ensure is from the future. * Version 0.8 (Oct 12 2015) Improved features: - Lots of improvements to Chicken support, by Dan Leslie. - Better interoperability with xscheme. - Much better performance for long lists of completions or evaluated values. - Better highlighting and indentation rules, by Alex Kost and Dan Leslie. - Make completion work for quoted symbols. Bug fixes: - geiser-connect-local working again. * Version 0.7 "Freija" (Feb 21 2015) This release is dedicated to Dan's three-months-old daughter Freija, who shared her dad's lap with his laptop while he was hacking on the new Chicken scheme support for Geiser. New features: - Chicken support, by Dan Leslie. Improved features: - `company-mode' support completed with a method for `doc-buffer'. - Support for multiple image display in Racket, including image objects embedded in structured values (thanks to Greg Hendershott). * Version 0.6 (Aug 9 2014) New features: - New customizable variables `geiser-debug-jump-to-debug-p` and `geiser-debug-show-debug-p`. - Better fontification of some scheme keywords (thanks to Diogo F. S. Ramos). Bug fixes: - Better support for Typed Racket: (re)definitions now work for typed/racket modules (thanks to Sam Tobin-Hochstadt). - Better behaviour for geiser-eval-buffer in racket buffers that contain a #lang directive. But you'd better use C-c C-k instead. - Better behaviour of C-c C-c when interrupting looping functions in the REPL. - Fixes for Makefile target html-am (as in now it works). * Version 0.5 (Dec 9 2013) New features: - Geiser is now available from MELPA, with the help of Steve Purcell. - Racket: new commands geiser-racket-{show, hide, toggle}-submodules, for folding submodule forms in code buffers. - Racket: interaction with submodules (entering them and evaluation within their scope). - New commands geiser-eval-buffer (C-c C-b) and geiser-eval-buffer-and-go (C-c M-b), by Nick Parker. - Pressing return on a previous expression in the REPL will resend it, by Darren Hoo. - Improvements to syntax highlighting (define/match in racket). - Version checks for the underlying Scheme process, thanks to an idea of B Batsov. Bug fixes: - Autodoc for Guile 2.0.9+'s subr fixed, thanks to Ludovic Courtès. - Fixed problem when saving REPL history that contained non-ASCII chars: all UTF-8 characters should be fair game now. - Fixed problems with geiser-doc's history being handled by session.el (by not letting the latter handle it). - Paths in `geiser-load-path' are now also added to `%load-compiled-path'. Ditto for paths added via `geiser-add-to-load-path`. - Compatibility fixes for Emacs snapshots. * Version 0.4 (May 2 2013) 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. * Version 0.3 (Jan 19 2013) New features: - TAB in a string context in the REPL and Scheme buffers triggers filename completion. - User manual lookup command (C-c C-d i) available also in the REPL. - New REPL command, geiser-repl-clear-buffer (C-c M-o), to remove all scheme output (thanks to Jonas Rodrigues). - Indentation of scheme forms improved.. Bug fixes: - Racket: fixes for problems entering modules sans main.rkt. - Racket: image support in Windows fixed. * Version 0.2.2 (Sep 30 2012) - ELPA support. We have now ELPA packages. Thanks to Grant Rettke and Daniel Hackney. * Version 0.2.1 (Sep 15 2012) Bug fixes: - Racket: correctly reloading modules that contain submodules (this one was breaking for instance code based on plai-typed). - Racket: correctly jumping to symbols defined in files with .ss extension. New features: - Racket: autodoc now displays argument names for constructors defined by define-type (from either plai or plai-type). - Racket: the included geiser-racket.sh script takes a new switch, -n, to specify the network interface to listen to. * Version 0.2 (Sep 3 2012) New features: - Support for images in Racket, both in the REPL and during evaluations. Thanks to Michael Wilber for code, discussion and testing. - Support for Racket 5.3. Older Rackets not actively supported. - ,cd command in Racket's REPL. - New customizable variable, geiser-guile-manual-lookup-nodes, to specify the name of Guile's info nodes, if need be. Bug fixes: - We don't deactivate autodoc in the REPL unless requested. - Indentation for syntax-id-rules and for/hash. - Highlighting of [else forms in scheme buffers. - Indentation for all 'for' forms in Racket. - Correctly buttonizing paths with leading spaces in DBG buffers - Autodoc was being deactivated in REPLs. * Version 0.1.4 (Nov 26 2011) New features: - Indentation for Racket's splicing-let and friends. - Customizable prompt waiting time (geiser-repl-startup-time). - New customizable faces: geiser-font-lock-repl-prompt and geiser-font-lock-repl-input. Bug fixes: - C-c C-r and friends won't send unbalanced sexps to Scheme. - C-c C-z works after run-geiser in a Scheme buffer. - REPL: TAB indenting around whitespace. - Racket: correct display of output to standard error (such as rackunit's). - Guile: ditto. - Elisp: compatibility problems with filladapt fixed. - Racket: autodoc in R5RS modules. * Version 0.1.3 (Jun 24 2011) Bug fixes: - The REPL doesn't break when one calls read (fixes bug #33090). - In Guile buffers, C-c C-a (a.k.a C-u C-c C-z) recognizes the current module even before the define-module form (fixes bug #33497). - Racket can now use the GUI libraries (see bug #32844). - Texinfo formatting fixes. * Version 0.1.2 (Mar 9 2011) New features: - New C-c C-e C-l (or C-c C-r in REPL) to add a directory to Scheme's load path. - Guile 2.0 as lowest Guile version supported. - New custom variable, geiser-guile-load-init-file-p, to allow loading of ~/.guile. Bug fixes: - We no longer ignore geiser-repl-use-other-window. - Company mode integration fixes (including #32231). - M-x geiser-edit-module in REPL buffers fixed. - We now respect user customizations of geiser-implementations-alist. - Interaction with Guile's debugger fixed. - "Clickable" paths in warnings buffer also for Guile 2.0. - Fix for errors when entering r5rs modules in Racket. * Version 0.1.1 (Jan 24 2011) New features: - "Manual autodoc" command; C-c C-d s. - Autodoc retrieval is now asynchronous, for better behaviour in remote connections. - New C-c C-a to switch to REPL and enter module (C-c C-Z was broken). - Racket: ',enter "foo"' as a synonym of ',enter (file "foo")'. - Documentation typos, and grammar and layout fixes. Bug fixes: - Avoiding *spurious* buffers in case of communication errors. - REPL: fixed problem with input history navigation in Racket. - Autodoc no longer skips non-alphanumeric identifiers. - Autodoc messages no longer interfere with active minibuffer. - Fix for module name completion in Guile. - Quack compatibility: avoiding problems with #f &c. * Version 0.1 (Dec 20 2010) Initial release.