Diff
Not logged in

Differences From Artifact [8fc53f1abb]:

To Artifact [688358da95]:


4859
4860
4861
4862
4863
4864
4865


4866
4867
4868
4869














4870
4871
4872
4873
4874
4875
4876
int
Tcl_ConstObjCmd(
    TCL_UNUSED(void *),
    Tcl_Interp *interp,		/* Current interpreter. */
    int objc,			/* Number of arguments. */
    Tcl_Obj *const objv[])	/* Argument objects. */
{


    if (objc != 3) {
	Tcl_WrongNumArgs(interp, 1, objv, "varName value");
	return TCL_ERROR;
    }















    /* FIXME: implement this! */
    Tcl_SetObjResult(interp, Tcl_ObjPrintf("not yet implemented"));
    return TCL_ERROR;
}

/*







>
>




>
>
>
>
>
>
>
>
>
>
>
>
>
>







4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
int
Tcl_ConstObjCmd(
    TCL_UNUSED(void *),
    Tcl_Interp *interp,		/* Current interpreter. */
    int objc,			/* Number of arguments. */
    Tcl_Obj *const objv[])	/* Argument objects. */
{
    Var *varPtr, *arrayPtr;

    if (objc != 3) {
	Tcl_WrongNumArgs(interp, 1, objv, "varName value");
	return TCL_ERROR;
    }

    varPtr = TclObjLookupVarEx(interp, objv[1], NULL, TCL_LEAVE_ERR_MSG, 
	    "const", /*createPart1*/ 1, /*createPart2*/ 0, &arrayPtr);
    if (arrayPtr) {
	// FIXME: What if we got an array?
    }
    if (!varPtr->value.objPtr) {
	if (TclPtrSetVar(interp, (Tcl_Var) varPtr, NULL, objv[1], NULL, 
		objv[2], TCL_LEAVE_ERR_MSG) == NULL) {
	    return TCL_ERROR;
	};
	varPtr->flags |= VAR_CONSTANT;
	return TCL_OK;
    }

    /* FIXME: implement this! */
    Tcl_SetObjResult(interp, Tcl_ObjPrintf("not yet implemented"));
    return TCL_ERROR;
}

/*