Improvements to the diagnostics for "unimplemented" POSIX functions.
authorNicholas Clark <nick@ccl4.org>
Wed, 31 Aug 2011 11:08:49 +0000 (13:08 +0200)
committerNicholas Clark <nick@ccl4.org>
Thu, 1 Sep 2011 19:54:11 +0000 (21:54 +0200)
Suggested by Aristotle Pagaltzis as part of a larger refactoring.
This regularises the text, changing '--use' and ': use' to ', use' to be
consistent, provides a message for POSIX::srand(), and adds ' is' to the
message for POSIX::bsearch().

Most of the diagnostics have been unchanged since perl 5.000. For some,
IO::Handle replaced FileHandle in perl5.003_20 (28757baaaeaa3801).
div and ldiv's messages were improved to also mention % in 2003 by commit
7a6ca5fd18d88091.

ext/POSIX/lib/POSIX.pm
ext/POSIX/t/unimplemented.t

index 8c1f346..e89aed7 100644 (file)
@@ -203,19 +203,19 @@ sub getpwuid {
 }
 
 sub longjmp {
-    unimpl "longjmp() is C-specific: use die instead";
+    unimpl "longjmp() is C-specific, use die instead";
 }
 
 sub setjmp {
-    unimpl "setjmp() is C-specific: use eval {} instead";
+    unimpl "setjmp() is C-specific, use eval {} instead";
 }
 
 sub siglongjmp {
-    unimpl "siglongjmp() is C-specific: use die instead";
+    unimpl "siglongjmp() is C-specific, use die instead";
 }
 
 sub sigsetjmp {
-    unimpl "sigsetjmp() is C-specific: use eval {} instead";
+    unimpl "sigsetjmp() is C-specific, use eval {} instead";
 }
 
 sub kill {
@@ -265,27 +265,27 @@ sub fopen {
 }
 
 sub fprintf {
-    unimpl "fprintf() is C-specific--use printf instead";
+    unimpl "fprintf() is C-specificuse printf instead";
 }
 
 sub fputc {
-    unimpl "fputc() is C-specific--use print instead";
+    unimpl "fputc() is C-specificuse print instead";
 }
 
 sub fputs {
-    unimpl "fputs() is C-specific--use print instead";
+    unimpl "fputs() is C-specificuse print instead";
 }
 
 sub fread {
-    unimpl "fread() is C-specific--use read instead";
+    unimpl "fread() is C-specificuse read instead";
 }
 
 sub freopen {
-    unimpl "freopen() is C-specific--use open instead";
+    unimpl "freopen() is C-specificuse open instead";
 }
 
 sub fscanf {
-    unimpl "fscanf() is C-specific--use <> and regular expressions instead";
+    unimpl "fscanf() is C-specificuse <> and regular expressions instead";
 }
 
 sub fseek {
@@ -317,7 +317,7 @@ sub ftell {
 }
 
 sub fwrite {
-    unimpl "fwrite() is C-specific--use print instead";
+    unimpl "fwrite() is C-specificuse print instead";
 }
 
 sub getc {
@@ -346,15 +346,15 @@ sub printf {
 }
 
 sub putc {
-    unimpl "putc() is C-specific--use print instead";
+    unimpl "putc() is C-specificuse print instead";
 }
 
 sub putchar {
-    unimpl "putchar() is C-specific--use print instead";
+    unimpl "putchar() is C-specificuse print instead";
 }
 
 sub puts {
-    unimpl "puts() is C-specific--use print instead";
+    unimpl "puts() is C-specificuse print instead";
 }
 
 sub remove {
@@ -373,7 +373,7 @@ sub rewind {
 }
 
 sub scanf {
-    unimpl "scanf() is C-specific--use <> and regular expressions instead";
+    unimpl "scanf() is C-specificuse <> and regular expressions instead";
 }
 
 sub sprintf {
@@ -382,7 +382,7 @@ sub sprintf {
 }
 
 sub sscanf {
-    unimpl "sscanf() is C-specific--use regular expressions instead";
+    unimpl "sscanf() is C-specificuse regular expressions instead";
 }
 
 sub tmpfile {
@@ -394,15 +394,15 @@ sub ungetc {
 }
 
 sub vfprintf {
-    unimpl "vfprintf() is C-specific";
+    unimpl "vfprintf() is C-specific, stopped";
 }
 
 sub vprintf {
-    unimpl "vprintf() is C-specific";
+    unimpl "vprintf() is C-specific, stopped";
 }
 
 sub vsprintf {
-    unimpl "vsprintf() is C-specific";
+    unimpl "vsprintf() is C-specific, stopped";
 }
 
 sub abs {
@@ -411,7 +411,7 @@ sub abs {
 }
 
 sub atexit {
-    unimpl "atexit() is C-specific: use END {} instead";
+    unimpl "atexit() is C-specific, use END {} instead";
 }
 
 sub atof {
@@ -427,7 +427,7 @@ sub atol {
 }
 
 sub bsearch {
-    unimpl "bsearch() not supplied";
+    unimpl "bsearch() is not supplied";
 }
 
 sub calloc {
@@ -477,7 +477,7 @@ sub realloc {
 }
 
 sub srand {
-    unimpl "srand()";
+    unimpl "srand() is not supplied, refer to Perl's srand documentation";
 }
 
 sub system {
index eeb0d1b..6ed6205 100644 (file)
@@ -9,11 +9,11 @@ plan(skip_all => "POSIX is unavailable")
 
 require POSIX;
 
-foreach ([atexit => ' is C-specific: use END {} instead'],
+foreach ([atexit => ' is C-specific, use END {} instead'],
         [atof => ' is C-specific, stopped'],
         [atoi => ' is C-specific, stopped'],
         [atol => ' is C-specific, stopped'],
-        [bsearch => ' not supplied'],
+        [bsearch => ' is not supplied'],
         [calloc => ' is C-specific, stopped'],
         [clearerr => \'IO::Handle::clearerr'],
         [div => ' is C-specific, use /, % and int instead'],
@@ -33,21 +33,21 @@ foreach ([atexit => ' is C-specific: use END {} instead'],
         [fgets => \'IO::Handle::gets'],
         [fileno => \'IO::Handle::fileno'],
         [fopen => \'IO::File::open'],
-        [fprintf => ' is C-specific--use printf instead'],
-        [fputc => ' is C-specific--use print instead'],
-        [fputs => ' is C-specific--use print instead'],
-        [fread => ' is C-specific--use read instead'],
+        [fprintf => ' is C-specificuse printf instead'],
+        [fputc => ' is C-specificuse print instead'],
+        [fputs => ' is C-specificuse print instead'],
+        [fread => ' is C-specificuse read instead'],
         [free => ' is C-specific, stopped'],
-        [freopen => ' is C-specific--use open instead'],
-        [fscanf => ' is C-specific--use <> and regular expressions instead'],
+        [freopen => ' is C-specificuse open instead'],
+        [fscanf => ' is C-specificuse <> and regular expressions instead'],
         [fseek => \'IO::Seekable::seek'],
         [fsetpos => \'IO::Seekable::setpos'],
         [fsync => \'IO::Handle::sync'],
         [ftell => \'IO::Seekable::tell'],
-        [fwrite => ' is C-specific--use print instead'],
+        [fwrite => ' is C-specificuse print instead'],
         [labs => ' is C-specific, use abs instead'],
         [ldiv => ' is C-specific, use /, % and int instead'],
-        [longjmp => ' is C-specific: use die instead'],
+        [longjmp => ' is C-specific, use die instead'],
         [malloc => ' is C-specific, stopped'],
         [memchr => ' is C-specific, use index() instead'],
         [memcmp => ' is C-specific, use eq instead'],
@@ -55,20 +55,20 @@ foreach ([atexit => ' is C-specific: use END {} instead'],
         [memmove => ' is C-specific, use = instead'],
         [memset => ' is C-specific, use x instead'],
         [offsetof => ' is C-specific, stopped'],
-        [putc => ' is C-specific--use print instead'],
-        [putchar => ' is C-specific--use print instead'],
-        [puts => ' is C-specific--use print instead'],
+        [putc => ' is C-specificuse print instead'],
+        [putchar => ' is C-specificuse print instead'],
+        [puts => ' is C-specificuse print instead'],
         [qsort => ' is C-specific, use sort instead'],
         [rand => ' is non-portable, use Perl\'s rand instead'],
         [realloc => ' is C-specific, stopped'],
-        [scanf => ' is C-specific--use <> and regular expressions instead'],
+        [scanf => ' is C-specificuse <> and regular expressions instead'],
         [setbuf => \'IO::Handle::setbuf'],
-        [setjmp => ' is C-specific: use eval {} instead'],
+        [setjmp => ' is C-specific, use eval {} instead'],
         [setvbuf => \'IO::Handle::setvbuf'],
-        [siglongjmp => ' is C-specific: use die instead'],
-        [sigsetjmp => ' is C-specific: use eval {} instead'],
-        [srand => ''],
-        [sscanf => ' is C-specific--use regular expressions instead'],
+        [siglongjmp => ' is C-specific, use die instead'],
+        [sigsetjmp => ' is C-specific, use eval {} instead'],
+        [srand => ' is not supplied, refer to Perl\'s srand documentation'],
+        [sscanf => ' is C-specificuse regular expressions instead'],
         [strcat => ' is C-specific, use .= instead'],
         [strchr => ' is C-specific, use index() instead'],
         [strcmp => ' is C-specific, use eq instead'],
@@ -84,9 +84,9 @@ foreach ([atexit => ' is C-specific: use END {} instead'],
         [strtok => ' is C-specific, stopped'],
         [tmpfile => \'IO::File::new_tmpfile'],
         [ungetc => \'IO::Handle::ungetc'],
-        [vfprintf => ' is C-specific'],
-        [vprintf => ' is C-specific'],
-        [vsprintf => ' is C-specific'],
+        [vfprintf => ' is C-specific, stopped'],
+        [vprintf => ' is C-specific, stopped'],
+        [vsprintf => ' is C-specific, stopped'],
        ) {
     my ($func, $action) = @$_;
     my $expect = ref $action ? qr/Use method $$action\(\) instead at \(eval/