diff options
author | June McEnroe <june@causal.agency> | 2020-12-19 15:49:08 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-12-19 15:49:08 -0500 |
commit | 83d63b64c7c18b05912c8574c595b540c58a1229 (patch) | |
tree | 178a3f85da1f47f6b9672aad00aa588220fbba41 | |
parent | Open rfc-index.txt for :RFC without argument (diff) | |
download | src-83d63b64c7c18b05912c8574c595b540c58a1229.tar.gz src-83d63b64c7c18b05912c8574c595b540c58a1229.zip |
Sort RFC tags file
This supposedly lets vim do binary search on the file, not that it seemed slow before. Also handle section headings with no names.
-rw-r--r-- | rfc/Makefile | 2 | ||||
-rw-r--r-- | rfc/rfctags.pl | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/rfc/Makefile b/rfc/Makefile index c83f9879..630b09f9 100644 --- a/rfc/Makefile +++ b/rfc/Makefile @@ -1,7 +1,7 @@ MODULE = ftp.rfc-editor.org::rfcs-text-only tags: rfctags.pl - perl rfctags.pl > $@ + perl rfctags.pl | sort -f > $@ sync: rsync -z ${MODULE}/rfc-index.txt ${MODULE}/'rfc[0-9]*.txt' . diff --git a/rfc/rfctags.pl b/rfc/rfctags.pl index cd3ba288..5833e17a 100644 --- a/rfc/rfctags.pl +++ b/rfc/rfctags.pl @@ -5,15 +5,16 @@ use open ':encoding(ISO-8859-1)'; use IO::Uncompress::Gunzip qw($GunzipError); ($,, $\) = ("\t", "\n"); +print '!_TAG_FILE_SORTED', 2, $0; # Promise to pipe this through sort -f for my $rfc (<*.txt.gz>) { my $handle = new IO::Uncompress::Gunzip $rfc or die "${rfc}: ${GunzipError}"; while (<$handle>) { chomp; # Section headings - if (/^([\d.]+|[A-Z][.])\s+([^\t]+)/) { + if (/^([\d.]+|[A-Z][.])\s+([^\t]+)?/) { print $1, $rfc, $.; - print $2, $rfc, $.; + print $2, $rfc, $. if $2; } # References if (/^\s*(\[[\w-]+\])\s{2,}/) { |