diff options
author | rjohnson <rjohnson> | 1998-03-26 14:45:59 (GMT) |
---|---|---|
committer | rjohnson <rjohnson> | 1998-03-26 14:45:59 (GMT) |
commit | 2b5738da524e944cda39e24c0a87b745a43bd8c3 (patch) | |
tree | 6e8c9473978f6dab66c601e911721a7bd9d70b1b /doc/WrongNumArgs.3 | |
parent | c6a259aeeca4814a97cf6694814c63e74e4e18fa (diff) | |
download | tcl-2b5738da524e944cda39e24c0a87b745a43bd8c3.zip tcl-2b5738da524e944cda39e24c0a87b745a43bd8c3.tar.gz tcl-2b5738da524e944cda39e24c0a87b745a43bd8c3.tar.bz2 |
Initial revision
Diffstat (limited to 'doc/WrongNumArgs.3')
-rw-r--r-- | doc/WrongNumArgs.3 | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/doc/WrongNumArgs.3 b/doc/WrongNumArgs.3 new file mode 100644 index 0000000..61b68ce --- /dev/null +++ b/doc/WrongNumArgs.3 @@ -0,0 +1,79 @@ +'\" +'\" Copyright (c) 1994-1997 Sun Microsystems, Inc. +'\" +'\" See the file "license.terms" for information on usage and redistribution +'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. +'\" +'\" SCCS: @(#) @(#) WrongNumArgs.3 1.5 97/07/30 16:20:07 +'\" +.so man.macros +.TH Tcl_WrongNumArgs 3 8.0 Tcl "Tcl Library Procedures" +.BS +.SH NAME +Tcl_WrongNumArgs \- generate standard error message for wrong number of arguments +.SH SYNOPSIS +.nf +\fB#include <tcl.h>\fR +.sp +\fBTcl_WrongNumArgs\fR(\fIinterp, objc, objv, message\fR) +.SH ARGUMENTS +.AS Tcl_Interp "*CONST objv[]" +.AP Tcl_Interp interp in +Interpreter in which error will be reported: error message gets stored +in its result object. +.AP int objc in +Number of leading arguments from \fIobjv\fR to include in error +message. +.TP +Tcl_Obj *CONST \fIobjv\fR[] (in) +Arguments to command that had the wrong number of arguments. +.AP char *message in +Additional error information to print after leading arguments +from \fIobjv\fR. This typically gives the acceptable syntax +of the command. This argument may be NULL. +.BE + +.SH DESCRIPTION +.PP +\fBTcl_WrongNumArgs\fR is a utility procedure that is invoked by +command procedures when they discover that they have received the +wrong number of arguments. \fBTcl_WrongNumArgs\fR generates a +standard error message and stores it in the result object of +\fIinterp\fR. The message includes the \fIobjc\fR initial +elements of \fIobjv\fR plus \fImessage\fR. For example, if +\fIobjv\fR consists of the values \fBfoo\fR and \fBbar\fR, +\fIobjc\fR is 1, and \fImessage\fR is ``\fBfileName count\fR'' +then \fIinterp\fR's result object will be set to the following +string: +.CS +wrong # args: should be "foo fileName count" +.CE +If \fIobjc\fR is 2, the result will be set to the following string: +.CS +wrong # args: should be "foo bar fileName count" +.CE +\fIObjc\fR is usually 1, but may be 2 or more for commands like +\fBstring\fR and the Tk widget commands, which use the first argument +as a subcommand. +.PP +Some of the objects in the \fIobjv\fR array may be abbreviations for +a subcommand. The command +\fBTcl_GetIndexFromObj\fR will convert the abbreviated string object +into an \fIindexObject\fR. If an error occurs in the parsing of the +subcommand we would like to use the full subcommand name rather than +the abbreviation. If the \fBTcl_WrongNumArgs\fR command finds any +\fIindexObjects\fR in the \fIobjv\fR array it will use the full subcommand +name in the error message instead of the abbreviated name that was +origionally passed in. Using the above example, lets assume that +\fIbar\fR is actually an abbreviation for \fIbarfly\fR and the object +is now an indexObject becasue it was passed to +\fBTcl_GetIndexFromObj\fR. In this case the error message would be: +.CS +wrong # args: should be "foo barfly fileName count" +.CE + +.SH "SEE ALSO" +Tcl_GetIndexFromObj + +.SH KEYWORDS +command, error message, wrong number of arguments |