home *** CD-ROM | disk | FTP | other *** search
- ;; -*- package: NotInROM -*-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; +TextEdit.Lisp
- ;;
- ;; Copyright ⌐ 1991 Northwestern University Institute for the Learning Sciences
- ;; All Rights Reserved
- ;;
- ;; author: Michael S. Engber
- ;;
- ;; Provides missing TextEdit Routines
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- (eval-when (:compile-toplevel :load-toplevel :execute)
- (require :NotInROM-u)
- (in-package :NotInROM))
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- (deftrap-NotInROM _TEFromScrap :OSErr ()
- (block exit
- (rlet ((scrap-offset_p :long))
- (let ((scrap-size (#_GetScrap (%null-ptr) "TEXT" scrap-offset_p)))
- (when (minusp scrap-size) (return-from exit scrap-size))
- (when (> scrap-size 32000) (return-from exit #$teScrapSizeErr))
- (with-macptrs ((TEScrap_h (%get-ptr (%int-to-ptr #$TEScrpHandle))))
- (let ((ecode (#_GetScrap TEScrap_h "TEXT" scrap-offset_p)))
- (when (minusp ecode) (return-from exit ecode))
- (%put-word (%int-to-ptr #$TEScrpLength) scrap-size)
- #$noErr))))))
-
- (deftrap-NotInROM _TEToScrap :OSErr ()
- (with-macptrs ((TEScrap_h (%get-ptr (%int-to-ptr #$TEScrpHandle))))
- (with-dereferenced-handles ((TEScrap_p TEScrap_h))
- (#_PutScrap (%get-unsigned-word (%int-to-ptr #$TEScrpLength)) "TEXT" TEScrap_p))))
-
- (deftrap-NotInROM _SetWordBreak :none ((wBrkProc :ProcPtr) (hTE :TEHandle))
- (setf (href hTE :TERec.wordBreak) wBrkProc))
-
- (deftrap-NotInROM _SetClikLoop :none ((clikProc :ProcPtr) (hTE :TEHandle))
- (setf (href hTE :TERec.clikLoop) clikProc))