On Thu, Sep 16, 2010 at 02:14:57PM +0100, Thomas Adam wrote: > On 16 September 2010 13:50, Sergey Vlasov <v...@altlinux.ru> wrote: > > Removing the offending line fixes the problem. > > Thanks. I had to copy and paste what looked like your Changelog > entry. Annoyingly. Please read up on how we accept patches here.
Oops. (Some other projects prefer Changelog separate from the patch - most likely to avoid rejects when someone else had also added a Changelog entry.) > If there's another bug that crops up with this again, be warned I'll > revert both this, and Vermeulen's patch. Yes, there is a bug - the patch was applied at the wrong place (I wonder how that could happen, there are different number of leading tabs in those places). Here is the fixup patch, if you will not decide to revert the whole thing (with -U10, so that at least one different context line would be visible - yes, that much code is duplicated there): Index: ChangeLog =================================================================== RCS file: /home/cvs/fvwm/fvwm/ChangeLog,v retrieving revision 1.3131 diff -u -p -U 10 -r1.3131 ChangeLog --- ChangeLog 16 Sep 2010 13:15:51 -0000 1.3131 +++ ChangeLog 16 Sep 2010 13:53:26 -0000 @@ -1,13 +1,13 @@ 2010-09-16 Sergey Vlasov <v...@altlinux.ru> * fvwm/move_resize.c (GetOnePositionArgument): - Fix parsing of commands like 'Move 50-50w 50-50w' + Fix parsing of commands like 'Move 50-50w 50-50w'. 2010-08-31 Gerard Vermeulen <gav...@gmail.org> * fvwm/move_resize.c (GetOnePositionArgument): Parse commands like 'Move w+-5p w+-2p'. 2010-08-09 Thomas Adam <tho...@xteddy.org> * NEWS: * configure.ac: Updated for the FVWM 2.5.31 release. Index: fvwm/move_resize.c =================================================================== RCS file: /home/cvs/fvwm/fvwm/fvwm/move_resize.c,v retrieving revision 1.309 diff -u -p -U 10 -r1.309 move_resize.c --- fvwm/move_resize.c 16 Sep 2010 13:15:51 -0000 1.309 +++ fvwm/move_resize.c 16 Sep 2010 13:53:26 -0000 @@ -363,20 +363,21 @@ static int GetOnePositionArgument( if (*s1 != 0) { int val; int n; float f; /* parse value */ if (sscanf(s1, "-%d%n", &val, &n) >= 1) { /* i.e. -1, -+1 or --1 */ + final_pos += (screen_size - window_size); val = -val; } else if ( sscanf(s1, "+%d%n", &val, &n) >= 1 || sscanf(s1, "%d%n", &val, &n) >= 1) { /* i.e. 1, +1, ++1 or +-1 */ } else { @@ -396,21 +397,20 @@ static int GetOnePositionArgument( while (*s1 != 0) { int val; int n; float f; /* parse value */ if (sscanf(s1, "-%d%n", &val, &n) >= 1) { /* i.e. -1, -+1 or --1 */ - final_pos += (screen_size - window_size); val = -val; } else if ( sscanf(s1, "+%d%n", &val, &n) >= 1 || sscanf(s1, "%d%n", &val, &n) >= 1) { /* i.e. 1, +1, ++1 or +-1 */ } else {