diff options
author | jao <jao@gnu.org> | 2020-07-20 04:59:45 +0100 |
---|---|---|
committer | jao <jao@gnu.org> | 2020-07-20 04:59:45 +0100 |
commit | ba4c1a9f35a3a7286cf4cdb63292ff18424bfd60 (patch) | |
tree | e09b7c4a0db2a50a47569671a0f6cdf54a060235 /geiser-guile.el | |
parent | 43d9ece15438fb35489761c03db427d9e3970150 (diff) | |
download | geiser-guile-ba4c1a9f35a3a7286cf4cdb63292ff18424bfd60.tar.gz geiser-guile-ba4c1a9f35a3a7286cf4cdb63292ff18424bfd60.tar.bz2 |
adjustments to scheme load path
Diffstat (limited to 'geiser-guile.el')
-rw-r--r-- | geiser-guile.el | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/geiser-guile.el b/geiser-guile.el index 522c4eb..d68a5b9 100644 --- a/geiser-guile.el +++ b/geiser-guile.el @@ -1,14 +1,21 @@ ;;; geiser-guile.el -- guile's implementation of the geiser protocols -;; Copyright (C) 2009-2018, 2020 Jose Antonio Ortega Ruiz -;; Copyright (C) 2017 Jan Nieuwenhuizen <janneke@gnu.org> +;; Copyright (C) 2009-2020 Jose Antonio Ortega Ruiz +;; Start date: Sun Mar 08, 2009 23:03 -;; This program is free software; you can redistribute it and/or -;; modify it under the terms of the Modified BSD License. You should -;; have received a copy of the license along with this program. If -;; not, see <http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5>. +;; Author: Jose Antonio Ortega Ruiz (jao@gnu.org) +;; Maintainer: Jose Antonio Ortega Ruiz (jao@gnu.org) +;; Keywords: languages, guile, scheme, geiser +;; Homepage: https://gitlab.com/emacs-geiser/guile +;; Package-Requires: ((emacs "24.4") (geiser-core "1.0")) +;; SPDX-License-Identifier: BSD-3-Clause +;; Version: 1.0 -;; Start date: Sun Mar 08, 2009 23:03 +;; This file is NOT part of GNU Emacs. + +;;; Commentary: +;; geiser-guile extends the `geiser' core package to support GNU +;; Guile. ;;; Code: @@ -134,6 +141,10 @@ effect on new REPLs. For existing ones, use the command (car geiser-guile-binary) geiser-guile-binary)) +(defvar geiser-guile-scheme-dir + (expand-file-name "src" (file-name-nondirectory load-file-name)) + "Directory where the Guile scheme geiser modules are installed.") + (defun geiser-guile--parameters () "Return a list with all parameters needed to start Guile. This function uses `geiser-guile-init-file' if it exists." @@ -141,7 +152,7 @@ This function uses `geiser-guile-init-file' if it exists." (expand-file-name geiser-guile-init-file))) (q-flags (and (not geiser-guile-load-init-file-p) '("-q")))) `(,@(and (listp geiser-guile-binary) (cdr geiser-guile-binary)) - ,@q-flags "-L" ,(expand-file-name "guile/" geiser-scheme-dir) + ,@q-flags "-L" ,geiser-guile-scheme-dir ,@(apply 'append (mapcar (lambda (p) (list "-L" p)) geiser-guile-load-path)) ,@(and init-file (file-readable-p init-file) (list "-l" init-file))))) @@ -357,7 +368,7 @@ it spawn a server thread." (geiser-connect 'guile)) (defun geiser-guile--set-geiser-load-path () - (let* ((path (expand-file-name "guile/" geiser-scheme-dir)) + (let* ((path geiser-guile-scheme-dir) (witness "geiser/emacs.scm") (code `(begin (if (not (%search-load-path ,witness)) (set! %load-path (cons ,path %load-path))) |