From: Viktor Szakats Date: Tue, 4 Nov 2025 03:05:19 +0000 (+0100) Subject: tests: shorten space and tab macro names X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=403a2c2b06eb1ab483f7140f43f062865248269d;p=thirdparty%2Fcurl.git tests: shorten space and tab macro names Easier to write and read. Follow-up to d29f14b9cf0d38f3887b6eadc71af16903bc7f5b #19300 Closes #19349 --- diff --git a/docs/tests/FILEFORMAT.md b/docs/tests/FILEFORMAT.md index 070735836e..9703df9aa8 100644 --- a/docs/tests/FILEFORMAT.md +++ b/docs/tests/FILEFORMAT.md @@ -81,8 +81,8 @@ For example, to insert the word hello 100 times: To add significant whitespace characters at the end of the line, or to empty lines: - %spc% - %tab% + %SP - space + %TAB - horizontal tab ## Insert capped epoch days diff --git a/tests/data/test1029 b/tests/data/test1029 index ac636449cb..2004791cd8 100644 --- a/tests/data/test1029 +++ b/tests/data/test1029 @@ -50,7 +50,7 @@ Content-Length: 62 Connection: close This server reply is for testing a simple Location: following -http://%HOSTIP:%HTTPPORT/we/want/our/data/%TESTNUMBER0002.txt?coolsite=yes http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER 0%spc% +http://%HOSTIP:%HTTPPORT/we/want/our/data/%TESTNUMBER0002.txt?coolsite=yes http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER 0%SP diff --git a/tests/data/test1070 b/tests/data/test1070 index 39e2d408f8..3305b7b2b2 100644 --- a/tests/data/test1070 +++ b/tests/data/test1070 @@ -57,7 +57,7 @@ Expect: 100-continue Content-Length: 2313 Content-Type: application/x-www-form-urlencoded -This creates%spc% +This creates%SP diff --git a/tests/data/test1090 b/tests/data/test1090 index ad3c59d113..0e3879c68c 100644 --- a/tests/data/test1090 +++ b/tests/data/test1090 @@ -30,7 +30,7 @@ Connection: close Content-Type: text/plain; charset=us-ascii 0007 -bigger%spc% +bigger%SP 0008 monster diff --git a/tests/data/test1105 b/tests/data/test1105 index aa84c862cb..d23b92f560 100644 --- a/tests/data/test1105 +++ b/tests/data/test1105 @@ -19,9 +19,9 @@ Funny-head: yesyes swsclose Set-Cookie: foobar=name; Set-Cookie: mismatch=this; domain=127.0.0.1; path="/silly/"; Set-Cookie: partmatch=present; domain=.0.0.1; path=/; -Set-Cookie: foo%tab%bar=barfoo -Set-Cookie: bar%tab%foo= -Set-Cookie: bar=foo%tab%bar +Set-Cookie: foo%TABbar=barfoo +Set-Cookie: bar%TABfoo= +Set-Cookie: bar=foo%TABbar diff --git a/tests/data/test1185 b/tests/data/test1185 index 64eef41800..26852a6418 100644 --- a/tests/data/test1185 +++ b/tests/data/test1185 @@ -20,7 +20,7 @@ checksrc * Violate each rule at least once. **/ int hello; /*------------------------------------------------------------------*/ -int%tab%tab; +int%TABtab; int trailing_space; int a = func (); int b = func( b); @@ -91,7 +91,7 @@ void startfunc(int a, int b) { ./%LOGDIR/code1185.c:4:82: warning: Longer than 79 columns (LONGLINE) int hello; /*------------------------------------------------------------------*/ ./%LOGDIR/code1185.c:5:4: error: Contains TAB character (TABS) - int%tab%tab; + int%TABtab; ^ ./%LOGDIR/code1185.c:7:13: warning: func with space (SPACEBEFOREPAREN) int a = func (); @@ -118,7 +118,7 @@ void startfunc(int a, int b) { } else { ^ ./%LOGDIR/code1185.c:24:11: warning: missing space after close paren (PARENBRACE) - if(a == 2){%spc%%spc% + if(a == 2){%SP%SP ^ ./%LOGDIR/code1185.c:28:14: warning: no space before semicolon (SPACESEMICOLON) func_return() ; @@ -205,10 +205,10 @@ void startfunc(int a, int b) { // CPP comment ? ^ ./%LOGDIR/code1185.c:1:1: error: Missing copyright statement (COPYRIGHT) -%spc% +%SP ^ ./%LOGDIR/code1185.c:1:1: error: Missing closing comment (OPENCOMMENT) -%spc% +%SP ^ checksrc: 0 errors and 41 warnings diff --git a/tests/data/test136 b/tests/data/test136 index 70537719cc..c869c612bf 100644 --- a/tests/data/test136 +++ b/tests/data/test136 @@ -30,7 +30,7 @@ FTP with user and no password USER user -PASS%spc% +PASS%SP PWD EPSV TYPE I diff --git a/tests/data/test1461 b/tests/data/test1461 index 71de31772d..4ee109a122 100644 --- a/tests/data/test1461 +++ b/tests/data/test1461 @@ -47,8 +47,8 @@ Usage: curl [options...] This is not the full help; this menu is split into categories. Use "--help category" to get an overview of all categories, which are: -auth, connection, curl, deprecated, dns, file, ftp, global, http, imap, ldap,%spc% -output, pop3, post, proxy, scp, sftp, smtp, ssh, telnet, tftp, timeout, tls,%spc% +auth, connection, curl, deprecated, dns, file, ftp, global, http, imap, ldap,%SP +output, pop3, post, proxy, scp, sftp, smtp, ssh, telnet, tftp, timeout, tls,%SP upload, verbose. Use "--help all" to list all options Use "--help [option]" to view documentation for a given option diff --git a/tests/data/test1654 b/tests/data/test1654 index 3b88236441..8f3cae1556 100644 --- a/tests/data/test1654 +++ b/tests/data/test1654 @@ -27,7 +27,7 @@ h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 # a comment h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 0 h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 0 -%tab%h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 0 +%TABh3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 0 # also a comment bad example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 0 rubbish diff --git a/tests/data/test1664 b/tests/data/test1664 index ea126a3be7..fa0b3a377c 100644 --- a/tests/data/test1664 +++ b/tests/data/test1664 @@ -68,7 +68,7 @@ curlx_str_singlespace 3: ("b") 5, line 0 4: ("\") 5, line 0 5: (" ") 0, line 1 -6: ("%tab%") 5, line 0 +6: ("%TAB") 5, line 0 7: (" ") 5, line 0 8: ("") 5, line 0 diff --git a/tests/data/test17 b/tests/data/test17 index c8c0a19b77..31e2a8e536 100644 --- a/tests/data/test17 +++ b/tests/data/test17 @@ -46,7 +46,7 @@ request MOOO MOOO /that.site.com/%TESTNUMBER HTTP/1.1 Host: %HOSTIP:%HTTPPORT -User-Agent: agent007 license to drill%tab% +User-Agent: agent007 license to drill%TAB Accept: */* diff --git a/tests/data/test1700 b/tests/data/test1700 index 6d26e1b011..e75c1f3d1a 100644 --- a/tests/data/test1700 +++ b/tests/data/test1700 @@ -76,7 +76,7 @@ HTTP/1.1 101 Switching Protocols Connection: Upgrade Upgrade: h2c -HTTP/2 200%spc% +HTTP/2 200%SP date: Tue, 09 Nov 2010 14:49:00 GMT last-modified: Tue, 13 Jun 2000 12:10:00 GMT etag: "21025-dc7-39462498" @@ -87,7 +87,7 @@ funny-head: yesyes via: 1.1 nghttpx -foo- -HTTP/2 200%spc% +HTTP/2 200%SP date: Tue, 09 Nov 2010 14:49:00 GMT content-length: 6 content-type: text/html diff --git a/tests/data/test1701 b/tests/data/test1701 index 44780df197..ecc5f6f17c 100644 --- a/tests/data/test1701 +++ b/tests/data/test1701 @@ -65,7 +65,7 @@ HTTP/1.1 101 Switching Protocols Connection: Upgrade Upgrade: h2c -HTTP/2 200%spc% +HTTP/2 200%SP date: Tue, 09 Nov 2010 14:49:00 GMT last-modified: Tue, 13 Jun 2000 12:10:00 GMT etag: "21025-dc7-39462498" diff --git a/tests/data/test1702 b/tests/data/test1702 index 9f1b167761..96acf700d3 100644 --- a/tests/data/test1702 +++ b/tests/data/test1702 @@ -61,7 +61,7 @@ HTTP/1.1 101 Switching Protocols Connection: Upgrade Upgrade: h2c -HTTP/2 200%spc% +HTTP/2 200%SP date: Tue, 09 Nov 2010 14:49:00 GMT last-modified: Tue, 13 Jun 2000 12:10:00 GMT etag: "21025-dc7-39462498" diff --git a/tests/data/test188 b/tests/data/test188 index 79a7f5f84a..d5796c7318 100644 --- a/tests/data/test188 +++ b/tests/data/test188 @@ -19,7 +19,7 @@ Content-Length: 3 OK -HTTP/1.1 200 OK%spc% +HTTP/1.1 200 OK%SP Connection: close Content-Length: 15 Content-Range: bytes 50- @@ -32,7 +32,7 @@ HTTP/1.1 301 OK swsbounce Location: /%TESTNUMBER Content-Length: 3 -HTTP/1.1 200 OK%spc% +HTTP/1.1 200 OK%SP Connection: close Content-Length: 15 Content-Range: bytes 50- diff --git a/tests/data/test189 b/tests/data/test189 index 8d92ef578b..e8e8044049 100644 --- a/tests/data/test189 +++ b/tests/data/test189 @@ -16,7 +16,7 @@ Content-Length: 3 OK -HTTP/1.1 200 OK%spc% +HTTP/1.1 200 OK%SP Connection: close Content-Length: 15 @@ -28,7 +28,7 @@ HTTP/1.1 301 OK swsbounce Location: /%TESTNUMBER Content-Length: 3 -HTTP/1.1 200 OK%spc% +HTTP/1.1 200 OK%SP Connection: close Content-Length: 15 diff --git a/tests/data/test1940 b/tests/data/test1940 index d15bf1d5b6..b5ddd4c2b9 100644 --- a/tests/data/test1940 +++ b/tests/data/test1940 @@ -59,8 +59,8 @@ http://%HOSTIP:%HTTPPORT/%TESTNUMBER - Set-Cookie == secondcookie=2data; (1/3) - Set-Cookie == cookie3=data3; (2/3) Fold == is folding a line - Blank ==%spc% - Blank2 ==%spc% + Blank ==%SP + Blank2 ==%SP diff --git a/tests/data/test1955 b/tests/data/test1955 index 93d1422e8b..3a43100373 100644 --- a/tests/data/test1955 +++ b/tests/data/test1955 @@ -65,7 +65,7 @@ Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/ple/exam/xxx4_request, S X-Xxx-Date: 19700101T000000Z test3: 1234 test2: -test_space: t%tab%s m%tab% end%repeat[4 x ]% +test_space: t%TABs m%TAB end%repeat[4 x ]% tesMixCase: MixCase diff --git a/tests/data/test1958 b/tests/data/test1958 index f5e38868c6..90dd1d131b 100644 --- a/tests/data/test1958 +++ b/tests/data/test1958 @@ -63,7 +63,7 @@ GET /aws_sigv4/testapi/test HTTP/1.1 Host: exam.ple.com:9000 Authorization: XXX4-HMAC-SHA256 Credential=xxx/19700101/ple/exam/xxx4_request, SignedHeaders=content-type;host;x-xxx-content-sha256;x-xxx-date, Signature=25b4cac711ea8f65010c485d3778885f5f3870d0b8ff0b3ab58a8d7eeab991ff X-Xxx-Date: 19700101T000000Z -X-Xxx-Content-Sha256: %tab%arbitrary%spc% +X-Xxx-Content-Sha256: %TABarbitrary%SP diff --git a/tests/data/test212 b/tests/data/test212 index c7fba5f8b9..6f1d747b58 100644 --- a/tests/data/test212 +++ b/tests/data/test212 @@ -51,11 +51,11 @@ PWD CWD a CWD path EPRT |1| -PORT%spc% +PORT%SP TYPE I SIZE %TESTNUMBER RETR %TESTNUMBER -PORT%spc% +PORT%SP SIZE %TESTNUMBER RETR %TESTNUMBER QUIT diff --git a/tests/data/test2302 b/tests/data/test2302 index ab88d9e162..889d014e2d 100644 --- a/tests/data/test2302 +++ b/tests/data/test2302 @@ -66,7 +66,7 @@ Connection: Upgrade %hex[%8a%808321]hex% -68 65 6c 6c 6f%spc% +68 65 6c 6c 6f%SP RECFLAGS: 1 diff --git a/tests/data/test2306 b/tests/data/test2306 index 233905fc79..713cc27c93 100644 --- a/tests/data/test2306 +++ b/tests/data/test2306 @@ -24,7 +24,7 @@ Funny-head: yesyes HTTP/1.1 200 OK swsclose -%tab%Access-Control-Allow-Origin: * +%TABAccess-Control-Allow-Origin: * Connection: Keep-Alive Content-Type: text/html; charset=utf-8 Date: Wed, 10 May 2023 14:58:08 GMT diff --git a/tests/data/test2400 b/tests/data/test2400 index 8478681fbd..1fed4b71e6 100644 --- a/tests/data/test2400 +++ b/tests/data/test2400 @@ -50,7 +50,7 @@ HTTP/2 GET over HTTPS # Verify data after the test has been "shot" -HTTP/2 200%spc% +HTTP/2 200%SP date: Tue, 09 Nov 2010 14:49:00 GMT content-length: 6 content-type: text/html diff --git a/tests/data/test2401 b/tests/data/test2401 index a10715ff80..94787f1c6f 100644 --- a/tests/data/test2401 +++ b/tests/data/test2401 @@ -47,7 +47,7 @@ HTTP/2 POST over HTTPS # Verify data after the test has been "shot" -HTTP/2 201%spc% +HTTP/2 201%SP date: Tue, 09 Nov 2010 14:49:00 GMT content-length: 0 funny-head: yesyes diff --git a/tests/data/test2403 b/tests/data/test2403 index b23b1e6760..34141d6780 100644 --- a/tests/data/test2403 +++ b/tests/data/test2403 @@ -51,7 +51,7 @@ HTTP/2 GET using %{header_json} # Verify data after the test has been "shot" -HTTP/2 200%spc% +HTTP/2 200%SP date: Tue, 09 Nov 2010 14:49:00 GMT content-length: 6 content-type: text/html diff --git a/tests/data/test2406 b/tests/data/test2406 index adf39dbd7e..6426b2cc84 100644 --- a/tests/data/test2406 +++ b/tests/data/test2406 @@ -49,7 +49,7 @@ HTTP/2 over HTTPS with -f # Verify data after the test has been "shot" -HTTP/2 404%spc% +HTTP/2 404%SP date: Tue, 09 Nov 2010 14:49:00 GMT content-length: 6 content-type: text/html diff --git a/tests/data/test2500 b/tests/data/test2500 index c774bf805a..f92cabfd32 100644 --- a/tests/data/test2500 +++ b/tests/data/test2500 @@ -58,7 +58,7 @@ Accept: */* -HTTP/3 200%spc% +HTTP/3 200%SP date: Tue, 09 Nov 2010 14:49:00 GMT last-modified: Tue, 13 Jun 2000 12:10:00 GMT etag: "21025-dc7-39462498" diff --git a/tests/data/test2501 b/tests/data/test2501 index 8d68a582c1..99167ec48e 100644 --- a/tests/data/test2501 +++ b/tests/data/test2501 @@ -47,7 +47,7 @@ HTTP/3 POST # Verify data after the test has been "shot" -HTTP/3 201%spc% +HTTP/3 201%SP date: Tue, 09 Nov 2010 14:49:00 GMT content-length: 0 funny-head: yesyes diff --git a/tests/data/test2503 b/tests/data/test2503 index 6c4b100bed..722d0ceb7a 100644 --- a/tests/data/test2503 +++ b/tests/data/test2503 @@ -50,7 +50,7 @@ HTTP/3 header-api # Verify data after the test has been "shot" -HTTP/3 200%spc% +HTTP/3 200%SP date: Tue, 09 Nov 2010 14:49:00 GMT content-length: 6 content-type: text/html diff --git a/tests/data/test358 b/tests/data/test358 index d29b09f956..3bdd5b4b32 100644 --- a/tests/data/test358 +++ b/tests/data/test358 @@ -60,7 +60,7 @@ HTTP/1.1 101 Switching Protocols Connection: Upgrade Upgrade: h2c -HTTP/2 200%spc% +HTTP/2 200%SP date: Tue, 09 Nov 2010 14:49:00 GMT content-length: 6 content-type: text/html @@ -69,7 +69,7 @@ alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0 via: 1.1 nghttpx -foo- -HTTP/2 200%spc% +HTTP/2 200%SP date: Tue, 09 Nov 2010 14:49:00 GMT content-length: 6 content-type: text/html diff --git a/tests/data/test359 b/tests/data/test359 index cc2b27b2ff..1a2f9d73a8 100644 --- a/tests/data/test359 +++ b/tests/data/test359 @@ -60,7 +60,7 @@ HTTP/1.1 101 Switching Protocols Connection: Upgrade Upgrade: h2c -HTTP/2 200%spc% +HTTP/2 200%SP date: Tue, 09 Nov 2010 14:49:00 GMT content-length: 6 content-type: text/html @@ -69,7 +69,7 @@ alt-svc: h2=":%HTTP2PORT", ma=315360000; persist=0 via: 1.1 nghttpx -foo- -HTTP/2 200%spc% +HTTP/2 200%SP date: Tue, 09 Nov 2010 14:49:00 GMT content-length: 6 content-type: text/html diff --git a/tests/data/test378 b/tests/data/test378 index e15e97e6e0..09279fc1d7 100644 --- a/tests/data/test378 +++ b/tests/data/test378 @@ -29,7 +29,7 @@ Reject using -T and -d at once 2 -Warning: You can only select one HTTP request method! You asked for both PUT%spc% +Warning: You can only select one HTTP request method! You asked for both PUT%SP Warning: (-T, --upload-file) and POST (-d, --data). diff --git a/tests/data/test4 b/tests/data/test4 index 4f57f8dd62..8b0479c1f8 100644 --- a/tests/data/test4 +++ b/tests/data/test4 @@ -44,7 +44,7 @@ User-Agent: curl/%VERSION extra-header: here Accept: replaced X-Custom-Header: -X-Test: foo;%spc% +X-Test: foo;%SP X-Test2: foo; GET /%TESTNUMBER HTTP/1.1 @@ -53,7 +53,7 @@ User-Agent: curl/%VERSION extra-header: here Accept: replaced X-Custom-Header: -X-Test: foo;%spc% +X-Test: foo;%SP X-Test2: foo; diff --git a/tests/data/test421 b/tests/data/test421 index 7b41703fb5..6cc2bc2763 100644 --- a/tests/data/test421 +++ b/tests/data/test421 @@ -21,7 +21,7 @@ referrer-policy: strict-origin-when-cross-origin access-control-allow-methods: GET, POST, PUT, DELETE, OPTIONS access-control-max-age: 1728000 access-control-allow-headers: Authorization, Content-Type, AuthorizationOauth, X-EARLY-ACCESS -access-control-expose-headers:%spc% +access-control-expose-headers:%SP vary: Accept etag: W/"2678f9ab2ba550d164e7cc014aefd31e" cache-control: max-age=0, private, must-revalidate diff --git a/tests/data/test459 b/tests/data/test459 index 42398bd35f..539aa0729d 100644 --- a/tests/data/test459 +++ b/tests/data/test459 @@ -56,7 +56,7 @@ Content-Type: application/x-www-form-urlencoded arg -Warning: %LOGDIR/config:1: warning: 'data' uses unquoted whitespace. This may%spc% +Warning: %LOGDIR/config:1: warning: 'data' uses unquoted whitespace. This may%SP Warning: cause side-effects. Consider double quotes. diff --git a/tests/data/test46 b/tests/data/test46 index 007861b4fb..715616e23c 100644 --- a/tests/data/test46 +++ b/tests/data/test46 @@ -65,7 +65,7 @@ www.loser.com FALSE / FALSE 2139150993 UID 99 domain..tld FALSE / FALSE 2139150993 mooo indeed #HttpOnly_domain..tld FALSE /want FALSE 2139150993 mooo2 indeed2 %endif -domain..tld FALSE /want FALSE 0 empty%tab% +domain..tld FALSE /want FALSE 0 empty%TAB cookies @@ -88,18 +88,18 @@ Cookie: empty=; mooo2=indeed2; mooo=indeed # This file was generated by libcurl! Edit at your own risk. domain..tld FALSE /want/ FALSE 0 simplyhuge %repeat[3998 x z]% -domain..tld FALSE / FALSE 0 justaname%tab% +domain..tld FALSE / FALSE 0 justaname%TAB domain..tld FALSE / FALSE 0 ASPSESSIONIDQGGQQSJJ GKNBDIFAAOFDPDAIEAKDIBKE domain..tld FALSE / FALSE 0 ckySession temporary domain..tld FALSE / FALSE %days[400] ckyPersistent permanent %if large-time -domain..tld FALSE /want FALSE 0 empty%tab% +domain..tld FALSE /want FALSE 0 empty%TAB #HttpOnly_domain..tld FALSE /want FALSE 22139150993 mooo2 indeed2 domain..tld FALSE / FALSE 22139150993 mooo indeed www.loser.com FALSE / FALSE 22139150993 UID 99 www.fake.come FALSE / FALSE 22147483647 cookiecliente si %else -domain..tld FALSE /want FALSE 0 empty%tab% +domain..tld FALSE /want FALSE 0 empty%TAB #HttpOnly_domain..tld FALSE /want FALSE 2139150993 mooo2 indeed2 domain..tld FALSE / FALSE 2139150993 mooo indeed www.loser.com FALSE / FALSE 2139150993 UID 99 diff --git a/tests/data/test54 b/tests/data/test54 index 167542fbf0..901620fa62 100644 --- a/tests/data/test54 +++ b/tests/data/test54 @@ -11,7 +11,7 @@ followlocation HTTP/1.1 302 This is a weirdo text message swsclose Connection: close -Location:%spc% +Location:%SP This server reply is for testing diff --git a/tests/data/test646 b/tests/data/test646 index 5f7f8e7605..a8d8ff2b6f 100644 --- a/tests/data/test646 +++ b/tests/data/test646 @@ -39,7 +39,7 @@ It may contain any type of data. # This line is a comment -X-fileheader1: This is a header from a file%spc% +X-fileheader1: This is a header from a file%SP # This line is another comment. It precedes a folded header. X-fileheader2: This is #a diff --git a/tests/data/test792 b/tests/data/test792 index b3630b5058..fb20874d1d 100644 --- a/tests/data/test792 +++ b/tests/data/test792 @@ -36,7 +36,7 @@ machine %HOSTIP login username password%hex[%00]hex% hello USER username -PASS%spc% +PASS%SP PWD EPSV TYPE I diff --git a/tests/data/test793 b/tests/data/test793 index 3a3e16e087..f6e77e9116 100644 --- a/tests/data/test793 +++ b/tests/data/test793 @@ -36,7 +36,7 @@ machine %HOSTIP login username "password"%hex[%00]hex% hello USER username -PASS%spc% +PASS%SP PWD EPSV TYPE I diff --git a/tests/testutil.pm b/tests/testutil.pm index f139516cfa..30ac782a99 100644 --- a/tests/testutil.pm +++ b/tests/testutil.pm @@ -147,8 +147,8 @@ sub subbase64 { $$thing =~ s/%%DAYS%%/%alternatives[$d,$d2]/; } - $$thing =~ s/%spc%/ /g; # space - $$thing =~ s/%tab%/\t/g; # horizontal tab + $$thing =~ s/%SP/ /g; # space + $$thing =~ s/%TAB/\t/g; # horizontal tab # include a file $$thing =~ s/%include ([^%]*)%[\n\r]+/includefile($1)/ge;