changeset 13571:362b27e3f702 v8.0.1658

patch 8.0.1658: capitalize argument not available in long form commit https://github.com/vim/vim/commit/79cf7c0d4574f15cfad5ad706f175e226c528f2a Author: Bram Moolenaar <Bram@vim.org> 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.
author Christian Brabandt <cb@256bit.org>
date Tue, 03 Apr 2018 14:30:08 +0200
parents d2b609a32753
children 9a854ee46751
files runtime/doc/xxd.1 runtime/doc/xxd.man src/version.c src/xxd/xxd.c
diffstat 4 files changed, 62 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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  <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
+              Format  <cols> 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> bytes (two  hex  characters
+              Separate  the  output of every <bytes> bytes (two hex characters
               or eight bit-digits each) by a whitespace.  Specify -g 0 to sup‐
               press grouping.  <Bytes> 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 <len> octets.
+              Stop after writing <len> octets.
 
        -o offset
-              add <offset> to the displayed file position.
+              Add <offset> 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 <seek> bytes abs. (or rel.) infile offset.  + indicates
-              that  the  seek  is  relative to the current stdin file position
+              Start at <seek> 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
--- 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,
--- 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])