mirror of https://github.com/postgres/postgres
columns, shifting comment to the right when more than 150 'else if' clauses were used, and update typedefs for 8.1.X. NetBSD patched updated, with documentation.REL8_1_STABLE
parent
659d3b2b0e
commit
b2625c13e0
@ -1,53 +1,174 @@ |
|||||||
|
|
||||||
This increases the number of typedef's understood by BSD indent from 100
|
This patch contains several fixes to NetBSD's indent and should be
|
||||||
to 4096. The second patch allows it to understand 0x7fU and 0LL constants.
|
applied before using pgindent.
|
||||||
|
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
*** ./lexi.c.orig Mon Sep 8 17:55:47 1997
|
Index: README
|
||||||
--- ./lexi.c Mon Sep 8 17:02:10 1997
|
===================================================================
|
||||||
|
RCS file: /cvsroot/src/usr.bin/indent/README,v
|
||||||
|
retrieving revision 1.1
|
||||||
|
diff -c -r1.1 README
|
||||||
|
*** README 9 Apr 1993 12:59:06 -0000 1.1
|
||||||
|
--- README 15 Nov 2005 00:25:43 -0000
|
||||||
***************
|
***************
|
||||||
*** 58,64 ****
|
*** 1,3 ****
|
||||||
int rwcode;
|
--- 1,13 ----
|
||||||
|
+
|
||||||
|
+ This patch is from NetBSD current, 2005-11-14. It contains all the
|
||||||
|
+ patches need for its use in PostgreSQL.
|
||||||
|
+
|
||||||
|
+ bjm
|
||||||
|
+
|
||||||
|
+ ---------------------------------------------------------------------------
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+
|
||||||
|
This is the C indenter, it originally came from the University of Illinois
|
||||||
|
via some distribution tape for PDP-11 Unix. It has subsequently been
|
||||||
|
hacked upon by James Gosling @ CMU. It isn't very pretty, and really needs
|
||||||
|
Index: indent_globs.h
|
||||||
|
===================================================================
|
||||||
|
RCS file: /cvsroot/src/usr.bin/indent/indent_globs.h,v
|
||||||
|
retrieving revision 1.8
|
||||||
|
diff -c -r1.8 indent_globs.h
|
||||||
|
*** indent_globs.h 7 Aug 2003 11:14:08 -0000 1.8
|
||||||
|
--- indent_globs.h 15 Nov 2005 00:25:44 -0000
|
||||||
|
***************
|
||||||
|
*** 239,245 ****
|
||||||
|
scomf, /* Same line comment font */
|
||||||
|
bodyf; /* major body font */
|
||||||
|
|
||||||
|
! #define STACK_SIZE 150
|
||||||
|
|
||||||
|
EXTERN struct parser_state {
|
||||||
|
int last_token;
|
||||||
|
--- 239,249 ----
|
||||||
|
scomf, /* Same line comment font */
|
||||||
|
bodyf; /* major body font */
|
||||||
|
|
||||||
|
! /*
|
||||||
|
! * This controls the maximum number of 'else if' clauses supported.
|
||||||
|
! * If it is exceeded, comments are placed in column 100.
|
||||||
|
! */
|
||||||
|
! #define STACK_SIZE 1000
|
||||||
|
|
||||||
|
EXTERN struct parser_state {
|
||||||
|
int last_token;
|
||||||
|
Index: lexi.c
|
||||||
|
===================================================================
|
||||||
|
RCS file: /cvsroot/src/usr.bin/indent/lexi.c,v
|
||||||
|
retrieving revision 1.12
|
||||||
|
diff -c -r1.12 lexi.c
|
||||||
|
*** lexi.c 7 Aug 2003 11:14:09 -0000 1.12
|
||||||
|
--- lexi.c 15 Nov 2005 00:25:44 -0000
|
||||||
|
***************
|
||||||
|
*** 93,99 ****
|
||||||
|
int rwcode;
|
||||||
};
|
};
|
||||||
|
|
||||||
! struct templ specials[100] =
|
! struct templ specials[1000] =
|
||||||
{
|
{
|
||||||
"switch", 1,
|
{"switch", 1},
|
||||||
"case", 2,
|
{"case", 2},
|
||||||
--- 58,64 ----
|
--- 93,99 ----
|
||||||
int rwcode;
|
int rwcode;
|
||||||
};
|
};
|
||||||
|
|
||||||
! struct templ specials[4096] =
|
! struct templ specials[16384] =
|
||||||
{
|
{
|
||||||
"switch", 1,
|
{"switch", 1},
|
||||||
"case", 2,
|
{"case", 2},
|
||||||
|
***************
|
||||||
|
*** 622,629 ****
|
||||||
|
else
|
||||||
|
p++;
|
||||||
|
if (p >= specials + sizeof specials / sizeof specials[0])
|
||||||
|
! return; /* For now, table overflows are silently
|
||||||
|
! * ignored */
|
||||||
|
p->rwd = key;
|
||||||
|
p->rwcode = val;
|
||||||
|
p[1].rwd = 0;
|
||||||
|
--- 622,632 ----
|
||||||
|
else
|
||||||
|
p++;
|
||||||
|
if (p >= specials + sizeof specials / sizeof specials[0])
|
||||||
|
! {
|
||||||
|
! fprintf(stderr, "indent: typedef table overflow\n");
|
||||||
|
! exit(1);
|
||||||
|
! }
|
||||||
|
!
|
||||||
|
p->rwd = key;
|
||||||
|
p->rwcode = val;
|
||||||
|
p[1].rwd = 0;
|
||||||
|
Index: parse.c
|
||||||
|
===================================================================
|
||||||
|
RCS file: /cvsroot/src/usr.bin/indent/parse.c,v
|
||||||
|
retrieving revision 1.7
|
||||||
|
diff -c -r1.7 parse.c
|
||||||
|
*** parse.c 7 Aug 2003 11:14:09 -0000 1.7
|
||||||
|
--- parse.c 15 Nov 2005 00:25:44 -0000
|
||||||
|
***************
|
||||||
|
*** 231,236 ****
|
||||||
|
--- 231,241 ----
|
||||||
|
|
||||||
|
} /* end of switch */
|
||||||
|
|
||||||
|
+ if (ps.tos >= STACK_SIZE) {
|
||||||
|
+ fprintf(stderr, "indent: stack size overflow\n");
|
||||||
|
+ exit(1);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
reduce(); /* see if any reduction can be done */
|
||||||
|
|
||||||
|
#ifdef debug
|
||||||
|
Index: pr_comment.c
|
||||||
|
===================================================================
|
||||||
|
RCS file: /cvsroot/src/usr.bin/indent/pr_comment.c,v
|
||||||
|
retrieving revision 1.9
|
||||||
|
diff -c -r1.9 pr_comment.c
|
||||||
|
*** pr_comment.c 7 Aug 2003 11:14:09 -0000 1.9
|
||||||
|
--- pr_comment.c 15 Nov 2005 00:25:44 -0000
|
||||||
|
***************
|
||||||
|
*** 148,154 ****
|
||||||
|
ps.box_com = true;
|
||||||
|
ps.com_col = 1;
|
||||||
|
} else {
|
||||||
|
! if (*buf_ptr == '-' || *buf_ptr == '*' || *buf_ptr == '\n') {
|
||||||
|
ps.box_com = true; /* a comment with a '-', '*'
|
||||||
|
* or newline immediately
|
||||||
|
* after the start comment is
|
||||||
|
--- 148,158 ----
|
||||||
|
ps.box_com = true;
|
||||||
|
ps.com_col = 1;
|
||||||
|
} else {
|
||||||
|
! /*
|
||||||
|
! * Don't process '\n' or every comment is treated as a
|
||||||
|
! * block comment, meaning there is no wrapping.
|
||||||
|
! */
|
||||||
|
! if (*buf_ptr == '-' || *buf_ptr == '*') {
|
||||||
|
ps.box_com = true; /* a comment with a '-', '*'
|
||||||
|
* or newline immediately
|
||||||
|
* after the start comment is
|
||||||
***************
|
***************
|
||||||
*** 186,192 ****
|
*** 328,333 ****
|
||||||
*e_token++ = *buf_ptr++;
|
--- 332,350 ----
|
||||||
}
|
goto end_of_comment;
|
||||||
}
|
}
|
||||||
! if (*buf_ptr == 'L' || *buf_ptr == 'l')
|
} while (*buf_ptr == ' ' || *buf_ptr == '\t');
|
||||||
*e_token++ = *buf_ptr++;
|
+
|
||||||
}
|
+ /*
|
||||||
else
|
+ * If there is a blank comment line, we need to prefix
|
||||||
--- 186,203 ----
|
+ * the line with the same three spaces that "/* " takes up.
|
||||||
*e_token++ = *buf_ptr++;
|
+ * Without this code, blank stared lines in comments have
|
||||||
}
|
+ * three too-many characters on the line when wrapped.
|
||||||
}
|
+ */
|
||||||
! if (*buf_ptr == 'F' || *buf_ptr == 'f') {
|
+ if (s_com == e_com) {
|
||||||
! /* float constant */
|
+ *e_com++ = ' '; /* add blanks for continuation */
|
||||||
! *e_token++ = *buf_ptr++;
|
+ *e_com++ = ' ';
|
||||||
! } else {
|
+ *e_com++ = ' ';
|
||||||
! /* integer constant (U, L, UL, LL, ULL) */
|
+ now_col += 3;
|
||||||
! if (*buf_ptr == 'U' || *buf_ptr == 'u')
|
+ }
|
||||||
! *e_token++ = *buf_ptr++;
|
} else
|
||||||
! if (*buf_ptr == 'L' || *buf_ptr == 'l')
|
if (++buf_ptr >= buf_end)
|
||||||
! *e_token++ = *buf_ptr++;
|
fill_buffer();
|
||||||
! if (*buf_ptr == 'L' || *buf_ptr == 'l')
|
|
||||||
! *e_token++ = *buf_ptr++;
|
|
||||||
! }
|
|
||||||
}
|
|
||||||
else
|
|
||||||
while (chartype[*buf_ptr] == alphanum) { /* copy it over */
|
|
||||||
|
|||||||
Loading…
Reference in new issue