From: handle (The Bug Handler)

Subject: ftp.uu.net:/vendor/franz/acl4w-faq (ACL for Windows FAQ) updated

Date: 1994-12-5 14:22

Updated Table of Contents below.
-----
The Bug Handler, Franz Inc.     1995 University Avenue, Suite 275
<Franz.COM at handler>               Berkeley, CA 94704, USA
Phone: (510) 548-3600           FAX: (510) 548-8253
http:  //www.franz.com/		FAQs: ftp.uu.net:/vendor/franz/*faq
-----

Legend: + new, - deleted, ! changed

1. Administrative Issues:
------------------------
  1.1.  Version info for ACL
	* What is the current version of ACL for Windows?
  1.2.  ACL-related communication
	* How should I report bugs?
	* Is there a mailing list for Allegro CL?  How do I sign up?
  1.3.  Patches
	* Is there a public patch directory you maintain for incremental
	  patches to the ACL image? If so, how do I get to it?
	* What is the ftp.uu.net, or what is the internet number so I
	  can get to all of your patches?
	* Can I load patches explicitly once lisp is already running?
	* When I redefine a "protected function" in a patch and load
	  it in, I get a break about redefining a protected function
	  even if I have bound top::*warn-on-redefinition* to NIL.
	  What do I do?  
  1.4.  ACL Documentation 
	* What is the relationship between this FAQ and ACL
	  documentation?
	* Is the ACL documentation available on-line?
  1.5.  Windows configuration
	* How can I tell if my problems are due to running out of
	  either virtual memory or Windows resources?
	* How can I set up a permanent swap file in Windows?
	* What to do about Windows sometimes hanging randomly or even
	  dropping back to DOS?
	* How can I determine if Windows NT is being run?
	* How can I determine if Windows For Workgroups is being run?


2. Using Allegro CL:
-------------------
  2.1. Base Lisp
	* I'm having trouble saving a file after editing it.  I get a 
	  dialog box that says "SHARING VIOLATION ON DRIVE C".
	* What things can make aclwin 2.0 crash get a General
	  Protection Fault?
	* When an error occurs while loading a file, how can I tell at
	  what point in the file the error occurred?
	* How can I have the inspector not use special functionality
	  for displaying certain types of objects, when I would just
	  like to see all the slots as usual?
	* How can I catch when lisp is being exited and conditionally
	  abort from exiting?
	* How can I turn off the super-paren feature, where a closing
	  bracket closes all open parentheses?
	* Why is set-scroll-range unreliable for scroll ranges greater
	  than 32,000?
	* The function count-icons-in-file doesn't work.  What do I
	  do? 
	* Why can't I load a fasl file with an extension other than
	  ".fsl"?
	* How can I suppress compiler warnings when loading a source
	  code file?
	* How can I get rid of the vertical scrollbar on the main lisp 
	  window?
	* What do I do about "error: expression too large to compile
	  in COMPILE.  Split it and try again."?

  2.2. Windows/DOS interface
	* How can I get the current Windows/DOS directory?
!	* How can I change the current Windows/DOS directory?
	* How can I get the "Windows directory" and the "Windows
	  system directory"?
	* How can I get the directory where the running lisp.exe
	  lives?
	* How can I get the name of the lisp image file that is being
	  run?
	* How can I determine whether a particular directory exists?
	* How can I get a list of all files in a directory?
	* How can I get a list of all subdirectories of a directory?
	* How can I create a directory from lisp?
	* How can I execute a Windows program from lisp?
	* How can I execute a Windows program from lisp SYNCHRONOUSLY?
	* How can I execute DOS commands (not Windows programs) from
	  lisp?
	* How can I execute DOS commands from lisp SYNCHRONOUSLY?
	* How can I create an icon programmatically from a pixmap
	  array?
	* How can I invoke Windows help files (extension .hlp) in
	  aclpc?
	* How can I add a standard Windows caret (for a text cursor,
	  for example) to my window?

  2.3. Garbage collector
	* What kind of garbage collection does aclwin have?
	* How can I configure the garbage collector?

  2.4. Printer issues
	* Can I draw graphics directly onto a printer?
	* Can I copy the contents of windows to the printer?
	* How can I draw text on the printer with the same font size
	  as a window?
	* How can I pop up the "printer setup" dialog?
	* Can I set the "printer setup" parameters programmatically?
	* Can I pop up the "printer dialog" for specifying which pages
	  to print, number of copies, etc.?

  2.5. Programming tools
	* When I pop up the find-in-file dialog after having added some
	  directories to choose from, saved preferences, and restarted
	  lisp with those preferences.  It gets confused about the
	  current directory in the directory browser list box or else
	  breaks.  Is this a bug?
	* What's a typical sequence of steps for doing profiling?
	* Error handling: How can I handle particular errors myself
	  rather than breaking?


