;;; -*- Mode:LISP; Package:USER; Base:10 -*- ;;; SHOW BUG IN DISPLACED ARRAYS. ;;; if you run this via CHAOSNET file access it will win, (input buffer is not displaced) ;;; but if you run it on local file you will lose. (input buffer is displaced). (DEFVAR *F* NIL) (DEFVAR *B* NIL) (DEFVAR *START* NIL) (DEFVAR *END* NIL) (DEFVAR *S* NIL) (DEFUN SETUP-STUFF () (CLOSE-STUFF) (SETQ *F* (OPEN (send (si:get-source-file-name 'setup-stuff) :new-type "QFASL") :DIRECTION :INPUT :BYTE-SIZE 16 :CHARACTERS NIL)) (MULTIPLE-VALUE (*B* *START* *END*) (SEND *F* :READ-INPUT-BUFFER)) (SETQ *S* (MAKE-ARRAY (* (- *END* *START*) 2) :TYPE 'ART-STRING :DISPLACED-TO *B* :DISPLACED-INDEX-OFFSET (* *START* 2))) (FORMAT T "~& (AREF *B* *START*) = #x~4,'0X~%" (aref *b* *start*)) (format t "(AREF *S* 1),(AREF *S* 0) = #x~2,'0X,~2,'0X~%" (aref *s* 1) (aref *s* 0))) (DEFUN CLOSE-STUFF () (AND *F* (CLOSE (PROG1 *F* (SETQ *F* NIL)))))