# HG changeset patch # User Christian Brabandt # Date 1522758608 -7200 # Node ID 362b27e3f7020ba567f630573fa2a5a6c0ffba66 # Parent d2b609a32753fc9db55f4ba30c280837c949d7d5 patch 8.0.1658: capitalize argument not available in long form commit https://github.com/vim/vim/commit/79cf7c0d4574f15cfad5ad706f175e226c528f2a Author: Bram Moolenaar Date: Tue Apr 3 14:21:16 2018 +0200 patch 8.0.1658: capitalize argument not available in long form Problem: Capitalize argument not available in long form. Solution: Recognize -capitalize. Update man page. diff --git a/runtime/doc/xxd.1 b/runtime/doc/xxd.1 --- a/runtime/doc/xxd.1 +++ b/runtime/doc/xxd.1 @@ -57,7 +57,7 @@ are all equivalent. .PP .TP .IR \-a " | " \-autoskip -toggle autoskip: A single '*' replaces nul-lines. Default off. +Toggle autoskip: A single '*' replaces nul-lines. Default off. .TP .IR \-b " | " \-bits Switch to bits (binary digits) dump, rather than hexdump. @@ -67,10 +67,13 @@ followed by an ascii (or ebcdic) represe \-r, \-p, \-i do not work with this mode. .TP .IR "\-c cols " | " \-cols cols" -format +Format .RI < cols > octets per line. Default 16 (\-i: 12, \-ps: 30, \-b: 6). Max 256. .TP +.IR \-C " | " \-capitalize +Capitalize variable names in C include file style, when using \-i. +.TP .IR \-E " | " \-EBCDIC Change the character encoding in the righthand column from ASCII to EBCDIC. This does not change the hexadecimal representation. The option is @@ -87,7 +90,7 @@ The command line switches \-r, \-p, \-i do not work with this mode. .TP .IR "\-g bytes " | " \-groupsize bytes" -separate the output of every +Separate the output of every .RI < bytes > bytes (two hex characters or eight bit-digits each) by a whitespace. Specify @@ -98,28 +101,28 @@ in normal mode, \fI4\fP in little-endian Grouping does not apply to postscript or include style. .TP .IR \-h " | " \-help -print a summary of available commands and exit. No hex dumping is performed. +Print a summary of available commands and exit. No hex dumping is performed. .TP .IR \-i " | " \-include -output in C include file style. A complete static array definition is written +Output in C include file style. A complete static array definition is written (named after the input file), unless xxd reads from stdin. .TP .IR "\-l len " | " \-len len" -stop after writing +Stop after writing .RI < len > octets. .TP .I \-o offset -add +Add .RI < offset > to the displayed file position. .TP .IR \-p " | " \-ps " | " \-postscript " | " \-plain -output in postscript continuous hexdump style. Also known as plain hexdump +Output in postscript continuous hexdump style. Also known as plain hexdump style. .TP .IR \-r " | " \-revert -reverse operation: convert (or patch) hexdump into binary. +Reverse operation: convert (or patch) hexdump into binary. If not writing to stdout, xxd writes into its output file without truncating it. Use the combination .I \-r \-p @@ -135,7 +138,7 @@ revert with added to file positions found in hexdump. .TP .I \-s [+][\-]seek -start at +Start at .RI < seek > bytes abs. (or rel.) infile offset. \fI+ \fRindicates that the seek is relative to the current stdin file position @@ -145,10 +148,10 @@ should be that many characters from the Without \-s option, xxd starts at the current file position. .TP .I \-u -use upper case hex letters. Default is lower case. +Use upper case hex letters. Default is lower case. .TP .IR \-v " | " \-version -show version string. +Show version string. .SH CAVEATS .PP .I xxd \-r diff --git a/runtime/doc/xxd.man b/runtime/doc/xxd.man --- a/runtime/doc/xxd.man +++ b/runtime/doc/xxd.man @@ -30,7 +30,7 @@ OPTIONS notation. Thus -c8, -c 8, -c 010 and -cols 8 are all equivalent. -a | -autoskip - toggle autoskip: A single '*' replaces nul-lines. Default off. + Toggle autoskip: A single '*' replaces nul-lines. Default off. -b | -bits Switch to bits (binary digits) dump, rather than hexdump. This @@ -41,9 +41,13 @@ OPTIONS mode. -c cols | -cols cols - format octets per line. Default 16 (-i: 12, -ps: 30, -b: + Format octets per line. Default 16 (-i: 12, -ps: 30, -b: 6). Max 256. + -C | -capitalize + Capitalize variable names in C include file style, when using + -i. + -E | -EBCDIC Change the character encoding in the righthand column from ASCII to EBCDIC. This does not change the hexadecimal representation. @@ -52,41 +56,41 @@ OPTIONS -e Switch to little-endian hexdump. This option treats byte groups as words in little-endian byte order. The default grouping of 4 bytes may be changed using -g. This option only applies to hex‐ - dump, leaving the ASCII (or EBCDIC) representation unchanged. + dump, leaving the ASCII (or EBCDIC) representation unchanged. The command line switches -r, -p, -i do not work with this mode. -g bytes | -groupsize bytes - separate the output of every bytes (two hex characters + Separate the output of every bytes (two hex characters or eight bit-digits each) by a whitespace. Specify -g 0 to sup‐ press grouping. defaults to 2 in normal mode, 4 in lit‐ - tle-endian mode and 1 in bits mode. Grouping does not apply to + tle-endian mode and 1 in bits mode. Grouping does not apply to postscript or include style. -h | -help - print a summary of available commands and exit. No hex dumping + Print a summary of available commands and exit. No hex dumping is performed. -i | -include - output in C include file style. A complete static array defini‐ - tion is written (named after the input file), unless xxd reads + Output in C include file style. A complete static array defini‐ + tion is written (named after the input file), unless xxd reads from stdin. -l len | -len len - stop after writing octets. + Stop after writing octets. -o offset - add to the displayed file position. + Add to the displayed file position. -p | -ps | -postscript | -plain - output in postscript continuous hexdump style. Also known as + Output in postscript continuous hexdump style. Also known as plain hexdump style. -r | -revert - reverse operation: convert (or patch) hexdump into binary. If - not writing to stdout, xxd writes into its output file without + Reverse operation: convert (or patch) hexdump into binary. If + not writing to stdout, xxd writes into its output file without truncating it. Use the combination -r -p to read plain hexadeci‐ mal dumps without line number information and without a particu‐ - lar column layout. Additional Whitespace and line-breaks are + lar column layout. Additional Whitespace and line-breaks are allowed anywhere. -seek offset @@ -94,34 +98,34 @@ OPTIONS found in hexdump. -s [+][-]seek - start at bytes abs. (or rel.) infile offset. + indicates - that the seek is relative to the current stdin file position + Start at bytes abs. (or rel.) infile offset. + indicates + that the seek is relative to the current stdin file position (meaningless when not reading from stdin). - indicates that the - seek should be that many characters from the end of the input + seek should be that many characters from the end of the input (or if combined with +: before the current stdin file position). Without -s option, xxd starts at the current file position. - -u use upper case hex letters. Default is lower case. + -u Use upper case hex letters. Default is lower case. -v | -version - show version string. + Show version string. CAVEATS xxd -r has some builtin magic while evaluating line number information. - If the output file is seekable, then the linenumbers at the start of - each hexdump line may be out of order, lines may be missing, or over‐ - lapping. In these cases xxd will lseek(2) to the next position. If the - output file is not seekable, only gaps are allowed, which will be + If the output file is seekable, then the linenumbers at the start of + each hexdump line may be out of order, lines may be missing, or over‐ + lapping. In these cases xxd will lseek(2) to the next position. If the + output file is not seekable, only gaps are allowed, which will be filled by null-bytes. xxd -r never generates parse errors. Garbage is silently skipped. - When editing hexdumps, please note that xxd -r skips everything on the + When editing hexdumps, please note that xxd -r skips everything on the input line after reading enough columns of hexadecimal data (see option - -c). This also means, that changes to the printable ascii (or ebcdic) - columns are always ignored. Reverting a plain (or postscript) style - hexdump with xxd -r -p does not depend on the correct number of col‐ - umns. Here anything that looks like a pair of hex-digits is inter‐ + -c). This also means, that changes to the printable ascii (or ebcdic) + columns are always ignored. Reverting a plain (or postscript) style + hexdump with xxd -r -p does not depend on the correct number of col‐ + umns. Here anything that looks like a pair of hex-digits is inter‐ preted. Note the difference between @@ -129,28 +133,28 @@ CAVEATS and % xxd -i < file - xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to + xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to "rewind" input. A '+' makes a difference if the input source is stdin, - and if stdin's file position is not at the start of the file by the - time xxd is started and given its input. The following examples may + and if stdin's file position is not at the start of the file by the + time xxd is started and given its input. The following examples may help to clarify (or further confuse!)... - Rewind stdin before reading; needed because the `cat' has already read + Rewind stdin before reading; needed because the `cat' has already read to the end of stdin. % sh -c "cat > plain_copy; xxd -s 0 > hex_copy" < file - Hexdump from file position 0x480 (=1024+128) onwards. The `+' sign + Hexdump from file position 0x480 (=1024+128) onwards. The `+' sign means "relative to the current position", thus the `128' adds to the 1k where dd left off. - % sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet" + % sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet" < file Hexdump from file position 0x100 ( = 1024-768) on. % sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet" < file - However, this is a rare situation and the use of `+' is rarely needed. - The author prefers to monitor the effect of xxd with strace(1) or + However, this is a rare situation and the use of `+' is rarely needed. + The author prefers to monitor the effect of xxd with strace(1) or truss(1), whenever -s is used. EXAMPLES @@ -194,7 +198,7 @@ EXAMPLES % xxd -s 0x36 -l 13 -c 13 xxd.1 0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996 - Create a 65537 byte file with all bytes 0x00, except for the last one + Create a 65537 byte file with all bytes 0x00, except for the last one which is 'A' (hex 0x41). % echo "010000: 41" | xxd -r > file @@ -204,7 +208,7 @@ EXAMPLES * 000fffc: 0000 0000 40 ....A - Create a 1 byte file containing a single 'A' character. The number + Create a 1 byte file containing a single 'A' character. The number after '-r -s' adds to the linenumbers found in the file; in effect, the leading bytes are suppressed. % echo "010000: 41" | xxd -r -s -0x10000 > file @@ -245,7 +249,7 @@ SEE ALSO uuencode(1), uudecode(1), patch(1) WARNINGS - The tools weirdness matches its creators brain. Use entirely at your + The tools weirdness matches its creators brain. Use entirely at your own risk. Copy files. Trace it. Become a wizard. VERSION diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -763,6 +763,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1658, +/**/ 1657, /**/ 1656, diff --git a/src/xxd/xxd.c b/src/xxd/xxd.c --- a/src/xxd/xxd.c +++ b/src/xxd/xxd.c @@ -510,6 +510,8 @@ main(int argc, char *argv[]) { if (pp[2] && STRNCMP("ols", pp + 2, 3)) cols = (int)strtol(pp + 2, NULL, 0); + else if (pp[2] && STRNCMP("apitalize", pp + 2, 9)) + capitalize = 1; else { if (!argv[2])