wine/documentation
Alexandre Julliard c7c217b31c Release 980413
Sun Apr 12 12:22:23 1997  Andreas Mohr <100.30936@germany.net>

	* [files/drive.c]
	Fixed "no free space" problem with partition sizes between 1 and 2 GB
	(cluster_sectors may not exceed 0x40).

	* [windows/msgbox.c] [if1632/user.spec] [include/windows.h]
	Implemented MessageBoxIndirect16, corrected MSGBOXPARAMS16.

	* [loader/task.c]
	DOS environment strings may never exceed 127 chars
	-> truncate Unix environment strings if necessary.

Sun Apr 12 02:51:44 1998  Dimitrie O. Paun  <dimi@mail.cs.toronto.edu>

	* [files/*.c]
	All fprintf statements were converted to appropriate debug
	messages.

	* [tools/find_debug_channels]
	Updated comments at the beginning of the file.

Sat Apr 11 15:27:21 1998  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [loader/module.c] [loader/task.c] [scheduler/process.c]
	Moved some code around to prepare the ground for CreateProcess().

	* [memory/environ.c] [loader/task.c]
	Moved Win32 environment strings functions to environ.c.
	Unified Win16 and Win32 environment management.

	* [scheduler/handle.c] [scheduler/k32obj.c] [scheduler/*.c]
	Implemented handle inheritance and DuplicateHandle().

	* [scheduler/thread.c]
	Create a 16-bit stack for all threads.

	* [windows/dialog.c]
	Implemented DIALOGEX resource format.

Fri Apr 10 20:21:51 1998  Marcus Meissner <marcus@mud.de>

	* [configure.in][include/acconfig.h][*/*][multimedia/*]
	Cleaned up the OSS detection stuff, added some more checks for
	headerfiles/functions.
	Removed a lot of OS specific #ifdefs.
	Lots of dependend multimedia cleanups.

	* [loader/pe_image.c]
	Enhanced comment, added missing reference count increase.

	* [ole/compobj.c]
	Replaced broken StringFromGUID2 by working one.

	* [misc/winsock.c]
	SO_LINGER uses unsigned 16 bit in Win16 and Win32, but unsigned
	int (32bit) for UNIX.

	* [memory/global.c]
	Allow realloc for lockcount 1 too.

Fri Apr 10 15:27:34 1998  Morten Welinder  <terra@diku.dk>

	* [graphics/x11drv/text.c]
	Handle control characters in trace.  Ignore terminating newline.

	* [multimedia/init.c]
	(MULTIMEDIA_Init): Correct allocations.

	* [tools/examine-relay]
 	Tidy up.

	* [windows/syscolor.c]
	Change highlight colour from lightblue to lightgray.  This
	looks correct for menus.

Fri Apr 10 01:49:58 1998  Douglas Ridgway  <ridgway@winehq.com>

	* [configure.in] [Make.rules.in]
	Add check for c2man before using it.

Fri Apr 10 02:59:21 1998  Douglas Ridgway  <ridgway@winehq.com>

	* [DEVELOPERS-HINTS]
	Simple description of adding API calls.

	* [include/wintypes.h] [include/windows.h]
	Get rid of Winelib16, avoid declaring some illegal functions in
	Winelib, add prototypes for some enhanced metafile functions, fix
	GetTextExtentPoint32 declarations.

	* [relay32/gdi32.spec] [objects/enhmetafile.c]
	Cosmetic and functional improvements.

	* [include/wincon.h] [programs/view/*]
	Fixes, improved compatibility with native compilers.

Thu Apr  9 15:48:49 1998  Ulrich Weigand <weigand@informatik.uni-erlangen.de>

	* [win32/kernel32.c]
	Implemented FT_Thunk / FT_Prolog / FT_Exit / FT_PrologPrime.
	Fixed Common32ThkLS thunk function.

	* [tools/build.c] [relay32/relay386.c] [if1632/relay.c]
	Changed relay code to allow register functions to modify stack layout.

	* [memory/selector.c]
	Implemented AllocMappedBuffer / FreeMappedBuffer.

	* [relay32/kernel32.spec] [if1632/kernel.spec] [win32/ordinals.c]
	Added names for undocumented functions.

	* [loader/module.c]
	Bugfix: LoadLibrary16 should *not* silently load 32-bit DLL.

Thu Apr  9 03:54:58 1998  Jim Peterson <jspeter@birch.ee.vt.edu>

	* [windows/keyboard.c]
	Fix an erroneous test in TranslateAccelerator{16,32} for the end
	of the accelerator table.

Thu Apr  8 20:36:28 1998  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> 

	* [misc/crtdll.c]
	Implement getenv.

	* [misc/commdlg.c]
	Make Get[Save/Open]FileName work in most situations.

	* [misc/lstr.c]
	Use wvsprintf32A instead of vsprintf in FormatMessage32X

	* [misc/version]
	Make NT3.50 a recognised version

	* [graphics/x11drv/graphics.c]
	Change the algorithme to draw arcs

	* [loader/resource.c]
	Return an empty buffer in LoadString32A if no resource found.

	* [win32/code_page.c]
	Try harder to get the right size in MultiByteToWideChar.

	* [win32/process.c]
	Call WinExec32 for CreateProcess32A.

	* [windows/user.c]
	Install default Int0 Handler in InitApp().

Thu Apr  8 19:29:48 1998  Eric Kohl <ekohl@abo.rhein-zeitung.de>

	* [misc/imagelist.c]
	Preliminary fix for drawing selected images.
	Various improvements.

	* [controls/progress.c][include/progress.c][include/commctrl.h]
	Added progress bar messages and styles for IE4.01 (dll version 4.72)
	compatibility.
	Fixed led size problem.

	* [controls/updown.c][include/commctrl.h]
	Added UDM_GETRANGE32 and UDM_SETRANGE32.

	* [objects/oembitmaps.c][include/windows.h][include/bitmaps/*]
	Added Win95 icons and fixed Win95 cursor and restore button bug.
	Now they should be visible. Sorry!!!

	* [relay32/comctl32.spec]
	Added most missing function names.

Tue Apr  6 18:48:36 1998  Matthew Becker <mbecker@glasscity.net>

	* [objects/font.c] [if1632/gdi.spec]
	GetOutlineTextMetrics: stub

	* [objects/text.c]
	GetTextCharset should just call GetTextCharsetInfo.

	* [misc/mpr.c] [relay32/mpr.spec]
	WNetCachePassword: stub

	* [scheduler/thread.c] [relay32/user32.spec]
	AttachThreadInput: stub
	Updated documentation.

	* [objects/palette.c]
	Updated documentation.

Tue Mar 31 17:06:30 1998  James Juran <jrj120@psu.edu>

	* [*/*.c]
	Finished fixing USER32 ordinal numbers in function documentation.

