Contents of /code/trunk/ChangeLog

1. Move the comment about version numbers from pcre.h.in to configure.ac
because that's where they are now set.
2. Update all the man pages to remove the use of .br and .in because this
causes trouble for some HTML converters. Also standardised the final sections
giving author information and revision date.
3. Update the maintain/132html man page converter to handle .nf/.fi and to barf
at .br/.in.

1

ChangeLog for PCRE

2

------------------

3

4

Version 7.1 05-Mar-07

5

---------------------

6

7

1. Applied Bob Rossi and Daniel G's patches to convert the build system to one

8

that is more "standard", making use of automake and other autotools. There

9

is some re-arrangement of the files and adjustment of comments consequent

10

on this.

11

12

2. I had an email from Eric Raymond about problems translating some of PCRE's

13

man pages to HTML (despite the fact that I distribute HTML pages, some

14

people do their own conversions for various reasons). The problems

15

concerned the use of low-level troff macros .br and .in. I have therefore

16

removed all such uses from the man pages (some were redundant, some could

17

be replaced by .nf/.fi pairs). The maintain/132html script that I use to

18

generate HTML has been updated to handle .nf/.fi and to complain if it

19

encounters .br or .in.

20

21

22

Version 7.0 19-Dec-06

23

---------------------

24

25

1. Fixed a signed/unsigned compiler warning in pcre_compile.c, shown up by

26

moving to gcc 4.1.1.

27

28

2. The -S option for pcretest uses setrlimit(); I had omitted to #include

29

sys/time.h, which is documented as needed for this function. It doesn't

30

seem to matter on Linux, but it showed up on some releases of OS X.

31

32

3. It seems that there are systems where bytes whose values are greater than

33

127 match isprint() in the "C" locale. The "C" locale should be the

34

default when a C program starts up. In most systems, only ASCII printing

35

characters match isprint(). This difference caused the output from pcretest

36

to vary, making some of the tests fail. I have changed pcretest so that:

37

38

(a) When it is outputting text in the compiled version of a pattern, bytes

39

other than 32-126 are always shown as hex escapes.

40

41

(b) When it is outputting text that is a matched part of a subject string,

42

it does the same, unless a different locale has been set for the match

43

(using the /L modifier). In this case, it uses isprint() to decide.

44

45

4. Fixed a major bug that caused incorrect computation of the amount of memory

46

required for a compiled pattern when options that changed within the

47

pattern affected the logic of the preliminary scan that determines the

48

length. The relevant options are -x, and -i in UTF-8 mode. The result was

49

that the computed length was too small. The symptoms of this bug were

50

either the PCRE error "internal error: code overflow" from pcre_compile(),

51

or a glibc crash with a message such as "pcretest: free(): invalid next