| 1 | 2003-05-20  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 2 | 
 | 
|---|
| 3 |         * NEWS, configure.ac (AC_INIT): Version 2.5.9 released.
 | 
|---|
| 4 | 
 | 
|---|
| 5 |         * Makefile.in (HDRS): Add gettext.h.
 | 
|---|
| 6 | 
 | 
|---|
| 7 |         Use bool, not int, for booleans.
 | 
|---|
| 8 | 
 | 
|---|
| 9 |         * pch.c (pch_says_nonexistent): Returns int, not bool.
 | 
|---|
| 10 | 
 | 
|---|
| 11 |         * configure.ac: Add AM_STDBOOL_H.
 | 
|---|
| 12 | 
 | 
|---|
| 13 |         * Makefile.in (MISC): Add stdbool.h.in.
 | 
|---|
| 14 |         (stdbool.h): New rule.
 | 
|---|
| 15 |         (ACINCLUDE_INPUTS): Add stdbool.m4.
 | 
|---|
| 16 |         (mostlyclean): Remove stdbool.h.
 | 
|---|
| 17 |         (COMMON): New macro; use it instead of common.h for dependencies.
 | 
|---|
| 18 | 
 | 
|---|
| 19 |         * common.h: Include <stdbool.h>.
 | 
|---|
| 20 |         Remove TRUE, FALSE, bool.  All uses changed to standard names.
 | 
|---|
| 21 | 
 | 
|---|
| 22 |         * common.h (reverse, set_time, set_utc):
 | 
|---|
| 23 |         Use bool, not int, for booleans.
 | 
|---|
| 24 |         * pch.c (p_strip_trailing_cr, p_pass_comments_through,
 | 
|---|
| 25 |         prefix_components, pget_line, re_patch,
 | 
|---|
| 26 |         there_is_another_patch, intuit_diff_type, scan_linenum,
 | 
|---|
| 27 |         another_hunk, pget_line, pch_timestamp): Likewise.
 | 
|---|
| 28 |         * inp.h (ifetch): Likewise.
 | 
|---|
| 29 |         * util.c (move_file, version_controller, version_get, ok_to_reverse,
 | 
|---|
| 30 |         set_signals): Likewise.
 | 
|---|
| 31 |         * inp.c (report_revision, get_input_file, plan_a, plan_b, ifetch):
 | 
|---|
| 32 |         Likewise.
 | 
|---|
| 33 |         * util.h (ok_to_reverse, version_controller, version_get,
 | 
|---|
| 34 |         move_file, set_signals): Likewise.
 | 
|---|
| 35 |         * pch.h (another_hunk, pch_says_nonexistent, pch_timestamp):
 | 
|---|
| 36 |         Likewise.
 | 
|---|
| 37 |         * patch.c (struct outstate, numeric_string, make_backups,
 | 
|---|
| 38 |         backup_if_mismatch, remove_empty_files,
 | 
|---|
| 39 |         reverse_flag_specified, main, reinitialize_almost_everything,
 | 
|---|
| 40 |         get_some_switches, apply_hunk, init_output, copy_till):
 | 
|---|
| 41 |         Likewise.
 | 
|---|
| 42 | 
 | 
|---|
| 43 | 2003-05-18  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 44 | 
 | 
|---|
| 45 |         * pch.c (p_pass_comments_through): New var.
 | 
|---|
| 46 |         (pget_line): Accept new arg for pass_comments_through.
 | 
|---|
| 47 |         All callers changed.
 | 
|---|
| 48 |         (there_is_another_patch): Do not suggest -p for ed diffs.
 | 
|---|
| 49 |         (intuit_diff_type): Check ed command for correct syntax.
 | 
|---|
| 50 |         Do not set p_strip_trailing_cr merely because a -p line contains a CR.
 | 
|---|
| 51 |         (get_ed_command_letter): New function.
 | 
|---|
| 52 |         (do_ed_script): Use it.  Do not treat '#' data lines as comments in ed
 | 
|---|
| 53 |         scripts.
 | 
|---|
| 54 | 
 | 
|---|
| 55 |         * util.c (move_file):
 | 
|---|
| 56 |         Don't assume that when 'rename(A,B)' succeeds then A no
 | 
|---|
| 57 |         longer exists.  This is not true of POSIX 1003.1-2001 rename when A
 | 
|---|
| 58 |         and B are links to the same file.
 | 
|---|
| 59 |         (fetchname): Fix test for file names with internal spaces.
 | 
|---|
| 60 | 
 | 
|---|
| 61 |         * version.c: Don't include patchlevel.h.
 | 
|---|
| 62 |         (version): Use PACKAGE_NAME and PACKAGE_VERSION instead of obsolete
 | 
|---|
| 63 |         PROGRAM_NAME and PATCH_VERSION.
 | 
|---|
| 64 |         (copyright_string): Bump to 2003.
 | 
|---|
| 65 | 
 | 
|---|
| 66 |         * common.h (FILESYSTEM_PREFIX_LEN, ISSLASH):
 | 
|---|
| 67 |         Remove; now done by 'configure'.
 | 
|---|
| 68 |         (PROGRAM_NAME): Remove; now done by 'configure' as PACKAGE_NAME.
 | 
|---|
| 69 | 
 | 
|---|
| 70 |         * patch.c: Do not include <exitfail.h>.
 | 
|---|
| 71 |         (main): Set xalloc_exit_failure, not exit_failure.
 | 
|---|
| 72 |         Add "&& !skip_rest_of_patch" when deciding to continue ed scripts.
 | 
|---|
| 73 |         (option_help): Use PACKAGE_BUGREPORT rather than hardcoding.
 | 
|---|
| 74 | 
 | 
|---|
| 75 |         * configure.ac (AC_PREREQ): Bump to 2.57.
 | 
|---|
| 76 |         (AC_GNU_SOURCE): Add, early on.
 | 
|---|
| 77 |         (gl_BACKUPFILE, gl_DIRNAME, gl_ERROR, gl_FUNC_MEMCHR, gl_FUNC_RMDIR,
 | 
|---|
| 78 |         gl_GETOPT, gl_PREREQ_XMALLOC, gl_QUOTE, gl_QUOTEARG): Add.
 | 
|---|
| 79 |         (jm_PREREQ_ADDEXT): Add, with definition.
 | 
|---|
| 80 |         (jm_PREREQ_DIRNAME, jm_PREREQ_ERROR, jm_PREREQ_MEMCHR,
 | 
|---|
| 81 |         jm_PREREQ_QUOTEARG): Remove.
 | 
|---|
| 82 |         (AC_REPLACE_FUNCS): Remove memchr, rename, rmdir).
 | 
|---|
| 83 |         (jm_FUNC_GLIBC_UNLOCKED_IO, jm_AC_DOS): Add.
 | 
|---|
| 84 |         (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Do not call directly.
 | 
|---|
| 85 |         (AC_OUTPUT): Use new style, with AC_CONFIG_FILES.
 | 
|---|
| 86 | 
 | 
|---|
| 87 |         Update to current CVS gnulib.
 | 
|---|
| 88 | 
 | 
|---|
| 89 |         * exitfail.c, exitfail.h, patchlevel.h, rename.c, m4/c-bs-a.m4,
 | 
|---|
| 90 |         m4/jm-glibc-io.m4, m4/prereq.m4: Remove.
 | 
|---|
| 91 |         * m4/backupfile.m4, m4/dirname.m4, m4/dos.m4, m4/getopt.m4,
 | 
|---|
| 92 |         m4/memchr.m4, m4/onceonly.m4, m4/quote.m4, m4/quotearg.m4,
 | 
|---|
| 93 |         m4/rmdir.m4, m4/unlocked-io.m4, m4/xalloc.m4: New files.
 | 
|---|
| 94 |         * Makefile.in (LIBSRCS): Move error.c here from SRCS.
 | 
|---|
| 95 |         Remove rename.c.
 | 
|---|
| 96 |         (OBJS): Remove error.$(OBJEXT).
 | 
|---|
| 97 |         (HDRS): Remove exitfail.h, patchlevel.h.
 | 
|---|
| 98 |         (ACINCLUDE_INPUTS): Remove c-bs-a.m4, jm-glibc-io.m4, prereq.m4.
 | 
|---|
| 99 |         Add backupfile.m4, dirname.m4, dos.m4, getopt.m4, memchr.m4,
 | 
|---|
| 100 |         onceonly.m4, quote.m4, quotearg.m4, rmdir.m4, unlocked-io.m4,
 | 
|---|
| 101 |         xalloc.m4.
 | 
|---|
| 102 |         (patchlevel.h): Remove.  All uses removed.
 | 
|---|
| 103 |         (argmatch.$(OBJEXT), error.$(OBJEXT), quotesys.$(OBJEXT)),
 | 
|---|
| 104 |         xmalloc.$(OBJEXT)): Depend on gettext.h.
 | 
|---|
| 105 |         (dirname.$(OBJEXT), quote.$(OBJEXT), strncasecmp.$(OBJEXT)): New rules.
 | 
|---|
| 106 |         (patch.$(OBJEXT), xmalloc.$(OBJEXT)): Remove exitfail.h.
 | 
|---|
| 107 |         (rename.$(OBJEXT)): Remove.
 | 
|---|
| 108 |         (version.$(OBJEXT)): Remove util.h.
 | 
|---|
| 109 |         (xmalloc.$(OBJEXT)): Add error.h.
 | 
|---|
| 110 | 
 | 
|---|
| 111 | 2002-11-23  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 112 | 
 | 
|---|
| 113 |         * patch.c (main): Don't check for zero-sized file after 'ed'
 | 
|---|
| 114 |         when skipping patch.  From Michael Fedrowitz.
 | 
|---|
| 115 | 
 | 
|---|
| 116 | 2002-06-03  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 117 | 
 | 
|---|
| 118 |         * configure.ac (AC_OUTPUT): Use new form, with AC_CONFIG_FILES,
 | 
|---|
| 119 |         instead of obsolescent form.  Patch from Art Haas.
 | 
|---|
| 120 | 
 | 
|---|
| 121 |         * pch.c (intuit_diff_type): Do not warn about trailing white space
 | 
|---|
| 122 |         after Prereq: word.  Bug reported by Mike Castle.
 | 
|---|
| 123 | 
 | 
|---|
| 124 | 2002-06-02  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 125 | 
 | 
|---|
| 126 |         * NEWS, configure.ac (AC_INIT): Version 2.5.8 released.
 | 
|---|
| 127 | 
 | 
|---|
| 128 |         * README: POSIX.2 -> POSIX.
 | 
|---|
| 129 |         * inp.c (report_revision): Don't modify 'revision', since
 | 
|---|
| 130 |         it gets freed later.  Bug reported by Mike Castle.
 | 
|---|
| 131 | 
 | 
|---|
| 132 | 2002-05-30  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 133 | 
 | 
|---|
| 134 |         * NEWS, configure.ac (AC_INIT): Version 2.5.7 released.
 | 
|---|
| 135 | 
 | 
|---|
| 136 |         * Makefile.in (MISC): Remove README-alpha.
 | 
|---|
| 137 |         (patchlevel.h): Depend on configure, not configure.ac.
 | 
|---|
| 138 | 
 | 
|---|
| 139 |         * INSTALL: Upgrade to Autoconf 2.53 version.
 | 
|---|
| 140 | 
 | 
|---|
| 141 | 2002-05-28  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 142 | 
 | 
|---|
| 143 |         * patch.c (end_defined, apply_hunk): Output #endif without
 | 
|---|
| 144 |         the comment, as POSIX 1003.1-2001 requires.
 | 
|---|
| 145 | 
 | 
|---|
| 146 |         * pch.c (there_is_another_patch): Flush stderr after perror.
 | 
|---|
| 147 | 
 | 
|---|
| 148 |         * NEWS, configure.ac (AC_INIT): Version 2.5.6 released.
 | 
|---|
| 149 | 
 | 
|---|
| 150 |         * strcasecmp.c, strncasecmp.c: New files, taken from fileutils.
 | 
|---|
| 151 |         * config.guess, config.sub: Remove.
 | 
|---|
| 152 |         * Makefile.in (LIBSRCS): Add strcasecmp.c, strncasecmp.c.
 | 
|---|
| 153 |         (MISC): Remove config.guess, config.sub.
 | 
|---|
| 154 | 
 | 
|---|
| 155 |         The code already assumes C89 or better, so remove K&R stuff.
 | 
|---|
| 156 |         * common.h (volatile): Remove.
 | 
|---|
| 157 |         (GENERIC_OBJECT): Remove; all uses changed to 'void'.
 | 
|---|
| 158 |         (PARAMS): Remove; all uses changed to prototypes.
 | 
|---|
| 159 |         * configure.ac (AC_PROG_CC_STDC): Add.
 | 
|---|
| 160 |         * util.c (vararg_start): Remove.  All uses changed to va_start.
 | 
|---|
| 161 |         Always include <stdarg.h>.
 | 
|---|
| 162 |         
 | 
|---|
| 163 |         * configure.ac (AC_CANONICAL_HOST): Remove.
 | 
|---|
| 164 |         (AC_REPLACE_FUNCS): Add strncasecmp.
 | 
|---|
| 165 |         (AC_CHECK_DECLS): Add mktemp.
 | 
|---|
| 166 |         
 | 
|---|
| 167 |         * patch.c (main): Remove useless prototype decl.
 | 
|---|
| 168 |         (mktemp): Don't declare if HAVE_DECL_MKTEMP || defined mktemp.
 | 
|---|
| 169 |         (make_temp): Now accepts char, not int.
 | 
|---|
| 170 |         
 | 
|---|
| 171 | 2002-05-26  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 172 | 
 | 
|---|
| 173 |         * patch.c (not_defined): Prepend newline.  All uses changed.
 | 
|---|
| 174 |         (apply_hunk): Fix bug: -D was outputting #ifdef when it should
 | 
|---|
| 175 |         have been outputting #ifndef.  Bug report and partial fix by
 | 
|---|
| 176 |         Jason Short.
 | 
|---|
| 177 | 
 | 
|---|
| 178 |         * pch.c (intuit_diff_type): When reading an ed diff, don't use
 | 
|---|
| 179 |         indent and trailing-CR-ness of "." line; instead, use that of the
 | 
|---|
| 180 |         command.  Bug reported by Anthony Towns; partial fix by Michael
 | 
|---|
| 181 |         Fedrowitz.
 | 
|---|
| 182 |         (intuit_diff_type): If the index line exists, don't report a
 | 
|---|
| 183 |         missing header.  Fix by Chip Salzenberg.
 | 
|---|
| 184 | 
 | 
|---|
| 185 | 2002-05-26  Alessandro Rubini  <rubini@gnu.org>
 | 
|---|
| 186 | 
 | 
|---|
| 187 |         * patch.c (locate_hunk): Fixed updating of last_offset.
 | 
|---|
| 188 | 
 | 
|---|
| 189 | 2002-05-25  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 190 | 
 | 
|---|
| 191 |         * NEWS, README: Diffutils doc is up to date now.
 | 
|---|
| 192 |         Bug reporting address is now <bug-patch@gnu.org>.
 | 
|---|
| 193 |         * README: Describe '--disable-largefile'.
 | 
|---|
| 194 | 
 | 
|---|
| 195 |         * NEWS-alpha, dirname.c, dirname.h, exitfail.c, exitfail.h,
 | 
|---|
| 196 |         quote.c, quote.h, unlocked-io.h: New files, taken from diffutils
 | 
|---|
| 197 |         and fileutils.
 | 
|---|
| 198 | 
 | 
|---|
| 199 |         * argmatch.c: [STDC_HEADERS]: Include stdlib.h, for 'exit'.
 | 
|---|
| 200 | 
 | 
|---|
| 201 |         * addext.c, argmatch.c, argmatch.h, backupfile.c, basename.c:
 | 
|---|
| 202 |         Update from diffutils and fileutils.
 | 
|---|
| 203 | 
 | 
|---|
| 204 |         * ansi2knr.1, ansi2knr.c: Remove.
 | 
|---|
| 205 | 
 | 
|---|
| 206 |         * common.h: HAVE_SETMODE && O_BINARY -> HAVE_SETMODE_DOS.
 | 
|---|
| 207 |         * patch.c (usage): Likewise.
 | 
|---|
| 208 |         * pch.c (open_patch_file): Likewise.
 | 
|---|
| 209 | 
 | 
|---|
| 210 |         * configure.ac: Renamed from configure.in.  Add copyright notice.
 | 
|---|
| 211 |         (AC_PREREQ): Bump to 2.53.
 | 
|---|
| 212 |         (AC_INIT): Use 2.5x style.
 | 
|---|
| 213 |         (AC_CONFIG_SRCDIR): Add.
 | 
|---|
| 214 |         (PACKAGE, VERSION): Remove.
 | 
|---|
| 215 |         (AC_C_PROTOTYPES): Use this instead of AM_C_PROTOTYPES.
 | 