3. Add-on products/features:
---------------------------
  3.1. Common Graphics
	* How come the "event" method isn't invoked for
	  widgets/dialog-items?
	* How can I send messages to the windows of other
	  applications?
	* How come widgets won't display colors that the dialog window
	  will?
	* Why can I only get 16 or 20 colors, when I'm trying to
	  display up to 256?
	* When I use copy-pixels-to-stream, the colors aren't mapped
	  correctly even though I pass the texture-info (which
	  contains the correct colormap) that was returned by
	  load-pixmap.  Why?
	* I'm confused about the difference between pixel-maps, pixmaps,
	  textures, and texture-infos.
	* When drawing using the cg:invert operation to "logxor" pixel
	  values, sometimes colors automatically invert to intuitive
	  colors, and sometimes not.  Why?
	* When another application changes the system palette, how can
	  I detect this and re-realize my own palettes?
	* I want to pop up a pop-up dialog and have the input focus be
	  initially on a particular widget in that dialog, but the
	  focus always seems to be on a particular arbitrary widget
	  rather than the one to which I set focus just before calling
	  pop-up-dialog.  What do I do?
	* How can I have one modal (pop-up) dialog invoke a second modal
	  dialog, so that the user can't mouse widgets on the first
	  while the second is on the screen?
	* How can I have one window on top of another one without the
	  window on top moving when the other window is scrolled?
	* How come no "character" events are coming into the event
	  method? 
	* What do I do if when trying to create a bitmap-window I get
	  this error?
	  ;;;; ERROR: Error creating a memory bitmap of size 632
	  by 453; likely not enough available memory.
	* How do you disable a whole pull-down menu on a menu bar, as
	  opposed to disabling a menu item?
	* When I add a menubar to a pop-up dialog, there's a gap along
	  the bottom of the title bar where a few rows of background
	  pixels show through.  Why?
	* When I have a non-delayed text widget and reject certain
	  typed characters in my set-value-fn, it moves the cursor
	  back to the start.  How can I keep the text cursor where it
	  was before the invalid character was typed?
	* I get a stack overflow when I return NIL from the
	  set-value-fn of my radio buttons.  What do I do?
	* How can I optionally prevent a user from closing a window?
	* How are the default-button and cancel-button different from
	  regular buttons?
	* How come setting the background color of a widget to NIL
	  makes it draw with a light-gray background rather than the
	  system window background color?
	* The font selector Common Dialog shows only true type fonts.
	* The tabbing order of widgets differed from what I had
	  expected.
	* When an object that's shown in a list widget or combo-box
	  changes in such a way that it should print differently in
	  the widget (such as when a :key is used) even though the
	  same lisp objects are in the widget's range, how do you make
	  the widget redisplay properly?
	* When I programmatically set the value of a combo box (or
	  list widget), it doesn't display the choice, though it works
	  just fine when I set the value by choosing an option with
	  the mouse.  Why?
	* When I select all the text in a 3D text-widget and hit
	  backspace, lisp doesn't realize that the value has changed.
	* How do I use a transparent background color for the text on
	  a window?
	* How does the double click work on a single-item-list widget?
	* Save-fasl-pixmap doesn't seem to work.  What do I do?
	* Can I print help messages as the user highlights various
	  menu-items of a menu that they are perusing?
	* How can I position the text cursor at the end of a
	  text-edit-window, or otherwise ensure that output goes to
	  the end of the existing text?
	* Can I attach a comtab to a text-edit-pane and make RETURN
	  process the line that the user just typed?

  3.2. Foreign-Function interface
	* Can you give me an example of passing a callback function to
	  Windows?
+	* Is the example code in the ex/ffi32 directory generally
	  applicable?
	* Do you have a DDE interface on top of the low-level Windows
	  API for DDE?
	* How can I find the DDE commands that are available in the
	  Program Manager?

  3.3. Runtime
	* Do you have an example of a complete runtime application, with
	  a menu bar and a dialog window even?
	* How can I prevent the user from running multiple instances
	  of my runtime application?

  3.4. Editor
! 	* Can you give me some examples of defining keystroke behavior
	  with comtabs (command tables), for use in lisp editor
	  windows?