1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-04 05:50:26 +02:00
guile/emacs/guileint/guileint.el
2003-08-21 18:34:43 +00:00

91 lines
2.5 KiB
EmacsLisp

;;; NAME: guileint.el
;;; SYNOPSIS: A Guile/Emacs interface prototype
;;; VERSION: 1.5
;;; LAST CHANGE: 2002-10-19
;;; CREATED: 1997-07-17
;;; AUTHOR: Mikael Djurfeldt <djurfeldt@nada.kth.se>
;;; COPYRIGHT: (C) 1997, 2002 Mikael Djurfeldt
;;;
;;; Verbatim copies of this file may be freely redistributed.
;;;
;;; Modified versions of this file may be redistributed provided that this
;;; notice remains unchanged, the file contains prominent notice of
;;; author and time of modifications, and redistribution of the file
;;; is not further restricted in any way.
;;;
;;; This file is distributed `as is', without warranties of any kind.
;;;
;;; REQUIREMENTS:
;;;
;;; USAGE:
;;;
;;; BUGS:
;;;
(require 'cl-19 "cl")
(setq scheme-program-name
(let ((v (getenv "SCHEME_PROGRAM_NAME")))
(or v
(concat "guile"
(and window-system " --emacs")))))
;;; Select buffers to pop up as separate windows
(if window-system
(progn
(defvar default-special-display-buffer-names
special-display-buffer-names)
(setq special-display-buffer-names
(union default-special-display-buffer-names '("*scheme*")))
(setq same-window-buffer-names
(delete "*scheme*" same-window-buffer-names))
(setq special-display-frame-alist
'((height . 24) (width . 80) (unsplittable . t)))
))
;;; Do things to support lisp-hacking better
(if (equal (substring emacs-version 0 2) "19")
;; Emacs version 19 specific initializations
(progn
(copy-face 'default 'paren)
(condition-case err
(make-face-bold 'paren)
(error))
(setq show-paren-face 'paren)
(require 'paren)
;; The old parenthesis matcher has the advantage of displaying
;; non-visible matching parenthesis in the minibuffer.
;; Since paren.el adds (setq blink-paren-function nil) to the
;; window-setup-hook it's necessary to put this setq there
;; also.
(add-hook 'window-setup-hook (function restore-blink-paren) t)
(setq blink-matching-delay 0.5)
))
(defun restore-blink-paren ()
(interactive)
(setq blink-matching-paren-on-screen t)
(set-face-underline-p 'paren t))
;;; Menus
;;;
(require 'defmenu)
;(setq menu-bar-final-items
; '(completion inout signals scheme help-menu))
(setq menu-bar-final-items
'(interpret scheme help-menu))
;; The global menu
;;
(define-menu global-map 'interpret "Interpret"
'(("Guile" run-scheme (not (comint-check-proc "*scheme*")))
("Switch to *scheme*" guile-switch-to-scheme
(comint-check-proc "*scheme*"))))
(load "inda-scheme")
(provide 'guileint)