Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Make "say/note" look at .nl setting
  • Loading branch information
lizmat committed Apr 10, 2015
1 parent 82a1811 commit 5a38b21
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 12 deletions.
7 changes: 6 additions & 1 deletion src/core/IO/Handle.pm
Expand Up @@ -422,7 +422,12 @@ my class IO::Handle does IO {
my Mu $args := nqp::p6argvmarray();
nqp::shift($args);
self.print: nqp::shift($args).gist while $args;
self.print: "\n";
self.print-nl;
}

method print-nl(IO::Handle:D:) {
nqp::printfh($!PIO, nqp::unbox_s($!nl));
Bool::True;
}

method slurp(IO::Handle:D: |c) {
Expand Down
36 changes: 25 additions & 11 deletions src/core/io_operators.pm
Expand Up @@ -8,36 +8,50 @@ sub print(|) {
}

proto sub say(|) { * }
multi sub say() { $*OUT.print: "\n" }
multi sub say(Obsolete:D \o) { $*OUT.print: o.gist ~ "\n" }
multi sub say(Str:D \x) { $*OUT.print: x ~ "\n" }
multi sub say(\x) { $*OUT.print: x.gist ~ "\n" }
multi sub say() { $*OUT.print-nl }
multi sub say(Obsolete:D \o) {
my $out := $*OUT;
$out.print: o.gist;
$out.print-nl;
}
multi sub say(Str:D \x) {
my $out := $*OUT;
$out.print: x;
$out.print-nl;
}
multi sub say(\x) {
my $out := $*OUT;
$out.print: x.gist;
$out.print-nl;
}
multi sub say(|) {
my $args := nqp::p6argvmarray();
my $out := $*OUT;
$out.print(nqp::shift($args).gist) while $args;
$out.print("\n");
$out.print-nl;
}

proto sub note(|) { * }
multi sub note() {
$*ERR.print("Noted\n");
my $err := $*ERR;
$err.print: "Noted";
$err.print-nl;
}
multi sub note(Str:D \x) {
my $err := $*ERR;
$err.print(x);
$err.print("\n");
$err.print: x;
$err.print-nl;
}
multi sub note(\x) {
my $err := $*ERR;
$err.print(x.gist);
$err.print("\n");
$err.print: x.gist;
$err.print-nl;
}
multi sub note(|) {
my $args := nqp::p6argvmarray();
my $err := $*ERR;
$err.print(nqp::shift($args).gist) while $args;
$err.print("\n");
$err.print-nl;
}

sub gist(|) {
Expand Down

0 comments on commit 5a38b21

Please sign in to comment.