LW-WIN - some Win32-specific functions for LispWorks



LW-WIN is a collection of re-usable Win32-specific functions and macros I wrote for various projects.

The code has been developed and used with LispWorks 4.4.6, 5.0.2, and 5.1 for Windows.

It comes with a BSD-style license so you can basically do with it whatever you want.

Download shortcut: http://weitz.de/files/lw-win.tar.gz.



  1. Download and installation
  2. Symbol index
  3. Colors
  4. Locales
  5. Mapping files
  6. Conditions
  7. Acknowledgements


Download and installation

LW-WIN together with this documentation can be downloaded from http://weitz.de/files/lw-win.tar.gz. The current version is 0.1.0.

LW-WIN comes with a system definition for ASDF and with one for LispWorks' Common Defsystem.


get-sys-color index => color-spec

Returns a CAPI RGB color specification corresponding to the integer identifier index if the color is supported. Returns NIL otherwise.

index should be one of the constants listed below.

See the code of the MIDGETS library for an example usage of this function.


These are values that can be used for the index parameter in GET-SYS-COLOR. They correspond to the Win32 constants with the "same" (except for hyphens etc.) name, so their meaning should be fairly obvious.



get-month-names => list

Returns a list of all twelve (long) month names (beginning with the name for January) as specified by the current Windows locale.

get-weekday-names => list

Returns a list of all seven (long) weekday names (beginning with the name for Monday) as specified by the current Windows locale.

get-first-day-of-week => integer

Returns the first day of the week as specified by the current Windows locale as an integer - 0 is Monday, 1 is Tuesday, and so on.


Mapping files

with-mapped-file (pointer pathspec &key file-offset number-of-octets) declaration* statement* => result

Executes the code in the body with number-of-octets octecs of the contents of the file denoted by the pathname designator pathspec beginning at octet position file-offset mapped into RAM. The contents are accessible beginning at the position denoted by the FLI pointer pointer.

Note that not all values for file-offset are legal. See the MSDN documentation for details.

See the CL-DONGLE library for an example usage of this macro.



[Condition type]

Conditions of this type are signalled when errors resulting from calls into the Win32 API are caught. The conditions contain the original numerical error code as well as a human-readable string explaining the type of the error.

error-code win32-condition => error-code
error-message win32-condition => error-message

Readers to access the original error code and message of a WIN32-CONDITION.

[Condition type]

A subclass of WIN32-CONDITION for errors.

[Condition type]

A subclass of WIN32-CONDITION for warnings.


Symbol index

Here are all exported symbols of LW-WIN in alphabetical order linked to their corresponding entries:


This documentation was prepared with DOCUMENTATION-TEMPLATE.

$Header: /usr/local/cvsrep/lw-win/doc/index.html,v 1.3 2008/04/27 23:10:48 edi Exp $