test-alias.t
572 lines
| 13.4 KiB
| text/troff
|
Tads3Lexer
/ tests / test-alias.t
Steve Losh
|
r13434 | $ HGFOO=BAR; export HGFOO | ||
Nicolas Dumazet
|
r11814 | $ cat >> $HGRCPATH <<EOF | ||
> [alias] | ||||
Augie Fackler
|
r15233 | > # should clobber ci but not commit (issue2993) | ||
> ci = version | ||||
Nicolas Dumazet
|
r11814 | > myinit = init | ||
Yuya Nishihara
|
r21556 | > mycommit = commit | ||
Patrick Mezard
|
r16609 | > optionalrepo = showconfig alias.myinit | ||
Nicolas Dumazet
|
r11814 | > cleanstatus = status -c | ||
> unknown = bargle | ||||
> ambiguous = s | ||||
> recursive = recursive | ||||
Yuya Nishihara
|
r22159 | > disabled = email | ||
Nicolas Dumazet
|
r11814 | > nodefinition = | ||
Yuya Nishihara
|
r21569 | > noclosingquotation = ' | ||
Nicolas Dumazet
|
r11814 | > no--cwd = status --cwd elsewhere | ||
> no-R = status -R elsewhere | ||||
> no--repo = status --repo elsewhere | ||||
> no--repository = status --repository elsewhere | ||||
Simon Heimberg
|
r18693 | > no--config = status --config a.config=1 | ||
Nicolas Dumazet
|
r11814 | > mylog = log | ||
> lognull = log -r null | ||||
> shortlog = log --template '{rev} {node|short} | {date|isodate}\n' | ||||
Alexander Solovyov
|
r14265 | > positional = log --template '{\$2} {\$1} | {date|isodate}\n' | ||
Nicolas Dumazet
|
r11814 | > dln = lognull --debug | ||
> nousage = rollback | ||||
> put = export -r 0 -o "\$FOO/%R.diff" | ||||
Mads Kiilerich
|
r16965 | > blank = !printf '\n' | ||
> self = !printf '\$0\n' | ||||
> echoall = !printf '\$@\n' | ||||
> echo1 = !printf '\$1\n' | ||||
> echo2 = !printf '\$2\n' | ||||
> echo13 = !printf '\$1 \$3\n' | ||||
Siddharth Agarwal
|
r22158 | > echotokens = !printf "%s\n" "\$@" | ||
Mads Kiilerich
|
r16965 | > count = !hg log -r "\$@" --template=. | wc -c | sed -e 's/ //g' | ||
> mcount = !hg log \$@ --template=. | wc -c | sed -e 's/ //g' | ||||
Nicolas Dumazet
|
r11814 | > rt = root | ||
Martin Geisler
|
r20117 | > tglog = log -G --template "{rev}:{node|short}: '{desc}' {branches}\n" | ||
Steve Losh
|
r12932 | > idalias = id | ||
> idaliaslong = id | ||||
> idaliasshell = !echo test | ||||
> parentsshell1 = !echo one | ||||
> parentsshell2 = !echo two | ||||
Mads Kiilerich
|
r16965 | > escaped1 = !printf 'test\$\$test\n' | ||
> escaped2 = !sh -c 'echo "HGFOO is \$\$HGFOO"' | ||||
> escaped3 = !sh -c 'echo "\$1 is \$\$\$1"' | ||||
> escaped4 = !printf '\$\$0 \$\$@\n' | ||||
Yuya Nishihara
|
r21556 | > exit1 = !sh -c 'exit 1' | ||
Nicolas Dumazet
|
r11814 | > | ||
> [defaults] | ||||
> mylog = -q | ||||
> lognull = -q | ||||
> log = -v | ||||
> EOF | ||||
basic | ||||
$ hg myinit alias | ||||
unknown | ||||
$ hg unknown | ||||
Yuya Nishihara
|
r22164 | abort: alias 'unknown' resolves to unknown command 'bargle' | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help unknown | ||
alias 'unknown' resolves to unknown command 'bargle' | ||||
ambiguous | ||||
$ hg ambiguous | ||||
Yuya Nishihara
|
r22164 | abort: alias 'ambiguous' resolves to ambiguous command 's' | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help ambiguous | ||
alias 'ambiguous' resolves to ambiguous command 's' | ||||
recursive | ||||
$ hg recursive | ||||
Yuya Nishihara
|
r22164 | abort: alias 'recursive' resolves to unknown command 'recursive' | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help recursive | ||
alias 'recursive' resolves to unknown command 'recursive' | ||||
Yuya Nishihara
|
r22159 | disabled | ||
$ hg disabled | ||||
Yuya Nishihara
|
r22164 | abort: alias 'disabled' resolves to unknown command 'email' | ||
('email' is provided by 'patchbomb' extension) | ||||
Yuya Nishihara
|
r22159 | [255] | ||
$ hg help disabled | ||||
alias 'disabled' resolves to unknown command 'email' | ||||
Yuya Nishihara
|
r22162 | |||
Yuya Nishihara
|
r22159 | 'email' is provided by the following extension: | ||
patchbomb command to send changesets as (a series of) patch emails | ||||
(use "hg help extensions" for information on enabling extensions) | ||||
Nicolas Dumazet
|
r11814 | no definition | ||
$ hg nodef | ||||
Yuya Nishihara
|
r22164 | abort: no definition for alias 'nodefinition' | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help nodef | ||
no definition for alias 'nodefinition' | ||||
Yuya Nishihara
|
r21569 | no closing quotation | ||
$ hg noclosing | ||||
Yuya Nishihara
|
r22164 | abort: error in definition for alias 'noclosingquotation': No closing quotation | ||
Yuya Nishihara
|
r21572 | [255] | ||
Yuya Nishihara
|
r21569 | $ hg help noclosing | ||
error in definition for alias 'noclosingquotation': No closing quotation | ||||
Nicolas Dumazet
|
r11814 | invalid options | ||
$ hg no--cwd | ||||
Yuya Nishihara
|
r22164 | abort: error in definition for alias 'no--cwd': --cwd may only be given on the command line | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help no--cwd | ||
Yuya Nishihara
|
r22162 | error in definition for alias 'no--cwd': --cwd may only be given on the | ||
command line | ||||
Nicolas Dumazet
|
r11814 | $ hg no-R | ||
Yuya Nishihara
|
r22164 | abort: error in definition for alias 'no-R': -R may only be given on the command line | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help no-R | ||
error in definition for alias 'no-R': -R may only be given on the command line | ||||
$ hg no--repo | ||||
Yuya Nishihara
|
r22164 | abort: error in definition for alias 'no--repo': --repo may only be given on the command line | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help no--repo | ||
Yuya Nishihara
|
r22162 | error in definition for alias 'no--repo': --repo may only be given on the | ||
command line | ||||
Nicolas Dumazet
|
r11814 | $ hg no--repository | ||
Yuya Nishihara
|
r22164 | abort: error in definition for alias 'no--repository': --repository may only be given on the command line | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | $ hg help no--repository | ||
Yuya Nishihara
|
r22162 | error in definition for alias 'no--repository': --repository may only be given | ||
on the command line | ||||
Simon Heimberg
|
r18693 | $ hg no--config | ||
Yuya Nishihara
|
r22164 | abort: error in definition for alias 'no--config': --config may only be given on the command line | ||
Yuya Nishihara
|
r21572 | [255] | ||
Nicolas Dumazet
|
r11814 | |||
Patrick Mezard
|
r16609 | optional repository | ||
Mads Kiilerich
|
r17015 | #if no-outer-repo | ||
Patrick Mezard
|
r16609 | $ hg optionalrepo | ||
init | ||||
Mads Kiilerich
|
r17015 | #endif | ||
Nicolas Dumazet
|
r11814 | $ cd alias | ||
Patrick Mezard
|
r16609 | $ cat > .hg/hgrc <<EOF | ||
> [alias] | ||||
> myinit = init -q | ||||
> EOF | ||||
$ hg optionalrepo | ||||
init -q | ||||
Nicolas Dumazet
|
r11814 | |||
no usage | ||||
$ hg nousage | ||||
no rollback information available | ||||
Yuya Nishihara
|
r21556 | [1] | ||
Nicolas Dumazet
|
r11814 | |||
$ echo foo > foo | ||||
Augie Fackler
|
r15233 | $ hg commit -Amfoo | ||
Nicolas Dumazet
|
r11814 | adding foo | ||
Yuya Nishihara
|
r27679 | infer repository | ||
$ cd .. | ||||
#if no-outer-repo | ||||
$ hg shortlog alias/foo | ||||
0 e63c23eaa88a | 1970-01-01 00:00 +0000 | ||||
#endif | ||||
$ cd alias | ||||
Nicolas Dumazet
|
r11814 | |||
with opts | ||||
$ hg cleanst | ||||
C foo | ||||
with opts and whitespace | ||||
$ hg shortlog | ||||
0 e63c23eaa88a | 1970-01-01 00:00 +0000 | ||||
Alexander Solovyov
|
r14265 | positional arguments | ||
Matt Mackall
|
r16294 | $ hg positional | ||
abort: too few arguments for command alias | ||||
[255] | ||||
$ hg positional a | ||||
abort: too few arguments for command alias | ||||
[255] | ||||
Alexander Solovyov
|
r14265 | $ hg positional 'node|short' rev | ||
0 e63c23eaa88a | 1970-01-01 00:00 +0000 | ||||
Nicolas Dumazet
|
r11814 | |||
interaction with defaults | ||||
$ hg mylog | ||||
0:e63c23eaa88a | ||||
$ hg lognull | ||||
-1:000000000000 | ||||
properly recursive | ||||
$ hg dln | ||||
changeset: -1:0000000000000000000000000000000000000000 | ||||
Jordi Gutiérrez Hermoso
|
r22765 | phase: public | ||
Nicolas Dumazet
|
r11814 | parent: -1:0000000000000000000000000000000000000000 | ||
parent: -1:0000000000000000000000000000000000000000 | ||||
manifest: -1:0000000000000000000000000000000000000000 | ||||
user: | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
extra: branch=default | ||||
path expanding | ||||
$ FOO=`pwd` hg put | ||||
$ cat 0.diff | ||||
# HG changeset patch | ||||
# User test | ||||
# Date 0 0 | ||||
Mads Kiilerich
|
r18648 | # Thu Jan 01 00:00:00 1970 +0000 | ||
Nicolas Dumazet
|
r11814 | # Node ID e63c23eaa88ae77967edcf4ea194d31167c478b0 | ||
# Parent 0000000000000000000000000000000000000000 | ||||
foo | ||||
diff -r 000000000000 -r e63c23eaa88a foo | ||||
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 | ||||
+++ b/foo Thu Jan 01 00:00:00 1970 +0000 | ||||
@@ -0,0 +1,1 @@ | ||||
+foo | ||||
Steve Losh
|
r11989 | simple shell aliases | ||
Nicolas Dumazet
|
r11814 | |||
Steve Losh
|
r11989 | $ hg blank | ||
$ hg blank foo | ||||
Steve Losh
|
r12536 | $ hg self | ||
self | ||||
Mads Kiilerich
|
r16965 | $ hg echoall | ||
Steve Losh
|
r11989 | |||
Mads Kiilerich
|
r16965 | $ hg echoall foo | ||
Nicolas Dumazet
|
r11814 | foo | ||
Mads Kiilerich
|
r16965 | $ hg echoall 'test $2' foo | ||
Steve Losh
|
r11989 | test $2 foo | ||
Siddharth Agarwal
|
r22157 | $ hg echoall 'test $@' foo '$@' | ||
test $@ foo $@ | ||||
$ hg echoall 'test "$@"' foo '"$@"' | ||||
test "$@" foo "$@" | ||||
Steve Losh
|
r11989 | $ hg echo1 foo bar baz | ||
foo | ||||
$ hg echo2 foo bar baz | ||||
bar | ||||
$ hg echo13 foo bar baz test | ||||
foo baz | ||||
$ hg echo2 foo | ||||
Siddharth Agarwal
|
r22158 | $ hg echotokens | ||
$ hg echotokens foo 'bar $1 baz' | ||||
foo | ||||
bar $1 baz | ||||
$ hg echotokens 'test $2' foo | ||||
test $2 | ||||
foo | ||||
$ hg echotokens 'test $@' foo '$@' | ||||
test $@ | ||||
foo | ||||
$@ | ||||
$ hg echotokens 'test "$@"' foo '"$@"' | ||||
test "$@" | ||||
foo | ||||
"$@" | ||||
Steve Losh
|
r11989 | $ echo bar > bar | ||
Augie Fackler
|
r15233 | $ hg commit -qA -m bar | ||
Steve Losh
|
r11989 | $ hg count . | ||
1 | ||||
$ hg count 'branch(default)' | ||||
2 | ||||
Steve Losh
|
r12536 | $ hg mcount -r '"branch(default)"' | ||
2 | ||||
Adrian Buehlmann
|
r12656 | $ hg tglog | ||
Mads Kiilerich
|
r18648 | @ 1:042423737847: 'bar' | ||
Adrian Buehlmann
|
r12656 | | | ||
o 0:e63c23eaa88a: 'foo' | ||||
Steve Losh
|
r12536 | |||
Steve Losh
|
r12932 | |||
shadowing | ||||
$ hg i | ||||
hg: command 'i' is ambiguous: | ||||
idalias idaliaslong idaliasshell identify import incoming init | ||||
[255] | ||||
$ hg id | ||||
Mads Kiilerich
|
r18648 | 042423737847 tip | ||
Steve Losh
|
r12932 | $ hg ida | ||
hg: command 'ida' is ambiguous: | ||||
idalias idaliaslong idaliasshell | ||||
[255] | ||||
$ hg idalias | ||||
Mads Kiilerich
|
r18648 | 042423737847 tip | ||
Steve Losh
|
r12932 | $ hg idaliasl | ||
Mads Kiilerich
|
r18648 | 042423737847 tip | ||
Steve Losh
|
r12932 | $ hg idaliass | ||
test | ||||
$ hg parentsshell | ||||
hg: command 'parentsshell' is ambiguous: | ||||
parentsshell1 parentsshell2 | ||||
[255] | ||||
$ hg parentsshell1 | ||||
one | ||||
$ hg parentsshell2 | ||||
two | ||||
Steve Losh
|
r12536 | shell aliases with global options | ||
$ hg init sub | ||||
$ cd sub | ||||
$ hg count 'branch(default)' | ||||
Alexander Plavin
|
r18991 | abort: unknown revision 'default'! | ||
Steve Losh
|
r12536 | 0 | ||
$ hg -v count 'branch(default)' | ||||
Alexander Plavin
|
r18991 | abort: unknown revision 'default'! | ||
Steve Losh
|
r12536 | 0 | ||
$ hg -R .. count 'branch(default)' | ||||
Alexander Plavin
|
r18991 | abort: unknown revision 'default'! | ||
Steve Losh
|
r12536 | 0 | ||
$ hg --cwd .. count 'branch(default)' | ||||
2 | ||||
Mads Kiilerich
|
r16965 | $ hg echoall --cwd .. | ||
Matt Mackall
|
r14886 | |||
Steve Losh
|
r12536 | |||
repo specific shell aliases | ||||
$ cat >> .hg/hgrc <<EOF | ||||
> [alias] | ||||
Mads Kiilerich
|
r16965 | > subalias = !echo sub | ||
Steve Losh
|
r12536 | > EOF | ||
$ cat >> ../.hg/hgrc <<EOF | ||||
> [alias] | ||||
Mads Kiilerich
|
r16965 | > mainalias = !echo main | ||
Steve Losh
|
r12536 | > EOF | ||
shell alias defined in current repo | ||||
$ hg subalias | ||||
sub | ||||
$ hg --cwd .. subalias > /dev/null | ||||
hg: unknown command 'subalias' | ||||
Bryan O'Sullivan
|
r27623 | (did you mean idalias?) | ||
Steve Losh
|
r12536 | [255] | ||
$ hg -R .. subalias > /dev/null | ||||
Matt Mackall
|
r14890 | hg: unknown command 'subalias' | ||
Bryan O'Sullivan
|
r27623 | (did you mean idalias?) | ||
Matt Mackall
|
r14890 | [255] | ||
Steve Losh
|
r12536 | |||
shell alias defined in other repo | ||||
$ hg mainalias > /dev/null | ||||
hg: unknown command 'mainalias' | ||||
Bryan O'Sullivan
|
r27623 | (did you mean idalias?) | ||
Steve Losh
|
r12536 | [255] | ||
$ hg -R .. mainalias | ||||
main | ||||
$ hg --cwd .. mainalias | ||||
main | ||||
Steve Losh
|
r11989 | |||
Augie Fackler
|
r24222 | typos get useful suggestions | ||
$ hg --cwd .. manalias | ||||
hg: unknown command 'manalias' | ||||
(did you mean one of idalias, mainalias, manifest?) | ||||
[255] | ||||
Nicolas Dumazet
|
r11814 | |||
Steve Losh
|
r13434 | shell aliases with escaped $ chars | ||
$ hg escaped1 | ||||
test$test | ||||
$ hg escaped2 | ||||
HGFOO is BAR | ||||
$ hg escaped3 HGFOO | ||||
HGFOO is BAR | ||||
$ hg escaped4 test | ||||
$0 $@ | ||||
FUJIWARA Katsunori
|
r20328 | abbreviated name, which matches against both shell alias and the | ||
command provided extension, should be aborted. | ||||
$ cat >> .hg/hgrc <<EOF | ||||
> [extensions] | ||||
> hgext.rebase = | ||||
FUJIWARA Katsunori
|
r23093 | > EOF | ||
#if windows | ||||
$ cat >> .hg/hgrc <<EOF | ||||
> [alias] | ||||
> rebate = !echo this is %HG_ARGS% | ||||
> EOF | ||||
#else | ||||
$ cat >> .hg/hgrc <<EOF | ||||
FUJIWARA Katsunori
|
r20328 | > [alias] | ||
FUJIWARA Katsunori
|
r22377 | > rebate = !echo this is \$HG_ARGS | ||
FUJIWARA Katsunori
|
r20328 | > EOF | ||
FUJIWARA Katsunori
|
r23093 | #endif | ||
FUJIWARA Katsunori
|
r20328 | $ hg reba | ||
hg: command 'reba' is ambiguous: | ||||
rebase rebate | ||||
[255] | ||||
$ hg rebat | ||||
this is rebate | ||||
FUJIWARA Katsunori
|
r22377 | $ hg rebat --foo-bar | ||
this is rebate --foo-bar | ||||
Steve Losh
|
r13434 | |||
Nicolas Dumazet
|
r11814 | invalid arguments | ||
$ hg rt foo | ||||
hg rt: invalid arguments | ||||
Matt Mackall
|
r15203 | hg rt | ||
Nicolas Dumazet
|
r11814 | |||
alias for: hg root | ||||
Matt Mackall
|
r22111 | (use "hg rt -h" to show more help) | ||
Matt Mackall
|
r12316 | [255] | ||
Steve Losh
|
r12748 | |||
invalid global arguments for normal commands, aliases, and shell aliases | ||||
$ hg --invalid root | ||||
hg: option --invalid not recognized | ||||
Mercurial Distributed SCM | ||||
basic commands: | ||||
Olav Reinert
|
r16853 | add add the specified files on the next commit | ||
annotate show changeset information by line for each file | ||||
clone make a copy of an existing repository | ||||
commit commit the specified files or all outstanding changes | ||||
diff diff repository (or selected files) | ||||
export dump the header and diffs for one or more changesets | ||||
forget forget the specified files on the next commit | ||||
init create a new repository in the given directory | ||||
log show revision history of entire repository or files | ||||
anatoly techtonik
|
r23400 | merge merge another revision into working directory | ||
Olav Reinert
|
r16853 | pull pull changes from the specified source | ||
push push changes to the specified destination | ||||
remove remove the specified files on the next commit | ||||
serve start stand-alone webserver | ||||
status show changed files in the working directory | ||||
summary summarize working directory state | ||||
update update working directory (or switch revisions) | ||||
Steve Losh
|
r12748 | |||
Matt Mackall
|
r22118 | (use "hg help" for the full list of commands or "hg -v" for details) | ||
Steve Losh
|
r12748 | [255] | ||
$ hg --invalid mylog | ||||
hg: option --invalid not recognized | ||||
Mercurial Distributed SCM | ||||
basic commands: | ||||
Olav Reinert
|
r16853 | add add the specified files on the next commit | ||
annotate show changeset information by line for each file | ||||
clone make a copy of an existing repository | ||||
commit commit the specified files or all outstanding changes | ||||
diff diff repository (or selected files) | ||||
export dump the header and diffs for one or more changesets | ||||
forget forget the specified files on the next commit | ||||
init create a new repository in the given directory | ||||
log show revision history of entire repository or files | ||||
anatoly techtonik
|
r23400 | merge merge another revision into working directory | ||
Olav Reinert
|
r16853 | pull pull changes from the specified source | ||
push push changes to the specified destination | ||||
remove remove the specified files on the next commit | ||||
serve start stand-alone webserver | ||||
status show changed files in the working directory | ||||
summary summarize working directory state | ||||
update update working directory (or switch revisions) | ||||
Steve Losh
|
r12748 | |||
Matt Mackall
|
r22118 | (use "hg help" for the full list of commands or "hg -v" for details) | ||
Steve Losh
|
r12748 | [255] | ||
$ hg --invalid blank | ||||
hg: option --invalid not recognized | ||||
Mercurial Distributed SCM | ||||
basic commands: | ||||
Olav Reinert
|
r16853 | add add the specified files on the next commit | ||
annotate show changeset information by line for each file | ||||
clone make a copy of an existing repository | ||||
commit commit the specified files or all outstanding changes | ||||
diff diff repository (or selected files) | ||||
export dump the header and diffs for one or more changesets | ||||
forget forget the specified files on the next commit | ||||
init create a new repository in the given directory | ||||
log show revision history of entire repository or files | ||||
anatoly techtonik
|
r23400 | merge merge another revision into working directory | ||
Olav Reinert
|
r16853 | pull pull changes from the specified source | ||
push push changes to the specified destination | ||||
remove remove the specified files on the next commit | ||||
serve start stand-alone webserver | ||||
status show changed files in the working directory | ||||
summary summarize working directory state | ||||
update update working directory (or switch revisions) | ||||
Steve Losh
|
r12748 | |||
Matt Mackall
|
r22118 | (use "hg help" for the full list of commands or "hg -v" for details) | ||
Steve Losh
|
r12748 | [255] | ||
Jun Wu
|
r29087 | environment variable changes in alias commands | ||
$ cat > $TESTTMP/setcount.py <<EOF | ||||
> import os | ||||
> def uisetup(ui): | ||||
> os.environ['COUNT'] = '2' | ||||
> EOF | ||||
$ cat >> $HGRCPATH <<'EOF' | ||||
> [extensions] | ||||
> setcount = $TESTTMP/setcount.py | ||||
> [alias] | ||||
> showcount = log -T "$COUNT\n" -r . | ||||
> EOF | ||||
$ COUNT=1 hg showcount | ||||
2 | ||||
Matt Mackall
|
r15600 | This should show id: | ||
$ hg --config alias.log='id' log | ||||
000000000000 tip | ||||
This shouldn't: | ||||
$ hg --config alias.log='id' history | ||||
Mads Kiilerich
|
r16912 | |||
$ cd ../.. | ||||
Yuya Nishihara
|
r21556 | |||
return code of command and shell aliases: | ||||
$ hg mycommit -R alias | ||||
nothing changed | ||||
[1] | ||||
$ hg exit1 | ||||
[1] | ||||
FUJIWARA Katsunori
|
r23934 | |||
#if no-outer-repo | ||||
$ hg root | ||||
abort: no repository found in '$TESTTMP' (.hg not found)! | ||||
[255] | ||||
$ hg --config alias.hgroot='!hg root' hgroot | ||||
abort: no repository found in '$TESTTMP' (.hg not found)! | ||||
[255] | ||||
#endif | ||||