[comp.lang.lisp] MACL 1.3

folta@tove.umd.edu (Wayne Folta) (01/09/90)

I just received MACL 1.3, and it is a nice improvement over 1.2.2.  The
redone manual is much more informative, and everything seems more integrated.

One question (for those who might know)... I create a window and draw into
it thus (with deletion of uninteresting stuff):

  (let ((output (oneof *window*))
       ...
    (dotimes ...
       ...
        (ask output (fill-rect
                     (if (= 0 (aref board row col))
                       *black-pattern* *white-pattern*)
                     (* col 5) (* 5 row) (+ (* col 5) 5) (+ (* row 5) 5)))))
       ...)

If I close the window 'output', by clicking in its go-away box, the routine
continues drawing to the screen, overwriting the desktop.  I don't think
that it used to do this.  I realize that I should take some action upon
window close, but should MACL allow this writing where a window used to be?

Also, there seem to be quite a few typos in the documentation, where a space
is listed instead of a dash (I count 11 of these in the menu section):

   (ask foo-menu (menu items))

instead of

   (ask foo-menu (menu-items))

At least I get things to work with the second syntax, not the first.

One last suggestion...  The one-page intro to menus in the 1.2.2 doc (page 5-3)
was a pretty nice overview of menus and menubars.  It may have been nice to
keep it in 1.3's documentation.  (A divider insert for QuickDraw, Appendix B,
would have been nice--I reused the one from 1.2.2)

MACL 1.3 is a nice step up from 1.2.2 (though expensive at $100), and a 
side-by-side comparison with the old manual shows that more and more Mac
features are available to the LISPer.

The debugging section is *much* nicer, too.

Thanks, Apple people, and I hate to pick nits, but we are striving for the
perfect development environment, aren't we?...
--


Wayne Folta          (folta@cs.umd.edu  128.8.128.8)

chewy@apple.com (Paul Snively) (01/10/90)

In article <21706@mimsy.umd.edu> folta@tove.umd.edu (Wayne Folta) writes:
> I just received MACL 1.3, and it is a nice improvement over 1.2.2.  The
> redone manual is much more informative, and everything seems more 
integrated.

I think I can safely speak for the engineering team as well as myself when 
I say that we're glad that you're happy with MACL 1.3 and the new 
documentation (netters, I'm posting this rather than mailing it because I 
intend to address some of the issues for the benefit of ALL MACL users on the net).

In article <21706@mimsy.umd.edu> folta@tove.umd.edu (Wayne Folta) writes:
> One question (for those who might know)... I create a window and draw 
into
> it thus (with deletion of uninteresting stuff):
> 
>   (let ((output (oneof *window*))
>        ...
>     (dotimes ...
>        ...
>         (ask output (fill-rect
>                      (if (= 0 (aref board row col))
>                        *black-pattern* *white-pattern*)
>                      (* col 5) (* 5 row) (+ (* col 5) 5) (+ (* row 5) 
5)))))
>        ...)
> 
> If I close the window 'output', by clicking in its go-away box, the 
routine
> continues drawing to the screen, overwriting the desktop.  I don't think
> that it used to do this.  I realize that I should take some action upon
> window close, but should MACL allow this writing where a window used to 
be?

The short answer to the last question is "no."  Disposing of a window 
should presumably also dispose of all of the subviews that it contains.  
Are you using 1.3, or 1.3.1?  I didn't think that we even SHIPPED 1.3; 
everyone should have 1.3.1, but there were indeed some view-related bugs 
in 1.3...  I'll look into this; thanks for passing it along!

In article <21706@mimsy.umd.edu> folta@tove.umd.edu (Wayne Folta) writes:
> Also, there seem to be quite a few typos in the documentation, where a 
space
> is listed instead of a dash (I count 11 of these in the menu section):
> 
>    (ask foo-menu (menu items))
> 
> instead of
> 
>    (ask foo-menu (menu-items))
> 
> At least I get things to work with the second syntax, not the first.

Right you are; these typos will be documented in a forthcoming update to 
the MACL Tech Note.

In article <21706@mimsy.umd.edu> folta@tove.umd.edu (Wayne Folta) writes:
> One last suggestion...  The one-page intro to menus in the 1.2.2 doc 
(page 5-3)
> was a pretty nice overview of menus and menubars.  It may have been nice 
to
> keep it in 1.3's documentation.  (A divider insert for QuickDraw, 
Appendix B,
> would have been nice--I reused the one from 1.2.2)

Good point; I'll tell the documentation's author.

In article <21706@mimsy.umd.edu> folta@tove.umd.edu (Wayne Folta) writes:
> MACL 1.3 is a nice step up from 1.2.2 (though expensive at $100), and a 
> side-by-side comparison with the old manual shows that more and more Mac
> features are available to the LISPer.

APDA is responsible for the pricing; there's not a lot that we in 
engineering can do about it.  But I'm glad that you like the new features. 
 There are also some new features that aren't even part of the System 
Software, like windoids.  Having the view system echo MacApp's also seems 
helpful to those who might be moving from one object environment to the 
other.

In article <21706@mimsy.umd.edu> folta@tove.umd.edu (Wayne Folta) writes:
> The debugging section is *much* nicer, too.

Thanks!  I especially like being able to say stuff like (trace (foo 
:step)) and have it enter the stepper in the proper lexical environment 
when "foo" gets eval'ed.  Stepping all the way from your main toplevel 
function was a pain.

In article <21706@mimsy.umd.edu> folta@tove.umd.edu (Wayne Folta) writes:

> Thanks, Apple people, and I hate to pick nits, but we are striving for 
the
> perfect development environment, aren't we?...

Well, one that approaches it for people who believe that the perfect 
development environment would be a Common Lisp one, anyway. ;-)

Seriously, pick away--we can't implement other folks good ideas if other 
folks don't tell us what they are.  Similar thoughts apply to bug fixes.

Speaking of bugs and suggestions, if you have any of these, as opposed to 
more general MACL questions that someone else on the net might be able to 
answer, please send mail to chewy@apple.com.  Thanks!

__________________________________________________________________________
Just because I work for Apple Computer, Inc. doesn't mean that they 
believe what I believe or vice-versa.
__________________________________________________________________________
C++ -- The language in which only friends can access your private members.
__________________________________________________________________________

spector@brillig.umd.edu (Lee Spector) (01/10/90)

In article <21706@mimsy.umd.edu> folta@tove.umd.edu (Wayne Folta) writes:
>I just received MACL 1.3, and it is a nice improvement over 1.2.2.  The
>redone manual is much more informative, and everything seems more integrated.
>
>[description of window-drawing problem deleted]
>
>Wayne Folta          (folta@cs.umd.edu  128.8.128.8)

I'd like to echo Wayne's praise for the upgrade.  Although I can't answer 
his question, I'd like to ask my own.  In 1.2.2 choosing "inspect" from
the menu bar brought up a sort of "inspector control panel", with some nice
functions, like "close all unmoved inspect windows".  Is this dialog still
accessable somehow?  Now choosing "inspect" just gives you the "system data"
window with a "type in" item added.  I've poked around but I haven't been
able to find the old dialog.

Thanks in advance, and thanks APDA for a nice environment!  
  -Lee (spector@cs.umd.edu)

p.s.  If anyone knows of any archives of MACL code, perhaps available through
      anonymous ftp, please let me know!