| 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. | 
|---|