roswell.roswell/lisp/helper.el
madosuki 28e6455a3a
Some checks failed
Linux / build (, linux/amd64, musl) (push) Has been cancelled
Linux / build (aarch64, linux/arm64, musl64, arm64, ) (push) Has been cancelled
Linux / build (aarch64, linux/arm64, musl64, arm64, -glibc2.31) (push) Has been cancelled
Linux / build (aarch64, linux/arm64, musl64, arm64, -musl) (push) Has been cancelled
Linux / build (linux/amd64, deb, deb, x86-64) (push) Has been cancelled
Linux / build (linux/amd64, pandoc, docs, x86-64) (push) Has been cancelled
Linux / build (musl64, x86_64, ) (push) Has been cancelled
Linux / build (musl64, x86_64, -glibc2.31) (push) Has been cancelled
Linux / build (musl64, x86_64, -musl) (push) Has been cancelled
Linux / build (riscv64, linux/riscv64, musl64, riscv64, ) (push) Has been cancelled
Linux / build (riscv64, linux/riscv64, musl64, riscv64, -glibc2.31) (push) Has been cancelled
Linux / build (riscv64, linux/riscv64, musl64, riscv64, -musl) (push) Has been cancelled
osx / build (sbcl-bin/2.3.8, arm64) (push) Has been cancelled
osx / build (sbcl-bin/2.3.8, x86-64) (push) Has been cancelled
windows / build-windows (i686, i686, 32) (push) Has been cancelled
windows / build-windows (x86_64, amd64, 64) (push) Has been cancelled
windows / build-windows-arm64 (push) Has been cancelled
add lexical binding cookie to lisp/helper.el (#623)
2026-09-04 12:33:20 +09:00

45 lines
1.6 KiB
EmacsLisp

;; -*- lexical-binding: nil; -*-
(defun roswell-configdir ()
(substring (shell-command-to-string "ros roswell-internal-use version confdir") 0 -1))
(defun roswell-load (system)
(let ((result (substring (shell-command-to-string
(concat "ros -L sbcl-bin -e \"(format t \\\"~A~%\\\" (uiop:native-namestring (ql:where-is-system \\\""
system
"\\\")))\"")) 0 -1)))
(unless (equal "NIL" result)
(load (concat result "roswell/elisp/init.el")))))
(defun roswell-opt (var)
(with-temp-buffer
(insert-file-contents (concat (roswell-configdir) "config"))
(goto-char (point-min))
(re-search-forward (concat "^" var "\t[^\t]+\t\\(.*\\)$"))
(match-string 1)))
(defun roswell-directory (type)
(concat
(roswell-configdir)
"lisp/"
type
"/"
(roswell-opt (concat type ".version"))
"/"))
(defvar roswell-slime-contribs '(slime-fancy))
(let ((type (or (ignore-errors (roswell-opt "emacs.type")) "slime")))
(cond ((equal type "slime")
(let ((slime-directory (roswell-directory type)))
(add-to-list 'load-path slime-directory)
(require 'slime-autoloads)
(setq slime-backend (expand-file-name "swank-loader.lisp"
slime-directory))
(setq slime-path slime-directory)
(slime-setup roswell-slime-contribs)))
((equal type "sly")
(add-to-list 'load-path (roswell-directory type))
(require 'sly-autoloads))))
(setq inferior-lisp-program "ros run")