|---|
| 216 |         (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use this instead of jm_STRUCT_UTIMBUF.
 | 
|---|
| 217 |         (jm_PREREQ_ADDEXT, jm_PREREQ_DIRNAME, jm_PREREQ_ERROR,
 | 
|---|
| 218 |         jm_PREREQ_MEMCHR, jm_PREREQ_QUOTEARG): Add.
 | 
|---|
| 219 |         (AC_CHECK_DECLS): Add free, getenv, malloc.
 | 
|---|
| 220 |         (AC_CHECK_FUNCS): Remove setmode.
 | 
|---|
| 221 |         (AC_FUNC_SETMODE_DOS): Add.
 | 
|---|
| 222 |         (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use this instead of
 | 
|---|
| 223 |         jm_STRUCT_DIRENT_D_INO.
 | 
|---|
| 224 | 
 | 
|---|
| 225 |         * Makefile.in (OBJEXT): New var.
 | 
|---|
| 226 |         (PACKAGE_NAME): Renamed from PACKAGE.  All uses changed.
 | 
|---|
| 227 |         (PACKAGE_VERSION): Renamed from VERSION.  All uses changed.
 | 
|---|
| 228 |         (U): Remove.  All uses of "$U.o" changed to ".$(OBJEXT)".
 | 
|---|
| 229 |         (LIBSRCS): REmove getopt.c getopt1.c.  Add mkdir.c, rmdir.c.
 | 
|---|
| 230 |         (SRCS): Add dirname.c, exitfail.c, getopt.c, getopt1.c, quote.c.
 | 
|---|
| 231 |         Remove mkdir.c.
 | 
|---|
| 232 |         (OBJS): Keep in sync with SRCS.
 | 
|---|
| 233 |         (HDRS): Remove basename.h.
 | 
|---|
| 234 |         Add dirname.h, exitfail.h, quote.h, unlocked-io.h.
 | 
|---|
| 235 |         (MISC, configure, config.hin, patchlevel.h):
 | 
|---|
| 236 |         configure.ac renamed from configure.in.
 | 
|---|
| 237 |         (MISC): Add README-alpha. Remove ansi2knr.1, ansi2knr.c.
 | 
|---|
| 238 |         (.c.$(OBJEXT)): Renamed from .c.o.
 | 
|---|
| 239 |         (ACINCLUDE_INPUTS): Add c-bs-a.m4, error.m4, jm-glibc-io.m4,
 | 
|---|
| 240 |         mbstate_t.m4, mkdir.m4, mbrtowc.m4, prereq.m4, setmode.m4.
 | 
|---|
| 241 |         Remove ccstdc.m4, inttypes_h.m4, largefile.m4, protos.m4.
 | 
|---|
| 242 |         (mostlyclean): Don't clean ansi2knr.
 | 
|---|
| 243 |         (ansi2knr.o, ansi2knr): Remove.
 | 
|---|
| 244 |         Redo dependencies.
 | 
|---|
| 245 | 
 | 
|---|
| 246 |         * patch.c: Include <exitfail.h>.
 | 
|---|
| 247 |         (main): Initialize exit_failure.
 | 
|---|
| 248 | 
 | 
|---|
| 249 |         * patch.man: Update copyright notice.
 | 
|---|
| 250 | 
 | 
|---|
| 251 |         * pch.c, util.c: Include <dirname.h>, not <basename.h>.
 | 
|---|
| 252 | 
 | 
|---|
| 253 |         * version.c (copyright_string): Update copyright notice.
 | 
|---|
| 254 | 
 | 
|---|
| 255 | 2002-02-17  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 256 | 
 | 
|---|
| 257 |         * partime.c (parse_pattern_letter): Don't overrun buffer if it
 | 
|---|
| 258 |         contains only alphanumerics.  Bug reported by Winni
 | 
|---|
| 259 |         <Winni470@gmx.net>.
 | 
|---|
| 260 | 
 | 
|---|
| 261 | 2001-07-28  Paul Eggert  <eggert@sic.twinsun.com>
 | 
|---|
| 262 | 
 | 
|---|
| 263 |         * util.c (fetchname), NEWS:
 | 
|---|
| 264 |         Allow file names with internal spaces, so long as they
 | 
|---|
| 265 |         don't contain tabs.
 | 
|---|
| 266 | 
 | 
|---|
| 267 |         * pch.c (intuit_diff_type): Do not allow Prereq with multiple words.
 | 
|---|
| 268 | 
 | 
|---|
| 269 |         * configure.in (AC_PREREQ): Bump to 2.50.
 | 
|---|
| 270 |         (AC_CHECK_FUNCS): Remove fseeko.
 | 
|---|
| 271 |         (AC_FUNC_FSEEKO): Add.
 | 
|---|
| 272 |         * Makefile.in (ACINCLUDE_INPUTS):
 | 
|---|
| 273 |         Remove largefile.m4; no longer needed with Autoconf 2.50.
 | 
|---|
| 274 | 
 | 
|---|
| 275 | 2001-02-07  "Tony E. Bennett" <tbennett@nvidia.com>
 | 
|---|
| 276 | 
 | 
|---|
| 277 |         * util.c (PERFORCE_CO): New var.
 | 
|---|
| 278 |         (version_controller): Support Perforce.
 | 
|---|
| 279 |         * patch.man: Document this.
 | 
|---|
| 280 | 
 | 
|---|
| 281 | 2000-06-30  Paul Eggert  <eggert@sic.twinsun.com>
 | 
|---|
| 282 | 
 | 
|---|
| 283 |         * patch.man: Ignore comment lines.
 | 
|---|
| 284 | 
 | 
|---|
| 285 |         * NEWS, pch.c: Ignore lines beginning with "#".
 | 
|---|
| 286 | 
 | 
|---|
| 287 | 1999-10-24  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 288 | 
 | 
|---|
| 289 |         * pch.c (another_hunk): Report a fatal error if a regular
 | 
|---|
| 290 |         context hunk's pattern has a different number of unchanged
 | 
|---|
| 291 |         lines than the replacement.
 | 
|---|
| 292 | 
 | 
|---|
| 293 | 1999-10-18  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 294 | 
 | 
|---|
| 295 |         * patch.c (main): If we skipped an ed patch, exit with nonzero status.
 | 
|---|
| 296 | 
 | 
|---|
| 297 | 1999-10-17  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 298 | 
 | 
|---|
| 299 |         * patch.c (main): Apply do_ed_script even if dry_run, because
 | 
|---|
| 300 |         we need to make progress on the patch file.
 | 
|---|
| 301 |         * pch.c (do_ed_script): If skip_rest_of_patch is nonzero,
 | 
|---|
| 302 |         gobble up the patch without any other side effect.
 | 
|---|
| 303 | 
 | 
|---|
| 304 | 1999-10-12  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 305 | 
 | 
|---|
| 306 |         * NEWS, README: New bug reporting address.
 | 
|---|
| 307 |         * NEWS: Report change in 2.5.4 that we forgot to document.
 | 
|---|
| 308 |         * README: Document `configure --disable-largefile'.
 | 
|---|
| 309 | 
 | 
|---|
| 310 |         * basename.c, COPYING, getopt.c, getopt.h, getopt1.c, m4/largefile.m4:
 | 
|---|
| 311 |         Update to latest version.
 | 
|---|
| 312 |         * Makefile.in (basename$U.o): Depend on basename.h.
 | 
|---|
| 313 |         (config.hin): Depend on $(srcdir)/aclocal.m4.
 | 
|---|
| 314 | 
 | 
|---|
| 315 |         * ansi2knr.c, maketime.c, mkinstalldirs, partime.c: Fix $Id.
 | 
|---|
| 316 | 
 | 
|---|
| 317 |         FreeBSD has an unrelated setmode function; work around this.
 | 
|---|
| 318 |         * common.h (binary_transput): Don't declare unless O_BINARY.
 | 
|---|
| 319 |         * patch.c (option_help, get_some_switches):
 | 
|---|
| 320 |         Don't use setmode unless O_BINARY.
 | 
|---|
| 321 |         * pch.c (open_patch_file): Don't invoke setmode unless O_BINARY.
 | 
|---|
| 322 | 
 | 
|---|
| 323 |         Fix incompatiblities with error.c.
 | 
|---|
| 324 |         * common.h (program_name): Now XTERN char *, for compatibility
 | 
|---|
| 325 |         with error.c.  All uses changed.
 | 
|---|
| 326 |         (PROGRAM_NAME): New macro.
 | 
|---|
| 327 |         (PARAMS): Use ANSI C version only if defined PROTOTYPES
 | 
|---|
| 328 |         || (defined __STDC__ && __STDC__), for compatibilty with error.c.
 | 
|---|
| 329 |         * util.c (vararg_start): Likewise.
 | 
|---|
| 330 |         * patch.c (program_name): Remove.
 | 
|---|
| 331 |         (main): Initialize program_name.
 | 
|---|
| 332 |         * version.c (version): Print PROGRAM_NAME, not program_name.
 | 
|---|
| 333 | 
 | 
|---|
| 334 |         Accommodate mingw32 port, which has one-argument mkdir (yuck!)
 | 
|---|
| 335 |         and no geteuid.
 | 
|---|
| 336 |         * m4/mkdir.m4: New file.
 | 
|---|
| 337 |         * Makefile.in (ACINCLUDE_INPUTS): Add $(M4DIR)/mkdir.m4.
 | 
|---|
| 338 |         * configure.in (AC_CHECK_FUNCS): Add geteuid, getuid.
 | 
|---|
| 339 |         (PATCH_FUNC_MKDIR_TAKES_ONE_ARG): Add.
 | 
|---|
| 340 |         * common.h (mkdir): Define if mkdir takes one arg.
 | 
|---|
| 341 |         (geteuid): New macro, if not already defined.
 | 
|---|
| 342 | 
 | 
|---|
| 343 | 1999-10-11  Christopher R. Gabriel  <cgabriel@tin.it>
 | 
|---|
| 344 | 
 | 
|---|
| 345 |         * patch.c (option_help): Updated bug report address
 | 
|---|
| 346 |         * configure.in (VERSION): Version 2.5.5 released.
 | 
|---|
| 347 | 
 | 
|---|
| 348 | 1999-09-01  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 349 | 
 | 
|---|
| 350 |         * patch.c (main): Default simple_backup_suffix to ".orig".
 | 
|---|
| 351 | 
 | 
|---|
| 352 | 1999-10-08  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 353 | 
 | 
|---|
| 354 |         * patch.man: Make it clear that `patch -o F' should not be
 | 
|---|
| 355 |         used if F is one of the files to be patched.
 | 
|---|
| 356 | 
 | 
|---|
| 357 | 1999-08-30  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 358 | 
 | 
|---|
| 359 |         Version 2.5.4 fixes a few minor bugs, converts C sources to
 | 
|---|
| 360 |         ANSI prototypes, and modernizes auxiliary sources and autoconf
 | 
|---|
| 361 |         scripts.
 | 
|---|
| 362 | 
 | 
|---|
| 363 |         * configure.in (VERSION): Version 2.5.4 released.
 | 
|---|
| 364 |         (AC_CANONICAL_HOST): Add.
 | 
|---|
| 365 |         (AC_SYS_LARGEFILE): Add, replacing inline code.
 | 
|---|
| 366 |         (AC_EXEEXT): Add.
 | 
|---|
| 367 |         (jm_AC_HEADER_INTTYPES_H): Add, replacing inline code.
 | 
|---|
| 368 |         (AC_TYPE_PID_T): Add.
 | 
|---|
| 369 |         (jm_STRUCT_UTIMBUF): Add, replacing inline code.
 | 
|---|
| 370 |         (HAVE_MEMCHR): Remove obsolescent test; nobody uses NetBSD 1.0 now.
 | 
|---|
| 371 |         (getopt_long): Append $U to object file basenames.
 | 
|---|
| 372 |         (AC_CHECK_FUNCS): Add fseeko, setmode.  Remove mkdir.
 | 
|---|
| 373 |         (AC_REPLACE_FUNCS): Add mkdir, rmdir.
 | 
|---|
| 374 |         (jm_STRUCT_DIRENT_D_INO): Add, replacing inline code.
 | 
|---|
| 375 | 
 | 
|---|
| 376 |         * Makefile.in (EXEEXT): New macro.
 | 
|---|
| 377 |         (mandir): New macro.
 | 
|---|
| 378 |         (man1dir): Define in terms of mandir.
 | 
|---|
| 379 |         (SRCS): Add mkdir.c, rmdir.c.
 | 
|---|
| 380 |         (OBJS): Change .o to $U.o for addext, argmatch, backupfile, basename,
 | 
|---|
| 381 |         error, inp, patch ,,pch, quotearg, util, version, xmalloc.
 | 
|---|
| 382 |         (HDRS): Add basename.h, patchlevel.h.
 | 
|---|
| 383 |         (MISC): Add ansi2knr.1, config.guess, config.sub.
 | 
|---|
| 384 |         (MISC, config.hin): Remove acconfig.h; no longer needed.
 | 
|---|
| 385 |         (DISTFILES_M4): New macro.
 | 
|---|
| 386 |         (all): patch -> patch$(EXEEXT).
 | 
|---|
| 387 |         (patch$(EXEEXT)): Renamed from patch.  All uses changed.
 | 
|---|
| 388 |         (uninstall): Remove manual page.
 | 
|---|
| 389 |         (configure): Depend on aclocal.m4.
 | 
|---|
| 390 |         (M4DIR, ACINCLUDE_INPUTS): New macros.
 | 
|---|
| 391 |         ($(srcdir)/aclocal.m4): New rule.
 | 
|---|
| 392 |         (patchlevel.h): Depend on configure.in, not Makefile,
 | 
|---|
| 393 |         since we now distribute it.
 | 
|---|
| 394 |         (distclean): Don't remove patchlevel.h.
 | 
|---|
| 395 |         (dist): Distribute $(DISTFILES_M4).
 | 
|---|
| 396 |         (addext_.c argmatch_.c backupfile_.c basename_.c error_.c
 | 
|---|
| 397 |         getopt_.c getopt1_.c inp_.c malloc_.c mkdir_.c patch_.c pch_.c
 | 
|---|
| 398 |         rename_.c util_.c version_.c xmalloc_.c): Depend on ansi2knr.
 | 
|---|
| 399 |         Update dependencies to match sources.
 | 
|---|
| 400 | 
 | 
|---|
| 401 |         * common.h (_LARGEFILE_SOURCE): Remove; now autoconfigured.
 | 
|---|
| 402 |         (file_offset): Depend on HAVE_FSEEKO, not _LFS_LARGEFILE.
 | 
|---|
| 403 | 
 | 
|---|
| 404 |         * patch.c (version_control_context): New variable.
 | 
|---|
| 405 |         Convert to ANSI prototypes.
 | 
|---|
| 406 |         Adjust to new argmatch calling convention.
 | 
|---|
| 407 |         Similarly for get_version.
 | 
|---|
| 408 |         Complain about creating an existing file only if
 | 
|---|
| 409 |         pch_says_nonexistent returns 2 (not merely nonzero).
 | 
|---|
| 410 |         Similarly for time mismatch check.
 | 
|---|
| 411 |         (get_some_switches): Adjust to new get_version calling convention.
 | 
|---|
| 412 |         Similarly for argmatch.
 | 
|---|
| 413 | 
 | 
|---|
| 414 |         * pch.c (<basename.h>): Include.
 | 
|---|
| 415 |         (intuit_diff_type): Improve quality of test for empty file.
 | 
|---|
| 416 |         (another_hunk): Don't assume off_t is no longer than long.
 | 
|---|
| 417 | 
 | 
|---|
| 418 |         * util.h (backup_type): New decl.
 | 
|---|
| 419 |         * util.c (<basename.h>): Include.
 | 
|---|
| 420 |         (move_file): Adjust to new find_backup_file_name convention.
 | 
|---|
| 421 |         (doprogram, mkdir, rmdir): Remove; now in separate files.
 | 
|---|
| 422 |         (fetchame): Match "/dev/null", not NULL_DEVICE.
 | 
|---|
| 423 |         Ignore names that don't have enough slashes to strip off.
 | 
|---|
| 424 | 
 | 
|---|
| 425 |         * version.c: Update copyright notice.
 | 
|---|
| 426 | 
 | 
|---|
| 427 | 1998-03-20  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 428 | 
 | 
|---|
| 429 |         * configure.in (VERSION): Bump to 2.5.3.
 | 
|---|
| 430 |         * quotearg.h (quotearg_quoting_options):
 | 
|---|
| 431 |         Remove; it ran afoul of the Borland C compiler.
 | 
|---|
| 432 |         Its address is now represented by the null pointer.
 | 
|---|
| 433 |         * quotearg.c (default_quoting_options):
 | 
|---|
| 434 |         Renamed from quotearg_quoting_options,
 | 
|---|
| 435 |         and now static instead of extern.
 | 
|---|
| 436 |         (clone_quoting_options, get_quoting_style, set_quoting_style,
 | 
|---|
| 437 |         set_char_quoting, quotearg_buffer):
 | 
|---|
| 438 |         Use default_quoting_options when passed a null pointer.
 | 
|---|
| 439 |         * patch.c (main, get_some_switches):
 | 
|---|
| 440 |         Pass a null pointer instead of address of quotearg_quoting_options.
 | 
|---|
| 441 | 
 | 
|---|
| 442 | 1998-03-17  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 443 | 
 | 
|---|
| 444 |         * patch.c (option_help): Update bug reporting address to gnu.org.
 | 
|---|
| 445 |         * patch.man: Fix copyright and bug reporting address.
 | 
|---|
| 446 | 
 | 
|---|
| 447 | 1998-03-16  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 448 | 
 | 
|---|
| 449 |         * configure.in (VERSION): Bump to 2.5.2.
 | 
|---|
| 450 |         (AC_CHECK_FUNCS): Add strerror.
 | 
|---|
| 451 |         (jm_FUNC_MALLOC, jm_FUNC_REALLOC): Add.
 | 
|---|
| 452 |         (AM_C_PROTOTYPES): Add.
 | 
|---|
| 453 | 
 | 
|---|
| 454 |         * NEWS, patch.c (longopts, get_some_switches), patch.man:
 | 
|---|
| 455 |         Add --quoting-style, --posix options.
 | 
|---|
| 456 | 
 | 
|---|
| 457 |         * Makefile.in (LIBSRCS): Add malloc.c, realloc.c.
 | 
|---|
| 458 |         (SRCS): Add error.c, quotesys.c, xmalloc.c.
 | 
|---|
| 459 |         (OBJS): Likewise.
 | 
|---|
| 460 |         (HDRS): Add error.h, quotesys.h, xalloc.h.
 | 
|---|
| 461 |         (MISC): Add AUTHORS, aclocal.m4, ansi2knr.c.
 | 
|---|
| 462 |         (clean): Use mostlyclean rule.
 | 
|---|
| 463 |         (argmatch.o, inp.o, patch.o, pch.o): Now also depends on quotearg.h.
 | 
|---|
| 464 |         (inp.o, patch.o, util.o): Now also depends on xalloc.h.
 | 
|---|
| 465 |         (error.o, quotearg.o, quotesys.o, xmalloc.o,
 | 
|---|
| 466 |         ansi2knr.o, ansi2knr, quotearg_.c, .c_.c): New rules.
 | 
|---|
| 467 |         (U): New macro.
 | 
|---|
| 468 |         (OBJS, quotearg$U.o): Rename quotearg.o to quotearg$U.o.
 | 
|---|
| 469 |         (mostlyclean): Remove ansi2knr, *_.c.
 | 
|---|
| 470 |         (.SUFFIXES): Add _.c.
 | 
|---|
| 471 | 
 | 
|---|
| 472 |         * acconfig.h (PROTOTYPES): New undef.
 | 
|---|
| 473 | 
 | 
|---|
| 474 |         * acconfig.h, configure.in (HAVE_INTTYPES_H, malloc, realloc):
 | 
|---|
| 475 |         New macros.
 | 
|---|
| 476 | 
 | 
|---|
| 477 |         * aclocal.m4, error.c, error.h, malloc.c,
 | 
|---|
| 478 |         quotearg.h, quotearg.c, realloc.c, xalloc.h, xmalloc.c: New files.
 | 
|---|
| 479 | 
 | 
|---|
| 480 |         * argmatch.c: Include <sys/types.h> before <argmatch.h>.
 | 
|---|
| 481 |         Include <quotearg.h>.
 | 
|---|
| 482 | 
 | 
|---|
| 483 |         * argmatch.c (invalid_arg),
 | 
|---|
| 484 |         inp.c (scan_input, report_revision, too_many_lines, get_input_file,
 | 
|---|
| 485 |         plan_a),
 | 
|---|
| 486 |         patch.c (main, get_some_switches, numeric_string),
 | 
|---|
| 487 |         pch.c (open_patch_file, intuit_diff_type, do_ed_script):
 | 
|---|
| 488 |         util.c (move_file, create_file, copy_file, version_get, removedirs):
 | 
|---|
| 489 |         Quote output operands properly.
 | 
|---|
| 490 | 
 | 
|---|
| 491 |         * common.h: Include <inttypes.h> if available.
 | 
|---|
| 492 |         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM,
 | 
|---|
| 493 |         CHAR_MAX, INT_MAX, LONG_MIN, SIZE_MAX, O_EXCL): New macros.
 | 
|---|
| 494 |         (TMPINNAME_needs_removal, TMPOUTNAME_needs_removal,
 | 
|---|
| 495 |         TMPPATNAME_needs_removal): New variables.
 | 
|---|
| 496 |         (xmalloc): Remove decl; now in xalloc.h.
 | 
|---|
| 497 | 
 | 
|---|
| 498 |         * inp.c: Include <quotearg.h>, <xalloc.h>.
 | 
|---|
| 499 | 
 | 
|---|
| 500 |         * inp.c (get_input_file),
 | 
|---|
| 501 |         pch.c (intuit_diff_type),
 | 
|---|
| 502 |         util.c (version_controller):
 | 
|---|
| 503 |         Don't do diff operation if diffbuf is null; used by ClearCase support.
 | 
|---|
| 504 | 
 | 
|---|
| 505 |         * inp.c (plan_b),
 | 
|---|
| 506 |         patch.c (init_reject),
 | 
|---|
| 507 |         pch.c (open_patch_file, do_ed_script):
 | 
|---|
| 508 |         Create temporary file with O_EXCL to avoid races.
 | 
|---|
| 509 | 
 | 
|---|
| 510 |         * patch.c: Include <quotearg.h>, <xalloc.h>.
 | 
|---|
| 511 |         (create_output_file, init_output): New open_flags arg.
 | 
|---|
| 512 |         All callers changed.
 | 
|---|
| 513 |         (init_reject): No longer takes filename arg.  All callers changed.
 | 
|---|
| 514 |         (remove_if_needed): New function.
 | 
|---|
| 515 |         (cleanup): Use it to remove temporary files only if needed.
 | 
|---|
| 516 |         (TMPREJNAME_needs_removal): New var.
 | 
|---|
| 517 |         (main): Set xalloc_fail_func to memory_fatal; needed for xalloc.
 | 
|---|
| 518 |         Initialize quoting style from QUOTING_STYLE.
 | 
|---|
| 519 |         (longopts, get_some_switches): Offset longarg options by CHAR_MAX,
 | 
|---|
| 520 |         not 128; this is needed for EBCDIC ports.
 | 
|---|
| 521 | 
 | 
|---|
| 522 |         * patch.c (main, locate_hunk, abort_hunk, spew_output),
 | 
|---|
| 523 |         pch.c (there_is_another_patch, intuit_diff_type, malformed,
 | 
|---|
| 524 |         another_hunk):
 | 
|---|
| 525 |         The LINENUM type now might be longer than long,
 | 
|---|
| 526 |         so print and read line numbers more carefully.
 | 
|---|
| 527 | 
 | 
|---|
| 528 |         * patch.c (main),
 | 
|---|
| 529 |         pch.c (there_is_another_patch):
 | 
|---|
| 530 |         util.c (fetchname):
 | 
|---|
| 531 |         strippath now defaults to -1, so that we can distinguish unset
 | 
|---|
| 532 |         value from largest possible.
 | 
|---|
| 533 | 
 | 
|---|
| 534 |         * patch.man: Clarify how file name is chosen from candidates.
 | 
|---|
| 535 | 
 | 
|---|
| 536 |         * pch.c: Include <quotearg.h>.
 | 
|---|
| 537 |         (p_strip_trailing_cr): New variable.
 | 
|---|
| 538 |         (scan_linenum): New function.
 | 
|---|
| 539 |         (pget_line, re_patch, there_is_another_patch, intuit_diff_type,
 | 
|---|
| 540 |         get_line): Strip trailing CRs from context diffs that need this.
 | 
|---|
| 541 |         (best_name): Use SIZE_MAX instead of (size_t) -1 for max size_t.
 | 
|---|
| 542 | 
 | 
|---|
| 543 |         * quotesys.c, quotearg.h: Renamed from quotearg.c and quotearg.h.
 | 
|---|
| 544 |         All uses changed.
 | 
|---|
| 545 |         * quotesys.h (__QUOTESYS_P): Renamed from __QUOTEARG_P.
 | 
|---|
| 546 | 
 | 
|---|
| 547 |         * util.c: Include <quotearg.h>, <xalloc.h>.
 | 
|---|
| 548 |         (raise): Don't define if already defined.
 | 
|---|
| 549 |         (move_file): New arg from_needs_removal.  All callers changed.
 | 
|---|
| 550 |         (copy_file): New arg to_flags.  All callers changed.
 | 
|---|
| 551 |         (CLEARTOOL_CO): New constant.
 | 
|---|
| 552 |         (version_controller): Add ClearCase support.
 | 
|---|
| 553 |         (format_linenum): New function.
 | 
|---|
| 554 |         (fetchname): Allow any POSIX.1 time zone spec, which means
 | 
|---|
| 555 |         any local time offset in the range -25:00 < offset < +26:00.
 | 
|---|
| 556 |         Ignore the name if it doesn't have enough slashes to strip off.
 | 
|---|
| 557 |         (xmalloc): Remove; now in xmalloc.c.
 | 
|---|
| 558 | 
 | 
|---|
| 559 |         * util.h (LINENUM_LENGTH_BOUND): New macro.
 | 
|---|
| 560 |         (format_linenum): New decl.
 | 
|---|
| 561 | 
 | 
|---|
| 562 |         * version.c (copyright_string): Update years of copyrights.
 | 
|---|
| 563 | 
 | 
|---|
| 564 | 1997-09-03  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 565 | 
 | 
|---|
| 566 |         * configure.in (VERSION): Bump to 2.5.1.
 | 
|---|
| 567 |         * inp.c (re_input): Don't free buffers twice when input is garbled.
 | 
|---|
| 568 |         * patch.c (main): If skipping patch and Plan A fails, don't
 | 
|---|
| 569 |         bother trying Plan B.
 | 
|---|
| 570 | 
 | 
|---|
| 571 | 1997-08-31  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 572 | 
 | 
|---|
| 573 |         * configure.in (VERSION): Version 2.5 released.
 | 
|---|
| 574 | 
 | 
|---|
| 575 | 1997-07-21  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 576 | 
 | 
|---|
| 577 |         * configure.in (VERSION): Bump to 2.4.4.
 | 
|---|
| 578 |         * pch.c (there_is_another_patch), NEWS: Report an error if the patch
 | 
|---|
| 579 |         input contains garbage but no patches.
 | 
|---|
| 580 | 
 | 
|---|
| 581 |         * pch.c (open_patch_file):
 | 
|---|
| 582 |         Check for patch file too long (i.e., its size
 | 
|---|
| 583 |         doesn't fit in a `long', and LFS isn't available).
 | 
|---|
| 584 | 
 | 
|---|
| 585 |         * inp.c (plan_a):
 | 
|---|
| 586 |         Cast malloc return value, in case malloc returns char *.
 | 
|---|
| 587 | 
 | 
|---|
| 588 | 1997-07-16  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 589 | 
 | 
|---|
| 590 |         * configure.in (VERSION): Bump to 2.4.3.
 | 
|---|
| 591 | 
 | 
|---|
| 592 |         * NEWS, patch.man, pch.c (intuit_diff_type, get_line, pget_line):
 | 
|---|
| 593 |         Now demangles RFC 934 encapsulation.
 | 
|---|
| 594 |         * pch.c (p_rfc934_nesting): New var.
 | 
|---|
| 595 | 
 | 
|---|
| 596 |         * pch.c (intuit_diff_type): Don't bother to check file names carefully
 | 
|---|
| 597 |         if we're going to return NO_DIFF.
 | 
|---|
| 598 | 
 | 
|---|
| 599 |         * inp.c (plan_a): Count the number of lines before allocating
 | 
|---|
| 600 |         pointer-to-line buffer; this reduces memory requirements
 | 
|---|
| 601 |         considerably (roughly by a factor of 5 on 32-bit hosts).
 | 
|---|
| 602 |         Decrease `size' only when read unexpectedly reports EOF.
 | 
|---|
| 603 |         (i_buffer): New var.
 | 
|---|
| 604 |         (too_many_lines): New fn.
 | 
|---|
| 605 |         (re_input): Free i_buffer if using plan A.
 | 
|---|
| 606 |         Free buffers unconditionally; they can't be zero.
 | 
|---|
| 607 | 
 | 
|---|
| 608 |         * inp.c (plan_a, plan_b): Check for overflow of line counter.
 | 
|---|
| 609 | 
 | 
|---|
| 610 |         * pch.c (malformed), util.h (memory_fatal, read_fatal, write_fatal):
 | 
|---|
| 611 |         Declare as noreturn.
 | 
|---|
| 612 | 
 | 
|---|
| 613 | 1997-07-10  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 614 | 
 | 
|---|
| 615 |         * configure.in (VERSION): Bump to 2.4.2.
 | 
|---|
| 616 | 
 | 
|---|
| 617 |         * util.c (ok_to_reverse), NEWS: The default answer is now `n';
 | 
|---|
| 618 |         this is better for Emacs.
 | 
|---|
| 619 | 
 | 
|---|
| 620 |         * Makefile.in (dist): Use cp -p, not ln;
 | 
|---|
| 621 |         some hosts do the wrong thing with ln if the source is a symbolic link.
 | 
|---|
| 622 | 
 | 
|---|
| 623 |         * patch.man: Fix typo: -y -> -Y.
 | 
|---|
| 624 | 
 | 
|---|
| 625 | 1997-07-05  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 626 | 
 | 
|---|
| 627 |         * configure.in (VERSION): Bump to 2.4.1.
 | 
|---|
| 628 | 
 | 
|---|
| 629 |         * patch.c: (main, get_some_switches), NEWS, patch.man:
 | 
|---|
| 630 |         Version control is now independent of whether backups are made.
 | 
|---|
| 631 |         * patch.c (option_help): Put version control options together.
 | 
|---|
| 632 |         (get_some_switches): With CVS 1.9 hack, treat -b foo like -b -z foo,
 | 
|---|
| 633 |         not just -z foo.  This change is needed due to recent change in -z.
 | 
|---|
| 634 |         * backupfile.c (find_backup_file_name):
 | 
|---|
| 635 |         backup_type == none causes undefined behavior;
 | 
|---|
| 636 |         this undoes the previous change to this file.
 | 
|---|
| 637 | 
 | 
|---|
| 638 |         * patch.c (locate_hunk): Fix bug when locating context diff hunks
 | 
|---|
| 639 |         near end of file with nonzero fuzz.
 | 
|---|
| 640 | 
 | 
|---|
| 641 |         * util.c (move_file): Don't assume that ENOENT is reported when both
 | 
|---|
| 642 |         ENOENT and EXDEV apply; this isn't true with DJGPP, and
 | 
|---|
| 643 |         Posix doesn't require it.
 | 
|---|
| 644 | 
 | 
|---|
| 645 |         * pch.c (there_is_another_patch):
 | 
|---|
| 646 |         Suggest -p when we can't intuit a file.
 | 
|---|
| 647 | 
 | 
|---|
| 648 | 1997-06-19  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 649 | 
 | 
|---|
| 650 |         * configure.in (VERSION): Version 2.4 released.
 | 
|---|
| 651 |         * NEWS: Patch is now verbose when patches do not match exactly.
 | 
|---|
| 652 | 
 | 
|---|
| 653 | 1997-06-17  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 654 | 
 | 
|---|
| 655 |         * pc/djgpp/configure.sed (config.h): Remove redundant $(srcdir).
 | 
|---|
| 656 | 
 | 
|---|
| 657 |         * configure.in (VERSION): Bump to 2.3.9.
 | 
|---|
| 658 |         * patch.c (main): By default, warn about hunks that succeed
 | 
|---|
| 659 |         with nonzero offset.
 | 
|---|
| 660 |         * patch.man: Add LC_ALL=C advice for making patches.
 | 
|---|
| 661 |         * pc/djgpp/configure.sed (config.h): Fix paths to dependent files.
 | 
|---|
| 662 | 
 | 
|---|
| 663 | 1997-06-17  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 664 | 
 | 
|---|
| 665 |         * configure.in (VERSION): Bump to 2.3.8.
 | 
|---|
| 666 | 
 | 
|---|
| 667 |         * pch.c (open_patch_file): Test stdin for fseekability.
 | 
|---|
| 668 |         (intuit_diff_type): Missing context diff headers are now warnings,
 | 
|---|
| 669 |         not errors; some people use patches with them (e.g. when retrying
 | 
|---|
| 670 |         rejects).
 | 
|---|
| 671 | 
 | 
|---|
| 672 |         * patch.c (struct outstate):
 | 
|---|
| 673 |         New type, collecting together some output state vars.
 | 
|---|
| 674 |         (apply_hunk, copy_till, spew_output, init_output): Use it.
 | 
|---|
| 675 |         Keep track of whether some output has been generated.
 | 
|---|
| 676 |         (backup_if_mismatch): New var.
 | 
|---|
| 677 |         (ofp): Remove, in favor of local struct outstate vars.
 | 
|---|
| 678 |         (main): Use struct outstate.  Initialize backup_if_mismatch to
 | 
|---|
| 679 |         be the inverse of posixly_correct.  Keep track of whether mismatches
 | 
|---|
| 680 |         occur, and use this to implement backup_if_mismatch.
 | 
|---|
| 681 |         Report files that are not empty after patching, but should be.
 | 
|---|
| 682 |         (longopts, option_help, get_some_switches): New options
 | 
|---|
| 683 |         --backup-if-mismatch, --no-backup-if-mismatch.
 | 
|---|
| 684 |         (get_some_switches): -B, -Y, -z no longer set backup_type.
 | 
|---|
| 685 |         * backupfile.c (find_backup_file_name):
 | 
|---|
| 686 |         Treat backup_type == none like simple.
 | 
|---|
| 687 | 
 | 
|---|
| 688 |         * Makefile.in (CONFIG_HDRS):
 | 
|---|
| 689 |         Remove var; no longer needed by djgpp port.
 | 
|---|
| 690 |         (DISTFILES_PC_DJGPP): Rename pc/djgpp/config.sed to
 | 
|---|
| 691 |         pc/djgpp/configure.sed; remove pc/djgpp/config.h in favor of
 | 
|---|
| 692 |         new file that edits it, called pc/djgpp/config.sed.
 | 
|---|
| 693 |         * pc/djgpp/configure.bat: Rename config.sed to configure.sed.
 | 
|---|
| 694 |         * pc/djgpp/configure.sed (CONFIG_HDRS): Remove.
 | 
|---|
| 695 |         (config.h): Add rule to build this from config.hin and
 | 
|---|
| 696 |         pc/djgpp/config.sed.
 | 
|---|
| 697 |         * pc/djgpp/config.sed:
 | 
|---|
| 698 |         Convert from .h file to .sed script that generates .h file.
 | 
|---|
| 699 | 
 | 
|---|
| 700 |         * NEWS: Describe --backup-if-mismatch, --no-backup-if-mismatch.
 | 
|---|
| 701 |         * patch.man:
 | 
|---|
| 702 |         Describe new options --backup-if-mismatch, --no-backup-if-mismatch
 | 
|---|
| 703 |         and their ramifications.  Use unreadable backup to represent
 | 
|---|
| 704 |         nonexistent file.
 | 
|---|
| 705 | 
 | 
|---|
| 706 | 1997-06-12  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 707 | 
 | 
|---|
| 708 |         * configure.in (VERSION): Bump to 2.3.7.
 | 
|---|
| 709 |         (AC_CHECK_FUNCS): Add `raise'.
 | 
|---|
| 710 | 
 | 
|---|
| 711 |         * Makefile.in (inp.o): No longer depends on quotearg.h.
 | 
|---|
| 712 | 
 | 
|---|
| 713 |         * common.h (outfile): New decl (was private var named `output').
 | 
|---|
| 714 |         (invc): New decl.
 | 
|---|
| 715 |         (GENERIC_OBJECT): Renamed from VOID.
 | 
|---|
| 716 |         (NULL_DEVICE, TTY_DEVICE): New macros.
 | 
|---|
| 717 | 
 | 
|---|
| 718 |         * patch.c (output): Remove; renamed to `outfile' and moved to common.h.
 | 
|---|
| 719 |         (main): `failed' is count, not boolean.
 | 
|---|
| 720 |         Say "Skipping patch." when deciding to skip patch.
 | 
|---|
| 721 |         (get_some_switches): Set invc when setting inname.
 | 
|---|
| 722 | 
 | 
|---|
| 723 |         * inp.c: Do not include <quotearg.h>.
 | 
|---|
| 724 |         (SCCSPREFIX, GET, GET_LOCKED, SCCSDIFF1, SCCSDIFF2, SCCSDIFF3,
 | 
|---|
| 725 |         RCSSUFFIX, CHECKOUT, CHECKOUT_LOCKED, RCSDIFF1, RCSDIFF2):
 | 
|---|
| 726 |         Move to util.c.
 | 
|---|
| 727 |         (get_input_file): Invoke new functions version_controller and
 | 
|---|
| 728 |         version_get to simplify this code.
 | 
|---|
| 729 |         (plan_b): "/dev/tty" -> NULL_DEVICE
 | 
|---|
| 730 | 
 | 
|---|
| 731 |         * pch.h (pch_timestamp): New decl.
 | 
|---|
| 732 |         * pch.c (p_timestamp): New var; takes over from global timestamp array.
 | 
|---|
| 733 |         (pch_timestamp): New function to export p_timestamp.
 | 
|---|
| 734 |         (there_is_another_patch): Use blander wording when you can't intuit
 | 
|---|
| 735 |         the file name.
 | 
|---|
| 736 |         Say "Skipping patch." when deciding to skip patch.
 | 
|---|
| 737 |         (intuit_diff_type): Look for version-controlled but nonexistent files
 | 
|---|
| 738 |         when intuiting file names; set invc accordingly.
 | 
|---|
| 739 |         Ignore Index: line if either old or new line is present, and if
 | 
|---|
| 740 |         POSIXLY_CORRECT is not set.
 | 
|---|
| 741 |         (do_ed_script): Flush stdout before invoking popen, since it may
 | 
|---|
| 742 |         send output to stdout.
 | 
|---|
| 743 | 
 | 
|---|
| 744 |         * util.h (version_controller, version_get): New decls.
 | 
|---|
| 745 |         * util.c: Include <quotearg.h> earlier.
 | 
|---|
| 746 |         (raise): New macro, if ! HAVE_RAISE.
 | 
|---|
| 747 |         (move_file): Create empty unreadable file when backing up a nonexistent
 | 
|---|
| 748 |         file.
 | 
|---|
| 749 |         (DEV_NULL): New constant.
 | 
|---|
| 750 |         (SCCSPREFIX, GET. GET_LOCKED, SCCSDIFF1, SCCSDIFF2,
 | 
|---|
| 751 |         RCSSUFFIX, CHECKOUT, CHECKOUT_LOCKED, RCSDIFF1): Moved here from inp.c.
 | 
|---|
| 752 |         (version_controller, version_get): New functions.
 | 
|---|
| 753 |         (ask): Look only at /dev/tty for answers; and when standard output is
 | 
|---|
| 754 |         not a terminal and ! posixly_correct, don't even look there.
 | 
|---|
| 755 |         Remove unnecessary fflushes of stdout.
 | 
|---|
| 756 |         (ok_to_reverse): Say "Skipping patch." when deciding to skip patch..
 | 
|---|
| 757 |         (sigs): SIGPIPE might not be defined.
 | 
|---|
| 758 |         (exit_with_signal): Use `raise' instead of `kill'.
 | 
|---|
| 759 |         (systemic): fflush stdout before invoking subsidiary command.
 | 
|---|
| 760 | 
 | 
|---|
| 761 |         * patch.man: Document recent changes.
 | 
|---|
| 762 |         Add "COMPATIBILITY ISSUES" section.
 | 
|---|
| 763 | 
 | 
|---|
| 764 |         * NEWS: New COMPATIBILITY ISSUES for man page.
 | 
|---|
| 765 |         Changed verbosity when fuzz is found.
 | 
|---|
| 766 |         File name intuition is changed, again.
 | 
|---|
| 767 |         Backups are made unreadable when the file did not exist.
 | 
|---|
| 768 | 
 | 
|---|
| 769 |         * pc/djgpp/config.h (HAVE_STRUCT_UTIMBUF): Define.
 | 
|---|
| 770 |         (HAVE_RAISE): New macro.
 | 
|---|
| 771 |         (HAVE_UTIME_H): Define.
 | 
|---|
| 772 |         (TZ_is_unset): Do not define; it's not a serious problem with `patch'
 | 
|---|
| 773 |         to have TZ be unset in DOS.
 | 
|---|
| 774 | 
 | 
|---|
| 775 | 1997-06-08  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 776 | 
 | 
|---|
| 777 |         * configure.in (VERSION): Bump to 2.3.6.
 | 
|---|
| 778 |         (AC_CHECK_HEADERS): Add utime.h.
 | 
|---|
| 779 |         * acconfig.h, configure.in, pc/djgpp/config.h (HAVE_STRUCT_UTIMBUF):
 | 
|---|
| 780 |         New macro.
 | 
|---|
| 781 |         * pc/djgpp/config.h (HAVE_UTIME_H, TZ_is_unset): New macros.
 | 
|---|
| 782 | 
 | 
|---|
| 783 |         * NEWS, patch.man: Describe new -Z, -T options, new numeric
 | 
|---|
| 784 |         option for -G, retired -G, and more verbose default behavior
 | 
|---|
| 785 |         with fuzz.
 | 
|---|
| 786 | 
 | 
|---|
| 787 |         * pch.c (intuit_diff_type): Record times reported for files in headers.
 | 
|---|
| 788 |         Remove head_says_nonexistent[x], since it's now equivalent to
 | 
|---|
| 789 |         !timestamp[x].
 | 
|---|
| 790 |         * util.h (fetchname): Change argument head_says_nonexistent to
 | 
|---|
| 791 |         timestamp.
 | 
|---|
| 792 |         * util.c: #include <partime.h> for TM_LOCAL_ZONE.
 | 
|---|
| 793 |         Don't include <time.h> since common.h now includes it.
 | 
|---|
| 794 |         (ok_to_reverse): noreverse and batch cases now output regardless of
 | 
|---|
| 795 |         verbosity.
 | 
|---|
| 796 |         (fetchname): Change argument head_says_nonexistent to pstamp, and
 | 
|---|
| 797 |         store header timestamp into *pstamp.
 | 
|---|
| 798 |         If -T or -Z option is given, match time stamps more precisely.
 | 
|---|
| 799 |         (ask): Remove unnecessary close of ttyfd.
 | 
|---|
| 800 |         When there is no terminal at all, output a newline to make the
 | 
|---|
| 801 |         output look nicer.  After reporting EOF, flush stdout;
 | 
|---|
| 802 |         when an input error, report the error type.
 | 
|---|
| 803 | 
 | 
|---|
| 804 |         * inp.c (get_input_file):
 | 
|---|
| 805 |         Ask user whether to get file if patch_get is negative.
 | 
|---|
| 806 | 
 | 
|---|
| 807 |         * Makefile.in (clean): Don't clean */*.o; clean core* and *core.
 | 
|---|
| 808 | 
 | 
|---|
| 809 | 1997-06-04  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 810 | 
 | 
|---|
| 811 |         * configure.in (VERSION): Bump to 2.3.5.
 | 
|---|
| 812 | 
 | 
|---|
| 813 |         * util.c (ok_to_reverse):
 | 
|---|
| 814 |         Be less chatty if verbosity is SILENT and we don't
 | 
|---|
| 815 |         have to ask the user.  If force is nonzero, apply the patch anyway.
 | 
|---|
| 816 | 
 | 
|---|
| 817 |         * pch.c (there_is_another_patch):
 | 
|---|
| 818 |         Before skipping rest of patch, skip to
 | 
|---|
| 819 |         the patch start, so that another_hunk can skip it properly.
 | 
|---|
| 820 |         (intuit_diff_type): Slight wording change for missing headers, to
 | 
|---|
| 821 |         regularize with other diagnostics.  Fix off-by-one error when setting
 | 
|---|
| 822 |         p_input_line when scanning the first hunk to check for deleted files.
 | 
|---|
| 823 | 
 | 
|---|
| 824 | 1997-06-03  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 825 | 
 | 
|---|
| 826 |         * configure.in (VERSION): Bump to 2.3.4.
 | 
|---|
| 827 | 
 | 
|---|
| 828 |         * NEWS: Now matches more generously against nonexistent or empty files.
 | 
|---|
| 829 | 
 | 
|---|
| 830 |         * pch.c (there_is_another_patch): Move warning about not being
 | 
|---|
| 831 |         able to intuit file names here from skip_to.
 | 
|---|
| 832 |         (intuit_diff_type): Fatal error if we find a headless unified
 | 
|---|
| 833 |         or context diff.
 | 
|---|
| 834 | 
 | 
|---|
| 835 |         * util.c (ask): Null-terminate buffer properly even if it grew.
 | 
|---|
| 836 |         (fetchname): No need to test for null first argument.
 | 
|---|
| 837 | 
 | 
|---|
| 838 | 1997-06-02  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 839 | 
 | 
|---|
| 840 |         * configure.in (VERSION): Bump to 2.3.3.
 | 
|---|
| 841 |         * pch.c (p_says_nonexistent, pch_says_nonexistent): Is now 1 for empty,
 | 
|---|
| 842 |         2 for nonexistent.
 | 
|---|
| 843 |         (intuit_diff_type): Set p_says_nonexistent according to new meaning.
 | 
|---|
| 844 |         Treat empty files like nonexistent files when reversing.
 | 
|---|
| 845 |         (skip_to): Output better diagnostic when we can't intuit a file name.
 | 
|---|
| 846 |         * patch.c (main):
 | 
|---|
| 847 |         Count bytes, not lines, when testing whether a file is empty,
 | 
|---|
| 848 |         since it may contain only non-newline chars.
 | 
|---|
| 849 |         pch_says_nonexistent now returns 2 for nonexistent files.
 | 
|---|
| 850 | 
 | 
|---|
| 851 | 1997-06-01  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 852 | 
 | 
|---|
| 853 |         * configure.in (VERSION): Bump to 2.3.2.
 | 
|---|
| 854 |         * pch.c (open_patch_file):
 | 
|---|
| 855 |         Fix bug when computing size of patch read from a pipe.
 | 
|---|
| 856 | 
 | 
|---|
| 857 | 1997-05-30  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 858 | 
 | 
|---|
| 859 |         * configure.in (VERSION): Bump to 2.3.1.
 | 
|---|
| 860 | 
 | 
|---|
| 861 |         * Makefile.in (transform, patch_name): New vars,
 | 
|---|
| 862 |         for proper implementation of AC_ARG_PROGRAM.
 | 
|---|
| 863 |         (install, uninstall): Use them.
 | 
|---|
| 864 |         (install-strip): New rule.
 | 
|---|
| 865 |         * pc/djgpp/config.sed (program_transform_name): Set to empty.
 | 
|---|
| 866 | 
 | 
|---|
| 867 | 1997-05-30  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 868 | 
 | 
|---|
| 869 |         * configure.in (VERSION), NEWS: Version 2.3 released.
 | 
|---|
| 870 |         * patch.man: Fix two font typos.
 | 
|---|
| 871 |         * util.c (doprogram): Fix misspelled decl.
 | 
|---|
| 872 | 
 | 
|---|
| 873 | 1997-05-26  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 874 | 
 | 
|---|
| 875 |         * configure.in (VERSION): Bump to 2.2.93.
 | 
|---|
| 876 | 
 | 
|---|
| 877 |         * pch.c (open_patch_file):
 | 
|---|
| 878 |         Fatal error if binary_transput and stdin is a tty.
 | 
|---|
| 879 | 
 | 
|---|
| 880 |         * pc/djgpp/config.sed (chdirsaf.c):
 | 
|---|
| 881 |         Use sed instead of cp, since cp might not be installed.
 | 
|---|
| 882 |         * pc/djgpp/configure.bat:
 | 
|---|
| 883 |         Prepend %srcdir% to pathname of config.sed, for crosscompiles.
 | 
|---|
| 884 | 
 | 
|---|
| 885 | 1997-05-25  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 886 | 
 | 
|---|
| 887 |         * configure.in (VERSION): Bump to 2.2.92.
 | 
|---|
| 888 |         (D_INO_IN_DIRENT): New macro.
 | 
|---|
| 889 |         * pc/djgpp/config.h, acconfig.h (D_INO_IN_DIRENT): New macro.
 | 
|---|
| 890 |         * backupfile.c (REAL_DIR_ENTRY):
 | 
|---|
| 891 |         Depend on D_INO_IN_DIRENT, not _POSIX_VERSION.
 | 
|---|
| 892 | 
 | 
|---|
| 893 |         * addext.c (addext): Adjust slen when adjusting s for DOS 8.3 limit.
 | 
|---|
| 894 |         Do not use xxx.h -> xxxh~ hack.
 | 
|---|
| 895 | 
 | 
|---|
| 896 |         * util.c: (move_file): Avoid makedirs test when possible even
 | 
|---|
| 897 |         if FILESYSTEM_PREFIX_LEN (p) is nonzero.  Don't play
 | 
|---|
| 898 |         case-changing tricks to come up with backup file name; it's
 | 
|---|
| 899 |         not portable to case-insensitive file systems.
 | 
|---|
| 900 |         * common.h (ISLOWER): Remove.
 | 
|---|
| 901 | 
 | 
|---|
| 902 |         * inp.c (scan_input): Don't use Plan A if (debug & 16).
 | 
|---|
| 903 | 
 | 
|---|
| 904 |         * patch.c (shortopts): Add -g, -G.
 | 
|---|
| 905 |         (longopts): --help now maps to 132, not 'h', to avoid confusion.
 | 
|---|
| 906 |         (get_some_switches): Likewise.
 | 
|---|
| 907 |         Don't invoke setmode on input if --binary; wait until needed.
 | 
|---|
| 908 |         Don't ever invoke setmode on stdout.
 | 
|---|
| 909 |         * pch.c (open_patch_file): Setmode stdin to binary if binary_transput.
 | 
|---|
| 910 | 
 | 
|---|
| 911 |         * patch.man: Fix documentation of backup file name to match behavior.
 | 
|---|
| 912 |         Add advice for ordering of patches of derived files.
 | 
|---|
| 913 |         Add /dev/tty to list of files used.
 | 
|---|
| 914 |         * README: Adjust instructions for building on DOS.
 | 
|---|
| 915 |         * pc/djgpp/README: Remove tentative wording.
 | 
|---|
| 916 |         * NEWS: The DOS port is now tested.
 | 
|---|
| 917 |         Backup file names are no longer computed by switching case.
 | 
|---|
| 918 | 
 | 
|---|
| 919 |         * pc/chdirsaf.c (ERANGE): Include <errno.h> to define it.
 | 
|---|
| 920 |         (restore_wd): chdir unconditionally.
 | 
|---|
| 921 |         (chdir_safer): Invoke atexit successfully at most once.
 | 
|---|
| 922 |         * pc/djgpp/config.sed: Use chdirsaf.o, not pc/chdirsaf.o.
 | 
|---|
| 923 |         Replace CONFIG_HDRS, don't append.
 | 
|---|
| 924 |         Use $(srcdir) in CONFIG_STATUS.
 | 
|---|
| 925 |         Don't apply $(SHELL) to $(CONFIG_STATUS).
 | 
|---|
| 926 |         Append rules for chdirsaf.o, chdirsaf.c; clean chdirsaf.c at the end.
 | 
|---|
| 927 |         * pc/djgpp/configure.bat: Append CR to each line; DOS needs this.
 | 
|---|
| 928 |         Don't use | as sed s delimiter; DOS can't handle it.
 | 
|---|
| 929 | 
 | 
|---|
| 930 | 1997-05-21  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 931 | 
 | 
|---|
| 932 |         * configure.in (VERSION): Bump to 2.2.91.
 | 
|---|
| 933 | 
 | 
|---|
| 934 |         * pch.c (another_hunk):
 | 
|---|
| 935 |         Fix bug with computing size of prefix and suffix context
 | 
|---|
| 936 |         with ordinary context diffs.  Report malformed patch if a unified diff
 | 
|---|
| 937 |         has nothing but context.
 | 
|---|
| 938 | 
 | 
|---|
| 939 |         * inp.c (get_input_file):
 | 
|---|
| 940 |         Use patch_get, not backup_type, to decide whether to
 | 
|---|
| 941 |         get from RCS or SCCS.  Use the word `get' in diagnostics.
 | 
|---|
| 942 |         * patch.c (main): Initialize patch_get from PATCH_GET.
 | 
|---|
| 943 |         Omit DEFAULT_VERSION_CONTROL hook; it just leads to nonstandarization.
 | 
|---|
| 944 |         (longopts, option_help, get_some_switches): Add support for -g, -G.
 | 
|---|
| 945 |         (option_help): Add bug report address.
 | 
|---|
| 946 |         * common.h (patch_get): New decl.
 | 
|---|
| 947 |         * patch.man: Add -g and -G options; use `get' instead of `check out'.
 | 
|---|
| 948 |         Add PATCH_GET.  Recommend -Naur instead of -raNU2 for diff.
 | 
|---|
| 949 |         * NEWS: Describe -g, -G, PATCH_GET.
 | 
|---|
| 950 | 
 | 
|---|
| 951 |         * version.c (copyright_string): Use only most recent copyright year,
 | 
|---|
| 952 |         as per GNU standards.
 | 
|---|
| 953 | 
 | 
|---|
| 954 |         * Makefile.in (DISTFILES_PC): Remove pc/quotearg.c.
 | 
|---|
| 955 |         * pc/djgpp/config.sed: Remove unnecessary hooks for quotearg and SHELL.
 | 
|---|
| 956 | 
 | 
|---|
| 957 | 1997-05-18  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 958 | 
 | 
|---|
| 959 |         * configure.in (VERSION): Increase to 2.2.9.
 | 
|---|
| 960 |         (AC_TYPE_MODE_T): Add.
 | 
|---|
| 961 | 
 | 
|---|
| 962 |         * pch.h (another_hunk): New parameter REV.
 | 
|---|
| 963 |         * pch.c (hunkmax): Now of type LINENUM.
 | 
|---|
| 964 |         (malformed): Add decl.
 | 
|---|
| 965 |         (there_is_another_patch): Skip inname-detection if skip_rest_of_patch.
 | 
|---|
| 966 |         (intuit_diff_type): To determine whether file appears to have been
 | 
|---|
| 967 |         deleted, look at replacement, not pattern.
 | 
|---|
| 968 |         If there is a mismatch between existence of file and whether the
 | 
|---|
| 969 |         patch claims to change whether the file exists, ask whether to
 | 
|---|
| 970 |         reverse the patch.
 | 
|---|
| 971 |         (another_hunk): New parameter REV specifying whether to reverse the
 | 
|---|
| 972 |         hunk.  All callers changed.
 | 
|---|
| 973 |         (do_ed_script): Add assertion to ensure input file exists.
 | 
|---|
| 974 | 
 | 
|---|
| 975 |         * util.h (create_file): New function.
 | 
|---|
| 976 |         (copy_file): Now takes mode, not struct stat.
 | 
|---|
| 977 |         (makedirs): No longer exported.
 | 
|---|
| 978 |         (move_file): Now takes mode, not struct stat.
 | 
|---|
| 979 |         * util.c (makedirs): No longer exported.
 | 
|---|
| 980 |         (move_file): Accept mode of destination, not struct stat.
 | 
|---|
| 981 |         All callers changed.
 | 
|---|
| 982 |         Quote file names in diagnostics.
 | 
|---|
| 983 |         Create parent dir of destination if necessary.
 | 
|---|
| 984 |         Don't use ENOTDIR.
 | 
|---|
| 985 |         Don't unlink source; it will be unlinked later.
 | 
|---|
| 986 |         Unlink destination if FROM is zero.
 | 
|---|
| 987 |         (create_file): New function.
 | 
|---|
| 988 |         (copy_file): Accept mode of destination, not struct stat.
 | 
|---|
| 989 |         All callers changed.
 | 
|---|
| 990 |         Use create_file to create file.
 | 
|---|
| 991 |         (ok_to_reverse): Moved here from patch.c.  Now accepts format and args;
 | 
|---|
| 992 |         all callers changed.
 | 
|---|
| 993 |         (mkdir): 2nd arg is now mode_t, for better compatibility.
 | 
|---|
| 994 |         (replace_slashes): Ignore slashes at the end of the filename.
 | 
|---|
| 995 | 
 | 
|---|
| 996 |         * common.h (noreverse): New decl.
 | 
|---|
| 997 |         (ok_to_reverse): Remove decl.
 | 
|---|
| 998 | 
 | 
|---|
| 999 |         * patch.c (noreverse): Now extern.
 | 
|---|
| 1000 |         (main): New environment var PATCH_VERSION_CONTROL overrides VERSION_CONTROL.
 | 
|---|
| 1001 |         Don't assert(hunk) if we're skipping the patch; we may not have any hunks.
 | 
|---|
| 1002 |         When removing a file, back it up if backups are desired.
 | 
|---|
| 1003 |         Don't chmod output file if input file did not exist.
 | 
|---|
| 1004 |         chmod rej file to input file's mode minus executable bits.
 | 
|---|
| 1005 |         (locate_hunk): Go back to old way of a single fuzz parameter, but
 | 
|---|
| 1006 |         handle it more precisely: context diffs with partial contexts
 | 
|---|
| 1007 |         can only match file ends, since the partial context can occur
 | 
|---|
| 1008 |         only at the start or end of file.
 | 
|---|
| 1009 |         All callers changed.
 | 
|---|
| 1010 |         (create_output_file): Use create_file to create files.
 | 
|---|
| 1011 |         (ok_to_reverse): Move to util.c.
 | 
|---|
| 1012 | 
 | 
|---|
| 1013 |         * inp.c (scan_input, get_input_file): Quote file names in diagnostics.
 | 
|---|
| 1014 |         (get_input_file): Set inerrno if it's not already set.
 | 
|---|
| 1015 |         Don't create file; it's now the caller's responsibility.
 | 
|---|
| 1016 |         (plan_b): Use /dev/null if input size is zero, since it might not exist.
 | 
|---|
| 1017 |         Use create_file to create temporary file.
 | 
|---|
| 1018 | 
 | 
|---|
| 1019 |         * NEWS: Add PATCH_VERSION_CONTROL; DOS port is untested.
 | 
|---|
| 1020 | 
 | 
|---|
| 1021 |         * pc/djgpp/config.h: Add comment for mode_t.
 | 
|---|
| 1022 | 
 | 
|---|
| 1023 |         * pc/djgpp/README: Note that it's not tested.
 | 
|---|
| 1024 | 
 | 
|---|
| 1025 |         * patch.man: PATCH_VERSION_CONTROL overrides VERSION_CONTROL.
 | 
|---|
| 1026 | 
 | 
|---|
| 1027 | 1997-05-15  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 1028 | 
 | 
|---|
| 1029 |         * configure.in: Add AC_PREREQ(2.12).
 | 
|---|
| 1030 |         (VERSION): Bump to 2.2.8.
 | 
|---|
| 1031 |         (ed_PROGRAM): Rename from ED_PROGRAM.
 | 
|---|
| 1032 | 
 | 
|---|
| 1033 |         * pch.c (prefix_components): Support DOS file names better.
 | 
|---|
| 1034 |         Fix typo that caused fn to almost always yield 0.
 | 
|---|
| 1035 | 
 | 
|---|
| 1036 |         * util.c (<time.h>, <maketime.h>): Include.
 | 
|---|
| 1037 |         (move_file, copy_file): Add support for DOS filenames.
 | 
|---|
| 1038 |         Preserve mode of input files when creating temp files.
 | 
|---|
| 1039 |         Add binary file support.
 | 
|---|
| 1040 |         (doprogram, rmdir): New functions.
 | 
|---|
| 1041 |         (mkdir): Use doprogram.
 | 
|---|
| 1042 |         (replace_slashes): Add support for DOS filenames.
 | 
|---|
| 1043 |         (removedirs): New function.
 | 
|---|
| 1044 |         (init_time)): New function.
 | 
|---|
| 1045 |         (initial_time): New var.
 | 
|---|
| 1046 |         (fetchname): Add support for deleted files, DOS filenames.
 | 
|---|
| 1047 | 
 | 
|---|
| 1048 |         * basename.c (FILESYSTEM_PREFIX_LEN, ISSLASH):
 | 
|---|
| 1049 |         New macros, for DOS port.
 | 
|---|
| 1050 |         (base_name): Use them.
 | 
|---|
| 1051 | 
 | 
|---|
| 1052 |         * addext.c (HAVE_DOS_FILE_NAMES): New macro.
 | 
|---|
| 1053 |         <limits.h>: Include if HAVE_LIMITS_H.
 | 
|---|
| 1054 |         (addext): Handle hosts with DOS file name limits.
 | 
|---|
| 1055 | 
 | 
|---|
| 1056 |         * common.h (LONG_MIN): New macro.
 | 
|---|
| 1057 |         (FILESYSTEM_PREFIX_LEN, ISSLASH): New macros, for DOS port.
 | 
|---|
| 1058 |         (ok_to_create_file): Remove.
 | 
|---|
| 1059 |         (reverse): Now int.
 | 
|---|
| 1060 |         (ok_to_reverse): New function decl.
 | 
|---|
| 1061 |         (O_WRONLY, _O_BINARY, O_BINARY, O_CREAT, O_TRUNC): New macros.
 | 
|---|
| 1062 |         (binary_transput): New var decl.
 | 
|---|
| 1063 | 
 | 
|---|
| 1064 |         * Makefile.in (ed_PROGRAM): Renamed from ED_PROGRAM.
 | 
|---|
| 1065 |         (CONFIG_HDRS, CONFIG_STATUS): New vars.
 | 
|---|
| 1066 |         (SRCS): Add maketime.c, partime.c.
 | 
|---|
| 1067 |         (OBJS): Likewise.
 | 
|---|
| 1068 |         (HDRS): Add maketime.h, partime.h.
 | 
|---|
| 1069 |         (DISTFILES_PC, DISTFILES_PC_DJGPP): New vars.
 | 
|---|
| 1070 |         (Makefile, config.status): Use CONFIG_STATUS, not config.status.
 | 
|---|
| 1071 |         (clean): Remove */*.o.
 | 
|---|
| 1072 |         (dist): Add pc and pc/djgpp subdirectories.
 | 
|---|
| 1073 |         ($(OBJS)): Depend on $(CONFIG_HDRS) instead of config.h.
 | 
|---|
| 1074 |         (maketime.o, partime.o): New rules.
 | 
|---|
| 1075 |         (util.o): Depend on maketime.h.
 | 
|---|
| 1076 | 
 | 
|---|
| 1077 |         * patch.c (main):
 | 
|---|
| 1078 |         Call init_time.  Add DEFAULT_VERSION_CONTROL hook for people who
 | 
|---|
| 1079 |         prefer the old ways.  Build temp file names before we might invoke cleanup.
 | 
|---|
| 1080 |         Add support for deleted files and clean up the patch-swapping code a bit.
 | 
|---|
| 1081 |         Delete empty ancestors of deleted files.
 | 
|---|
| 1082 |         When creating temporaries, use file modes of original files.
 | 
|---|
| 1083 |         (longopts, get_some_switches): New option --binary.
 | 
|---|
| 1084 |         (get_some_switches): Report non-errno errors with `fatal', not `pfatal'.
 | 
|---|
| 1085 |         (create_output_file): New function, which preserves modes of original files
 | 
|---|
| 1086 |         and supports binary transput.
 | 
|---|
| 1087 |         (init_output, init_reject): Use it.
 | 
|---|
| 1088 |         (ok_to_reverse): New function.
 | 
|---|
| 1089 |         (TMPDIR): New macro.
 | 
|---|
| 1090 |         (make_temp): Use $TMPDIR, $TMP, $TEMP, or TMPDIR, whichever comes first.
 | 
|---|
| 1091 | 
 | 
|---|
| 1092 |         * pch.c (p_says_nonexistent): New var.
 | 
|---|
| 1093 |         (open_patch_file): Add binary transput support.
 | 
|---|
| 1094 |         Apply stat to file names retrieved from user.
 | 
|---|
| 1095 |         Reject them if they don't exist.
 | 
|---|
| 1096 |         (intuit_diff_type): Add support for deleting files.
 | 
|---|
| 1097 |         Don't treat trivial directories any differently.
 | 
|---|
| 1098 |         Avoid stating the same file twice in common case of context diffs.
 | 
|---|
| 1099 |         (prefix_components): Don't treat trivial directories any differently.
 | 
|---|
| 1100 |         Add support for DOS filenames.
 | 
|---|
| 1101 |         (pch_says_nonexistent): New function.
 | 
|---|
| 1102 |         (do_ed_script): Preserve mode of input files when creating temp files.
 | 
|---|
| 1103 |         Add support for binary transput.
 | 
|---|
| 1104 | 
 | 
|---|
| 1105 |         * pch.h (pch_says_nonexistent): New decl.
 | 
|---|
| 1106 | 
 | 
|---|
| 1107 |         * util.h (replace_slashes): No longer exported.
 | 
|---|
| 1108 |         (fetchname): Add support for deleted files.
 | 
|---|
| 1109 |         (copy_file, move_file): Add support for preserving file modes.
 | 
|---|
| 1110 |         (init_time, removedirs): New functions.
 | 
|---|
| 1111 | 
 | 
|---|
| 1112 |         * argmatch.c: Converge with fileutils.
 | 
|---|
| 1113 | 
 | 
|---|
| 1114 |         * backupfile.c: Converge with fileutils.
 | 
|---|
| 1115 |         (find_backup_file_name): Treat .~N~ suffix just like any other suffix
 | 
|---|
| 1116 |         when handling file names that are too long.
 | 
|---|
| 1117 | 
 | 
|---|
| 1118 |         * inp.c:
 | 
|---|
| 1119 |         In messages, put quotes around file names and spaces around "--".
 | 
|---|
| 1120 |         (get_input_file): Allow files to be deleted.  Do the expense of
 | 
|---|
| 1121 |         makedirs only if we can't create the file.
 | 
|---|
| 1122 |         (plan_a, plan_b): Add support for binary transput.
 | 
|---|
| 1123 | 
 | 
|---|
| 1124 |         * pc/chdirsaf.c, pc/djgpp/README, pc/djgpp/config.h, pc/djgpp/config.sed, pc/djgpp/configure.bat, pc/quotearg.c:
 | 
|---|
| 1125 |         New file.
 | 
|---|
| 1126 | 
 | 
|---|
| 1127 |         * NEWS:
 | 
|---|
| 1128 |         New methods for removing files; adjust file name intuition again.
 | 
|---|
| 1129 |         Add description of MS-DOS and MS-Windows ports.
 | 
|---|
| 1130 | 
 | 
|---|
| 1131 |         * patch.man:
 | 
|---|
| 1132 |         Simplify file name intuition slightly (no distinction for trivial dirs).
 | 
|---|
| 1133 |         Add --binary.  Describe how files and directories are deleted.
 | 
|---|
| 1134 |         Suggest diff -a.  Include caveats about what context diffs cannot represent.
 | 
|---|
| 1135 | 
 | 
|---|
| 1136 | 1997-05-06  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 1137 | 
 | 
|---|
| 1138 |         * configure.in (VERSION): Now 2.2.7.
 | 
|---|
| 1139 |         (CPPFLAGS, LDFLAGS, LIBS): If the user has not set any of these vars,
 | 
|---|
| 1140 |         prefer support for large files if available.
 | 
|---|
| 1141 | 
 | 
|---|
| 1142 |         * common.h (_LARGEFILE_SOURCE): Define.
 | 
|---|
| 1143 |         (file_offset): New typedef.
 | 
|---|
| 1144 |         (file_seek, file_tell): New macros.
 | 
|---|
| 1145 | 
 | 
|---|
| 1146 |         * patch.c (main):
 | 
|---|
| 1147 |         Remove empty files by default unless POSIXLY_CORRECT is set.
 | 
|---|
| 1148 | 
 | 
|---|
| 1149 |         * util.c, util.h (Fseek):
 | 
|---|
| 1150 |         Use file_offset instead of long, for portability to large-file hosts.
 | 
|---|
| 1151 | 
 | 
|---|
| 1152 |         * pch.c: (p_base, p_start, next_intuit_at, skip_to, open_patch_file,
 | 
|---|
| 1153 |         intuit_diff_type, another_hunk, incomplete_line, do_ed_script):
 | 
|---|
| 1154 |         Use file_offset instead of long, for portability to large-file hosts.
 | 
|---|
| 1155 |         (prefix_components): Renamed from path_name_components; count only
 | 
|---|
| 1156 |         nontrivial prefix components, and take a 2nd EXISTING arg.
 | 
|---|
| 1157 |         (existing_prefix_components): Remove; subsumed by prefix_components.
 | 
|---|
| 1158 |         (intuit_diff_type): When creating files, try for the creation of the
 | 
|---|
| 1159 |         fewest directories.
 | 
|---|
| 1160 | 
 | 
|---|
| 1161 |         * configure.in (VERSION): Now 2.2.6.
 | 
|---|
| 1162 | 
 | 
|---|
| 1163 |         * pch.c (existing_prefix_components): New function.
 | 
|---|
| 1164 |         (intuit_diff_type): When creating a file, use a name whose existing
 | 
|---|
| 1165 |         directory prefix contains the most nontrivial path name components.
 | 
|---|
| 1166 |         (best_name): Don't check for null 2nd arg.
 | 
|---|
| 1167 | 
 | 
|---|
| 1168 |         * util.h (replace_slashes): New decl.
 | 
|---|
| 1169 | 
 | 
|---|
| 1170 |         * util.c (replace_slashes): Now external.
 | 
|---|
| 1171 |         (fetchname): Don't assume chars are nonnegative.
 | 
|---|
| 1172 | 
 | 
|---|
| 1173 |         * patch.man:
 | 
|---|
| 1174 |         When creating a file, use a name whose existing directory prefix
 | 
|---|
| 1175 |         contains the most nontrivial path name components.
 | 
|---|
| 1176 |         Add advice for creating patches and applying them.
 | 
|---|
| 1177 | 
 | 
|---|
| 1178 | 1997-05-06  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 1179 | 
 | 
|---|
| 1180 |         * configure.in (VERSION): Now 2.2.6.
 | 
|---|
| 1181 | 
 | 
|---|
| 1182 |         * pch.c (existing_prefix_components): New function.
 | 
|---|
| 1183 |         (intuit_diff_type): When creating a file, use a name whose existing
 | 
|---|
| 1184 |         directory prefix contains the most nontrivial path name components.
 | 
|---|
| 1185 |         (best_name): Don't check for null 2nd arg.
 | 
|---|
| 1186 | 
 | 
|---|
| 1187 |         * util.h (replace_slashes): New decl.
 | 
|---|
| 1188 |         * util.c (replace_slashes): Now external.
 | 
|---|
| 1189 |         (fetchname): Don't assume chars are nonnegative.
 | 
|---|
| 1190 | 
 | 
|---|
| 1191 |         * patch.man:  Describe above change to pch.c.
 | 
|---|
| 1192 |         Add advice for creating patches and applying them.
 | 
|---|
| 1193 | 
 | 
|---|
| 1194 | 1997-05-05  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 1195 | 
 | 
|---|
| 1196 |         * configure.in (VERSION): Update to 2.2.5.
 | 
|---|
| 1197 | 
 | 
|---|
| 1198 |         * quotearg.h, quotearg.c: New files.
 | 
|---|
| 1199 |         * Makefile.in (SRCS, OBJS, HDRS): Mention new files.
 | 
|---|
| 1200 |         (inp.o, util.o): Now depends on quotearg.h.
 | 
|---|
| 1201 |         (quotearg.o): New makefile rule.
 | 
|---|
| 1202 | 
 | 
|---|
| 1203 |         * common.h (posixly_correct): New var.
 | 
|---|
| 1204 |         * patch.c (main): Initialize it.
 | 
|---|
| 1205 |         If ! posixly_correct, default backup type is now `existing'.
 | 
|---|
| 1206 |         SIMPLE_BACKUP_SUFFIX no longer affects backup type.
 | 
|---|
| 1207 |         (backup): Remove var.
 | 
|---|
| 1208 | 
 | 
|---|
| 1209 |         * util.h: (countdirs): Remove.
 | 
|---|
| 1210 |         (systemic): New decl.
 | 
|---|
| 1211 |         * util.c (move_file): Try making the parent directory of TO
 | 
|---|
| 1212 |         if backup prefix or suffix contain a slash.
 | 
|---|
| 1213 |         (ask): Remove arbitrary limit on size of result.
 | 
|---|
| 1214 |         (systemic): New function.
 | 
|---|
| 1215 |         (mkdir): Work even if arg contains shell metacharacters.
 | 
|---|
| 1216 |         (replace_slashes): Return 0 if none were replaced.
 | 
|---|
| 1217 |         Don't replace slash after . or .. since it's redundant.
 | 
|---|
| 1218 |         (countdirs): Remove.
 | 
|---|
| 1219 |         (makedirs): Ignore mkdir failures.
 | 
|---|
| 1220 | 
 | 
|---|
| 1221 |         * NEWS, patch.man: More POSIXLY_CORRECT adjustments.
 | 
|---|
| 1222 |         Describe new rules for how file names are intuited.
 | 
|---|
| 1223 | 
 | 
|---|
| 1224 | 1997-04-17  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 1225 | 
 | 
|---|
| 1226 |         * configure.in (VERSION): Version 2.2 released.
 | 
|---|
| 1227 | 
 | 
|---|
| 1228 |         * Makefile.in (config.hin):
 | 
|---|
| 1229 |         Remove before building; we always want the timestamp updated.
 | 
|---|
| 1230 | 
 | 
|---|
| 1231 |         * inp.c (get_input_file):
 | 
|---|
| 1232 |         Look for RCS files only if backup_type == numbered_existing.
 | 
|---|
| 1233 | 
 | 
|---|
| 1234 |         * NEWS, patch.man:
 | 
|---|
| 1235 |         Remove mention of never-implemented -V rcs and -V sccs options.
 | 
|---|
| 1236 |         * patch.man: `pathname' -> `file name'
 | 
|---|
| 1237 |         Correct the description of how file names are found in diff headers.
 | 
|---|
| 1238 |         Clarify the distinction between ordinary and unified context diffs.
 | 
|---|
| 1239 | 
 | 
|---|
| 1240 | 1997-04-13  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 1241 | 
 | 
|---|
| 1242 |         * configure.in (VERSION): Update to 2.1.7.
 | 
|---|
| 1243 | 
 | 
|---|
| 1244 |         * patch.c (numeric_optarg): New function.
 | 
|---|
| 1245 |         (get_some_switches): Use it.
 | 
|---|
| 1246 | 
 | 
|---|
| 1247 |         * pch.c (intuit_diff_type): When creating a file, prefer a name whose
 | 
|---|
| 1248 |         existing dir prefix is the longest.
 | 
|---|
| 1249 | 
 | 
|---|
| 1250 |         * util.h (countdirs): New function.
 | 
|---|
| 1251 |         * util.c (replace_slashes, countdirs): New functions.
 | 
|---|
| 1252 |         (makedirs): Use replace_slashes, to be more like countdirs.
 | 
|---|
| 1253 | 
 | 
|---|
| 1254 |         * patch.man: Explain -pN vs -p N.  Recommend --new-file.
 | 
|---|
| 1255 |         Explain possible incompatibility with strip count.
 | 
|---|
| 1256 | 
 | 
|---|
| 1257 | 1997-04-10  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 1258 | 
 | 
|---|
| 1259 |         * configure.in (VERSION): Bump to 2.1.6.
 | 
|---|
| 1260 |         (AC_CHECK_HEADERS): Remove stdlib.h (i.e. remove HAVE_STDLIB_H).
 | 
|---|
| 1261 | 
 | 
|---|
| 1262 |         * Makefile.in: (HDRS, patchlevel.h, TAGS, distclean, maintainer-clean):
 | 
|---|
| 1263 |         Don't distribute patchlevel.h; let the user do it.
 | 
|---|
| 1264 |         This works around some obscure (possibly nonexistent?) `make' bugs.
 | 
|---|
| 1265 | 
 | 
|---|
| 1266 |         * common.h (program_name): extern, not XTERN.
 | 
|---|
| 1267 |         (<stdlib.h>): Include if STDC_HEADERS, not if HAVE_STDLIB_H.
 | 
|---|
| 1268 |         (atol, getenv, malloc, realloc): Don't worry whether they're #defined.
 | 
|---|
| 1269 | 
 | 
|---|
| 1270 |         * patch.c (get_some_switches):
 | 
|---|
| 1271 |         Add special hack for backwards compatibility with CVS 1.9.
 | 
|---|
| 1272 |         (-B, -Y, -z): Now set backup_type = simple.
 | 
|---|
| 1273 | 
 | 
|---|
| 1274 |         * NEWS: Fix misspellings; minor reformatting.
 | 
|---|
| 1275 |         * README: Report POSIX.2 compliance.
 | 
|---|
| 1276 | 
 | 
|---|
| 1277 | 1997-04-06  Paul Eggert  <eggert@twinsun.com>
 | 
|---|
| 1278 | 
 | 
|---|
| 1279 |         Move all old RCS $Log entries into ChangeLog.
 | 
|---|
| 1280 |         #include all files with < >, not " ".
 | 
|---|
| 1281 | 
 | 
|---|
| 1282 |         * addext.c, argmatch.c, argmatch.h, memchr.c, install-sh:
 | 
|---|
| 1283 |         New files.
 | 
|---|
| 1284 |         * EXTERN.h, INTERN.h: Removed.
 | 
|---|
| 1285 |         * config.hin: Renamed from config.h.in.
 | 
|---|
| 1286 | 
 | 
|---|
| 1287 |         * acconfig.h (NODIR): Remove.
 | 
|---|
| 1288 |         (HAVE_MEMCHR): Add.
 | 
|---|
| 1289 | 
 | 
|---|
| 1290 |         * configure.in (AC_ARG_PROGRAM, AC_PROG_MAKE_SET, HAVE_MEMCHR): Add.
 | 
|---|
| 1291 |         (AC_CHECK_HEADERS): Replaces obsolescent AC_HAVE_HEADERS.
 | 
|---|
| 1292 |         Add stdlib.h, string.h, unistd.h, varargs.h.
 | 
|---|
| 1293 |         Delete obsolete call to AC_UNISTD_H.
 | 
|---|
| 1294 |         (AC_CONFIG_HEADER): Rename config.h.in to config.hin.
 | 
|---|
| 1295 |         (AC_C_CONST): Replaces obsolescent AC_CONST.
 | 
|---|
| 1296 |         (AC_CHECK_FUNC): Check for getopt_long; define LIBOBJS and substitute
 | 
|---|
| 1297 |         for it accordingly.
 | 
|---|
| 1298 |         (AC_CHECK_FUNCS): Replaces obsolescent AC_HAVE_FUNCS.
 | 
|---|
| 1299 |         Add _doprintf, isascii, mktemp, sigaction, sigprocmask, sigsetmask.
 | 
|---|
| 1300 |         Remove strerror.
 | 
|---|
| 1301 |         (AC_FUNC_CLOSEDIR_VOID, AC_FUNC_VPRINTF): Add.
 | 
|---|
| 1302 |         (AC_HEADER_DIRENT): Replaces obsolescent AC_DIR_HEADER.
 | 
|---|
| 1303 |         (AC_HEADER_STDC): Replaces obsolescent AC_STDC_HEADERS.
 | 
|---|
| 1304 |         (AC_SYS_LONG_FILE_NAMES): Replaces obsolescent AC_LONG_FILE_NAMES.
 | 
|---|
| 1305 |         (AC_TYPE_OFF_T): Replaces obsolescent AC_OFF_T.
 | 
|---|
| 1306 |         (AC_TYPE_SIGNAL): Replaces obsolescent AC_RETSIGTYPE.
 | 
|---|
| 1307 |         (AC_TYPE_SIZE_T): Replaces obsolescent AC_SIZE_T.
 | 
|---|
| 1308 |         (AC_XENIX_DIR): Remove.
 | 
|---|
| 1309 |         (ED_PROGRAM): New var.
 | 
|---|
| 1310 |         (NODIR): Remove.
 | 
|---|
| 1311 |         (PACKAGE, VERSION): New vars; substitute them with AC_SUBST.
 | 
|---|
| 1312 | 
 | 
|---|
| 1313 |         * Makefile.in: Conform to current GNU build standards.
 | 
|---|
| 1314 |         Redo dependencies.  Use library getopt_long if available.
 | 
|---|
| 1315 |         Use `&&' instead of `;' inside shell commands where applicable;
 | 
|---|
| 1316 |         GNU make requires this.
 | 
|---|
| 1317 |         Use double-colon rules for actions that do not build files.
 | 
|---|
| 1318 |         (@SET_MAKE@): Added.
 | 
|---|
| 1319 |         (CFLAGS, LDFLAGS, prefix, exec_prefix): Base on @ versions of symbols.
 | 
|---|
| 1320 |         (COMPILE, CPPFLAGS, DEFS, ED_PROGRAM, LIBOBJS, LIBSRCS, PACKAGE,
 | 
|---|
| 1321 |         VERSION): New symbols.
 | 
|---|
| 1322 |         (SRCS, OBJS, HDRS, MISC): Add new files.
 | 
|---|
| 1323 |         (man1dir): Renamed from mandir.
 | 
|---|
| 1324 |         (man1ext): Renamed from manext.
 | 
|---|
| 1325 |         (patch): Put -o first.
 | 
|---|
| 1326 |         (install): Use $(transform) to allow program to be renamed by configure.
 | 
|---|
| 1327 |         (patchlevel.h): Build from $(VERSION).
 | 
|---|
| 1328 |         (dist): Get version number from $(VERSION) and package name from
 | 
|---|
| 1329 |         $(PACKAGE).
 | 
|---|
| 1330 |         (TAGS): Scan $(HDRS).
 | 
|---|
| 1331 |         (maintainer-clean): Renamed from realclean.  Remove patchlevel.h.
 | 
|---|
| 1332 | 
 | 
|---|
| 1333 |         * backupfile.h (simple_backup_suffix): Now const *.
 | 
|---|
| 1334 |         (find_backup_file_name, base_name, get_version): Args are now const *.
 | 
|---|
| 1335 |         (base_name): New decl.
 | 
|---|
| 1336 |         * backupfile.c (<config.h>): Include only if HAVE_CONFIG_H.
 | 
|---|
| 1337 |         (<argmatch.h>): Include.
 | 
|---|
| 1338 |         (<string.h>): Include if HAVE_STRING_H, not if STDC_HEADERS.
 | 
|---|
| 1339 |         (<strings.h>): Include if !HAVE_STRING_H.
 | 
|---|
| 1340 |         (<unistd.h>): Do not include.
 | 
|---|
| 1341 |         (<dirent.h>): Redo include as per current autoconf standards.
 | 
|---|
| 1342 |         (<limits.h>): Include if HAVE_LIMITS_H. Define CHAR_BIT if not defined.
 | 
|---|
| 1343 |         (NLENGTH): Now returns size_t.
 | 
|---|
| 1344 |         (CLOSEDIR, INT_STRLEN_BOUND): New macros.
 | 
|---|
| 1345 |         (ISDIGIT): Use faster method.
 | 
|---|
| 1346 |         (find_backup_file_name): No longer depends on NODIR.
 | 
|---|
| 1347 |         Remove redundant code.
 | 
|---|
| 1348 |         (make_version_name): Remove; do it more portably.
 | 
|---|
| 1349 |         (max_backup_version): Args are now const *.
 | 
|---|
| 1350 |         (version_number): Simplify digit checking.
 | 
|---|
| 1351 |         (basename, concat, dirname): Remove.
 | 
|---|
| 1352 |         (argmatch, invalid_arg): Move to argmatch.c.  Simplify test for
 | 
|---|
| 1353 |         ambiguous args.  When reporting an error, use program_name not "patch".
 | 
|---|
| 1354 |         (addext): Move to addext.c.  Treat all negative values from pathconf
 | 
|---|
| 1355 |         like -1.  Always use long extension if it fits, even if the filesystem
 | 
|---|
| 1356 |         does not support long file names.
 | 
|---|
| 1357 |         (backup_types): Now const.
 | 
|---|
| 1358 | 
 | 
|---|
| 1359 |         * common.h, inp.h (XTERN): Renamed from EXT to avoid collision
 | 
|---|
| 1360 |         with errno.h reserved name space.
 | 
|---|
| 1361 | 
 | 
|---|
| 1362 |         * common.h (DEBUGGING): Now an integer; default is 1.
 | 
|---|
| 1363 |         (enum diff): New type.
 | 
|---|
| 1364 |         (diff_type): Use it instead of small integers.
 | 
|---|
| 1365 |         (CONTEXT_DIFF, NORMAL_DIFF, ED_DIFF, NEW_CONTEXT_DIFF, UNI_DIFF):
 | 
|---|
| 1366 |         Now enumerated values instead of macros.
 | 
|---|
| 1367 |         (NO_DIFF): New enumerated value (used instead of 0).
 | 
|---|
| 1368 |         (volatile): Default to the empty string if __STDC__ is not defined.
 | 
|---|
| 1369 |         (<signal.h>): Do not include.
 | 
|---|
| 1370 |         (Chmod, Close, Fclose, Fflush, Fputc, Signal, Sprintf, Strcat,
 | 
|---|
| 1371 |         Strcpy, Unlink, Write): Remove these macros; casts to void are
 | 
|---|
| 1372 |         not needed for GNU coding standards.
 | 
|---|
| 1373 |         (INITHUNKMAX): Move to pch.c.
 | 
|---|
| 1374 |         (malloc, realloc, INT_MIN, MAXLINELEN, strNE, strnNE,
 | 
|---|
| 1375 |         Reg1, Reg2, Reg3, Reg4, Reg5, Reg6, Reg7, Reg8, Reg9, Reg10, Reg11,
 | 
|---|
| 1376 |         Reg12, Reg13, Reg14, Reg15, Reg16): Remove these macros.
 | 
|---|
| 1377 |         (S_IXOTH, S_IWOTH, S_IROTH, S_IXGRP, S_IWGRP,
 | 
|---|
| 1378 |         S_IRGRP, S_IXUSR, S_IWUSR, S_IRUSR, O_RDONLY, O_RDWR):
 | 
|---|
| 1379 |         Define these macros, if not defined.
 | 
|---|
| 1380 |         (CTYPE_DOMAIN, ISLOWER, ISSPACE, ISDIGIT, PARAMS): New macros.
 | 
|---|
| 1381 |         (instat): Renamed from filestat; used for input file now.
 | 
|---|
| 1382 |         (bufsize, using_plan_a, debug, strippath): Not statically initialized.
 | 
|---|
| 1383 |         (debug): #define to 0 if not DEBUGGING, so that users of `debug'
 | 
|---|
| 1384 |         no longer need to be surrounded by `#if DEBUGGING'.
 | 
|---|
| 1385 |         (out_of_mem, filec, filearg, outname, toutkeep, trejkeep): Remove.
 | 
|---|
| 1386 |         (inname, inerrno, dry_run, origbase): New variables.
 | 
|---|
| 1387 |         (origprae): Now const*.
 | 
|---|
| 1388 |         (TMPOUTNAME, TMPINNAME, TMPPATNAME): Now const*volatile.
 | 
|---|
| 1389 |         (verbosity): New variable; subsumes `verbose'.
 | 
|---|
| 1390 |         (DEFAULT_VERBOSITY, SILENT, VERBOSE): Values in a new enum.
 | 
|---|
| 1391 |         (verbose): Removed.
 | 
|---|
| 1392 |         (VOID): Use `#ifdef __STDC__' instead of`#if __STDC__',
 | 
|---|
| 1393 |         for consistency elsewhere.
 | 
|---|
| 1394 |         (__attribute__): New macro (empty if not a recent GCC).
 | 
|---|
| 1395 |         (fatal_exit): Renamed from my_exit.
 | 
|---|
| 1396 |         (errno): Don't define if STDC_HEADERS.
 | 
|---|
| 1397 |         (<string.h>): Include if either STDC_HEADERS or HAVE_STRING_H.
 | 
|---|
| 1398 |         (memcmp, memcpy): Define if !STDC_HEADERS && !HAVE_STRING_H
 | 
|---|
| 1399 |         && !HAVE_MEMCHR.
 | 
|---|
| 1400 |         (<stdlib.h>): Include if HAVE_STDLIB_H, not if STDC_HEADERS.
 | 
|---|
| 1401 |         (atol, getenv, malloc, realloc, lseek): Declare only if not defined
 | 
|---|
| 1402 |         as a macro.
 | 
|---|
| 1403 |         (popen, strcpy, strcat, mktemp): Do not declare.
 | 
|---|
| 1404 |         (lseek): Declare to yield off_t, not long.
 | 
|---|
| 1405 |         (<fcntl.h>): Include only if HAVE_FCNTL_H.
 | 
|---|
| 1406 | 
 | 
|---|
| 1407 |         * inp.h (get_input_file): New decl.
 | 
|---|
| 1408 |         * inp.c (SCCSPREFIX, GET, GET_LOCKED, SCCSDIFF, RCSSUFFIX, CHECKOUT,
 | 
|---|
| 1409 |         CHECKOUT_LOCKED, RCSDIFF): Moved here from common.h.
 | 
|---|
| 1410 |         (i_ptr): Now char const **.
 | 
|---|
| 1411 |         (i_size): Remove.
 | 
|---|
| 1412 |         (TIBUFSIZE_MINIMUM): Define only if not already defined.
 | 
|---|
| 1413 |         (plan_a, plan_b): Arg is now const *.
 | 
|---|
| 1414 |         (report_revision): Declare before use.  It's now the caller's
 | 
|---|
| 1415 |         responsibility to test whether revision is 0.
 | 
|---|
| 1416 |         (scan_input, report_revision, get_input_file):
 | 
|---|
| 1417 |         Be less chatty unless --verbose.
 | 
|---|
| 1418 |         (get_input_file): New function, split off from plan_a.
 | 
|---|
| 1419 |         Reuse file status gotten by pch if possible.  Allow for dry run.
 | 
|---|
| 1420 |         Use POSIX bits for creat, not number.  Check for creation and
 | 
|---|
| 1421 |         close failure, and use fstat not stat.  Use memcpy not strncpy.
 | 
|---|
| 1422 |         (plan_a): Rewrite for speed.
 | 
|---|
| 1423 |         Caller now assigns result to using_plan_a.
 | 
|---|
| 1424 |         Don't bother reading empty files; during dry runs they might not exist.
 | 
|---|
| 1425 |         Use ISSPACE, not isspace.
 | 
|---|
| 1426 |         (plan_b): Allow for dry runs.  Use ISSPACE, and handle sign extension
 | 
|---|
| 1427 |         correctly on arg.  Use POSIX symbol for open arg.
 | 
|---|
| 1428 | 
 | 
|---|
| 1429 |         * patch.c (backup, output, patchname, program_name): New vars.
 | 
|---|
| 1430 |         (last_frozen_line): Moved here from inp.h.
 | 
|---|
| 1431 |         (TMPREJNAME): Moved here from common.h.
 | 
|---|
| 1432 |         (optind_last): Removed.
 | 
|---|
| 1433 |         (do_defines, if_defined, not_defined, else_defined, end_defined):
 | 
|---|
| 1434 |         Now char const.  Prepend with \n (except for not_defined) to
 | 
|---|
| 1435 |         allow for files ending in non-newline.
 | 
|---|
| 1436 |         (Argv): Now char*const*.
 | 
|---|
| 1437 |         (main, get_some_switches): Exit status 0 means success,
 | 
|---|
| 1438 |         1 means hunks were rejected, 2 means trouble.
 | 
|---|
| 1439 |         (main, locate_hunk, patch_match): Keep track of patch prefix context
 | 
|---|
| 1440 |         separately from suffix context; this fixes several bugs.
 | 
|---|
| 1441 |         (main): Initialize bufsize, strippath.
 | 
|---|
| 1442 |         Be less chatty unless --verbose.
 | 
|---|
| 1443 |         No more NODIR; always have version control available.
 | 
|---|
| 1444 |         Require environment variables to be nonempty to have effect.
 | 
|---|
| 1445 |         Add support for --dry-run, --output, --verbose.
 | 
|---|
| 1446 |         Invoke get_input_file first, before deciding among do_ed_script,
 | 
|---|
| 1447 |         plan_a, or plan_b.
 | 
|---|
| 1448 |         Clear ofp after closing it, to keep discipline that ofp is either
 | 
|---|
| 1449 |         0 or open, to avoid file descriptor leaks.  Conversely, rejfp doesn't
 | 
|---|
| 1450 |         need this trick since static analysis is enough to show when it
 | 
|---|
| 1451 |         needs to be closed.
 | 
|---|
| 1452 |         Don't allow file-creation patches to be applied to existing files.
 | 
|---|
| 1453 |         Misordered hunks are now not fatal errors; just go on to the next file.
 | 
|---|
| 1454 |         It's a fatal error to fall back on plan B when --output is given,
 | 
|---|
| 1455 |         since the moving hand has writ.
 | 
|---|
| 1456 |         Add support for binary files.
 | 
|---|
| 1457 |         Check for I/O errors.
 | 
|---|
| 1458 |         chmod output file ourselves, rather than letting move_file do it;
 | 
|---|
| 1459 |         this saves global state.
 | 
|---|
| 1460 |         Use better grammar when outputting hunks messages, e.g. avoid
 | 
|---|
| 1461 |         `1 hunks'.
 | 
|---|
| 1462 |         (main, reinitialize_almost_everything):
 | 
|---|
| 1463 |         Remove support for multiple file arguments.
 | 
|---|
| 1464 |         Move get_some_switches call from reinitialize_almost_everything
 | 
|---|
| 1465 |         to main.
 | 
|---|
| 1466 |         (reinitialize_almost_everything): No need to reinitialize things
 | 
|---|
| 1467 |         that are no longer global variables, e.g. outname.
 | 
|---|
| 1468 |         (shortopts): Remove leading "-"; it's no longer important to
 | 
|---|
| 1469 |         return options and arguments in order.  '-b' no longer takes operand.
 | 
|---|
| 1470 |         -p's operand is no longer optional.  Add -i, -Y, -z.  Remove -S.
 | 
|---|
| 1471 |         (longopts): --suffix is now pared with -z, not -b.  --backup now
 | 
|---|
| 1472 |         means -b.  Add --input, --basename-prefix, --dry-run, --verbose.
 | 
|---|
| 1473 |         Remove --skip.  --strip's operand is now required.
 | 
|---|
| 1474 |         (option_help): New variable.  Use style of current coding standards.
 | 
|---|
| 1475 |         Change to match current option set.
 | 
|---|
| 1476 |         (usage): Use it.
 | 
|---|
| 1477 |         (get_some_switches): Get all switches, since `+' is defunct.
 | 
|---|
| 1478 |         New options -i, -Y, -z, --verbose, --dry-run.
 | 
|---|
| 1479 |         Option -S removed.
 | 
|---|
| 1480 |         -b now means backup (backup_type == simple), not simple_backup_suffix.
 | 
|---|
| 1481 |         -B now implies backup, and requires nonempty operand.
 | 
|---|
| 1482 |         -D no longer requires first char of argument to be an identifier.
 | 
|---|
| 1483 |         `-o -' is now disallowed (formerly output to regular file named "-").
 | 
|---|
| 1484 |         -p operand is now required.
 | 
|---|
| 1485 |         -v no longer needs to cleanup (no temp files can exist at that point).
 | 
|---|
| 1486 |         -V now implies backup.
 | 
|---|
| 1487 |         Set inname, patchname from file name arguments, if any;
 | 
|---|
| 1488 |         do not set filearg.  It's now an error if extra operands are given.
 | 
|---|
| 1489 |         (abort_junk): Check for write errors in reject file.
 | 
|---|
| 1490 |         (apply_hunk, copy_till): Return error flag, so that failure to apply
 | 
|---|
| 1491 |         out-of-order hunk is no longer fatal.
 | 
|---|
| 1492 |         (apply_hunk): New arg after_newline,
 | 
|---|
| 1493 |         for patching files not ending in newline.
 | 
|---|
| 1494 |         Cache ofp for speed.  Check for write errors.
 | 
|---|
| 1495 |         (OUTSIDE, IN_IFNDEF, IN_IFDEF, IN_ELSE): Now part of an enumerated type
 | 
|---|
| 1496 |         instead of being #defined to small integers.
 | 
|---|
| 1497 |         Change while-do to do-while when copying !-part for R_do_defines,
 | 
|---|
| 1498 |         since condition is always true the first time through the loop.
 | 
|---|
| 1499 |         (init_output, init_reject): Arg is now const *.
 | 
|---|
| 1500 |         (copy_till, spew_output): Do not insert ``missing'' newlines;
 | 
|---|
| 1501 |         propagate them via new after_newline argument.
 | 
|---|
| 1502 |         (spew_output): Nothing to copy if last_frozen_line == input lines.
 | 
|---|
| 1503 |         Do not close (ofp) if it's null.
 | 
|---|
| 1504 |         (dump_line): Remove.
 | 
|---|
| 1505 |         (similar): Ignore presence or absence of trailing newlines.
 | 
|---|
| 1506 |         Check for only ' ' or '\t', not isspace (as per POSIX.2).
 | 
|---|
| 1507 |         (make_temp): Use tmpnam if mktemp is not available.
 | 
|---|
| 1508 |         (cleanup): New function.
 | 
|---|
| 1509 |         (fatal_exit): Use it.  Renamed from my_exit.
 | 
|---|
| 1510 |         Take signal to exit with, not exit status (which is now always 2).
 | 
|---|
| 1511 | 
 | 
|---|
| 1512 |         * pch.h, pch.c (pch_prefix_context, pch_suffix_context):
 | 
|---|
| 1513 |         New fns replacing pch_context.
 | 
|---|
| 1514 |         (another_hunk): Now yields int, not bool; -1 means out of memory.
 | 
|---|
| 1515 |         Now takes difftype as argument.
 | 
|---|
| 1516 |         (pch_write_line): Now returns boolean indicating whether we're after
 | 
|---|
| 1517 |         a newline just after the write, for supporting non-text files.
 | 
|---|
| 1518 |         * pch.c (isdigit): Remove; use ISDIGIT instead.
 | 
|---|
| 1519 |         (INITHUNKMAX): Moved here from common.h.
 | 
|---|
| 1520 |         (p_context): Removed.  We need to keep track of the pre- and post-
 | 
|---|
| 1521 |         context separately, in:
 | 
|---|
| 1522 |         (p_prefix_context, p_suffix_context): New variables.
 | 
|---|
| 1523 |         (bestguess): Remove.
 | 
|---|
| 1524 |         (open_patch_file): Arg is now char const *.
 | 
|---|
| 1525 |         Copy file a buffer at a time, not a char at a time, for speed.
 | 
|---|
| 1526 |         (grow_hunkmax): Now returns success indicator.
 | 
|---|
| 1527 |         (there_is_another_patch, skip_to, another_hunk, do_ed_script):
 | 
|---|
| 1528 |         Be less chatty unless --verbose.
 | 
|---|
| 1529 |         (there_is_another_patch):
 | 
|---|
| 1530 |         Avoid infinite loop if user input keeps yielding EOF.
 | 
|---|
| 1531 |         (intuit_diff_type): New returns enum diff, not int.
 | 
|---|
| 1532 |         Strip paths as they're being fetched.
 | 
|---|
| 1533 |         Set ok_to_create_file correctly even if patch is reversed.
 | 
|---|
| 1534 |         Set up file names correctly with unidiff output.
 | 
|---|
| 1535 |         Use algorithm specified by POSIX 1003.2b/D11 to deduce
 | 
|---|
| 1536 |         name of file to patch, with the exception of patches
 | 
|---|
| 1537 |         that can create files.
 | 
|---|
| 1538 |         (skip_to): Be verbose if !inname, since we're about to ask the
 | 
|---|
| 1539 |         user for a file name and the context will help the user choose.
 | 
|---|
| 1540 |         (another_hunk): Keep context as LINENUM, not int.
 | 
|---|
| 1541 |         If the replacement is missing, calculate its context correctly.
 | 
|---|
| 1542 |         Don't assume input ends in newline.
 | 
|---|
| 1543 |         Keep track of patch prefix context separately from suffix context;
 | 
|---|
| 1544 |         this fixes several bugs.
 | 
|---|
| 1545 |         Don't assume blank lines got chopped if the replacement is missing.
 | 
|---|
| 1546 |         Report poorly-formed hunks instead of aborting.
 | 
|---|
| 1547 |         Do not use strcpy on overlapping strings; it's not portable.
 | 
|---|
| 1548 |         Work even if lines are incomplete.
 | 
|---|
| 1549 |         Fix bugs associated with context-less context hunks,
 | 
|---|
| 1550 |         particularly when patching in reverse.
 | 
|---|
| 1551 |         (pget_line): Now takes just 1 arg; instead of second arg,
 | 
|---|
| 1552 |         just examine using_plan_a global.  Return -1 if we ran out
 | 
|---|
| 1553 |         of memory.
 | 
|---|
| 1554 |         (do_ed_script): Now takes output FILE * argument.
 | 
|---|
| 1555 |         Take name of editor from ED_PROGRAM instead of hardwiring /bin/ed.
 | 
|---|
| 1556 |         Don't bother unlinking TMPOUTNAME.
 | 
|---|
| 1557 |         Check for popen failure.
 | 
|---|
| 1558 |         Flush pipe to check for output errors.
 | 
|---|
| 1559 |         If ofp is nonzero, copy result to it, instead of trying to
 | 
|---|
| 1560 |         move the result.
 | 
|---|
| 1561 | 
 | 
|---|
| 1562 |         * util.h, util.c (say1, say2, say3, say4, fatal1, fatal2, fatal3,
 | 
|---|
| 1563 |         fatal4, pfatal1, pfatal2, pfatal3, pfatal4, ask1, ask2, ask3, ask4):
 | 
|---|
| 1564 |         Remove; replaced with following.
 | 
|---|
| 1565 |         (ask, say, fatal, pfatal): New stdarg functions.
 | 
|---|
| 1566 |         (fetchname): Remove last, `assume_exists' parameter.
 | 
|---|
| 1567 |         (savebuf, savestr, move_file, copy_file): Args are now const *.
 | 
|---|
| 1568 |         (exit_with_signal): New function, for proper process status if
 | 
|---|
| 1569 |         a signal is received as per POSIX.2.
 | 
|---|
| 1570 |         (basename): Rename to `base_name' and move to backupfile.
 | 
|---|
| 1571 |         * util.c (<signal.h>): Include here, not in common.h.
 | 
|---|
| 1572 |         (vararg_start): New macro.
 | 
|---|
| 1573 |         (va_dcl, va_start, va_arg, va_end): Define if neither <stdarg.h>
 | 
|---|
| 1574 |         nor <varargs.h> are available.
 | 
|---|
| 1575 |         (SIGCHLD): Define to SIGCLD if SIGCLD is defined and
 | 
|---|
| 1576 |         SIGCHLD isn't.
 | 
|---|
| 1577 |         (private_strerror): Remove.
 | 
|---|
| 1578 |         (move_file): Remove option of moving to stdout.
 | 
|---|
| 1579 |         Add support for -Y, -z.
 | 
|---|
| 1580 |         Don't assume chars in file name are nonnegative.
 | 
|---|
| 1581 |         Use copy_file if rename fails due to EXDEV;
 | 
|---|
| 1582 |         report failure if rename fails for any other reason.
 | 
|---|
| 1583 |         (copy_file, makedirs): Use POSIX symbols for permissions.
 | 
|---|
| 1584 |         (copy_file): Open source before destination.
 | 
|---|
| 1585 |         (remove_prefix): New function.
 | 
|---|
| 1586 |         (vfprintf): New function, if !HAVE_VPRINTF.
 | 
|---|
| 1587 |         (afatal, apfatal, zfatal, zpfatal, errnum): Remove.
 | 
|---|
| 1588 |         (fatal, pfatal, say): New functions that use stdarg.
 | 
|---|
| 1589 |         All callers changed.
 | 
|---|
| 1590 |         (zask): Renamed from `ask'.  Now uses stdarg.  Output to stdout,
 | 
|---|
| 1591 |         and read from /dev/tty, or if that cannot be opened, from
 | 
|---|
| 1592 |         stderr, stdout, stdin, whichever is first a tty.
 | 
|---|
| 1593 |         Print "EOF" when an EOF is read.  Do not echo input.
 | 
|---|
| 1594 |         (sigs): New array.
 | 
|---|
| 1595 |         (sigset_t, sigemptyset, sigmask, sigaddset, sigismember, SIG_BLOCK,
 | 
|---|
| 1596 |         SIG_UNBLOCK, SIG_SETMASK, sigprocmask, sigblock, sigsetmask):
 | 
|---|
| 1597 |         Define substitutes if not available.
 | 
|---|
| 1598 |         (initial_signal_mask, signals_to_block): New vars.
 | 
|---|
| 1599 |         (fatal_exit_handler): New function, if !HAVE_SIGACTION.
 | 
|---|
| 1600 |         (set_signals, ignore_signals): Use sigaction and sigprocmask style
 | 
|---|
| 1601 |         signal-handling if possible; it doesn't lose signals.
 | 
|---|
| 1602 |         (set_signals): Default SIGCHLD to work around SysV fork+wait bug.
 | 
|---|
| 1603 |         (mkdir): First arg is now const *.
 | 
|---|
| 1604 |         (makedirs): Handle multiple adjacent slashes correctly.
 | 
|---|
| 1605 |         (fetchname): Do not worry about whether the file exists
 | 
|---|
| 1606 |         (that is now the caller's responsibility).
 | 
|---|
| 1607 |         Treat a sequence of one or more slashes like one slash.
 | 
|---|
| 1608 |         Do not unstrip leading directories if they all exist and if
 | 
|---|
| 1609 |         no -p option was given; POSIX doesn't allow this.
 | 
|---|
| 1610 |         (memcmp): Remove (now a macro in common.h).
 | 
|---|
| 1611 | 
 | 
|---|
| 1612 |         * version.c (copyright_string, free_software_msgid, authorship_msgid):
 | 
|---|
| 1613 |         New constants.
 | 
|---|
| 1614 |         (version): Use them.  Use program_name instead of hardwiring it.
 | 
|---|
| 1615 | 
 | 
|---|
| 1616 |         * patch.man: Generate date from RCS Id.
 | 
|---|
| 1617 |         Rewrite to match the above changes.
 | 
|---|
| 1618 | 
 | 
|---|
| 1619 | Fri Jul 30 02:02:51 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1620 | 
 | 
|---|
| 1621 |         * configure.in (AC_HAVE_FUNCS): Add mkdir.
 | 
|---|
| 1622 | 
 | 
|---|
| 1623 |         * common.h (Chmod, Fputc, Write, VOID): New macros.
 | 
|---|
| 1624 |         (malloc, realloc): Yield `VOID *', not `char *'.
 | 
|---|
| 1625 | 
 | 
|---|
| 1626 |         * util.h (makedirs): Omit `striplast' argument.  Remove `aask'.
 | 
|---|
| 1627 | 
 | 
|---|
| 1628 |         * inp.c (plan_a): Remove fixed internal buffer.  Remove lint.
 | 
|---|
| 1629 | 
 | 
|---|
| 1630 |         * util.c (set_signals, ignore_signals): Trap SIGTERM, too.
 | 
|---|
| 1631 |         (makedirs): Removed fixed internal buffer.  Omit `striplast' argument.
 | 
|---|
| 1632 |         (mkdir): New function, if !HAVE_MKDIR.
 | 
|---|
| 1633 |         (fetchname): Remove fixed internal buffer.
 | 
|---|
| 1634 |         Remove lint from various functions.
 | 
|---|
| 1635 | 
 | 
|---|
| 1636 |         * patch.c, pch.c: Remove lint.
 | 
|---|
| 1637 | 
 | 
|---|
| 1638 | Thu Jul 29 20:52:07 1993  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
 | 
|---|
| 1639 | 
 | 
|---|
| 1640 |         * Makefile.in (config.status): Run config.status --recheck, not
 | 
|---|
| 1641 |         configure, to get the right args passed.
 | 
|---|
| 1642 | 
 | 
|---|
| 1643 | Thu Jul 29 07:46:16 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1644 | 
 | 
|---|
| 1645 |         * The following changes remove all remaining fixed limits on memory,
 | 
|---|
| 1646 |         and fix bugs in patch's handling of null bytes and files that do not
 | 
|---|
| 1647 |         end in newline.  `Patch' now works on binary files.
 | 
|---|
| 1648 | 
 | 
|---|
| 1649 |         * backupfile.c (find_backup_file_name): Don't dump core if malloc fails.
 | 
|---|
| 1650 | 
 | 
|---|
| 1651 |         * EXTERN.h, INTERN.h (EXITING): New macro.
 | 
|---|
| 1652 |         * backupfile.[ch], patch.c, pch.c: Add PARAMS to function declarations.
 | 
|---|
| 1653 | 
 | 
|---|
| 1654 |         * common.h (bool): Change to int, so ANSI C prototype promotion works.
 | 
|---|
| 1655 |         (CANVARARG): Remove varargs hack; it wasn't portable.
 | 
|---|
| 1656 |         (filearg): Now a pointer, not an array, so that it can be reallocated.
 | 
|---|
| 1657 |         (GET*, SCCSDIFF, CHECKOUT*, RCSDIFF): Quote operands to commands.
 | 
|---|
| 1658 |         (my_exit): Declare here.
 | 
|---|
| 1659 |         (BUFFERSIZE, Ctl, filemode, Fseek, Fstat, Lseek, MAXFILEC, MAXHUNKSIZE,
 | 
|---|
| 1660 |         Mktemp, myuid, Null, Nullch, Nullfp, Nulline, Pclose, VOIDUSED): Remove.
 | 
|---|
| 1661 |         All invokers changed.
 | 
|---|
| 1662 |         (Argc, Argv, *define[sd], last_offset, maxfuzz, noreverse, ofp,
 | 
|---|
| 1663 |         optind_last, rejfp, rejname): No longer externally visible; all
 | 
|---|
| 1664 |         definers changed.
 | 
|---|
| 1665 |         (INT_MAX, INT_MIN, STD*_FILENO, SEEK_SET): Define if the underlying
 | 
|---|
| 1666 |         system doesn't.  Include <limits.h> for this.
 | 
|---|
| 1667 | 
 | 
|---|
| 1668 |         * configure.in: Add limits.h, memcmp.  Delete getline.
 | 
|---|
| 1669 | 
 | 
|---|
| 1670 |         * inp.c (tibufsize): New variable; buffers grow as needed.
 | 
|---|
| 1671 |         (TIBUFSIZE_MINIMUM): New macro.
 | 
|---|
| 1672 |         (report_revision): New function.
 | 
|---|
| 1673 |         (plan_a): Do not search patch as a big string, since that fails
 | 
|---|
| 1674 |         if it contains null bytes.
 | 
|---|
| 1675 |         Prepend `./' to filenames starting with `-', for RCS and SCCS.
 | 
|---|
| 1676 |         If file does not match default RCS/SCCS version, go ahead and patch
 | 
|---|
| 1677 |         it anyway; warn about the problem but do not report a fatal error.
 | 
|---|
| 1678 |         (plan_b): Do not use a fixed buffer to read lines; read byte by byte
 | 
|---|
| 1679 |         instead, so that the lines can be arbitrarily long.  Do not search
 | 
|---|
| 1680 |         lines as strings, since they may contain null bytes.
 | 
|---|
| 1681 |         (plan_a, plan_b): Report I/O errors.
 | 
|---|
| 1682 | 
 | 
|---|
| 1683 |         * inp.c, inp.h (rev_in_string): Remove.
 | 
|---|
| 1684 |         (ifetch): Yield size of line too, since strlen no longer applies.
 | 
|---|
| 1685 |         (plan_a, plan_b): No longer exported.
 | 
|---|
| 1686 | 
 | 
|---|
| 1687 |         * patch.c (abort_hunk, apply_hunk, patch_match, similar):
 | 
|---|
| 1688 |         Lines may contain NUL and need not end in newline.
 | 
|---|
| 1689 |         (copy_till, dump_line): Insert newline if appending after partial line.
 | 
|---|
| 1690 |         All invokers changed.
 | 
|---|
| 1691 |         (main, get_some_switches, apply_hunk): Allocate *_define[ds], filearg,
 | 
|---|
| 1692 |         rejname dynamically.
 | 
|---|
| 1693 |         (make_temp): New function.
 | 
|---|
| 1694 |         (main): Use it.
 | 
|---|
| 1695 |         (main, spew_output, dump_line) Check for I/O errors.
 | 
|---|
| 1696 | 
 | 
|---|
| 1697 |         * pch.c (open_patch_file): Don't copy stdin to a temporary file if
 | 
|---|
| 1698 |         it's a regular file, since we can seek on it directly.
 | 
|---|
| 1699 |         (open_patch_file, skip_to, another_hunk): The patch file may contain
 | 
|---|
| 1700 |         NULs.
 | 
|---|
| 1701 |         (another_hunk): The patch file may contain lines starting with '\',
 | 
|---|
| 1702 |         which means the preceding line lacked a trailing newline.
 | 
|---|
| 1703 |         (pgetline): Rename to pget_line.
 | 
|---|
| 1704 |         (get_line, incomplete_line, pch_write_line): New functions.
 | 
|---|
| 1705 |         (pch_line_len): Return size_t, not short; lines may be very long.
 | 
|---|
| 1706 |         (do_ed_script): Check for I/O errors.  Allow scripts to contain
 | 
|---|
| 1707 |         'i' and 's' commands, too.
 | 
|---|
| 1708 | 
 | 
|---|
| 1709 |         * pch.h (pfp, grow_hunkmax, intuit_diff_type, next_intuit_at, skip_to,
 | 
|---|
| 1710 |         pfetch, pgetline): No longer exported.
 | 
|---|
| 1711 |         (pch_write_line): New declaration.
 | 
|---|
| 1712 |         (getline): Removed.
 | 
|---|
| 1713 | 
 | 
|---|
| 1714 |         * util.c (move_file, fetchname): Use private stat buffer, so that
 | 
|---|
| 1715 |         filestat isn't lost.  Check for I/O errors.
 | 
|---|
| 1716 |         (savestr): Use savebuf.
 | 
|---|
| 1717 |         (zask): Use STD*_FILENO instead of 0, 1, 2.
 | 
|---|
| 1718 |         (fetchname): strip_leading defaults to INT_MAX instead of 957 (!).
 | 
|---|
| 1719 |         (memcmp): Define if !HAVE_MEMCMP.
 | 
|---|
| 1720 | 
 | 
|---|
| 1721 |         * util.c, util.h (say*, fatal*, pfatal*, ask*): Delete; these
 | 
|---|
| 1722 |         pseudo-varargs functions weren't ANSI C.  Replace by macros
 | 
|---|
| 1723 |         that invoke [fs]printf directly, and invoke new functions
 | 
|---|
| 1724 |         [az]{say,fatal,pfatal,ask} before and after.
 | 
|---|
| 1725 |         (savebuf, read_fatal, write_fatal, memory_fatal, Fseek): New functions.
 | 
|---|
| 1726 |         (fatal*): Output trailing newline after message.  All invokers changed.
 | 
|---|
| 1727 | 
 | 
|---|
| 1728 |         * version.c (version): Don't exit.
 | 
|---|
| 1729 | 
 | 
|---|
| 1730 |         * Makefile.in (SRCS): Remove getline.c.
 | 
|---|
| 1731 | 
 | 
|---|
| 1732 | Thu Jul 22 15:24:24 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
 | 
|---|
| 1733 | 
 | 
|---|
| 1734 |         * EXTERN.h, INTERN.h (PARAMS): Define.
 | 
|---|
| 1735 |         * backupfile.h, common.h, inp.h, pch.h, util.h: Use.
 | 
|---|
| 1736 |         * backupfile.c: Include EXTERN.h.
 | 
|---|
| 1737 | 
 | 
|---|
| 1738 | Wed Jul 21 13:14:05 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
 | 
|---|
| 1739 | 
 | 
|---|
| 1740 |         * getline.c: New file.
 | 
|---|
| 1741 |         * configure.in: Check for getline (GNU libc has it).
 | 
|---|
| 1742 |         * pch.c: Use it instead of fgets.
 | 
|---|
| 1743 |         (pgetline): Renamed from pgets.  Change callers.
 | 
|---|
| 1744 |         * pch.h: Change decl.
 | 
|---|
| 1745 | 
 | 
|---|
| 1746 |         * pch.c (pgets): Tab adjusts by 8 - (indent % 8), not % 7.
 | 
|---|
| 1747 |         Be consistent with similar code in pch.c::intuit_diff_type.
 | 
|---|
| 1748 | 
 | 
|---|
| 1749 |         * common.h (MEM): Typedef removed.
 | 
|---|
| 1750 |         inp.c, pch.c, util.c: Use size_t instead of MEM.
 | 
|---|
| 1751 |         inp.c, pch.c: Use off_t.
 | 
|---|
| 1752 |         configure.in: Add AC_SIZE_T and AC_OFF_T.
 | 
|---|
| 1753 | 
 | 
|---|
| 1754 |         * common.h: Make buf a pointer and add a bufsize variable.
 | 
|---|
| 1755 |         * util.c, pch.c, inp.c: Replace sizeof buf with bufsize.
 | 
|---|
| 1756 |         * patch.c: malloc buf to bufsize bytes.
 | 
|---|
| 1757 | 
 | 
|---|
| 1758 | Tue Jul 20 20:40:03 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1759 | 
 | 
|---|
| 1760 |         * common.h (BUFFERSIZE): Grow it to 8k too, just in case.
 | 
|---|
| 1761 |         (buf): Turn `buf' back into an array; making it a pointer broke
 | 
|---|
| 1762 |         things seriously.
 | 
|---|
| 1763 |         * patch.c (main): Likewise.
 | 
|---|
| 1764 | 
 | 
|---|
| 1765 | Tue Jul 20 20:02:40 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
 | 
|---|
| 1766 | 
 | 
|---|
| 1767 |         * Move Reg[1-16] and CANVARARG decls from config.h.in to common.h.
 | 
|---|
| 1768 |         * acconfig.h: New file.
 | 
|---|
| 1769 |         * Makefile (HDRS): Add it.
 | 
|---|
| 1770 | 
 | 
|---|
| 1771 | Tue Jul 20 16:35:27 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1772 | 
 | 
|---|
| 1773 |         * Makefile.in: Remove alloca.[co]; getopt no longer needs it.
 | 
|---|
| 1774 |         * configure.in (AC_ALLOCA): Remove.
 | 
|---|
| 1775 | 
 | 
|---|
| 1776 |         * util.c (set_signals, ignore_signals): Do nothing if SIGHUP
 | 
|---|
| 1777 |         and SIGINT aren't defined.
 | 
|---|
| 1778 | 
 | 
|---|
| 1779 | Tue Jul 20 17:59:56 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
 | 
|---|
| 1780 | 
 | 
|---|
| 1781 |         * patch.c (main): Call xmalloc, not malloc.  xmalloc buf.
 | 
|---|
| 1782 |         * common.h: Declare xmalloc.  Make buf a pointer, not an array.
 | 
|---|
| 1783 | 
 | 
|---|
| 1784 |         * util.c (xmalloc): Call fatal1, not fatal.
 | 
|---|
| 1785 | 
 | 
|---|
| 1786 |         * common.h [MAXLINELEN]: Bump from 1k to 8k.
 | 
|---|
| 1787 | 
 | 
|---|
| 1788 | Thu Jul  8 19:56:16 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
 | 
|---|
| 1789 | 
 | 
|---|
| 1790 |         * Makefile.in (installdirs): New target.
 | 
|---|
| 1791 |         (install): Use it.
 | 
|---|
| 1792 |         (Makefile, config.status, configure): New targets.
 | 
|---|
| 1793 | 
 | 
|---|
| 1794 | Wed Jul  7 13:25:40 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
 | 
|---|
| 1795 | 
 | 
|---|
| 1796 |         * patch.c (get_some_switches, longopts): Recognize --help
 | 
|---|
| 1797 |         option, and call usage.
 | 
|---|
| 1798 |         (usage): New function.
 | 
|---|
| 1799 | 
 | 
|---|
| 1800 | Fri Jun 25 07:49:45 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1801 | 
 | 
|---|
| 1802 |         * backupfile.c (find_backup_file_name): Don't use .orig if
 | 
|---|
| 1803 |         numbered_existing with no existing numbered backup.
 | 
|---|
| 1804 |         (addext):  Don't use ext if !HAVE_LONG_FILE_NAMES,
 | 
|---|
| 1805 |         even if it would fit.  This matches patch's historical behavior.
 | 
|---|
| 1806 |         (simple_backup_suffix): Default to ".orig".
 | 
|---|
| 1807 |         * patch.c (main): Just use that default.
 | 
|---|
| 1808 | 
 | 
|---|
| 1809 | Tue Jun 15 22:32:14 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1810 | 
 | 
|---|
| 1811 |         * config.h.in (HAVE_ALLOCA_H): This #undef was missing.
 | 
|---|
| 1812 |         * Makefile.in (info, check, installcheck): New rules.
 | 
|---|
| 1813 | 
 | 
|---|
| 1814 | Sun Jun 13 14:31:29 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1815 | 
 | 
|---|
| 1816 |         * config.h.in (index, rindex): Remove unused macro
 | 
|---|
| 1817 |         definitions; they get in the way when porting to AIX.
 | 
|---|
| 1818 |         * config.h.in, configure.in (HAVE_STRING_H): Remove unused defn.
 | 
|---|
| 1819 | 
 | 
|---|
| 1820 | Thu Jun 10 21:13:47 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1821 | 
 | 
|---|
| 1822 |         * patchlevel.h: PATCH_VERSION 2.1.
 | 
|---|
| 1823 |         (The name `patch-2.0.12g12' is too long for traditional Unix.)
 | 
|---|
| 1824 | 
 | 
|---|
| 1825 |         * patchlevel.h (PATCH_VERSION): Renamed from PATCHLEVEL.
 | 
|---|
| 1826 |         Now contains the entire patch version number.
 | 
|---|
| 1827 |         * version.c (version): Use it.
 | 
|---|
| 1828 | 
 | 
|---|
| 1829 | Wed Jun  9 21:43:23 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1830 | 
 | 
|---|
| 1831 |         * common.h: Remove declarations of index and rindex.
 | 
|---|
| 1832 |         * backupfile.c: Likewise.
 | 
|---|
| 1833 |         (addext, basename, dirname): Avoid rindex.
 | 
|---|
| 1834 | 
 | 
|---|
| 1835 | Tue Jun  8 15:24:14 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1836 | 
 | 
|---|
| 1837 |         * inp.c (plan_a): Check that RCS and working files are not the
 | 
|---|
| 1838 |         same.  This check is needed on hosts that do not report file
 | 
|---|
| 1839 |         name length limits and have short limits.
 | 
|---|
| 1840 | 
 | 
|---|
| 1841 | Sat Jun  5 22:56:07 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1842 | 
 | 
|---|
| 1843 |         * Makefile.in (.c.o): Put $(CFLAGS) after other options.
 | 
|---|
| 1844 |         (dist): Switch from .z to .gz.
 | 
|---|
| 1845 | 
 | 
|---|
| 1846 | Wed Jun  2 10:37:15 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1847 | 
 | 
|---|
| 1848 |         * backupfile.c (find_backup_file_name): Initialize copy of
 | 
|---|
| 1849 |         file name properly.
 | 
|---|
| 1850 | 
 | 
|---|
| 1851 | Mon May 31 21:55:21 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1852 | 
 | 
|---|
| 1853 |         * patchlevel.h: Patch level 12g11.
 | 
|---|
| 1854 | 
 | 
|---|
| 1855 |         * pch.c (p_Char): Renamed from p_char, which is a system type
 | 
|---|
| 1856 |         in Tex XD88's <sys/types.h>.
 | 
|---|
| 1857 | 
 | 
|---|
| 1858 |         * backupfile.c: Include "config.h" first, so that `const' is
 | 
|---|
| 1859 |         treated consistently in system headers.
 | 
|---|
| 1860 | 
 | 
|---|
| 1861 | Mon May 31 16:06:23 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1862 | 
 | 
|---|
| 1863 |         * patchlevel.h: Patch level 12g10.
 | 
|---|
| 1864 | 
 | 
|---|
| 1865 |         * configure.in: Add AC_CONST.
 | 
|---|
| 1866 |         * config.h.in: Add `const'.
 | 
|---|
| 1867 |         * Makefile.in (.c.o): Add -DHAVE_CONFIG_H.
 | 
|---|
| 1868 |         (getopt.o getopt1.o): Depend on config.h.
 | 
|---|
| 1869 | 
 | 
|---|
| 1870 |         * util.c (xmalloc): New function; alloca.c needs this.
 | 
|---|
| 1871 | 
 | 
|---|
| 1872 | Mon May 31 00:49:40 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1873 | 
 | 
|---|
| 1874 |         * patchlevel.h: PATCHLEVEL 12g9.
 | 
|---|
| 1875 | 
 | 
|---|
| 1876 |         * backupfile.c, backupfile.h (addext): New function.
 | 
|---|
| 1877 |         It uses pathconf(), if available, to determine maximum file
 | 
|---|
| 1878 |         name length.
 | 
|---|
| 1879 |         * patch.c (main): Use it for reject file name.
 | 
|---|
| 1880 |         * common.h (ORIGEXT): Moved to patch.c.
 | 
|---|
| 1881 |         * config.h.in (HAVE_PATHCONF): New macro.
 | 
|---|
| 1882 |         * configure.in: Define it.
 | 
|---|
| 1883 | 
 | 
|---|
| 1884 |         * Makefile.in (dist): Use gzip, not compress.
 | 
|---|
| 1885 | 
 | 
|---|
| 1886 | Sat May 29 09:42:18 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1887 | 
 | 
|---|
| 1888 |         * patch.c (main): Use pathconf to decide reject file name.
 | 
|---|
| 1889 |         * common.h (REJEXT): Remove.
 | 
|---|
| 1890 | 
 | 
|---|
| 1891 |         * inp.c (plan_a): Don't lock the checked-out file if `patch -o'
 | 
|---|
| 1892 |         redirected the output elsewhere.
 | 
|---|
| 1893 |         * common.h (CHECKOUT_LOCKED, GET_LOCKED): New macros.  GET and
 | 
|---|
| 1894 |         CHECKOUT now just checkout unlocked copies.
 | 
|---|
| 1895 | 
 | 
|---|
| 1896 | Fri May 28 08:44:50 1993  Paul Eggert  (eggert@twinsun.com)
 | 
|---|
| 1897 | 
 | 
|---|
| 1898 |         * backupfile.c (basename): Define even if NODIR isn't defined.
 | 
|---|
| 1899 |         * patch.c (main): Ask just once to apply a reversed patch.
 | 
|---|
| 1900 | 
 | 
|---|
| 1901 | Tue Nov 24 08:09:04 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
 | 
|---|
| 1902 | 
 | 
|---|
| 1903 |         * config.h.in, common.h: Use HAVE_FCNTL_H and HAVE_STRING_H
 | 
|---|
| 1904 |         instead of USG.
 | 
|---|
| 1905 | 
 | 
|---|
| 1906 |         * backupfile.c: Use SYSDIR and NDIR instead of USG.
 | 
|---|
| 1907 |         Define direct as dirent, not vice-versa.
 | 
|---|
| 1908 | 
 | 
|---|
| 1909 | Wed Sep 16 17:11:48 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
 | 
|---|
| 1910 | 
 | 
|---|
| 1911 |         * patch.c (get_some_switches): optc should be int, not char.
 | 
|---|
| 1912 | 
 | 
|---|
| 1913 | Tue Sep 15 00:36:46 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
 | 
|---|
| 1914 | 
 | 
|---|
| 1915 |         * patchlevel.h: PATCHLEVEL 12g8.
 | 
|---|
| 1916 | 
 | 
|---|
| 1917 | Mon Sep 14 22:01:23 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
 | 
|---|
| 1918 | 
 | 
|---|
| 1919 |         * Makefile.in: Add uninstall target.
 | 
|---|
| 1920 | 
 | 
|---|
| 1921 |         * util.c (fatal, pfatal): Add some asterisks to make fatal
 | 
|---|
| 1922 |         messages stand out more.
 | 
|---|
| 1923 | 
 | 
|---|
| 1924 | Tue Aug 25 22:13:36 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
 | 
|---|
| 1925 | 
 | 
|---|
| 1926 |         * patch.c (main, get_some_switches), common.h, inp.c (plan_a,
 | 
|---|
| 1927 |         plan_b), pch.c (there_is_another_patch): Add -t --batch
 | 
|---|
| 1928 |         option, similar to -f --force.
 | 
|---|
| 1929 | 
 | 
|---|
| 1930 | Mon Jul 27 11:27:07 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
 | 
|---|
| 1931 | 
 | 
|---|
| 1932 |         * common.h: Define SCCSDIFF and RCSDIFF.
 | 
|---|
| 1933 |         * inp.c (plan_a): Use them to make sure it's safe to check out
 | 
|---|
| 1934 |         the default RCS or SCCS version.
 | 
|---|
| 1935 |         From Paul Eggert.
 | 
|---|
| 1936 | 
 | 
|---|
| 1937 | Mon Jul 20 14:10:32 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
 | 
|---|
| 1938 | 
 | 
|---|
| 1939 |         * util.h: Declare basename.
 | 
|---|
| 1940 |         * inp.c (plan_a), util.c (fetchname): Use it to isolate the
 | 
|---|
| 1941 |         leading path when testing for RCS and SCCS files.
 | 
|---|
| 1942 | 
 | 
|---|
| 1943 | Fri Jul 10 16:03:23 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
 | 
|---|
| 1944 | 
 | 
|---|
| 1945 |         * util.c (makedirs): Only make the directories that don't exist.
 | 
|---|
| 1946 |         From chip@tct.com (Chip Salzenberg).
 | 
|---|
| 1947 | 
 | 
|---|
| 1948 | Wed Jul  8 01:20:56 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
 | 
|---|
| 1949 | 
 | 
|---|
| 1950 |         * patch.c (main): Open ofp after checking for ed script.
 | 
|---|
| 1951 |         Close ofp and rejfp before trying plan B.
 | 
|---|
| 1952 |         From epang@sfu.ca (Eugene Pang).
 | 
|---|
| 1953 | 
 | 
|---|
| 1954 |         * util.c (fatal, pfatal): Print "patch: " before message.
 | 
|---|
| 1955 |         * pch.c, inp.c, patch.c, util.c: Remove "patch: " from the
 | 
|---|
| 1956 |         callers that had it.
 | 
|---|
| 1957 | 
 | 
|---|
| 1958 |         * common.h (myuid): New variable.
 | 
|---|
| 1959 |         * patch.c (main): Initialize it.
 | 
|---|
| 1960 |         * inp.c (myuid): Function removed.
 | 
|---|
| 1961 |         (plan_a): Use the variable, not the function.
 | 
|---|
| 1962 | 
 | 
|---|
| 1963 |         * patch.c: Add back -E --remove-empty-files option.
 | 
|---|
| 1964 | 
 | 
|---|
| 1965 | Tue Jul  7 23:19:28 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
 | 
|---|
| 1966 | 
 | 
|---|
| 1967 |         * inp.c (myuid): New function.
 | 
|---|
| 1968 |         (plan_a): Call it.  Optimize stat calls.  Be smarter about
 | 
|---|
| 1969 |         detecting checked out RCS and SCCS files.
 | 
|---|
| 1970 |         From Paul Eggert (eggert@twinsun.com).
 | 
|---|
| 1971 | 
 | 
|---|
| 1972 |         * inp.c, util.c, patch.c: Don't bother checking for stat() > 0.
 | 
|---|
| 1973 | 
 | 
|---|
| 1974 | Mon Jul  6 13:01:52 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
 | 
|---|
| 1975 | 
 | 
|---|
| 1976 |         * util.c (move_file): Use rename instead of link and copying.
 | 
|---|
| 1977 | 
 | 
|---|
| 1978 |         * util.c (pfatal): New function.
 | 
|---|
| 1979 |         * util.h: Declare it and pfatal[1-4] macros.
 | 
|---|
| 1980 |         * various files: Use it instead of fatal where appropriate.
 | 
|---|
| 1981 | 
 | 
|---|
| 1982 |         * common.h, patch.c: Replace Arg[cv]_last with optind_last.
 | 
|---|
| 1983 | 
 | 
|---|
| 1984 |         * patch.c (main, get_some_switches): Use getopt_long.  Update
 | 
|---|
| 1985 |         usage message.
 | 
|---|
| 1986 |         (nextarg): Function removed.
 | 
|---|
| 1987 | 
 | 
|---|
| 1988 |         * Rename FLEXFILENAMES to HAVE_LONG_FILE_NAMES,
 | 
|---|
| 1989 |         VOIDSIG to RETSIGTYPE.
 | 
|---|
| 1990 | 
 | 
|---|
| 1991 |         * backupfile.c, common.h: Use STDC header files if available.
 | 
|---|
| 1992 |         backupfile.h: Declare get_version.
 | 
|---|
| 1993 | 
 | 
|---|
| 1994 |         * COPYING, COPYING.LIB, INSTALL, Makefile.in, alloca.c,
 | 
|---|
| 1995 |         config.h.in, configure, configure.in, getopt.[ch], getopt1.c,
 | 
|---|
| 1996 |         rename.c: New files.
 | 
|---|
| 1997 |         * Configure, MANIFEST, Makefile.SH, config.H, config.h.SH,
 | 
|---|
| 1998 |         malloc.c: Files removed.
 | 
|---|
| 1999 | 
 | 
|---|
| 2000 |         * version.c (version): Don't print the RCS stuff, since we're
 | 
|---|
| 2001 |         not updating it regularly.
 | 
|---|
| 2002 | 
 | 
|---|
| 2003 |         * patchlevel.h: PATCHLEVEL 12u7.
 | 
|---|
| 2004 | 
 | 
|---|
| 2005 |         * Makefile.SH (dist): New target.
 | 
|---|
| 2006 |         Makedist: File removed.
 | 
|---|
| 2007 | 
 | 
|---|
| 2008 |         * inp.c (plan_a): Check whether the user can write to the
 | 
|---|
| 2009 |         file, not whether anyone can write to the file.
 | 
|---|
| 2010 | 
 | 
|---|
| 2011 | Sat Jul  4 00:06:58 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
 | 
|---|
| 2012 | 
 | 
|---|
| 2013 |         * inp.c (plan_a): Try to check out read-only files from RCS or SCCS.
 | 
|---|
| 2014 | 
 | 
|---|
| 2015 |         * util.c (move_file): If backing up by linking fails, try copying.
 | 
|---|
| 2016 |         From cek@sdc.boeing.com (Conrad Kimball).
 | 
|---|
| 2017 | 
 | 
|---|
| 2018 |         * patch.c (get_some_switches): Eliminate -E option; always
 | 
|---|
| 2019 |         remove empty output files.
 | 
|---|
| 2020 | 
 | 
|---|
| 2021 |         * util.c (fetchname): Only undo slash removal for relative
 | 
|---|
| 2022 |         paths if -p was not given.
 | 
|---|
| 2023 | 
 | 
|---|
| 2024 |         * Makefile.sh: Add mostlyclean target.
 | 
|---|
| 2025 | 
 | 
|---|
| 2026 | Fri Jul  3 23:48:14 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)
 | 
|---|
| 2027 | 
 | 
|---|
| 2028 |         * util.c (fetchname): Accept whitespace between `Index:' and filename.
 | 
|---|
| 2029 |         Also plug a small memory leak for diffs against /dev/null.
 | 
|---|
| 2030 |         From eggert@twinsun.com (Paul Eggert).
 | 
|---|
| 2031 | 
 | 
|---|
| 2032 |         * common.h: Don't define TRUE and FALSE if already defined.
 | 
|---|
| 2033 |         From phk@data.fls.dk (Poul-Henning Kamp).
 | 
|---|
| 2034 | 
 | 
|---|
| 2035 | Wed Apr 29 10:19:33 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)
 | 
|---|
| 2036 | 
 | 
|---|
| 2037 |         * backupfile.c (get_version): Exit if given a bad backup type.
 | 
|---|
| 2038 | 
 | 
|---|
| 2039 | Fri Mar 27 09:57:14 1992  Karl Berry  (karl at hayley)
 | 
|---|
| 2040 | 
 | 
|---|
| 2041 |         * common.h (S_ISDIR, S_ISREG): define these.
 | 
|---|
| 2042 |         * inp.c (plan_a): use S_ISREG, not S_IFREG.
 | 
|---|
| 2043 |         * util.c (fetchname): use S_ISDIR, not S_IFDIR.
 | 
|---|
| 2044 | 
 | 
|---|
| 2045 | Mon Mar 16 14:10:42 1992  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)
 | 
|---|
| 2046 | 
 | 
|---|
| 2047 |         * patchlevel.h: PATCHLEVEL 12u6.
 | 
|---|
| 2048 | 
 | 
|---|
| 2049 | Sat Mar 14 13:13:29 1992  David J. MacKenzie  (djm at frob.eng.umd.edu)
 | 
|---|
| 2050 | 
 | 
|---|
| 2051 |         * Configure, config.h.SH: Check for directory header and unistd.h.
 | 
|---|
| 2052 | 
 | 
|---|
| 2053 |         * patch.c (main): If -E was given and output file is empty after
 | 
|---|
| 2054 |         patching, remove it.
 | 
|---|
| 2055 |         (get_some_switches): Recognize -E option.
 | 
|---|
| 2056 | 
 | 
|---|
| 2057 |         * patch.c (copy_till): Make garbled output an error, not a warning
 | 
|---|
| 2058 |         that doesn't change the exit status.
 | 
|---|
| 2059 | 
 | 
|---|
| 2060 |         * common.h: Protect against system declarations of malloc and realloc.
 | 
|---|
| 2061 | 
 | 
|---|
| 2062 |         * Makedist: Add backupfile.[ch].
 | 
|---|
| 2063 | 
 | 
|---|
| 2064 |         * Configure: Look for C library where NeXT and SVR4 put it.
 | 
|---|
| 2065 |         Look in /usr/ucb after /bin and /usr/bin for utilities,
 | 
|---|
| 2066 |         and look in /usr/ccs/bin, to make SVR4 happier.
 | 
|---|
| 2067 |         Recognize m68k predefine.
 | 
|---|
| 2068 | 
 | 
|---|
| 2069 |         * util.c (fetchname): Test of stat return value was backward.
 | 
|---|
| 2070 |         From csss@scheme.cs.ubc.ca.
 | 
|---|
| 2071 | 
 | 
|---|
| 2072 |         * version.c (version): Exit with status 0, not 1.
 | 
|---|
| 2073 | 
 | 
|---|
| 2074 |         * Makefile.SH: Add backupfile.[cho].
 | 
|---|
| 2075 |         * patch.c (main): Initialize backup file generation.
 | 
|---|
| 2076 |         (get_some_switches): Add -V option.
 | 
|---|
| 2077 |         * common.h, util,c, patch.c: Replace origext with simple_backup_suffix.
 | 
|---|
| 2078 |         * util.c (move_file): Use find_backup_file_name.
 | 
|---|
| 2079 | 
 | 
|---|
| 2080 | Tue Dec  3 11:27:16 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
 | 
|---|
| 2081 | 
 | 
|---|
| 2082 |         * patchlevel.h: PATCHLEVEL 12u5.
 | 
|---|
| 2083 | 
 | 
|---|
| 2084 |         * Makefile.SH: Change clean, distclean, and realclean targets a
 | 
|---|
| 2085 |         little so they agree with the GNU coding standards.
 | 
|---|
| 2086 |         Add Makefile to addedbyconf, so distclean removes it.
 | 
|---|
| 2087 | 
 | 
|---|
| 2088 |         * Configure: Recognize Domain/OS C library in /lib/libc.
 | 
|---|
| 2089 |         From mmuegel@mot.com (Michael S. Muegel).
 | 
|---|
| 2090 | 
 | 
|---|
| 2091 |         * pch.c: Fixes from Wayne Davison:
 | 
|---|
| 2092 |         Patch now accepts no-context context diffs that are
 | 
|---|
| 2093 |         specified with an assumed one line hunk (e.g.  "*** 10 ****").
 | 
|---|
| 2094 |         Fixed a bug in both context and unified diff processing that would
 | 
|---|
| 2095 |         put a zero-context hunk in the wrong place (one line too soon).
 | 
|---|
| 2096 |         Fixed a minor problem with p_max in unified diffs where it would
 | 
|---|
| 2097 |         set p_max to hunkmax unnecessarily (the only adverse effect was to
 | 
|---|
| 2098 |         not supply empty lines at eof by assuming they were truncated).
 | 
|---|
| 2099 | 
 | 
|---|
| 2100 | Tue Jul  2 03:25:51 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
 | 
|---|
| 2101 | 
 | 
|---|
| 2102 |         * Configure: Check for signal declaration in
 | 
|---|
| 2103 |         /usr/include/sys/signal.h as well as /usr/include/signal.h.
 | 
|---|
| 2104 | 
 | 
|---|
| 2105 |         * Configure, common.h, config.h.SH: Comment out the sprintf
 | 
|---|
| 2106 |         declaration and tests to determine its return value type.  It
 | 
|---|
| 2107 |         conflicts with ANSI C systems' prototypes in stdio.h and the
 | 
|---|
| 2108 |         return value of sprintf is never used anyway -- it's always cast
 | 
|---|
| 2109 |         to void.
 | 
|---|
| 2110 | 
 | 
|---|
| 2111 | Thu Jun 27 13:05:32 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)
 | 
|---|
| 2112 | 
 | 
|---|
| 2113 |         * patchlevel.h: PATCHLEVEL 12u4.
 | 
|---|
| 2114 | 
 | 
|---|
| 2115 | Thu Feb 21 15:18:14 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
 | 
|---|
| 2116 | 
 | 
|---|
| 2117 |         * pch.c (another_hunk): Fix off by 1 error.  From
 | 
|---|
| 2118 |         iverson@xstor.com (Tim Iverson).
 | 
|---|
| 2119 | 
 | 
|---|
| 2120 | Sun Jan 20 20:18:58 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
 | 
|---|
| 2121 | 
 | 
|---|
| 2122 |         * Makefile.SH (all): Don't make a dummy `all' file.
 | 
|---|
| 2123 | 
 | 
|---|
| 2124 |         * patchlevel.h: PATCHLEVEL 12u3.
 | 
|---|
| 2125 | 
 | 
|---|
| 2126 |         * patch.c (nextarg): New function.
 | 
|---|
| 2127 |         (get_some_switches): Use it, to prevent dereferencing a null
 | 
|---|
| 2128 |         pointer if an option that takes an arg is not given one (is last
 | 
|---|
| 2129 |         on the command line).  From Paul Eggert.
 | 
|---|
| 2130 | 
 | 
|---|
| 2131 |         * pch.c (another_hunk): Fix from Wayne Davison to recognize
 | 
|---|
| 2132 |         single-line hunks in unified diffs (with a single line number
 | 
|---|
| 2133 |         instead of a range).
 | 
|---|
| 2134 | 
 | 
|---|
| 2135 |         * inp.c (rev_in_string): Don't use `s' before defining it.  From
 | 
|---|
| 2136 |         Wayne Davison.
 | 
|---|
| 2137 | 
 | 
|---|
| 2138 | Mon Jan  7 06:25:11 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)
 | 
|---|
| 2139 | 
 | 
|---|
| 2140 |         * patchlevel.h: PATCHLEVEL 12u2.
 | 
|---|
| 2141 | 
 | 
|---|
| 2142 |         * pch.c (intuit_diff_type): Recognize `+++' in diff headers, for
 | 
|---|
| 2143 |         unified diff format.  From unidiff patch 1.
 | 
|---|
| 2144 | 
 | 
|---|
| 2145 | Mon Dec  3 00:14:25 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
 | 
|---|
| 2146 | 
 | 
|---|
| 2147 |         * patch.c (get_some_switches): Make the usage message more
 | 
|---|
| 2148 |         informative.
 | 
|---|
| 2149 | 
 | 
|---|
| 2150 | Sun Dec  2 23:20:18 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
 | 
|---|
| 2151 | 
 | 
|---|
| 2152 |         * Configure: When checking for C preprocessor, look for 'abc.*xyz'
 | 
|---|
| 2153 |         instead of 'abc.xyz', so ANSI C preprocessors work.
 | 
|---|
| 2154 | 
 | 
|---|
| 2155 |         * Apply fix for -D from ksb@mentor.cc.purdue.edu (Kevin Braunsdorf).
 | 
|---|
| 2156 | 
 | 
|---|
| 2157 | 1990-05-01  Wayne Davison  <davison@dri.com>
 | 
|---|
| 2158 |         * patch.c, pch.c: unidiff support added
 | 
|---|
| 2159 | 
 | 
|---|
| 2160 | Wed Mar  7 23:47:25 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
 | 
|---|
| 2161 | 
 | 
|---|
| 2162 |         * pch.c: Call malformed instead of goto malformed
 | 
|---|
| 2163 |         (just allows easier debugging).
 | 
|---|
| 2164 | 
 | 
|---|
| 2165 | Tue Jan 23 21:27:00 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
 | 
|---|
| 2166 | 
 | 
|---|
| 2167 |         * common.h (TMP*NAME): Make these char *, not char [].
 | 
|---|
| 2168 |         patch.c (main): Use TMPDIR (if present) to set TMP*NAME.
 | 
|---|
| 2169 |         common.h: Declare getenv.
 | 
|---|
| 2170 | 
 | 
|---|
| 2171 | Sun Dec 17 17:29:48 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)
 | 
|---|
| 2172 | 
 | 
|---|
| 2173 |         * patch.c (reverse_flag_specified): New variable.
 | 
|---|
| 2174 |         (get_some_switches, reinitialize_almost_everything): Use it.
 | 
|---|
| 2175 | 
 | 
|---|
| 2176 | 1988-06-22  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2177 |         patch12:
 | 
|---|
| 2178 |         * common.h: sprintf was declared wrong
 | 
|---|
| 2179 |         * patch.c: rindex() wasn't declared
 | 
|---|
| 2180 |         * patch.man: now avoids Bell System Logo
 | 
|---|
| 2181 | 
 | 
|---|
| 2182 | 1988-06-03  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2183 |         patch10:
 | 
|---|
| 2184 |         * common.h: support for shorter extensions.
 | 
|---|
| 2185 |         * inp.c: made a little smarter about sccs files
 | 
|---|
| 2186 |         * patch.c: exit code improved.
 | 
|---|
| 2187 |         better support for non-flexfilenames.
 | 
|---|
| 2188 |         * patch.man: -B switch was contributed.
 | 
|---|
| 2189 |         * pch.c: Can now find patches in shar scripts.
 | 
|---|
| 2190 |         Hunks that swapped and then swapped back could core dump.
 | 
|---|
| 2191 | 
 | 
|---|
| 2192 | 1987-06-04  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2193 |         * pch.c: pch_swap didn't swap p_bfake and p_efake.
 | 
|---|
| 2194 | 
 | 
|---|
| 2195 | 1987-02-16  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2196 |         * patch.c: Short replacement caused spurious "Out of sync" message.
 | 
|---|
| 2197 | 
 | 
|---|
| 2198 | 1987-01-30  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2199 |         * patch.c: Improved diagnostic on sync error.
 | 
|---|
| 2200 |         Moved do_ed_script() to pch.c.
 | 
|---|
| 2201 |         * pch.c: Improved responses to mangled patches.
 | 
|---|
| 2202 |         * pch.h: Added do_ed_script().
 | 
|---|
| 2203 | 
 | 
|---|
| 2204 | 1987-01-05  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2205 |         * pch.c: New-style context diffs caused double call to free().
 | 
|---|
| 2206 | 
 | 
|---|
| 2207 | 1986-11-21  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2208 |         * patch.c: Fuzz factor caused offset of installed lines.
 | 
|---|
| 2209 | 
 | 
|---|
| 2210 | 1986-11-14  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2211 |         * pch.c: Fixed problem where a long pattern wouldn't grow the hunk.
 | 
|---|
| 2212 |         Also restored p_input_line when backtracking so error messages are
 | 
|---|
| 2213 |         right.
 | 
|---|
| 2214 | 
 | 
|---|
| 2215 | 1986-11-03  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2216 |         * pch.c: New-style delete triggers spurious assertion error.
 | 
|---|
| 2217 | 
 | 
|---|
| 2218 | 1986-10-29  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2219 |         * patch.c: Backwards search could terminate prematurely.
 | 
|---|
| 2220 |         * pch.c: Could falsely report new-style context diff.
 | 
|---|
| 2221 | 
 | 
|---|
| 2222 | 1986-09-17  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2223 |         * common.h, inp.c, inp.h, patch.c, patch.man, pch.c, pch.h,
 | 
|---|
| 2224 |         util.h, version.c, version.h:  Baseline for netwide release.
 | 
|---|
| 2225 | 
 | 
|---|
| 2226 | 1986-08-01  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2227 |         * patch.c: Fixes for machines that can't vararg.
 | 
|---|
| 2228 |         Added fuzz factor.  Generalized -p.  General cleanup.
 | 
|---|
| 2229 |         Changed some %d's to %ld's.  Linted.
 | 
|---|
| 2230 |         * patch.man: Documented -v, -p, -F.
 | 
|---|
| 2231 |         Added notes to patch senders.
 | 
|---|
| 2232 | 
 | 
|---|
| 2233 | 1985-08-15  van%ucbmonet@berkeley
 | 
|---|
| 2234 |         Changes for 4.3bsd diff -c.
 | 
|---|
| 2235 | 
 | 
|---|
| 2236 | 1985-03-26  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2237 |         * patch.c: Frozen.
 | 
|---|
| 2238 |         * patch.man: Frozen.
 | 
|---|
| 2239 | 
 | 
|---|
| 2240 | 1985-03-12  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2241 |         * patch.c: Now checks for normalness of file to patch.
 | 
|---|
| 2242 |         Check i_ptr and i_womp to make sure they aren't null before freeing.
 | 
|---|
| 2243 |         Also allow ed output to be suppressed.
 | 
|---|
| 2244 |         Changed pfp->_file to fileno(pfp).
 | 
|---|
| 2245 |         Added -p option from jromine@uci-750a.
 | 
|---|
| 2246 |         Added -D (#ifdef) option from joe@fluke.
 | 
|---|
| 2247 |         * patch.man: Documented -p, -D.
 | 
|---|
| 2248 | 
 | 
|---|
| 2249 | 1984-12-06  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2250 |         * patch.c: Made smarter about SCCS subdirectories.
 | 
|---|
| 2251 | 
 | 
|---|
| 2252 | 1984-12-05  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2253 |         * patch.c: Added -l switch to do loose string comparison.
 | 
|---|
| 2254 |         * patch.man: Added -l switch, and noted bistability bug.
 | 
|---|
| 2255 | 
 | 
|---|
| 2256 | 1984-12-04  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2257 |         Branch for sdcrdcf changes.
 | 
|---|
| 2258 |         * patch.c: Failed hunk count not reset on multiple patch file.
 | 
|---|
| 2259 |         * patch.man: Baseline version.
 | 
|---|
| 2260 | 
 | 
|---|
| 2261 | 1984-11-29  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2262 |         * patch.c: Linted.  Identifiers uniquified.  Fixed i_ptr malloc() bug.
 | 
|---|
| 2263 |         Fixed multiple calls to mktemp().  Will now work on machines that can
 | 
|---|
| 2264 |         only read 32767 chars.  Added -R option for diffs with new and old
 | 
|---|
| 2265 |         swapped.  Various cosmetic changes.
 | 
|---|
| 2266 | 
 | 
|---|
| 2267 | 1984-11-09  Larry Wall  <sdcrdcf!lwall>
 | 
|---|
| 2268 |         * patch.c: Initial revision
 | 
|---|
| 2269 | 
 | 
|---|
| 2270 | 
 | 
|---|
| 2271 | Copyright (C) 1984, 1985, 1986, 1987, 1988 Larry Wall.
 | 
|---|
| 2272 | 
 | 
|---|
| 2273 | Copyright (C) 1989, 1990, 1991, 1992, 1993, 1997, 1998, 1999, 2000, 2001,
 | 
|---|
| 2274 | 2002 Free Software Foundation, Inc.
 | 
|---|
| 2275 | 
 | 
|---|
| 2276 | This file is part of GNU Patch.
 | 
|---|
| 2277 | 
 | 
|---|
| 2278 | This program is free software; you can redistribute it and/or modify
 | 
|---|
| 2279 | it under the terms of the GNU General Public License as published by
 | 
|---|
| 2280 | the Free Software Foundation; either version 2, or (at your option)
 | 
|---|
| 2281 | any later version.
 | 
|---|
| 2282 | 
 | 
|---|
| 2283 | This program is distributed in the hope that they will be useful,
 | 
|---|
| 2284 | but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|---|
| 2285 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
|---|
| 2286 | GNU General Public License for more details.
 | 
|---|
| 2287 | 
 | 
|---|
| 2288 | You should have received a copy of the GNU General Public License
 | 
|---|
| 2289 | along with this program; see the file COPYING.  If not, write to
 | 
|---|
| 2290 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
|---|
| 2291 | Boston, MA 02111-1307, USA.
 | 
|---|