Mon Mar 30 20:27:38 1998  Morten Welinder  <terra@diku.dk>

	* [misc/debugstr.c] [include/debugstr.h]
	Moved _dumpstr from relay32/relay386.c.  Improved control
	character handling.

	* [msdos/int21.c]
	Implement 215E00 -- get machine name.

	* [windows/winpos.c]
	SetWindowPos32: Make an extra sync when mapping managed
	windows.  This makes sure the reconfigure event has been
	handled.  See Mshearts' what's-your-name window.

Mon Mar 30 01:13:50 1998  Alexander V. Lukyanov <lav@long.yar.ru>

	* [Makefile.in]
	Install includes from TOPSRCDIR.
1998-04-13 12:21:30 +00:00
..
status Release 980329 1998-03-29 19:44:57 +00:00
aspi Release 971101 1997-11-01 19:08:16 +00:00
console Release 980315 1998-03-15 20:29:56 +00:00
debug-msgs Release 980329 1998-03-29 19:44:57 +00:00
debugging Release 980413 1998-04-13 12:21:30 +00:00
fonts Release 970824 1997-08-24 16:00:30 +00:00
how-to-port Release 971221 1997-12-21 19:17:50 +00:00
internals Release 980215 1998-02-15 19:40:49 +00:00
languages Release 980215 1998-02-15 19:40:49 +00:00
Makefile.in Release 980301 1998-03-01 20:05:02 +00:00
README.documentation Release 971221 1997-12-21 19:17:50 +00:00
win95look Release 970720 1997-07-20 16:23:21 +00:00
wine.man Release 980201 1998-02-01 18:33:27 +00:00
wine.texinfo Release 980301 1998-03-01 20:05:02 +00:00
wine_os2 Release 970616 1997-06-16 17:43:53 +00:00
winsock Release 970525 1997-05-25 13:58:18 +00:00

			Wine Documentation README


