from colin: Fri Sep 17 11:34:06 PDT 1993 demo/demo-driver.lisp demo/demo-activity.lisp fixed problem activity demo ------------------------------------------------------------------------------- Thu Sep 16 22:26:58 1993 Duane Rettig (duane at clay) * Makefile.defs: Parameterize composer CL_SRC directory * Makefile.generic: Save ucl for .o inclusion * Makefile.hpprism: New file * Makefile.sun4: Comment MOTIFXTRAOS * misc/compile-1.lisp: Set update-entry-points to nil for speed * misc/dev-load-1.lisp: Set update-entry-points to nil for speed ------------------------------------------------------------------------------- from colin: Thu Sep 16 17:17:55 PDT 1993 clim/completer.lisp fix to clim2bug600 demo/demo-driver.lisp use an application-frame rather than menu demo/address-book.lisp, demo/bitmap-editor.lisp, demo/browser.lisp, demo/cad-demo.lisp, demo/color-editor.lisp, demo/custom-records.lisp, demo/demo-activity.lisp, demo/graphics-demos.lisp demo/graphics-editor.lisp, demo/ico.lisp, demo/listener.lisp, demo/navfun.lisp, demo/palette.lisp, demo/peek-frame.lisp, demo/plot.lisp demo/process-browser.lisp, demo/puzzle.lisp, demo/thinkadot.lisp, test/test-suite.lisp replaced (defvar *xxx's*) and (defun do-xxx) with (define-demo ...) which does it all test/test-demos.lisp run-all-demos knows about new demo-driver tk-silica/xt-frames.lisp fix-coordinates in update-frame-settings tk-silica/xt-graphics.lisp use lookup-color instead of parse-color ------------------------------------------------------------------------------- from colin: Tue Sep 7 14:42:57 PDT 1993 Makefile.defs now using devel.17 clim/output-recording-defs.lisp removed clim/standard-sequence.lisp removed clim/standard-tree.lisp removed clim/text-output-recording.lisp removed clim/frames.lisp added function limit-size-to-graft clim/graphics-recording.lisp bounding rectangle for text-output-records changed to use medium-merged-text-style rather than medium-text-style clim/output-protocol.lisp silica::scrolled-pane-line-scroll-amount uses medium-merged-text-style rather than medium-text-style demo/plot.lisp use medium-merged-text-style... silica/medium.lisp engraft-medium sets text-style of new medium to nil (not medium-default-text-style) added setf medium-text-style :before method which invalidates medium-merged-text-style silica/port.lisp added defgeneric port-type, port-name test/test.lisp use pattern for icon pixmap tk-silica/image.lisp added truename for files passed to pbm filters in read-bitmap-file tk-silica/xm-gadgets.lisp hack to make setf (gadget-alignment) work tk-silica/xt-frames.lisp made update-frame-settings use pixmap-from-pattern with bitmap format limit size of top level shell to size of graft tk-silica/xt-gadgets.lisp decode-gadget-background handles patterns properly tk-silica/xt-graphics.lisp engraft-medium doesn't set indirect-inks to nil anymore (only degraft-medium does) and doesn't call invalidate-indirect-inks added gf deallocate-ink decode-pattern-ink split into decode-pattern-ink and pixmap-from-pattern tk-silica/xt-silica.lisp added port-name made get-xt-resources more robust to invalid resource specifications utils/designs.lisp fixed bug in (method color-rgb (ihs-color)) utils/packages.lisp export port-name from clim package ------------------------------------------------------------------------------- Thu Aug 12 12:01:08 1993 Kevin Layer (layer@sole) * Makefile.cobjs-svr4: make sure setup_LLP exists before using it. * Makefile.defs: add TRAIN_PROFILEP, TMP=/usr/tmp * Makefile.generic: new rules (used by make-dist) train-xm and train-ol * Makefile.sun-sun4: renamed from Makefile.svr4 * misc/devl-load-1.lisp: load-it now takes a keyword argument: load-composer (used by make-dist); fix name of clos preload file to be the same as the one make-dist creates (so if the training is run, then make-dist will use the `better' one). * misc/train.lisp: compile test/test-suite only if needed, and do it with :print nil and :vervose t (instead of both t); don't do generate-coverate-report unless fboundp. Remove clos-preload files before starting. * test/test-driver.lisp: print test report to *error-output* so make-dist can segregate it from the rest of the test output * tk/pkg.lisp: add in-package (so don't get a compiler warning) * tk-silica/pkg.lisp: fix defpackage (use keywords instead of symbols in whatever package is current); add in-package * xlib/pkg.lisp: add in-package * utils/processes.lisp: require :mdproc and :process ******************************************************************************* Mon Aug 16 15:15:00 1993 Steven Haflich * clim/ptypes1.lisp: * pre-silica/drawing-state-mixin.lisp: * silica/medium.lisp: * silica/text-style.lisp: * utils/base-designs.lisp: * utils/extended-regions.lisp: * utils/regions.lisp: * transformations/regions.lisp: Added &optional enviuronment arg to make-load-form lambda list. ------------------------------------------------------------------------------- from cer: Thu Aug 12 09:01:17 PDT 1993 Makefile.defs Added definition of climdemo.fasl Makefile.generic Added definition of climdemo.fasl clim/accept-values.lisp removed warning clim/db-stream.lisp Window-shift-visible-region now will clear and replay common area clim/excl-presentations.lisp removed warning clim/input-editor-commands.lisp removed warning clim/input-protocol.lisp Deleted bogus receive-gesture{-list} methods clim/noting-progress.lisp removed warning clim/pixmap-streams.lisp text-style bug climtoys/booch.lisp Added edge/cloud intersection code. climtoys/coverage.lisp Added known-clim2-files climtoys/ib.lisp Added commands to show palette and graph windows climtoys/ibgen.lisp Code generation for text-editor demo/plot.lisp removed warning demo/sysdcl.lisp Added demo-last.lisp misc/dev-load-1.lisp Load climdemo.fasl misc/train.lisp Coverage report just on clim files. misc/undefinedsymbols.motif Added XmTextFieldGetSelection postscript/pkgdcl.lisp Moved (provide :climps) to actual code. postscript/postscript-port.lisp Postscript code page suize bugs and use of sequence output record silica/db-scroll.lisp pane-viewport no longer recurses silica/event.lisp downcased something?! silica/gadgets.lisp (setf gadget-value) radio-box, check-box and other bugs. text-field current-selection test/test-clim.lisp Moved clim-tests stuff to new file test/test-demos.lisp test/test-driver.lisp New features test/test.lisp Tests for text-selection test/testdcl.lisp Added test-clim-tests.lisp tk/resources.lisp Comments for allocation but no freeing tk/widget.lisp Comments for allocation but no freeing tk/xlib.lisp Comments for allocation but no freeing tk/xm-callbacks.lisp Added convert-pixmap-out method tk/xm-funs.lisp New functions tk/xm-widgets.lisp Comments for allocation but no freeing tk/xt-funs.lisp tk-silica/ol-gadgets.lisp Gadget-editable-p problems, current selection tk-silica/xm-gadgets.lisp current selection tk-silica/xt-frames.lisp Added catcher, plus mechanism to allow test-driver to catch menu choose tk-silica/xt-silica.lisp with-toolkit-dialog-component needs a better name utils/packages.lisp exported gadget-current-selection ------------------------------------------------------------------------------- from colin: Fri Jul 30 16:18:10 PDT 1993 clim/pixmap-streams.lisp - fixed bug text-style of pixmap-streams being nil test/test-suite.lisp - added tests for general designs which aren't yet implemented - improved error catching during rendering tk/ol-widgets.lisp - added resource class fontColor to text-field tk/resources.lisp - convert-resource-out/in methods for ol tk-silica/ol-gadgets.lisp - made text-field and text-editor set font color tk-silica/xt-gadgets.lisp - fixed bug with color resources in find-application-resource-initargs ------------------------------------------------------------------------------- Thu Jul 29 13:44:54 1993 Kevin Layer (layer at sole) * Makefile.cobjs-svr4: make sure LD_LIBRARY_PATH is setup properly * Makefile.dec3100: set `Makefile' variable * Makefile.defs: ditto * Makefile.hp700: ditto * Makefile.sun4.motif-1.1.4: ditto * Makefile.svr4: ditto * Makefile.generic: fix clean; add install_obj used by make-dist * misc/train.lisp: don't (setq *global-gc-behavior* nil) * test/test-driver.lisp: ditto * tk/load-ol.lisp: * tk/load-xm.lisp: * tk/make-classes.lisp: * xlib/load-xlib.lisp: :note-shared-library-references nil on get-entry-point * tk/resources.lisp: solaris 2.2 hacking from cer * tk/xt-funs.lisp: fix argument types (string -> simple-string) so call-direct is done ------------------------------------------------------------------------------- from colin: Tue Jul 27 15:26:56 PDT 1993 test/test-suite.lisp - made ignore-clim-gesture wait 4 seconds - fixes problem where window degrafted before initial repaint events are handled tk-silica/ol-frames.lisp - fixed typo tk-silica/ol-gadgets.lisp - set menu-pane background for pulldown menus from menu-bar initargs ------------------------------------------------------------------------------- from colin: Mon Jul 26 17:28:19 PDT 1993 misc/load-xm.lisp - removed Makefile.cobjs - stub-file for motif no longer includes XT_UNDEFS - make rule for open look stub file now depends on OLC_UNDEFS - removed dependency of stub-x.c on OL_UNDEFS Makefile.defs - recursive make gets $TMP clim/accept-values.lisp, clim/accept.lisp, clim/defprotocol.lisp, clim/input-protocol.lisp, clim/interactive-protocol.lisp, clim/recording-protocol.lisp, clim/table-formatting.lisp, clim/text-formatting.lisp, compatibility/clim1-compatibility.lisp, utils/packages.lisp - changed encapsulated-stream to encapsulating-stream clim/accept-values.lisp - added :background initarg to accepting-values own-windows - made avv-own-windows use same input-buffer as calling frame - disabled hitting ok when editting a field - added :newline accelerator to avv dialogs - added get-frame-pane-to-avv-stream-table which creates a hash-table if needed - added default name to accept-values button gadgets clim/clim-defs.lisp - added :background initarg to accepting-values own-windows clim/cursor.lisp - support for controlling cursor color - added *default-cursor-color* - added cursor-color and setf cursor-color clim/db-stream.lisp - fixed handling of background in make-clim-stream-pane-1 clim/frames.lisp - added background slot to standard-application-frame - added color-stream-p clim/gadget-output.lisp - added default-supplied arg to make-gadget-for-text-editor - added default-supplied arg to make-gadget-for-text-field-view - added default decode-indirect-view methods for various ptypes. - added default present-methods for various ptypes. clim/pixmap-streams.lisp - changed invoke-with-output-to-pixmap to set up the medium-default-text-style and medium-text-style of the pixmap medium clim/ptypes1.lisp - added default method for inherited-presentation-type-paramters-method - added default method for inherited-presentation-type-options-method demo/demo-driver.lisp - removed *color-stream-p* and color-stream-p demo/ico.lisp - replaced remove-color-from-palette with remove-colors-from-palette demo/navfun.lisp - added :stream arg to accept in avv dialog in com-flight-plan misc/undefinedsymbols.xt - added XtConvertAndStore silica/framem.lisp - support for setting frame-background color silica/medium.lisp - various hacks on resource stuff silica/pixmaps.lisp - pixmap-sheets no longer try to be grafted twice - various hacks on resource stuff silica/sheet.lisp - re-enstated note-sheet-grafted :around hack. tk/load-ol.lisp, tk/load-xm.lisp - sys::*libxt-pathname* defaults to "-lXt" tk/widget.lisp - made widgets always have a name (default from class name) tk/xlib.lisp - hacked get-resource so that it doesn't allocate as much tk-silica/image.lisp - changed read-pixmap-file-1 to use find-name-color to parse color names tk-silica/ol-frames.lisp - hacked frame-manager-construct-menu to deal with text-style and resources properly tk-silica/ol-gadgets.lisp - hacked openlook-menu-bar to deal with text-style and resources properly - added ol-specific find-widget-resource-initargs-for-sheet and find-application-resource-initargs tk-silica/xm-frames.lisp - hacked frame-manager-construct-menu to deal with text-style and resources properly - hacked motif-menu-bar to deal with text-style and resources properly tk-silica/xm-gadgets.lisp - added explicit "" default for label gadgets - added drag-callback to scroll-bars - various hacks on resource stuff - added motif-specific find-widget-resource-initargs-for-sheet and find-application-resource-initargs tk-silica/xt-frames.lisp - menu-bar and pointer-documentation panes now named - added :min-height to pointer-doc pane tk-silica/xt-gadgets.lisp - various hacks on resource stuff tk-silica/xt-graphics.lisp - sped up medium-device-clip-region - fixed bug with caching of clip-region - free up pixmaps and images associated with inks when destroyed - various clean ups and minor bug-fixes tk-silica/xt-silica.lisp - various hacks on resource stuff. - hacked get-xt-resources so it doesn't allocate as much utils/clim-streams.lisp - fixed *original-stream* bug utils/packages.lisp - exported color-stream-p and *default-cursor-color* from clim - exported frame-background from silica xlib/load-xlib.lisp - sys::*libx11-pathname* defaults to "-lX11" ------------------------------------------------------------------------------- from cer: Thu Jul 22 08:36:06 PDT 1993 Makefile.defs Now use devel.15 Makefile.generic Added rule to print summary of test run clim/accept-values.lisp Eliminate warnings clim/db-stream.lisp Eliminate warnings clim/design-recording.lisp Eliminate warnings clim/frames.lisp Eliminate warnings Eliminate delay in updating pointer documentation clim/graph-formatting.lisp Eliminate warnings clim/input-editor-commands.lisp Eliminate warnings clim/input-protocol.lisp Remove unused code clim/noting-progress.lisp Make work on non-clim streams clim/ptypes1.lisp Move finalize-inheritance inside errorset Added missing call climtoys/booch.lisp Added :toggle-button-options (:indicator-type nil) demo/bitmap-editor.lisp Added :query-identifier so that it will run interpreted demo/browser.lisp Replaced proclaims by declaims demo/cload-demos.lisp Added browser.lisp to list of files demo/custom-records.lisp Replaced proclaims by declaims demo/listener.lisp Eliminate warnings demo/navfun.lisp Eliminate warnings demo/plot.lisp Eliminate warnings misc/dev-load-1.lisp Just require composer silica/classes.lisp Eliminated alive-p. just check for process now silica/db-box.lisp vertically/horizontally now support fixced size panes silica/db-label.lisp Moved compute-gadget-label-size here silica/db-layout.lisp vertically/horizontally now support fixced size panes silica/gadgets.lisp removed compute-gadget-label-size here silica/mirror.lisp Eliminate warnings silica/port.lisp port-alive-p just checks for process now Eliminate warnings sys/defsystem.lisp Eliminate warnings test/test-demos.lisp new query-id in bitmap editor test/test-driver.lisp Added generate-pretty-test-report Eliminate warnings test/test-suite.lisp Added non-string menu-choose tk/xm-funs.lisp Added XmToggleButtonSetState XmToggleButtonGetState tk/xm-widgets.lisp Removed warning tk-silica/image.lisp Removed warning tk-silica/ol-frames.lisp Implemented multi-column menus tk-silica/ol-gadgets.lisp :scroll-bars t now works tk-silica/xm-frames.lisp Menu-choose uses princ-to-string now noting-progress uses slider tk-silica/xm-gadgets.lisp :scroll-bars t now works Use XmToggleButtonSetState XmToggleButtonGetState Removed warning tk-silica/xm-silica.lisp Removed warning utils/defun-utilities.lisp Removed warning xlib/ffi.lisp Removed warning ------------------------------------------------------------------------------- Fri Jun 25 08:58:35 1993 Kevin Layer (layer@sole) * Makefile.generic: pass :load-xref-info and :load-source-file-info to si::system-compile-wrapper * test/test-driver.lisp: x11:xsync is no longer in the x11 package, so #+ignore this call ------------------------------------------------------------------------------- from cer: Tue Jun 22 17:12:03 PDT 1993 test/test-driver.lisp Replaced xsync call by xm-silica::port-finish-output test/test-suite.lisp reindent tk/event.lisp debugging tk-silica/image.lisp tk-silica/ol-gadgets.lisp Added set-button-accelerator-from-keystroke tk-silica/xm-frames.lisp Added set-button-accelerator-from-keystroke tk-silica/xt-gadgets.lisp Removed set-button-accelerator-from-keystroke tk-silica/xt-graphics.lisp Added port-finish-output ------------------------------------------------------------------------------- from cer: Mon Jun 21 13:43:34 PDT 1993 Makefile.defs Use devel.13 clim/accept-values.lisp Make accept-values-pane-display take a view argument clim/frames.lisp Name the restarts for pane redisplay errors clim/interactive-protocol.lisp frame-manager-display-help pops up a window if the frame type is accept-values clim/presentations.lisp find-appropriate-window only does it if its extended-input-stream climtoys/booch.lisp Made it cool climtoys/ib.lisp many changes climtoys/ibed.lisp many changes climtoys/ibparse.lisp many changes climtoys/ibgen.lisp many changes climtoys/ibparse.lisp many changes climtoys/ibtest.lisp many changes postscript/postscript-medium.lisp Fix line-style problem postscript/postscript-port.lisp Line style cache silica/db-box.lisp Fixed bulletin-board-pane silica/db-layout.lisp Removed duplicate bulletin-board-pane silica/layout.lisp Added window-refresh for top-level-sheet test/test-demos.lisp Added test for out bounds lines test/test-driver.lisp Added xsync, query-identifier styff test/test.lisp Fixed bulletin-board-pane tk-silica/xt-graphics.lisp Fixed problem with clipper return NIL when line should not be drawn ------------------------------------------------------------------------------- from cer: Fri Jun 4 09:05:19 PDT 1993 Makefile.defs hacking for 2.0.beta2 Makefile.generic hacking for 2.0.beta2 Makefile.svr4 hacking for 2.0.beta2 clim/command.lisp Elimination of typechecking clim/output-protocol.lisp glyph buffer is now nil demo/demo-activity.lisp Elimination of bogus :width/:height notes/profiles/.cvsignore Ignore profiles silica/db-scroll.lisp Elimination of dynamic scrollbar code silica/framem.lisp prevent find-frame-manager from always calling (find-port) silica/gadgets.lisp Elimination of dynamic scrollbar code silica/text-style.lisp Coments and reindentation test/test-clim.lisp Commented out olit test for multiple displays test/test-driver.lisp Put flat/tree profiles in separate files tk/load-ol.lisp svr4 2.0.beta2 stuff tk/load-xm.lisp svr4 2.0.beta2 stuff tk/make-classes.lisp svr4 2.0.beta2 stuff. Refind class entry points on startup tk/meta-tk.lisp Describe method for xt-class tk/ol-init.lisp svr4 shared library reinitializations tk/widget.lisp Fixed typo in message tk/xm-init.lisp svr4 shared library reinitializations tk-silica/ol-gadgets.lisp Comments tk-silica/xt-silica.lisp Comments ------------------------------------------------------------------------------- from cer: Wed Jun 2 11:27:19 PDT 1993 Makefile.defs Train times is now just 1 Makefile.sun4 Defined MOTIFHOME variable and made it point to 1.2.2 Defined OPENLOOKHOME clim/accept-values.lisp Turn off align prompts around call to find-or-add-query so that nested accepts do loose. Added frame-manager-construct-avv-panes gf align prompts in avv-buttons :view argument to accept-values-pane-displayer-1 clim/accept.lisp clim/db-stream.lisp Added (setf pane-needs-redisplay) Fixed bug in make-clim-stream-pane-1 clim/input-editor-commands.lisp Fixed symbol-at-point clim/pixmap-streams.lisp invoke-with-output-to-pixmap now does a with-output-to-output-record if width and height not specified clim/ptypes1.lisp smh class finalization changes climtoys/ib.lisp Zillion changes climtoys/sysdc.lisp Added new files demo/graphics-editor.lisp Added example keystroke misc/climgccursor.c Cursor now XC_watch misc/compile-1.lisp Use test/testdcl, Compile clim-toys here misc/dev-load-1.lisp load test/testdcl misc/train.lisp Profile after coverage-report, run-benchmarks to notes/times postscript/postscript-port.lisp Fixed line-width silica/classes.lisp Made miror-hash table equal silica/db-scroll.lisp scrollbars display union of viewport and contents silica/event.lisp smh changes for finalization silica/layout.lisp top-level-sheet text margin is now most-positive-fixnum silica/medium.lisp (setf pane-foreground/background/text-style) methods test/test-clim.lisp More tests test/test-driver.lisp Centered around *invocation* and main scripts can now be written in Lisp test/test-suite.lisp dependee-mixin no longer exported tk/ol-widgets.lisp added :busy resource tk-silica/image.lisp tk-silica/ol-gadgets.lisp Moved code to xt-gadgets.lisp unwind-protect to ensure dialog popped down Added port-set-pane-text-style tk-silica/xm-dialogs.lisp Added frame-manager-construct-avv-panes method tk-silica/xm-frames.lisp made progress note modeless tk-silica/xm-gadgets.lisp moved code to xt-gadgets added port-set-pane-text-style tk-silica/xt-frames.lisp Fixed typo tk-silica/xt-gadgets.lisp Added port-set-pane-foreground/background Handle special accelerator chars correctly utils/clos-patches.lisp compiler-environment-p now handles (eq environment 'compile-file) ------------------------------------------------------------------------------- from jdi: Mon Jul 27 19:28:33 PDT 1992 NOTES 1: Delete files: clim/output-recording-protocol.lisp clim/output-recording-defs.lisp 2: New directory malloclib. Contains debugging version of malloc & friends. To turn on, uncomment appropriate lines in Makefile 3: This time, you want most of my changes to the Makefile. I tried to edit out the unnecessary ones. -- Makefile -- Added optional malloclib support. Added source rule so TAGS file is correct. clim/frames -- Added support for use-specified-{size,position}-p frame and their default processing in make-application-frame. clim/graphics-recording -- Fixed problem where point sequence wasn't always copied, leading to death because the original was stack allocated. clim/input-protocol -- Turn off highlighted presentation on leave event. clim/menus -- Send the beep to a CLIM window. misc/dev-load-1 -- take out malloc & bogus update-package form misc/load-xm -- take out malloc misc/undefinedsymbols -- add X{Get,Set}WMNormalHints silica/framem silica/layout -- more user-specified hacking tk/convenience tk/make-widget tk/ol-init tk/ol-widgets tk/xm-widgets tk/widget -- remf had args reversed tk/load-ol tk/load-xm tk/load-xt xlib/load-xlib -- remove-entry-point no longer necessary tk/make-classes -- resource not found error now caught at higher level. tk/pkg -- export realize-widget tk-silica/xt-graphics -- finish output needs to XSync, not XFlush tk-silica/xt-silica -- sheet-mirror-event-handler rewritten. Now doesn't have to incur server roundtrip for each event. Button handling code rewritten. -- new enable-mirror method for user-specified stuff -- misc other stuff xlib/xlib-defs -- added xsizehints definition xlib/xlib-fnus -- added xallocsizehints, xsetwmnormalhints, xgetwmnormalhints -------------------------------------------------------------------------------- from swm: Mon Jul 20 13:49:12 PDT 1992 General bug fixing - Small problem in OUTPUT-RECORD-ELEMENT for STANDARD-SEQUENCE-OUTPUT-RECORD - Fixed one problem in incremental redisplay of overlapping output - Fixed GENERATE-CROSSING-EVENTS not to generate exit events when moving into a child sheet. Controlled by *GENERATE-EXIT-EVENT-WHEN-ENTERING-CHILD*. - Renamed MOVE-SHEET*, RESIZE-SHEET*, and MOVE-AND-RESIZE-SHEET* to remove the "*" from the names. - Made frames such as menus and dialogs position themselves appropriately. - Made MAKE-APPLICATION-FRAME position the frame to the requested place. - Made POINTER-SET-POSITION tell the host to actually move the pointer. *** You will need to implement SILICA:PORT-SET-POINTER-POSITION for the Motif and OpenLook ports. *** - Made the port event loops continually update the modifer state slot in the port object, and the buttons state in the pointer object. This is needed so that users can reliably query the state of these objects. - Put INVALIDATE-CACHED-REGIONS and INVALIDATE-CACHED-TRANSFORMATIONS methods on the proper classes, - Fix DEFINE-CLX-KEYSYM, DEFINE-GENERA-KEYSYM, and TK-SILICA::DEFINE-KEYSYM to evaluate their keysym arguments. (Now I know why the keyboard gesture stuff was not working for you - it worked by accident on Genera.) - Extended the demo driver functions to take a port argument, so that the demos can be used simultaneously on multiple ports. (We needed this for AAAI.) General performance work - Added support for resourced events. This feature is off by default while I finish debugging it. There is a (harmless) storage leak I haven't found yet, plus one case where events get multiply deallocated. Overall, this reduces consing tremendously, and has no performance penalty. - Implemented MAP-OVER-SHEETS-OVERLAPPING-REGION, which is a non-consing version of CHILDREN-OVERLAPPING-REGION. This gets used all the time. - Made RESIZE-SHEET, UPDATE-REGION, and VIEWPORT-REGION-CHANGED, and some other things avoid consing a new region by reusing the old one. - Added lots of DYNAMIC-EXTENT declarations to avoid consing excessive lexical closure environments. - Change SHEET-SINGLE-CHILD-MIXIN so that SHEET-CHILDREN does not cons. - Optimized DEFINE-GRAPHICS-GENERIC a little more. - Changed MEDIUM-COPY-AREA methods for Genera and CLX port to call SHEET-DEVICE-TRANSFORMATION instead of SHEET-NATIVE-TRANSFORMATION. The two functions always return the same result, but SHEET-NATIVE-TRANSFORMATION conses each time it is called. - Changed CURSOR-SET-POSITION to manage the cursor in a speedier way in some cases (it doesn't notify the host when FASTP is T). There is still a bug that needs to be fixed by changing one place to bind the cursor off. This makes text output about 35-40% faster. - Made INVALIDATE-CACHED-REGIONS set a flag to indicate that the region should be recomputed. Then SHEET-DEVICE-REGION reuses the previous invalidated region instead of creating a new one. This save a *lot* of consing during scrolling. The Genera port - Fixed problems in DRAW-PATTERN* - Fixed some race conditions with Genera's window system - Made text output twice as fast. The CLX port - Made configuration and exposure notifications work correctly. - Made pixmaps work -------------------------------------------------------------------------------- from jdi: Tue May 26 09:50:37 PDT 1992 NOTES 1: Delete: clim/output-recording-protocol.lisp clim/output-recording-defs.lisp CHANGES -- Fixed scroll-extent so that copied region is correct, also so that repaint is correctly clipped to newly visible region. -- Added with-medium-clipping-region macro to support above. -- Optimized s'more gcontext code and #||#ed out unused code. -- Put in window-width,height,depth readers. -- Moved setting of backing store to exposure callback. -- Created new gcontext subclass to allow much faster adjust-ink. -- Get rid of 'unknown event 4'. -- Have draw-rotated-text null out gcontext clip mask cache. -- Other minor cleanups & speedups. -------------------------------------------------------------------------------- from jdi: Wed May 13 17:13:58 PDT 1992 Added print-object method for window-repaint-event Optimize invoke-with-sheet-medium. Made xm-proto-callback-info c-type be :in-foreign-space by default since it is captured by C. Made ':line-dashes t' work by fixing adjust-ink. Optimized port-draw-* functions. Optimized convert-to-device-* macros. Added fast-abs macro to lisp-utilities. Do abs() assuming all fixnums. Lots of other speedups. Made object-display slot fixed index (0). Fixed Lisp's slot-value-using-class macro to allow this without having to heavily munge CLIM source. Cached clip-mask in medium. Update it lazily when needed. Invalidate it when necessary. Cached clip-mask in medium, and medium in ink. Only send a request to X when necessary. Wrote lisp-xdrawstring. Added XmMyDrawingArea (for lack of better name). It compresses exposure events. Made xid->object mapping be specialized per display. Highly optimized set-values, get-values, and resource converters Other misc stuff too boring to describe here. Timings of: (defun foo (port sheet) (declare (optimize (speed 3) (safety 0))) (dotimes (i 1000) (silica:mirror-region* port sheet))) Where sheet is the application pane. Original: cpu time (non-gc) 1983 msec user, 34 msec system cpu time (gc) 0 msec user, 0 msec system cpu time (total) 1983 msec user, 34 msec system real time 2030 msec space allocation: 24010 cons cells, 0 symbols, 72096 other bytes, After resource allocation and rework of get-values: cpu time (non-gc) 1400 msec user, 33 msec system cpu time (gc) 0 msec user, 0 msec system cpu time (total) 1400 msec user, 33 msec system real time 1450 msec space allocation: 13002 cons cells, 0 symbols, 32 other bytes, After caching whole sucker in class: cpu time (non-gc) 583 msec user, 0 msec system cpu time (gc) 0 msec user, 0 msec system cpu time (total) 583 msec user, 0 msec system real time 600 msec space allocation: 4002 cons cells, 0 symbols, 32 other bytes, -- Timings of: (defun bar (viewport) (declare (optimize (speed 3) (safety 0))) (let ((vertbar (silica::scroller-pane-vertical-scroll-bar (sheet-parent (sheet-parent viewport))))) (dotimes (i 1000) (silica:change-scroll-bar-values vertbar :slider-size .8 :value .1)))) Where sheet is the viewport after the Gettysburg demo runs. Original: cpu time (non-gc) 2850 msec user, 66 msec system cpu time (gc) 0 msec user, 0 msec system cpu time (total) 2850 msec user, 66 msec system real time 3000 msec space allocation: 32010 cons cells, 0 symbols, 368096 other bytes, After caching whole sucker in class: cpu time (non-gc) 1300 msec user, 16 msec system cpu time (gc) 0 msec user, 0 msec system cpu time (total) 1300 msec user, 16 msec system real time 1360 msec space allocation: 11001 cons cells, 0 symbols, 256032 other bytes, -------------------------------------------------------------------------------- from jdi: Tue Apr 21 16:45:10 PDT 1992 FILES MOVED OR CHANGED: deleted: xlib/xlib.lisp tk/xtk.lisp added: tk/xt-defs.lisp tk/xm-defs.lisp tk/ol-defs.lisp tk/ol-funs.lisp -- IGNORE JDI SPECIFIC CHANGES TO Makefile -- Turn on call counting and declared-fixnums-remain-fixnums when compiling Clim. -- misc/compile-1 Repoint scm links. -- misc/dec-load-1 Make clim-small build work. -- misc/load-xm tk/xtk becomes tk/xt-defs. Added tk/xm-defs, tk/ol-defs, and tk/ol-funs. -- sys/sysdcl Renamed foreign functions consistently. All XT foreign functions are named like: xt_add_callback OL and XM are similiar -- lots Moved all def-c-types to tk/??-defs files. -- lots Moved all defforeigns to tk/??-funs files. Opencode some foreign functions (those that are used a lot) Event loop reworked -- added wait-for-event function so you can wait for an event before grabbing the event lock. Added event locking so you can handle events synchronously. Added code to grab certain matching events from the event queue. -- get-event-matching-sequence-and-types Added synchronous event handling to copy-area to handle graphics- expose events. Miscellaneous cleanup of gcontext code. Made c-types be created in lisp space, unless they have to be in C space. Fixed lookup-string, encode-dashes, draw-polygon*, and other places that called malloc to not call malloc -- either use resource or make-vector. Made drawing with simple opacities (of the foreground color) work. Made port event handler restartable. Integrated Sun's copyright Lots of other stuff