Do not set geiser last-prompt-end beyond of point-max
[geiser.git] / elisp / geiser.el
blob72deb0586dadd9827054b09cd463a9cbce3ec58c
1 ;;; geiser.el --- GNU Emacs and Scheme talk to each other
3 ;; Copyright (C) 2009, 2010, 2011, 2012, 2013, 2015 Jose Antonio Ortega Ruiz
4 ;; URL: http://www.nongnu.org/geiser/
6 ;; This program is free software; you can redistribute it and/or
7 ;; modify it under the terms of the Modified BSD License. You should
8 ;; have received a copy of the license along with this program. If
9 ;; not, see <http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5>.
12 ;; Autoloads and basic setup for geiser.
14 ;;; Locations:
16 ;;;###autoload
17 (defconst geiser-elisp-dir (file-name-directory load-file-name)
18 "Directory containing Geiser's Elisp files.")
20 ;;;###autoload
21 (defconst geiser-scheme-dir
22 (let ((d (expand-file-name "./scheme/" geiser-elisp-dir)))
23 (if (file-directory-p d)
25 (expand-file-name "../scheme/" geiser-elisp-dir)))
26 "Directory containing Geiser's Scheme files.")
28 ;;;###autoload
29 (when (not (member geiser-elisp-dir load-path))
30 (add-to-list 'load-path geiser-elisp-dir))
33 ;;; Autoloads:
35 ;;;###autoload
36 (autoload 'geiser-version "geiser-version" "Echo Geiser's version." t)
38 ;;;###autoload
39 (autoload 'geiser-unload "geiser-reload" "Unload all Geiser code." t)
41 ;;;###autoload
42 (autoload 'geiser-reload "geiser-reload" "Reload Geiser code." t)
44 ;;;###autoload
45 (autoload 'geiser "geiser-repl"
46 "Start a Geiser REPL, or switch to a running one." t)
48 ;;;###autoload
49 (autoload 'run-geiser "geiser-repl" "Start a Geiser REPL." t)
51 ;;;###autoload
52 (autoload 'geiser-connect "geiser-repl"
53 "Start a Geiser REPL connected to a remote server." t)
55 ;;;###autoload
56 (autoload 'geiser-connect-local "geiser-repl"
57 "Start a Geiser REPL connected to a remote server over a Unix-domain socket."
60 ;;;###autoload
61 (autoload 'switch-to-geiser "geiser-repl"
62 "Switch to a running one Geiser REPL." t)
64 ;;;###autoload
65 (autoload 'run-chez "geiser-chez" "Start a Geiser Chez REPL." t)
67 ;;;###autoload
68 (autoload 'switch-to-chez "geiser-chez"
69 "Start a Geiser Chez REPL, or switch to a running one." t)
71 ;;;###autoload
72 (autoload 'run-guile "geiser-guile" "Start a Geiser Guile REPL." t)
74 ;;;###autoload
75 (autoload 'switch-to-guile "geiser-guile"
76 "Start a Geiser Guile REPL, or switch to a running one." t)
78 ;;;###autoload
79 (autoload 'connect-to-guile "geiser-guile"
80 "Connect to a remote Geiser Guile REPL." t)
82 ;;;###autoload
83 (autoload 'run-racket "geiser-racket" "Start a Geiser Racket REPL." t)
85 ;;;###autoload
86 (autoload 'run-gracket "geiser-racket" "Start a Geiser GRacket REPL." t)
88 ;;;###autoload
89 (autoload 'switch-to-racket "geiser-racket"
90 "Start a Geiser Racket REPL, or switch to a running one." t)
92 ;;;###autoload
93 (autoload 'connect-to-racket "geiser-racket"
94 "Connect to a remote Geiser Racket REPL." t)
96 ;;;###autoload
97 (autoload 'run-chicken "geiser-chicken" "Start a Geiser Chicken REPL." t)
99 ;;;###autoload
100 (autoload 'switch-to-chicken "geiser-chicken"
101 "Start a Geiser Chicken REPL, or switch to a running one." t)
103 ;;;###autoload
104 (autoload 'connect-to-chicken "geiser-chicken"
105 "Connect to a remote Geiser Chicken REPL." t)
107 ;;;###autoload
108 (autoload 'run-mit "geiser-mit" "Start a Geiser MIT/GNU Scheme REPL." t)
110 ;;;###autoload
111 (autoload 'switch-to-mit "geiser-mit"
112 "Start a Geiser MIT/GNU Scheme REPL, or switch to a running one." t)
114 ;;;###autoload
115 (autoload 'run-chibi "geiser-chibi" "Start a Geiser Chibi Scheme REPL." t)
117 ;;;###autoload
118 (autoload 'switch-to-chibi "geiser-chibi"
119 "Start a Geiser Chibi Scheme REPL, or switch to a running one." t)
121 ;;;###autoload
122 (autoload 'geiser-mode "geiser-mode"
123 "Minor mode adding Geiser REPL interaction to Scheme buffers." t)
125 ;;;###autoload
126 (autoload 'turn-on-geiser-mode "geiser-mode"
127 "Enable Geiser's mode (useful in Scheme buffers)." t)
129 ;;;###autoload
130 (autoload 'turn-off-geiser-mode "geiser-mode"
131 "Disable Geiser's mode (useful in Scheme buffers)." t)
133 ;;;###autoload
134 (autoload 'geiser-mode--maybe-activate "geiser-mode")
136 ;;;###autoload
137 (mapc (lambda (group)
138 (custom-add-load group (symbol-name group))
139 (custom-add-load 'geiser (symbol-name group)))
140 '(geiser
141 geiser-repl
142 geiser-autodoc
143 geiser-doc
144 geiser-debug
145 geiser-faces
146 geiser-mode
147 geiser-guile
148 geiser-image
149 geiser-racket
150 geiser-chicken
151 geiser-chez
152 geiser-chibi
153 geiser-mit
154 geiser-implementation
155 geiser-xref))
158 ;;; Setup:
160 ;;;###autoload
161 (add-hook 'scheme-mode-hook 'geiser-mode--maybe-activate)
162 ;;;###autoload
163 (add-to-list 'auto-mode-alist '("\\.rkt\\'" . scheme-mode))
166 (provide 'geiser)
168 ;;; geiser.el ends here