FVWM: fix-2.0.42 patch collection

From: まつしたまこと <matusita_at_ics.es.osaka-u.ac.jp>
Date: Mon, 29 Apr 1996 03:28:47 +0900

This is a (revised :-) patch collection, to fix probrems in 2.0.42 (no
feature enhancement is included). This patch fixes:

        * some fixes to imake environment.
        * avoid to use installed fvwm library.
        * compilation problems which related to BSD/OS 2.x.
        * avoid to use strerror() when SunOS 4.x.
        * trouble of 'no configfile exists'.
        * some manual typos.
        * mapping probrem when deiconify.
        * portability/compilation fix to FvwmForm.
        * FvwmIconMan should use GetFdWidth() instead of sysconf().

All of points are already reported to this list, or found by me. I
hope this patch helps people in trouble..

BTW, anybody have been verified the problem of "FvwmPager dies when
moving a window on a non-current desk to the current desk", reported
and fixed (?) by Mr. Nobutaka Suzuki ?

- -
Makoto `MAR_kun' MATSUSHITA


--- Fvwm.tmpl.dist Mon Apr 8 23:59:50 1996
+++ Fvwm.tmpl Mon Apr 29 01:17:06 1996
_at_@ -249,7 +249,7 @@
         CC = FvwmCompiler
 #endif
 #ifdef FvwmCompilerFlags
- CFLAGS = FvwmCompilerFlags
+ CDEBUGFLAGS = FvwmCompilerFlags
 #endif
 
 #ifdef FvwmBinDir
_at_@ -301,7 +301,7 @@
 #endif /* HPArchitecture */
 #endif /* AlphaArchitecture */
 
- FVWM_LIBS = -L$(FVWM_SRCDIR)/libs -l$(LIB) $(XPM_LIBRARIES) $(KLUDGE_LIBS)
+ FVWM_LIBS = $(FVWM_SRCDIR)/libs/lib$(LIB).a $(XPM_LIBRARIES) $(KLUDGE_LIBS)
 FVWM_DEPLIB = $(FVWM_SRCDIR)/libs/lib$(LIB).a
 
     DEFINES = $(OPTION_DEFINES) $(XPM_DEFINES) $(AUDIO_DEFINES)
_at_@ -389,6 +389,9 @@
 #if ProjectX > 5
 
 #ifndef FvwmCplusplusProgramTargetHelper
+#if defined(i386BsdArchitecture) && defined(i386Bsdi)
+ C++FLAGS = $(CXXFLAGS)
+#endif
 #define FvwmCplusplusProgramTargetHelper(program,srcs,objs,deplib,locallib,syslib) _at_@\
 ProgramTargetName(program): $(objs) $(deplib) _at_@\
         RemoveTargetProgram($_at_) @@\
--- fvwm/builtins.c.dist Thu Apr 11 02:38:25 1996
+++ fvwm/builtins.c Mon Apr 29 01:15:02 1996
_at_@ -663,7 +663,15 @@
   {
     if (execl(exec_shell_name, exec_shell_name, "-c", cmd, NULL)==-1)
     {
+#if defined(sun) && !defined(SVR4)
+ /* XXX: dirty hack for SunOS 4.x */
+ extern char *sys_errlist[];
+
+ /* no strerror() function, see sys_errlist[] instead */
+ fvwm_msg(ERR,"exec_function","execl failed (%s)",sys_errlist[errno]);
+#else
       fvwm_msg(ERR,"exec_function","execl failed (%s)",strerror(errno));
+#endif
       exit(100);
     }
   }
--- fvwm/fvwm.c.dist Thu Apr 11 23:52:19 1996
+++ fvwm/fvwm.c Mon Apr 29 01:17:44 1996
_at_@ -124,6 +124,7 @@
   char message[255];
   Bool single = False;
   Bool option_error = FALSE;
+ MenuRoot *mr;
 
   g_argv = argv;
   g_argc = argc;
_at_@ -355,6 +356,22 @@
   DBUG("main","Running config_command...");
   ExecuteFunction(config_command, NULL,&Event,C_ROOT,-1);
   DBUG("main","Done running config_command");
+
+ CaptureAllWindows();
+ MakeMenus();
+
+ if(Restarting)
+ {
+ mr = FindPopup("RestartFunction");
+ if(mr != NULL)
+ ExecuteFunction("Function RestartFunction",NULL,&Event,C_ROOT,-1);
+ }
+ else
+ {
+ mr = FindPopup("InitFunction");
+ if(mr != NULL)
+ ExecuteFunction("Function InitFunction",NULL,&Event,C_ROOT,-1);
+ }
 
   if(Scr.d_depth<2)
   {
--- fvwm/fvwm2.man.dist Sat Apr 13 03:05:15 1996
+++ fvwm/fvwm2.man Mon Apr 29 01:15:02 1996
_at_@ -621,7 +621,7 @@
 
 .IP "Exec \fIcommand\fP"
 Executes \fIcommand\fP. Exec doesn't require an additional 'exec' or
-'&' in the command.
+\'&' in the command.
 
 The following example binds function key F1 in the root window, with
 no modifiers, to the exec function. The program rxvt will be started
--- fvwm/misc.c.dist Tue Mar 12 03:27:35 1996
+++ fvwm/misc.c Mon Apr 29 01:16:03 1996
_at_@ -686,8 +686,10 @@
 #endif
   if ((t->flags & ICONIFIED)&&(!(t->flags & SUPPRESSICON)))
     {
- if(!(t->flags & NOICON_TITLE))wins[i++] = t->icon_w;
- wins[i++] = t->icon_pixmap_w;
+ if(!(t->flags & NOICON_TITLE))
+ wins[i++] = t->icon_w;
+ if (t->icon_pixmap_w)
+ wins[i++] = t->icon_pixmap_w;
     }
   if(!(t->flags & ONTOP))
     wins[i++] = t->frame;
--- fvwm/read.c.dist Sat Mar 23 05:33:21 1996
+++ fvwm/read.c Mon Apr 29 01:19:05 1996
_at_@ -42,7 +42,6 @@
   FILE *fd;
   int thisfileno;
   extern Bool Restarting;
- MenuRoot *mr;
   extern XEvent Event;
 
   thisfileno = numfilesread;
_at_@ -123,24 +122,6 @@
       tline = fgets(line,(sizeof line)-1,fd);
     }
   fclose(fd);
- if(thisfileno == 0)
- {
- CaptureAllWindows();
- MakeMenus();
-
- if(Restarting)
- {
- mr = FindPopup("RestartFunction");
- if(mr != NULL)
- ExecuteFunction("Function RestartFunction",NULL,&Event,C_ROOT,-1);
- }
- else
- {
- mr = FindPopup("InitFunction");
- if(mr != NULL)
- ExecuteFunction("Function InitFunction",NULL,&Event,C_ROOT,-1);
- }
- }
 }
 
 
--- modules/FvwmConfig/Imakefile.dist Sat Feb 17 13:47:42 1996
+++ modules/FvwmConfig/Imakefile Mon Apr 29 01:15:02 1996
_at_@ -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
--- modules/FvwmForm/FvwmForm.c.dist Fri Feb 16 22:59:47 1996
+++ modules/FvwmForm/FvwmForm.c Mon Apr 29 01:15:03 1996
_at_@ -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>
_at_@ -16,7 +17,9 @@
 #include <X11/cursorfont.h>
 #define XK_MISCELLANY
 #include <X11/keysymdef.h>
+#ifndef __bsdi__
 #include <malloc.h>
+#endif
 #include <string.h>
 #include <sys/types.h>
 #include <sys/time.h>
_at_@ -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)
_at_@ -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;
_at_@ -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;
_at_@ -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;
_at_@ -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 Mon Apr 29 01:15:03 1996
_at_@ -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 Mon Apr 29 01:23:47 1996
_at_@ -1,5 +1,6 @@
 #include "FvwmIconMan.h"
 #include "../../fvwm/module.h"
+#include "../../libs/fvwmlib.h"
 
 static int fd_width;
 static FILE *console = NULL;
_at_@ -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 |
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_hpc.uh.edu.
To report problems, send mail to fvwm-owner_at_hpc.uh.edu.
Received on Sun Apr 28 1996 - 13:26:07 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:58 BST