Subject: Just a heads up

From: Jason L Tibbitts III <[email-masked]>
Date: 18 Jun 1996 16:04:30 -0500

We had some interesting discussion there for a while, then it died down and
now development talk has moved back to the main list.  That's usually what
happens (it takes a few iterations to get everything moved over) but the
few user questions are getting buried there.  I'm going to send another
message to the main list to try and shift some of the development talk back
here.

I think the web page needs to be updated with the new list.  Chuck, do you
want to do it, or should I?

 - J<
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked].

---

From: <[email-masked]> (Charles Hines)
Date: Wed, 19 Jun 1996 08:20:25 -0400

>>>>> "Jason" == Jason L Tibbitts <[email-masked]> writes:

Jason> I think the web page needs to be updated with the new list.
Jason> Chuck, do you want to do it, or should I?

I've got other updates to put on there with the next beta, so I could
do it then, or you could do it now for the time being if you don't
feel it can wait a few days.

Speaking of the next beta, I'm going to try and have it ready by
tommorrow for you folks to check out.  I've just got a few more little
things to take care of for it (and little time to do so unfortunately,
but I'm going to try and set aside some time tonight).

Chuck

---

From: "Randall S. Winchester" <[email-masked]>
Date: Thu, 20 Jun 1996 14:23:07 -0400 (EDT)

Ready and able. I do hope that the fix will be in there so that fvwm2 will
start without a ~/.fvwm2rc file and rather fall back on the system one.

I have a user community of ~40,000 users for whom I want to make fvwm2 the
default window manager. 

If this fix is not going to be in the upcomming release, then I will need to 
examine other alternatives. For tvtwm we use m4 and do this in the .twmrc;

define(`TMPFILE', maketemp(`/tmp/m4.defines.XXXXXX'))
syscmd(`bash /local/lib/init/m4.defines >' TMPFILE)
sinclude(TMPFILE)
syscmd(`rm' TMPFILE)
#
# User setup
#
sinclude(HOME/.twm.setup)
#
# Variables
#
sinclude(/local/lib/init/twm.variables)
sinclude(/local/lib/init/twm.colors)
sinclude(/local/lib/init/twm.icons)
sinclude(HOME/.twm.variables)
#
# Bindings
#
sinclude(/local/lib/init/twm.bindings)
sinclude(HOME/.twm.bindings)
#
# Menus
#
sinclude(/local/lib/init/main.menus)
sinclude(/local/lib/init/twm.menus)
sinclude(/local/lib/init/preference.menus)
sinclude(HOME/.twm.menus)

But it would be nice if it would work even with out a .fvwm2rc file.

Thanks,
Randall

On Wed, 19 Jun 1996 [email-masked] wrote:

: >>>>> "Jason" == Jason L Tibbitts <[email-masked]> writes:
: 
: Jason> I think the web page needs to be updated with the new list.
: Jason> Chuck, do you want to do it, or should I?
: 
: I've got other updates to put on there with the next beta, so I could
: do it then, or you could do it now for the time being if you don't
: feel it can wait a few days.
: 
: Speaking of the next beta, I'm going to try and have it ready by
: tommorrow for you folks to check out.  I've just got a few more little
: things to take care of for it (and little time to do so unfortunately,
: but I'm going to try and set aside some time tonight).
: 
: Chuck
: --
: Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
: To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
: body of a message to [email-masked].
: To report problems, send mail to [email-masked].
:

---

From: <[email-masked]> (Charles Hines)
Date: Thu, 20 Jun 1996 18:15:08 -0400

>>>>> "RSW" == Randall S Winchester <[email-masked]> writes:

RSW> Ready and able.

Glad to hear it, because now I am too.

I just copied the tar file to ftp.hpc.uh.edu in
/pub/fvwm/version-2/.test/ and it looks like so:

-rw-rw-r--   1 chines   users     542234 Jun 20 17:06 fvwm-2.0.43-almost.tar.gz

And here is the rather substantial ChangeLog entry:

======================================================================
2.0.43 (not done yet)
       1. More man page updates & Imake fixes
       2. Simple patch to help take care of some timing bugs
       3. Patch to fix resize oddities when hitting 'hard' edge
          introduced by EdgeScroll loop patch
       4. Fixed startup w/ no rc bug, plus added more defaults, so if
          started without an rc file, things should run ok
       5. Patch to fix UseStyle problem w/ BackColor
       6. More FAQ updates
       7. Created an 'extras' dir, and moved some of the existing
          modules in there (the ones that aren't being built by
          default).
       8. More potential speedups in event processing
       9.  Decoupled warp from Focus, adding WarpToWindow function.
       10. Added SendToModule builtin to send arbitrary strings to
           modules to help implement more complex dynamic module
           abilities and allow for module to module communication
       11. Put old FvwmButtons back as FvwmGoodStuff, for people who
           prefer the simpler older version (in extras dir).  Also
           made it able to be passed in the name parameter on
           invocation so it doesn't have to be symbolically linked to
           the new names any more.
       12. Adding a new module FvwmForm2 in the extras directory,
           contributed by Frederic Cordier.  Based on FvwmForm but
           completely rewritten apparently.  It uses scripts, has a
           new more complex syntax (Pascal like) and adds
           RadioButtons.  I would like to eventually combine aspects
           of the two versions (and more) to make one killer module,
           perhaps.
       13. Made fvwm_msg send errors to modules, so FvwmTalk sees them
           like it used to (and any other module that looks for
           M_ERROR in the future)
       14. Added DestroyModuleConfig, based on patch from Toshi Isogai
       15. Modules can now send module config commands to fvwm (eg
           FvwmTalk)
       16. Removed implicit Exec exec stuff for the time being, until
           I come up with a better way to do it (back to old behavior)
       17. More mini icons added and some icons removed
       18. Added "KillMe" command that modules can send to fvwm asking
           for an assisted suicide (almost called this Kevorkian :)).
           Mark Crimmins wanted this for probs with TkGoodStuff.
       19. Fixed RaiseWindow bug under some servers when no icon
           pixmap.
       20. Fixed one prob w/ FvwmAuto and menus being hidden (under
           click to focus - still needs work for other focus policies,
           but not entirely sure how to approach this yet).
       21. Added ExitFunction, to be executed on exit (before restarts
           too).  Useful for explicitly killing modules, etc.
       22. Changed behavior of '-f' to just specify config file (now
           use -cmd to perform an actual command, like -cmd 'FvwmM4
           .fvwm2rc')
       23. Updates to FvwmSaveDesk from Carsten Paeth so it should now
           actually work under 2.xx, plus some other bugfixes too I
           believe.
       24. Added PipeRead function, which executes a program and
           Read's it's output.  Useful for making dynamic menus and
           such.
       25. Security fix for FvwmM4 & FvwmCpp from Austin Donnelly
       26. Added strerror for SunOS 4.1.x
       27. Added ability to remove mouse and key bindings without
           restart (do the binding but specify '-' as the function).
           Probably needs more checking for removing mouse bindings
           from title bar buttons correctly, though.

still working on:

       -  Fixed prob w/ moving icons that don't have pixmaps if
          opaquemovesize set to low

       -  Fixed UseStyle to allow "" for styles with spaces

       -  Updates to sample rc file

       -  Fixes to FvwmConsole from Toshi Isogai
       -  FvwmDebug was missing some stuff
       -  Patch for IconGeometry placement problem from Graham Barr?
======================================================================

I'll clean up some of those last few when I get back in town Sunday
night (I won't be around to respond to mail until then), along with
whatever problems y'all catch, and hopefully get the actual 2.0.43
out sometime Monday.

Some of the things in the "still doing" section may be removed between
now and then.

RSW> I do hope that the fix will be in there so that fvwm2 will start
RSW> without a ~/.fvwm2rc file and rather fall back on the system one.

Yup - it'll now start without an rc file.  But it still doesn't look
for the system one.  I'll try and add that real quick when I get back
Sunday night, as it slipped my mind...

RSW> I have a user community of ~40,000 users for whom I want to make
RSW> fvwm2 the default window manager.

Well, that should be interesting...

Gotta go.  I should have been out of town an hour ago...

Chuck

ps - Brady, as you can see I got SendToModule & those Focus/warp
changes in there, so if you want to code up those changes to
FvwmIconMan and ship it to me by Monday, I'll see that they get in.  I
wasn't sure if you were on the workers list or not, so I figured I'd
better copy you on it.
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Jason L Tibbitts III <[email-masked]>
Date: 20 Jun 1996 19:54:24 -0500

>>>>> "CH" ==   <[email-masked]> writes:

CH> -rw-rw-r-- 1 chines users 542234 Jun 20 17:06 fvwm-2.0.43-almost.tar.gz

Thanks Chuck!  Trying it out on Solaris 2.4 with gcc 2.7.2 (and hacked
Imake.tmpl) as I type...

Oops, a tiny patch seems to be required:

--- fvwm/builtins.c.orig        Thu Jun 20 19:49:11 1996
+++ fvwm/builtins.c     Thu Jun 20 19:49:42 1996
@@ -717,7 +717,7 @@
   extern char *sys_errlist[];
 
   if (num >= 0 && num < sys_nerr)
-    return(sys_errlist[errnum]);
+    return(sys_errlist[num]);
   else
     return "Unknown error number";
 }

Otherwise it builds and links fine.  Too bad I'm at home so I can't test
it.  Linux comes next.

 - J<

---

From: [email-masked] (Albrecht Kadlec)
Date: Fri, 21 Jun 96 14:38:51 +0200

>>>>> Charles Hines writes:

RSW> Ready and able.

C> Glad to hear it, because now I am too.

C> I just copied the tar file to ftp.hpc.uh.edu in
C> /pub/fvwm/version-2/.test/ and it looks like so:

C> -rw-rw-r--   1 chines   users     542234 Jun 20 17:06 fvwm-2.0.43-almost.tar.gz
netscape didn't want to fetch it.
I clicked on the filename in the ftp-directory listing of .test and 
Netscape grumbled and finally concluded, it couldn't FIND the file.
strange. maybe the .test directory?

fetched it via old-fashioned ftp then.

ChangeLog:

C>        21. Added ExitFunction, to be executed on exit (before restarts
C>            too).  Useful for explicitly killing modules, etc.

well that's a workaround.
the main reason to explicitly kill a module in ExitFunction -(modules
should normally be automatically killed on Exit of fvwm2, since
they're extensions)- is to have this ExitFunction:

AddToFunc ExitFunction
+ 	"I"	KillModule FvwmButtons
+	"I"	FvwmBanner
+	"I"	Wait FvwmBanner

where the wait is to make sure, all windows are unswallowed and redisplayed
by the X server, before the restarted new FvwmButton is initializing.
This new FvwmButton would start new copies of all swallowed programs, since
he "can't see" the old ones.

The fix would be for fvwm2 to wait (a little bit more) for the old
FvwmButton module to die, before restarting, and for FvwmButtons to
wait till all unswallowing is finished, before exiting.
This would be a little bit slower on restart, but still faster than the
Quirx with FvwmBanner & wait FvwmBanner in the ExitFunction.

Still, I can see a use for Exitfunction, aside from killing modules.

ok Jason reported the next one already
C>       26. Added strerror for SunOS 4.1.x
when compiling:

builtins.c: In function `strerror':
builtins.c:720: `errnum' undeclared (first use this function)
builtins.c:720: (Each undeclared identifier is reported only once
builtins.c:720: for each function it appears in.)

#if !defined(HAVE_STRERROR) || HAVE_STRERROR == 0
char *strerror(int num)
{
  extern int sys_nerr;
  extern char *sys_errlist[];

#endif

albrecht
-- 
So you swim to the disco, out of your depth, cheated gigolo
Your lucky charms are tarnished so you leave alone  -- Marillion
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Makoto MATSUSHITA <[email-masked]>
Date: Sun, 23 Jun 1996 20:53:45 +0900

Here is a (merged) patch against plain 2.0.43-almost. It will make
2.0.43 more portable, and fix some bugs.

Followings is the summary of this patch. 'reported:' means that it is
already reported to [email-masked].

* InstallNonExecFile() macro is not defined in X11R4(?)
  (reported: <[email-masked]>)

* 'C++FLAGS' is required for make of BSD/OS 2.x.

* Add 'sgi' defines to configure.h for IRIX, OS specific section.
  (reported: <[email-masked]>>

* extra/FvwmConfig/Imakefile misses 'LOCAL_LIBRARIES' definition.

* extra/FvwmConfig/FvwmDebug.c uses 'waitpid' function.
	Define 'ReapChildrenPid()' macro in extras/FvwmDebug/FvwmDebug.h.
	('ReapChildren()' macro is not suitable to use)

* NEWS-OS 4.x doesn't know pid_t and setvbuf().
	Define these to extras/FvwmDebug/FvwmDebug.h.

* <malloc.h> should NOT use in some OS (maybe warned or error).
	XXX: avoid to include <malloc.h> in extras/FvwmForm2/FvwmForm.c,
	modules/FvwmForm/FvwmForm.c, and modules/FvwmIconMan/FvwmIconMan.h.

* BUGFIX: fvwm/builtin.c uses undefined variable in strerror().
  (reported: <[email-masked]>)

* BUGFIX: Pixmap alignment incorrect in menu.
  (reported: <[email-masked]>)

* Fix type mismatch warnings.
  (reported: <[email-masked]>)
	See modules/FvwmButtons/FvwmButtons.c, modules/FvwmButtons/parse.c,
	and modules/FvwmTalk/FvwmTalk.c.

* "../../libs/fvwmlib.h" isn't included, though function GetFontOrFixed is used.
	Since function name collision exists, rename CopyString() to
	CopyNString() in modules/FvwmForm/FvwmForm.c.

* Manual typo fix.
	See modules/FvwmForm/FvwmForm.man.

* modules/FvwmIconMan/FvwmIconMan.c uses 'sysconf' function.
	Use 'GetFdWidth' instead.

***

I just compile 2.0.43-almost with this patch successfully, under:
	BSD/OS 2.1 (with NIS patch)/cc (gcc 2.7.2)
	FreeBSD 2.2-960612-SNAP/cc (gcc 2.6.3)
	NEWS-OS 4.2.1a+RD/gcc 2.5.8

Note:
	2.0.43 requires 'cpp should define __DATE__ and __TIME__ macro'.
	Some old-fasioned cpp doesn't define these.

- -
Makoto `MAR_kun' MATSUSHITA

--- Fvwm.tmpl.dist	Tue May 28 22:31:39 1996
+++ Fvwm.tmpl	Sun Jun 23 20:09:18 1996
@@ -327,6 +327,10 @@
 #define InstallNamedNonExec(what,as,where) InstallNonExec(what,where/as)
 #endif /* InstallNamedNonExec() */
 
+#ifndef InstallNonExecFile()
+#define InstallNonExecFile(file,dest) InstallNonExec(file,dest)
+#endif /* InstallNonExecFile() */
+
 #ifndef NullMake
 #define NullMake()							@@\
 all::									@@\
@@ -394,6 +398,9 @@
 #if ProjectX > 5
 
 #ifndef FvwmCplusplusProgramTargetHelper
+#if defined(i386BsdArchitecture) && defined(i386Bsdi)
+        C++FLAGS = $(CXXFLAGS)
+#endif
 #define	FvwmCplusplusProgramTargetHelper(program,srcs,objs,deplib,locallib,syslib) @@\
 ProgramTargetName(program): $(objs) $(deplib)				@@\
 	RemoveTargetProgram($@)						@@\
--- configure.h.dist	Tue Jun  4 00:06:21 1996
+++ configure.h	Sun Jun 23 18:25:20 1996
@@ -21,7 +21,7 @@
  *
  **************************************************************************/
 
-#if defined _POSIX_SOURCE || defined SYSV || defined __sun__
+#if defined _POSIX_SOURCE || defined SYSV || defined __sun__ || defined sgi
 
 #define HAVE_WAITPID  1
 #define HAVE_SYSCONF 1
--- extras/FvwmConfig/Imakefile.dist	Sat Feb 17 13:47:42 1996
+++ extras/FvwmConfig/Imakefile	Sat Jun 22 03:33:27 1996
@@ -14,6 +14,8 @@
         WinText.o WinRadioButton.o WinInput.o WinSlider.o \
         WinColorSelector.o
 
+LOCAL_LIBRARIES = $(FVWM_LIBS) $(XLIB)
+
 #if ProjectX > 5
 FvwmComplexCplusplusProgramTarget(FvwmConfig)
 #else
--- extras/FvwmDebug/FvwmDebug.c.dist	Sat Mar  2 05:17:22 1996
+++ extras/FvwmDebug/FvwmDebug.c	Sat Jun 22 03:33:27 1996
@@ -62,7 +62,7 @@
   }
   else /* parent */
   {
-    if (waitpid(pid, NULL, WNOHANG) != pid)
+    if (ReapChildrenPid(pid) != pid)
     {
       dup2(PIPE[1], STDOUT_FILENO);
       dup2(PIPE[1], STDERR_FILENO);
--- extras/FvwmDebug/FvwmDebug.h.dist	Wed Sep 14 03:24:41 1994
+++ extras/FvwmDebug/FvwmDebug.h	Sat Jun 22 03:33:27 1996
@@ -36,3 +36,15 @@
 #include "../../fvwm/sun_headers.h"
 #endif
 
+#ifdef HAVE_WAITPID
+#define ReapChildrenPid(pid) waitpid(pid, NULL, WNOHANG)
+#else
+#define ReapChildrenPid(pid) wait4(pid, NULL, WNOHANG, NULL)
+#endif
+
+#ifdef sony_news
+/* XXX: no pid_t defines */
+typedef int pid_t;
+/* XXX: emulate setvbuf() */
+#define setvbuf(a,b,c,d) setlinebuf(a)
+#endif
--- extras/FvwmForm2/FvwmForm.c.dist	Thu May 23 20:53:36 1996
+++ extras/FvwmForm2/FvwmForm.c	Sat Jun 22 03:36:42 1996
@@ -17,7 +17,9 @@
 #include <X11/cursorfont.h>
 #define XK_MISCELLANY
 #include <X11/keysymdef.h>
+#if !defined(__bsdi__) && !defined(__FreeBSD__)
 #include <malloc.h>
+#endif
 #include <string.h>
 #include <sys/types.h>
 #include <sys/time.h>
--- fvwm/builtins.c.dist	Thu Jun 20 10:15:22 1996
+++ fvwm/builtins.c	Sat Jun 22 03:52:14 1996
@@ -717,7 +717,7 @@
   extern char *sys_errlist[];
 
   if (num >= 0 && num < sys_nerr)
-    return(sys_errlist[errnum]);
+    return(sys_errlist[num]);
   else
     return "Unknown error number";
 }
--- fvwm/menus.c.dist	Fri Apr  5 09:30:47 1996
+++ fvwm/menus.c	Sat Jun 22 03:56:23 1996
@@ -179,6 +179,12 @@
   text_y = y_offset + Scr.StdFont.y;
   if(mi->picture)
     text_y+=mi->picture->height;
+  if (mi->lpicture)
+  {
+    y = mi->lpicture->height - Scr.StdFont.height;
+    if (y>1)
+      text_y += y>>1;
+  }
 
   ShadowGC = Scr.MenuShadowGC;
   if(Scr.d_depth<2)
--- modules/FvwmButtons/FvwmButtons.c.dist	Tue Apr 16 03:50:16 1996
+++ modules/FvwmButtons/FvwmButtons.c	Sun Jun 23 18:26:44 1996
@@ -1503,7 +1503,7 @@
   Window root;
   Window rp=None;
   Window *children;
-  int n;
+  unsigned int n;
 
   if(!XGetGeometry(dpy,win,&root,x,y,w,h,bw,d))
     return None;
--- modules/FvwmButtons/parse.c.dist	Tue Apr 16 04:00:41 1996
+++ modules/FvwmButtons/parse.c	Sun Jun 23 18:27:39 1996
@@ -703,7 +703,8 @@
     case 0:/* Geometry */
       {
 	char geom[64];
-	int flags,g_x,g_y,width,height;
+	int flags,g_x,g_y;
+	unsigned int width,height;
 	i=sscanf(s,"%63s",geom);
 	if(i==1)
 	  {
--- modules/FvwmForm/FvwmForm.c.dist	Thu Jun 20 09:39:23 1996
+++ modules/FvwmForm/FvwmForm.c	Sat Jun 22 03:33:27 1996
@@ -6,6 +6,7 @@
  * given, provided that this copyright is kept intact.
  */
 #include "../../configure.h"
+#include "../../libs/fvwmlib.h"
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -16,7 +17,9 @@
 #include <X11/cursorfont.h>
 #define XK_MISCELLANY
 #include <X11/keysymdef.h>
+#if !defined(__bsdi__) && !defined(__FreeBSD__)
 #include <malloc.h>
+#endif
 #include <string.h>
 #include <sys/types.h>
 #include <sys/time.h>
@@ -181,7 +184,7 @@
 static int N = 8;
 
 /* copy a string until '\0', or up to n chars, and delete trailing spaces */
-char *CopyString (char *cp, int n)
+char *CopyNString (char *cp, int n)
 {
   char *dp, *bp;
   if (n == 0)
@@ -310,31 +313,31 @@
     else if (strncmp(cp, "Fore", 4) == 0) {
       cp += 4;
       while (isspace(*cp)) cp++;
-      color_names[c_fore] = CopyString(cp, 0);
+      color_names[c_fore] = CopyNString(cp, 0);
       fprintf(fp_err, "ColorFore: %s\n", color_names[c_fore]);
       continue;
     } else if (strncmp(cp, "Back", 4) == 0) {
       cp += 4;
       while (isspace(*cp)) cp++;
-      color_names[c_back] = CopyString(cp, 0);
+      color_names[c_back] = CopyNString(cp, 0);
       fprintf(fp_err, "ColorBack: %s\n", color_names[c_back]);
       continue;
     } else if (strncmp(cp, "ItemFore", 8) == 0) {
       cp += 8;
       while (isspace(*cp)) cp++;
-      color_names[c_itemfore] = CopyString(cp, 0);
+      color_names[c_itemfore] = CopyNString(cp, 0);
       fprintf(fp_err, "ColorItemFore: %s\n", color_names[c_itemfore]);
       continue;
     } else if (strncmp(cp, "ItemBack", 8) == 0) {
       cp += 8;
       while (isspace(*cp)) cp++;
-      color_names[c_itemback] = CopyString(cp, 0);
+      color_names[c_itemback] = CopyNString(cp, 0);
       fprintf(fp_err, "ColorItemBack: %s\n", color_names[c_itemback]);
       continue;
     } else if (strncmp(cp, "Font", 4) == 0) {
       cp += 4;
       while (isspace(*cp)) cp++;
-      font_names[f_text] = CopyString(cp, 0);
+      font_names[f_text] = CopyNString(cp, 0);
       fprintf(fp_err, "Font: %s\n", font_names[f_text]);
       xfs[f_text] = GetFontOrFixed(dpy, font_names[f_text]);
       fonts[f_text] = xfs[f_text]->fid;
@@ -342,7 +345,7 @@
     } else if (strncmp(cp, "ButtonFont", 10) == 0) {
       cp += 10;
       while (isspace(*cp)) cp++;
-      font_names[f_button] = CopyString(cp, 0);
+      font_names[f_button] = CopyNString(cp, 0);
       fprintf(fp_err, "ButtonFont: %s\n", font_names[f_button]);
       xfs[f_button] = GetFontOrFixed(dpy, font_names[f_button]);
       fonts[f_button] = xfs[f_button]->fid;
@@ -350,7 +353,7 @@
     } else if (strncmp(cp, "InputFont", 9) == 0) {
       cp += 9;
       while (isspace(*cp)) cp++;
-      font_names[f_input] = CopyString(cp, 0);
+      font_names[f_input] = CopyNString(cp, 0);
       fprintf(fp_err, "InputFont: %s\n", font_names[f_input]);
       xfs[f_input] = GetFontOrFixed(dpy, font_names[f_input]);
       fonts[f_input] = xfs[f_input]->fid;
@@ -510,7 +513,7 @@
       cp += 7;
       while (isspace(*cp)) cp++;
       cur_button->button.commands[cur_button->button.n++] =
-	CopyString(cp, 0);
+	CopyNString(cp, 0);
     }
   }  /* end of switch() */
   /* get the geometry right */
--- modules/FvwmForm/FvwmForm.man.dist	Wed Sep 27 03:14:57 1995
+++ modules/FvwmForm/FvwmForm.man	Sat Jun 22 03:33:27 1996
@@ -145,7 +145,7 @@
 .B \fImultiple\fP
 This is a multiple-choice selection.
 .TP 4
-.B *FvwmFormChoice \fIname\fP \fIvalue\fP on | off "\fIstring\fP"
+.B *FvwmFormChoice \fIname\fP \fIvalue\fP "on | off" "\fIstring\fP"
 Specifies a choice for a selection.
 The choice item has a \fIname\fP and a \fIvalue\fP.
 The \fIstring\fP will be displayed to the right of the choice button
--- modules/FvwmIconMan/FvwmIconMan.c.dist	Wed Apr  3 03:32:41 1996
+++ modules/FvwmIconMan/FvwmIconMan.c	Sat Jun 22 03:33:27 1996
@@ -1,5 +1,6 @@
 #include "FvwmIconMan.h"
 #include "../../fvwm/module.h"
+#include "../../libs/fvwmlib.h"
 
 static int fd_width;
 static FILE *console = NULL;
@@ -690,7 +691,7 @@
   read_in_resources (argv[3]);
   
   assert (globals.managers);
-  fd_width = sysconf(_SC_OPEN_MAX);
+  fd_width = GetFdWidth();
 
   SetMessageMask(Fvwm_fd,M_CONFIGURE_WINDOW | M_RES_CLASS | M_RES_NAME |
                  M_ADD_WINDOW | M_DESTROY_WINDOW | M_ICON_NAME |
--- modules/FvwmIconMan/FvwmIconMan.h.dist	Wed Apr  3 03:31:13 1996
+++ modules/FvwmIconMan/FvwmIconMan.h	Sun Jun 23 19:45:23 1996
@@ -38,6 +38,13 @@
 #define FVWM_VERSION 2
 #endif
 
+/* XXX */
+#ifdef MALLOC_H
+#if defined(__bsdi__) || defined(__FreeBSD__)
+#undef MALLOC_H
+#endif
+#endif
+
 #ifdef MALLOC_H
 #include <malloc.h>
 #endif
--- modules/FvwmTalk/FvwmTalk.c.dist	Tue May 28 10:07:45 1996
+++ modules/FvwmTalk/FvwmTalk.c	Sun Jun 23 18:26:04 1996
@@ -434,7 +434,7 @@
 {
   Atom actual_type;
   int actual_format,i;
-  long nitems, bytes_after, nread;
+  unsigned long nitems, bytes_after, nread;
   unsigned char *data, *data2;
 
   if (property == None)