Wine Man Page

  The man page for the wine emulator is in this directory. It is installed 
by 'make install'.

Wine Reference Manual

  Texinfo source for preliminary comprehensive documentation is in
this directory.  Use 'make info' in this directory to generate the GNU
info version, 'make dvi' to generate the DVI version (hit 'r' to
ignore errors), or 'make all' for both. It is no longer installed by
default.

Wine API documentation

  Do a 'make manpages' in the Wine toplevel directory to generate the
API manpages from the Wine source, or 'make man' in any source
subdirectory to generate manpages from only that directory. The
manpages will be deposited in [documentation/man3w].  You will need
c2man, available as source from http://www.debian.org/ and other
places. Apply the patch included at the end of this file for improved
terse description formatting.  The man pages are not installed
automatically.

Other READMEs

  Other informational files are in this directory as well as scattered
through the source tree.

Other resources:

  Usenet: news:comp.emulators.ms-windows.wine
  WWW:    http://www.winehq.com/


Writing Wine API Documentation

To improve the documentation of the Wine API, just add comments to the
existing source. For example,

/******************************************************************
 *         PlayMetaFile32 (GDI32.265) Render metafile to device
 *
 *    The metafile is rendered in the device context specified by hdc.
 *
 *  RETURNS
 *
 *    Always returns TRUE.
 *
 * FIXME
 *    Wine metafiles are not 100% binary compatible with Microsoft Windows
 *    metafiles.
 */
BOOL32 WINAPI PlayMetaFile32(
        HDC32 hdc, /* handle of device context in which to render metafile */
        HMETAFILE32 hmf /* metafile handle */
) {

becomes, after processing with c2man and nroff -man,


PlayMetaFile32(3w)                             PlayMetaFile32(3w)


NAME
       PlayMetaFile32   -   PlayMetaFile32   (GDI32.265)   Render
       metafile to device

SYNOPSIS
       BOOL32 PlayMetaFile32
       (
            HDC32 hdc,
            HMETAFILE32 hmf
       );

PARAMETERS
       HDC32 hdc
              Handle  of  device  context  in  which  to   render
              metafile.

       HMETAFILE32 hmf
              Metafile handle.

DESCRIPTION
       The  metafile  is rendered in the device context specified
       by hdc.

RETURNS
       Always returns TRUE.

FIXME
       Wine  metafiles  are  not  100%  binary  compatible   with
       Microsoft Windows metafiles.

----------------------------------------------------------------
Patch for c2man:

diff -u c2man-2.41.orig/manpage.c c2man-2.41/manpage.c
--- c2man-2.41.orig/manpage.c	Tue Apr 23 21:13:44 1996
+++ c2man-2.41/manpage.c	Thu Dec 18 13:20:08 1997
@@ -585,10 +585,15 @@
 		    const char *endterse, *afterdash = skipdash(start_line);
 
 		    /* find the end of the terse comment */
-		    while (*c && *c != '.' && *c != '\n')
+		    while (*c && *c != '\n')
+		    {
 			c++;
+		      /* '.' ends terse description only if it ends sentence */
+			if (*(c-1)=='.' && *c && isspace(*c)) 
+			  break;
+		    }
 
-		    endterse = *c == '.' ? c+1 : c;
+		    endterse = c;
 		    *terse = alloc_string(
 			afterdash < endterse ? afterdash : start_line,
 			endterse);