]> git.deb.at Git - pkg/mmv.git/blobdiff - debian/patches/patches-as-of-mmv-1.01b-15.diff
Switch to source format "3.0 (quilt)"
[pkg/mmv.git] / debian / patches / patches-as-of-mmv-1.01b-15.diff
diff --git a/debian/patches/patches-as-of-mmv-1.01b-15.diff b/debian/patches/patches-as-of-mmv-1.01b-15.diff
new file mode 100644 (file)
index 0000000..b99d45b
--- /dev/null
@@ -0,0 +1,713 @@
+Description: Patches as of mmv 1.01b-15
+ This patch contains the patches as of mmv 1.01b-15 when it has been
+ converted to the source format "3.0 (quilt)"
+Author: Multiple Authors. See changelog for details.
+Reviewed-By: Axel Beckert <abe@debian.org>
+Last-Update: 2012-09-16
+
+--- mmv-1.01b.orig/mmv.c
++++ mmv-1.01b/mmv.c
+@@ -62,7 +62,8 @@ static char USAGE[] =
+ %s [-m|x%s|c|o|a|z] [-h] [-d|p] [-g|t] [-v|n] [from to]\n\
+ \n\
+ Use #N in the ``to'' pattern to get the string matched\n\
+-by the N'th ``from'' pattern wildcard.\n";
++by the N'th ``from'' pattern wildcard.\n\
++Use -- as the end of options.\n";
+ #define OTHEROPT (_osmajor < 3 ? "" : "|r")
+@@ -75,7 +76,9 @@ Use #[l|u]N in the ``to'' pattern to get
+ string matched by the N'th ``from'' pattern wildcard.\n\
+ \n\
+ A ``from'' pattern containing wildcards should be quoted when given\n\
+-on the command line.\n";
++on the command line. Also you may need to quote ``to'' pattern.\n\
++\n\
++Use -- as the end of options.\n";
+ #ifdef IS_SYSV
+ #define OTHEROPT ""
+@@ -85,6 +88,7 @@ on the command line.\n";
+ #endif
++#include <unistd.h>
+ #include <stdio.h>
+ #include <ctype.h>
+@@ -120,14 +124,12 @@ extern unsigned _stklen = 10000;
+ #else
+ /* for various flavors of UN*X */
++#include <libgen.h>
++#include <stdlib.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/file.h>
+-extern char *getenv();
+-extern long lseek();
+-extern char *malloc();
+-
+ #ifdef HAS_DIRENT
+ #include <dirent.h>
+ typedef struct dirent DIRENTRY;
+@@ -390,7 +392,7 @@ static int movealias(/* REP *first, REP
+ static int snap(/* REP *first, REP *p */);
+ static void showdone(/* REP *fin */);
+ static void breakout(/*  */);
+-static int breakrep(/* */);
++static void breakrep(int);
+ static void breakstat(/* */);
+ static void quit(/*  */);
+ static int copymove(/* REP *p */);
+@@ -436,9 +438,11 @@ static CHUNK *freechunks = NULL;
+ static SLICER slicer[2] = {{NULL, NULL, 0}, {NULL, NULL, 0}};
+ static int badreps = 0, paterr = 0, direrr, failed = 0, gotsig = 0, repbad;
+-static FILE *outfile = stdout;
++static FILE *outfile;
++#ifdef IS_MSDOS
+ static char IDF[] = "$$mmvdid.";
++#endif
+ static char TEMP[] = "$$mmvtmp.";
+ static char TOOLONG[] = "(too long)";
+ static char EMPTY[] = "(empty)";
+@@ -456,12 +460,12 @@ char pathbuf[MAXPATH];
+ char fullrep[MAXPATH + 1];
+ static char *(start[MAXWILD]);
+ static int len[MAXWILD];
+-static char hasdot[MAXWILD];
+ static REP mistake;
+ #define MISTAKE (&mistake)
+ #ifdef IS_MSDOS
++static char hasdot[MAXWILD];
+ static int olddevflag, curdisk, maxdisk;
+ static struct {
+       char ph_banner[30];
+@@ -497,6 +501,8 @@ int main(argc, argv)
+ {
+       char *frompat, *topat;
++      outfile = stdout;
++
+       init();
+       procargs(argc, argv, &frompat, &topat);
+       domatch(frompat, topat);
+@@ -560,7 +566,7 @@ static void procargs(argc, argv, pfrompa
+       char **pfrompat, **ptopat;
+ {
+       char *p, c;
+-      char *cmdname = argv[0];
++      char *cmdname = basename(argv[0]);
+ #ifdef IS_MSDOS
+ #define CMDNAME (patch.ph_name)
+@@ -575,6 +581,11 @@ static void procargs(argc, argv, pfrompa
+       for (argc--, argv++; argc > 0 && **argv == '-'; argc--, argv++)
+               for (p = *argv + 1; *p != '\0'; p++) {
+                       c = mylower(*p);
++                      if (c == '-') {
++                              argc--;
++                              argv++;
++                              goto endargs;
++                      }
+                       if (c == 'v' && !noex)
+                               verbose = 1;
+                       else if (c == 'n' && !verbose)
+@@ -618,7 +629,8 @@ static void procargs(argc, argv, pfrompa
+                       }
+               }
+-      if (op == DFLT)
++endargs:
++      if (op == DFLT) {
+               if (strcmp(cmdname, MOVENAME) == 0)
+                       op = XMOVE;
+               else if (strcmp(cmdname, COPYNAME) == 0)
+@@ -629,6 +641,8 @@ static void procargs(argc, argv, pfrompa
+                       op = HARDLINK;
+               else
+                       op = DFLTOP;
++      }
++      
+       if (
+               op & DIRMOVE &&
+ #ifdef IS_MSDOS
+@@ -775,7 +789,7 @@ static void matchpat()
+ static int parsepat()
+ {
+       char *p, *lastname, c;
+-      int totwilds, instage, x, havedot;
++      int totwilds, instage, x;
+       static char TRAILESC[] = "%s -> %s : trailing %c is superfluous.\n";
+       lastname = from;
+@@ -999,20 +1013,16 @@ static int parsepat()
+                               printf(TRAILESC, from, to, ESC);
+                               return(-1);
+                       }
++#ifdef IS_MSDOS
+               default:
+                       if (
+-#ifdef IS_MSDOS
+                               c <= ' ' || c >= 127 ||
+                               strchr(":/\\*?[]=+;,\"|<>", c) != NULL
+-#else
+-                              c & 0x80
+-#endif
+                       ) {
+                               printf("%s -> %s : illegal character '%c' (0x%02X).\n",
+                                       from, to, c, c);
+                               return(-1);
+                       }
+-#ifdef IS_MSDOS
+                       if (isupper(c))
+                               *p = c + ('a' - 'A');
+ #endif
+@@ -1042,7 +1052,7 @@ static int dostage(lastend, pathend, sta
+       DIRINFO *di;
+       HANDLE *h, *hto;
+       int prelen, litlen, nfils, i, k, flags, try;
+-      FILEINFO **pf, *fdel;
++      FILEINFO **pf, *fdel = NULL;
+       char *nto, *firstesc;
+       REP *p;
+       int wantdirs, ret = 1, laststage = (stage + 1 == nstages);
+@@ -1172,11 +1182,12 @@ static int trymatch(ffrom, pat)
+       if (*p == '.' || (!matchall && ffrom->fi_attrib & (FA_HIDDEN | FA_SYSTEM)))
+               return(strcmp(pat, p) == 0);
+ #else
+-      if (*p == '.')
++      if (*p == '.') {
+               if (p[1] == '\0' || (p[1] == '.' && p[2] == '\0'))
+                       return(strcmp(pat, p) == 0);
+               else if (!matchall && *pat != '.')
+                       return(0);
++      }
+ #endif
+       return(-1);
+ }
+@@ -1312,7 +1323,7 @@ static int checkto(hfrom, f, phto, pnto,
+ {
+       char tpath[MAXPATH + 1];
+       char *pathend;
+-      FILEINFO *fdel;
++      FILEINFO *fdel = NULL;
+       int hlen, tlen;
+       if (op & DIRMOVE) {
+@@ -1405,7 +1416,9 @@ static char *getpath(tpath)
+ static int badname(s)
+       char *s;
+ {
++#ifdef IS_MSDOS
+       char *ext;
++#endif
+       return (
+ #ifdef IS_MSDOS
+@@ -1715,20 +1728,19 @@ static HANDLE *checkdir(p, pathend, whic
+       struct stat dstat;
+       DIRID d;
+       DEVID v;
+-      DIRINFO **newdirs, *di;
+-      int nfils;
+-      FILEINFO **fils;
++      DIRINFO *di = NULL;
+       char *myp, *lastslash = NULL;
+       int sticky;
+       HANDLE *h;
+-      if (hsearch(p, which, &h))
++      if (hsearch(p, which, &h)) {
+               if (h->h_di == NULL) {
+                       direrr = h->h_err;
+                       return(NULL);
+               }
+               else
+                       return(h);
++      }
+       if (*p == '\0')
+               myp = ".";
+@@ -1899,7 +1911,10 @@ static int match(pat, s, start1, len1)
+       char *pat, *s, **start1;
+       int *len1;
+ {
+-      char c, *olds;
++      char c;
++#ifdef IS_MSDOS
++      char *olds;
++#endif
+       *start1 = 0;
+       for(;;)
+@@ -2376,9 +2391,9 @@ static void goonordie()
+ static void doreps()
+ {
+       char *fstart;
+-      int k, printaliased = 0, alias;
++      int k, printaliased = 0, alias = 0;
+       REP *first, *p;
+-      long aliaslen;
++      long aliaslen = 0l;
+ #ifdef IS_MSDOS
+       ctrlbrk(breakrep);
+@@ -2396,11 +2411,12 @@ static void doreps()
+                       }
+                       strcpy(fullrep, p->r_hto->h_name);
+                       strcat(fullrep, p->r_nto);
+-                      if (!noex && (p->r_flags & R_ISCYCLE))
++                      if (!noex && (p->r_flags & R_ISCYCLE)) {
+                               if (op & APPEND)
+                                       aliaslen = appendalias(first, p, &printaliased);
+                               else
+                                       alias = movealias(first, p, &printaliased);
++                      }
+                       strcpy(pathbuf, p->r_hfrom->h_name);
+                       fstart = pathbuf + strlen(pathbuf);
+                       if ((p->r_flags & R_ISALIASED) && !(op & APPEND))
+@@ -2459,7 +2475,7 @@ static long appendalias(first, p, pprint
+       REP *first, *p;
+       int *pprintaliased;
+ {
+-      long ret;
++      long ret = 0l;
+ #ifdef IS_MSDOS
+       int fd;
+@@ -2578,10 +2594,10 @@ static void breakout()
+ }
+-static int breakrep()
++static void breakrep(int signum)
+ {
+       gotsig = 1;
+-      return(1);
++      return;
+ }
+@@ -2624,11 +2640,12 @@ static int copymove(p)
+ static int copy(ff, len)
+       FILEINFO *ff;
+-      long len;
++      off_t len;
+ {
+-      char buf[BUFSIZE], c;
++      char buf[BUFSIZE];
+       int f, t, k, mode, perm;
+ #ifdef IS_MSDOS
++        char c;
+       struct ftime tim;
+ #else
+ #ifdef IS_SYSV
+@@ -2672,7 +2689,7 @@ static int copy(ff, len)
+               return(-1);
+       }
+       if (op & APPEND)
+-              lseek(t, 0L, 2);
++              lseek(t, (off_t)0, SEEK_END);
+ #ifdef IS_MSDOS
+       if (op & ZAPPEND && filelength(t) != 0) {
+               if (lseek(t, -1L, 1) == -1L || read(t, &c, 1) != 1) {
+@@ -2684,10 +2701,10 @@ static int copy(ff, len)
+                       lseek(t, -1L, 1);
+       }
+ #endif
+-      if ((op & APPEND) && len != -1L) {
++      if ((op & APPEND) && len != (off_t)-1) {
+               while (
+                       len != 0 &&
+-                      (k = read(f, buf, len > BUFSIZE ? BUFSIZE : (unsigned)len)) > 0 &&
++                      (k = read(f, buf, (len > BUFSIZE) ? BUFSIZE : (size_t)len)) > 0 &&
+                       write(t, buf, k) == k
+               )
+                       len -= k;
+@@ -2711,7 +2728,9 @@ static int copy(ff, len)
+                               tim.modtime = fstat.st_mtime,
+ #else
+                               tim[0].tv_sec = fstat.st_atime,
++                              tim[0].tv_usec = 0,
+                               tim[1].tv_sec = fstat.st_mtime,
++                              tim[1].tv_usec = 0,
+ #endif
+                               utimes(fullrep, tim)
+                       )
+--- mmv-1.01b.orig/mmv.1
++++ mmv-1.01b/mmv.1
+@@ -2,7 +2,7 @@
+ .\" To print the MS-DOS version, use option -rO2.
+ .\" Under System V, take out the '.\"  ' from the next line.
+ .\" .nr O 1
+-.TH MMV 1 "November 20, 1989 (v1.0)"
++.TH MMV 1 "November 20, 2001 (v1.0lfs)"
+ .ie !'\nO'2' \{\
+ .SH NAME
+ mmv \- move/copy/append/link multiple files by wildcard patterns
+@@ -21,13 +21,14 @@ mmv \- move/copy/append multiple files b
+ \}
+ .SH SYNOPSIS
+ .B mmv
+-.if '\nO'2' [\fB-m\fP|\fBx\fP|\fBr\fP|\fBc\fP|\fBo\fP|\fBa\fP|\fBz\fP]
+-.if '\nO'0' [\fB-m\fP|\fBx\fP|\fBr\fP|\fBc\fP|\fBo\fP|\fBa\fP|\fBl\fP|\fBs\fP]
+-.if '\nO'1' [\fB-m\fP|\fBx\fP|\fBr\fP|\fBc\fP|\fBo\fP|\fBa\fP|\fBl\fP]
+-[\fB-h\fP]
+-[\fB-d\fP|\fBp\fP]
+-[\fB-g\fP|\fBt\fP]
+-[\fB-v\fP|\fBn\fP]
++.if '\nO'2' [\fB\-m\fP|\fBx\fP|\fBr\fP|\fBc\fP|\fBo\fP|\fBa\fP|\fBz\fP]
++.if '\nO'0' [\fB\-m\fP|\fBx\fP|\fBr\fP|\fBc\fP|\fBo\fP|\fBa\fP|\fBl\fP|\fBs\fP]
++.if '\nO'1' [\fB\-m\fP|\fBx\fP|\fBr\fP|\fBc\fP|\fBo\fP|\fBa\fP|\fBl\fP]
++[\fB\-h\fP]
++[\fB\-d\fP|\fBp\fP]
++[\fB\-g\fP|\fBt\fP]
++[\fB\-v\fP|\fBn\fP]
++[\fB\-\-\fP]
+ [\fBfrom to\fP]
+ .if '\nO'2' \{\
+ .br
+@@ -56,6 +57,9 @@ from the entire set of actions specified
+ and gives the user the choice of either
+ proceeding by avoiding the offending parts
+ or aborting.
++.I mmv
++does support large files (LFS) but it does *NOT* support 
++sparse files (i.e. it explodes them).
+ .ce
+ The Task Options
+@@ -71,7 +75,7 @@ If none of these are specified,
+ .ie '\nO'2' \{\
+ a default (patchable by
+ .IR mmvpatch ,
+-and initially -x)
++and initially \-x)
+ determines the task.
+ \}
+ .el \{\
+@@ -81,18 +85,18 @@ was invoked (argv[0]):
+       command name    default task
+-      mmv                     -x
++      mmv                     \-x
+ .br
+-      mcp                     -c
++      mcp                     \-c
+ .br
+-      mad                     -a
++      mad                     \-a
+ .br
+-      mln                     -l
++      mln                     \-l
+ \}
+ .PP
+ The task option choices are:
+ .TP
+--m :
++\-m :
+ move source file to target name.
+ Both must be on the same device.
+ Will not move directories.
+@@ -102,8 +106,8 @@ moves the link without checking if the l
+ directory is different than the old.
+ \}
+ .TP
+--x :
+-same as -m, except cross-device moves are done
++\-x :
++same as \-m, except cross-device moves are done
+ by copying, then deleting source.
+ When copying, sets the
+ .ie !'\nO'2' permission bits
+@@ -111,7 +115,7 @@ When copying, sets the
+ and file modification time
+ of the target file to that of the source file.
+ .TP
+--r :
++\-r :
+ rename source file or directory to target name.
+ The target name must not include a path:
+ the file remains in the same directory in all cases.
+@@ -119,7 +123,7 @@ This option is the only way of renaming
+ .IR mmv .
+ .if '\nO'2' It is only available under DOS version 3.0 or higher.
+ .TP
+--c :
++\-c :
+ copy source file to target name.
+ Sets the file modification time and
+ .ie !'\nO'2' permission bits
+@@ -128,7 +132,7 @@ of the target file to that of the source
+ regardless of whether the target file already exists.
+ Chains and cycles (to be explained below) are not allowed.
+ .TP
+--o :
++\-o :
+ overwrite target name with source file.
+ .ie '\nO'2' \{\
+ If target file exists, its attributes are left unchanged.
+@@ -146,38 +150,38 @@ and the execute permission bits copied f
+ In either case, the file modification time is set to the current time.
+ \}
+ .TP
+--a :
++\-a :
+ append contents of source file to target name.
+ Target file modification time is set to the current time.
+ If target file does not exist,
+ it is created with
+ .ie '\nO'2' attributes
+ .el permission bits
+-set as under -o.
+-Unlike all other options, -a allows multiple source files to have the
+-same target name, e.g. "mmv -a
++set as under \-o.
++Unlike all other options, \-a allows multiple source files to have the
++same target name, e.g. "mmv \-a
+ .ie '\nO'2' *.c
+ .el \\*.c
+ big" will append all ".c" files to "big".
+-Chains and cycles are also allowed, so "mmv -a f f" will double up "f".
++Chains and cycles are also allowed, so "mmv \-a f f" will double up "f".
+ .ie '\nO'2' \{\
+ .TP
+--z :
+-same as -a, but if the target file exists, and its last character is a ^Z,
++\-z :
++same as \-a, but if the target file exists, and its last character is a ^Z,
+ and the source file is not empty,
+ this ^Z is truncated before doing the append.
+ \}
+ .el \{\
+ .TP
+--l :
++\-l :
+ link target name to source file.
+ Both must be on the same device,
+ and the source must not be a directory.
+ Chains and cycles are not allowed.
+ .if '\nO'0' \{\
+ .TP
+--s :
+-same as -l, but use symbolic links instead of hard links.
++\-s :
++same as \-l, but use symbolic links instead of hard links.
+ For the resulting link to aim back at the source,
+ either the source name must begin with a '/',
+ or the target must reside in either the current or the source directory.
+@@ -190,7 +194,7 @@ and the source can be a directory.
+ Only one of these option may be given,
+ and it applies to all matching files.
+ Remaining options need not be given separately,
+-i.e. "mmv -mk" is allowed.
++i.e. "mmv \-mk" is allowed.
+ .ce
+ Multiple Pattern Pairs
+@@ -232,7 +236,7 @@ a b
+ a c
+ .in -3
+-would give the error message "a -> c : no match" because file "a"
++would give the error message "a \-> c : no match" because file "a"
+ (even if it exists)
+ was already matched by the first pattern pair.
+@@ -255,10 +259,10 @@ matching any single character,
+ and matching any one of a set of characters.
+ .PP
+ Between the '[' and ']', a range from character 'a' through character 'z'
+-is specified with "a-z".
++is specified with "a\-z".
+ The set of matching characters can be negated by inserting
+ a '^' after the '['.
+-Thus, "[^b-e2-5_]"
++Thus, "[^b\-e2\-5_]"
+ will match any character but 'b' through 'e', '2' through '5', and '_'.
+ .if '\nO'2' \{\
+ .PP
+@@ -305,13 +309,13 @@ However, the '~' is not treated as a wil
+ in the sense that it is not assigned a wildcard index (see below).
+ \}
+ .PP
+-Since matching a directory under a task option other than -r or -s
++Since matching a directory under a task option other than \-r or \-s
+ would result in an error,
+-tasks other than -r and -s
++tasks other than \-r and \-s
+ match directories only against completely explicit
+ .I from
+ patterns (i.e. not containing wildcards).
+-Under -r and -s, this applies only to "." and "..".
++Under \-r and \-s, this applies only to "." and "..".
+ .PP
+ .ie '\nO'2' \{\
+ Hidden and system files are also only matched
+@@ -324,7 +328,7 @@ Files beginning with '.' are only matche
+ .I from
+ patterns that begin with an explicit '.'.
+ \}
+-However, if -h is specified, they are matched normally.
++However, if \-h is specified, they are matched normally.
+ .if !'\nO'2' \{\
+ .PP
+ Warning: since the shell normally expands wildcards
+@@ -332,8 +336,9 @@ before passing the command-line argument
+ .IR mmv ,
+ it is usually necessary to enclose the command-line
+ .I from
+-pattern
+-in quotes.
++and
++.I to
++patterns in quotes.
+ \}
+ .ce
+@@ -363,7 +368,7 @@ pattern is "abc*.*" and the
+ pattern is "xyz#2.#1",
+ then "abc.txt" is targeted to "xyztxt.".
+ (The first '*' matched "", and the second matched "txt".)
+-Similarly, for the pattern pair ";*.[clp]" -> "#1#3\*(SL#2",
++Similarly, for the pattern pair ";*.[clp]" \-> "#1#3\*(SL#2",
+ "foo1\*(SLfoo2\*(SLprog.c" is targeted to "foo1\*(SLfoo2\*(SLc\*(SLprog".
+ Note that there is no '\*(SL' following the "#1" in the
+ .I to
+@@ -397,7 +402,7 @@ expands the '~' in the exact same manner
+ does not expand it at all).
+ \}
+ .PP
+-For all task options other than -r, if the target name is a directory,
++For all task options other than \-r, if the target name is a directory,
+ the real target name is formed by appending
+ a '\*(SL' followed by the last component
+ of the source file name.
+@@ -434,7 +439,7 @@ a b
+ .br
+ b c
+-specifies the chain "a" -> "b" -> "c".
++specifies the chain "a" \-> "b" \-> "c".
+ A cycle is a chain where the last target name
+ refers back to the first source file,
+ e.g. "mmv a a".
+@@ -461,9 +466,9 @@ Furthermore,
+ .I mmv
+ checks if any of its actions will result
+ in the destruction of existing files.
+-If the -d (delete) option is specified,
++If the \-d (delete) option is specified,
+ all file deletions or overwrites are done silently.
+-Under -p (protect), all deletions or overwrites
++Under \-p (protect), all deletions or overwrites
+ (except those specified with "(*)" on the standard input, see below)
+ are treated as errors.
+ And if neither option is specified,
+@@ -487,16 +492,16 @@ Once all errors are detected,
+ queries the user whether he wishes
+ to continue by avoiding the erroneous actions or to abort altogether.
+ This and all other queries may be avoided by specifying either the
+--g (go) or -t (terminate) option.
++\-g (go) or \-t (terminate) option.
+ The former will resolve all difficulties by avoiding the erroneous actions;
+ the latter will abort
+ .I mmv
+ if any errors are detected.
+ Specifying either of them defaults
+ .I mmv
+-to -p, unless -d is specified
++to \-p, unless \-d is specified
+ (see above).
+-Thus, -g and -t are most useful when running
++Thus, \-g and \-t are most useful when running
+ .I mmv
+ in the background or in
+ a shell script,
+@@ -508,28 +513,28 @@ Reports
+ Once the actions to be performed are determined,
+ .I mmv
+ performs them silently,
+-unless either the -v (verbose) or -n (no-execute) option is specified.
++unless either the \-v (verbose) or \-n (no-execute) option is specified.
+ The former causes
+ .I mmv
+ to report each performed action
+ on the standard output as
+-a -> b : done.
++a \-> b : done.
+ Here, "a" and "b" would be replaced by the source and target names,
+ respectively.
+ If the action deletes the old target,
+ a "(*)" is inserted after the the target name.
+-Also, the "->" symbol is modified when a cycle has to be broken:
++Also, the "\->" symbol is modified when a cycle has to be broken:
+ the '>' is changed to a '^' on the action prior to which the old target
+ is renamed to a temporary,
+-and the '-' is changed to a '=' on the action where the temporary is used.
++and the '\-' is changed to a '=' on the action where the temporary is used.
+ .PP
+-Under -n, none of the actions are performed,
++Under \-n, none of the actions are performed,
+ but messages like the above are printed on the standard output
+ with the ": done." omitted.
+ .PP
+-The output generated by -n can (after editing, if desired)
++The output generated by \-n can (after editing, if desired)
+ be fed back to
+ .I mmv
+ on the standard input
+@@ -545,9 +550,9 @@ To facilitate this,
+ ignores lines on the standard input that look
+ like its own error and "done" messages,
+ as well as all lines beginning with white space,
+-and will accept pattern pairs with or without the intervening "->"
+-(or "-^", "=>", or "=^").
+-Lines with "(*)" after the target pattern have the effect of enabling -d
++and will accept pattern pairs with or without the intervening "\->"
++(or "\-^", "=>", or "=^").
++Lines with "(*)" after the target pattern have the effect of enabling \-d
+ for the files matching this pattern only,
+ so that such deletions are done silently.
+ When feeding
+@@ -596,11 +601,11 @@ on a copy of
+ .I mmv
+ named as follows:
+-      -x, -m, -r              mmv.exe
++      \-x, \-m, \-r           mmv.exe
+ .br
+-      -c, -o                  mcp.exe
++      \-c, \-o                        mcp.exe
+ .br
+-      -a, -z                  mad.exe
++      \-a, \-z                        mad.exe
+ .PP
+ .I Mmvpatch
+ also determines the best way to uniquely identify directories.
+--- mmv-1.01b.orig/Makefile
++++ mmv-1.01b/Makefile
+@@ -1,10 +1,10 @@
+ # Possible defines in CONF:
+ #     IS_MSDOS IS_SYSV IS_V7 IS_BSD HAS_DIRENT HAS_RENAME MV_DIR
+-CC            =gcc -traditional
++CC            =gcc
+ LD            =$(CC)
+ CONF          =-DIS_SYSV -DHAS_DIRENT -DHAS_RENAME
+-CFLAGS                =-O2 -m486 $(CONF)
++CFLAGS                =-O2 $(CONF)
+ LDFLAGS               =-s -N
+ #IBIN         =$(LOCAL)$(ARCH)/bin