Discussion:
Extraneous form feeds
(too old to reply)
J William Piggott
2017-03-31 23:56:50 UTC
Permalink
Raw Message
Hello all, I am not subscribed so please cc me.

This project is loaded with extraneous form feeds (FF, 0x0C, ^L).
Many, if not all, of them were in the initial commit:

8< ---

commit 43e78b970f396160a887c9da94531569faeda8a0
Author: Jim Meyering <***@meyering.net>
Date: Sun Nov 1 05:44:30 1992 +0000

Initial revision

8< ---

I noticed one while working on parse-datetime.y. After tracing it back
to the first commit I ran the following command on the repo:

grep --exclude-dir=.git -IErin '^L' | less

doc/COPYING.LESSERv2:58:^L
doc/COPYING.LESSERv2:114:^L
doc/COPYING.LESSERv2:161:^L
doc/COPYING.LESSERv2:219:^L
doc/COPYING.LESSERv2:270:^L
doc/COPYING.LESSERv2:332:^L
doc/COPYING.LESSERv2:373:^L
doc/COPYING.LESSERv2:425:^L
doc/COPYING.LESSERv2:459:^L
lib/error.c:329:^L
lib/glob.c:105:^L
lib/getloadavg.c:438:^L
lib/getloadavg.c:472:^L
lib/regcomp.c:126:^L
lib/regcomp.c:206:^L
lib/regcomp.c:429:^L
lib/regcomp.c:663:^L
lib/regcomp.c:731:^L
lib/regcomp.c:1083:^L
lib/regcomp.c:1165:^L
lib/regcomp.c:1778:^L
lib/regcomp.c:2115:^L
lib/regcomp.c:3789:^L
lib/regcomp.c:3805:^L
lib/getopt_int.h:29:^L
lib/parse-datetime.y:1169:^L
lib/regexec.c:204:^L
lib/regexec.c:587:^L
lib/regexec.c:601:^L
lib/regexec.c:2261:^L
lib/regexec.c:4169:^L
lib/euidaccess.c:194:^L
lib/getopt.c:21:^L
lib/getopt.c:99:^L
lib/getopt.c:103:^L
lib/getopt.c:288:^L
lib/getopt.c:1206:^L
lib/argmatch.c:71:^L
lib/getcwd.c:102:^L
lib/strtol.c:410:^L
lib/argp-parse.c:66:^L
lib/argp-parse.c:140:^L
lib/argp-parse.c:172:^L
lib/argp-parse.c:191:^L
lib/argp-parse.c:241:^L
lib/argp-parse.c:274:^L
lib/argp-parse.c:416:^L
lib/argp-parse.c:568:^L
lib/argp-parse.c:660:^L
lib/argp-parse.c:714:^L
lib/argp-parse.c:773:^L
lib/argp-parse.c:864:^L
lib/argp-parse.c:934:^L
lib/getopt1.c:18:^L
lib/getopt1.c:79:^L
lib/argp-fmtstream.h:90:^L
lib/argp-fmtstream.h:148:^L
lib/argp-fmtstream.h:186:^L
lib/argz.in.h:117:^L
lib/regex_internal.h:738:^L
lib/regex_internal.c:31:^L
lib/regex_internal.c:962:^L
lib/regex_internal.c:1397:^L
lib/argp-fmtstream.c:49:^L
lib/argp-fmtstream.c:117:^L
lib/argp-fmtstream.c:346:^L
lib/argp-fmtstream.c:399:^L
lib/getusershell.c:74:^L
lib/regex.h:213:^L
lib/regex.h:394:^L
lib/regex.h:480:^L
lib/regex.h:523:^L
lib/argp.h:67:^L
lib/argp.h:149:^L
lib/argp.h:289:^L
lib/argp.h:314:^L
lib/argp.h:362:^L
lib/argp.h:422:^L
lib/argp.h:465:^L
lib/argp.h:503:^L
lib/argp.h:573:^L
lib/random_r.c:168:^L
lib/random_r.c:234:^L
lib/random_r.c:309:^L
lib/random_r.c:364:^L
lib/mktime.c:488:^L
lib/mktime.c:625:^L
lib/argp-help.c:58:^L
lib/argp-help.c:254:^L
lib/argp-help.c:273:^L
lib/argp-help.c:337:^L
lib/argp-help.c:349:^L
lib/argp-help.c:428:^L
lib/argp-help.c:500:^L
lib/argp-help.c:524:^L
lib/argp-help.c:546:^L
lib/argp-help.c:597:^L
lib/argp-help.c:650:^L
lib/argp-help.c:660:^L
lib/argp-help.c:713:^L
lib/argp-help.c:832:^L
lib/argp-help.c:925:^L
lib/argp-help.c:964:^L
lib/argp-help.c:1084:^L
lib/argp-help.c:1211:^L
lib/argp-help.c:1242:^L
lib/argp-help.c:1321:^L
lib/argp-help.c:1360:^L
lib/argp-help.c:1383:^L
lib/argp-help.c:1461:^L
lib/argp-help.c:1554:^L
lib/argp-help.c:1699:^L
lib/argp-help.c:1755:^L
lib/argp-help.c:1810:^L
tests/test-update-copyright.sh:406: # 98, 1999, 2000, 2001, 2002, 2003, ^L 2004, 2005, 2006, 2007, 2008,
tests/test-argp.c:92:^L
tests/test-argp.c:128:^L
tests/test-argp.c:174:^L
tests/test-argp.c:210:^L
build-aux/texinfo.tex:238:%^L Output routine
build-aux/texinfo.tex:4858:^L
build-aux/texinfo.tex:5220:^L
build-aux/texinfo.tex:8804:% ^L
build-aux/gendocs.sh:285:# ^L
build-aux/gendocs.sh:298:# ^L
build-aux/gendocs.sh:317:# ^L
build-aux/gendocs.sh:330:# ^L
build-aux/gendocs.sh:409:# ^L
build-aux/gendocs.sh:420:# ^L
build-aux/gendocs.sh:460:# ^L
config/srclist.txt:63:# ^L
config/srclist-update:58:# ^L
config/srclist-update:115:# ^L
Bruno Haible
2017-04-01 00:40:08 UTC
Permalink
Raw Message
Hi,
Post by J William Piggott
This project is loaded with extraneous form feeds (FF, 0x0C, ^L).
Quoting Wikipedia [1]:
"The form feed character is sometimes used in plain text files of source code
as a delimiter for a page break, or as marker for sections of code. Some
editors, in particular emacs and vi, have built-in commands to page up/down
on the form feed character."
In the ancient times, most editors enabled you to edit one file at a time.
That's the reason why people put a lot of code in a single file - you
cited regcomp.c and regexec.c in particular - and therefore needed a way
to dissect the file into sections or pages. Nowadays it is more common
to distribute the code over several files.

Bruno

[1] https://en.wikipedia.org/wiki/Page_break
J William Piggott
2017-04-01 12:16:34 UTC
Permalink
Raw Message
Thank you for the education Bruno; I wasn't aware of that.
Apologies for adding noise to the list.
Post by Bruno Haible
Hi,
Post by J William Piggott
This project is loaded with extraneous form feeds (FF, 0x0C, ^L).
"The form feed character is sometimes used in plain text files of source code
as a delimiter for a page break, or as marker for sections of code. Some
editors, in particular emacs and vi, have built-in commands to page up/down
on the form feed character."
In the ancient times, most editors enabled you to edit one file at a time.
That's the reason why people put a lot of code in a single file - you
cited regcomp.c and regexec.c in particular - and therefore needed a way
to dissect the file into sections or pages. Nowadays it is more common
to distribute the code over several files.
Bruno
[1] https://en.wikipedia.org/wiki/Page_break
Loading...