From 7680e2c1269f5046f54c599f81141568bcfe1259 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Tue, 7 Feb 1995 23:51:22 +0000 Subject: [PATCH] Add hook for user action when new screen is created. --- v7/src/edwin/curren.scm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/v7/src/edwin/curren.scm b/v7/src/edwin/curren.scm index 9be833af8..2eecf99e5 100644 --- a/v7/src/edwin/curren.scm +++ b/v7/src/edwin/curren.scm @@ -1,8 +1,8 @@ ;;; -*-Scheme-*- ;;; -;;; $Id: curren.scm,v 1.112 1994/05/13 20:26:58 cph Exp $ +;;; $Id: curren.scm,v 1.113 1995/02/07 23:51:22 cph Exp $ ;;; -;;; Copyright (c) 1986, 1989-93 Massachusetts Institute of Technology +;;; Copyright (c) 1986, 1989-95 Massachusetts Institute of Technology ;;; ;;; This material was developed by the Scheme project at the ;;; Massachusetts Institute of Technology, Department of @@ -73,9 +73,18 @@ (set-editor-screens! current-editor (append! (editor-screens current-editor) (list screen))) + (event-distributor/invoke! + (variable-default-value (ref-variable-object screen-creation-hook)) + screen) (update-screen! screen false) screen))))) +(define-variable screen-creation-hook + "An event distributor that is invoked when a screen is created. +The new screen passed as its argument. +The screen is guaranteed to be deselected at that time." + (make-event-distributor)) + (define (delete-screen! screen) (without-interrupts (lambda () @@ -454,7 +463,9 @@ (for-each (lambda (hook) (hook buffer)) (get-buffer-hooks buffer 'SELECT-BUFFER-HOOKS)) (if (not (minibuffer? buffer)) - (event-distributor/invoke! (ref-variable select-buffer-hook) buffer))) + (event-distributor/invoke! + (variable-default-value (ref-variable-object select-buffer-hook)) + buffer))) (define-integrable (add-select-buffer-hook buffer hook) (add-buffer-hook buffer 'SELECT-BUFFER-HOOKS hook)) -- 2.25.1