## Tcl9.0.3/Tk9.0.3 Documentation > Tcl C API > RecordEval

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

  NAME
    Tcl_RecordAndEval — 履歴リスト上の命令を評価する前に保存する　　 save command on history list before evaluating
  SYNOPSIS
    #include <tcl.h>
    int
    Tcl_RecordAndEval(interp, cmd, flags)
  引数 ARGUMENTS
    Tcl_Interp *interp (入力in)
    const char *cmd (入力in)
    int flags (入力in)
  説明 DESCRIPTION
  SEE ALSO
  KEYWORDS

### NAME

Tcl_RecordAndEval — 履歴リスト上の命令を評価する前に保存する　　 save command on history list before evaluating

### SYNOPSIS

#include <tcl.h>
int
Tcl_RecordAndEval(interp, cmd, flags)

### 引数 ARGUMENTS

Tcl_Interp *interp (入力in)
  評価すべき命令がある解釈実行機能｡　 Tcl interpreter in which to evaluate command.

const char *cmd (入力in)
  実行すべき命令(又は命令の並び)を含む Tcl 値を指す｡　 Command (or sequence of commands) to execute.

int flags (入力in)
  旗印ビットの論理和の組合わせ｡ TCL_NO_EVAL は命令の記録を意味するがそれを評価はしない｡TCL_EVAL_GLOBAL は現在の棚水準ではなく､大域水準で命令を評価することを意味する｡ An OR'ed combination of flag bits. TCL_NO_EVAL means record the command but do not evaluate it. TCL_EVAL_GLOBAL means evaluate the command at global level instead of the current stack level.

### 説明 DESCRIPTION

Tcl_RecordAndEval は履歴上の行事として命令を記録するために起動される､そして Tcl_Eval を使って実行する( flags 内に TCL_EVAL_GLOBAL ビットが設定される場合は Tcl_GlobalEval )｡それは Tcl_Eval がする様に TCL_OK の様な完成符号を返し解釈実行機能の結果内に情報を残す｡もし履歴リスト上の命令記録を望まない場合は Tcl_RecordAndEval の代りに Tcl_Eval を起動されたい｡通常 Tcl_RecordAndEval は使用者によって頂上水準の命令が鍵盤に打込まれることによってのみ呼出される､理由は履歴の目的は使用者に最近起動された命令の再発行を許容するから｡もし flags 引数は TCL_NO_EVAL ビットを含む場合､命令は評価されること無く命令が記録される｡ Tcl_RecordAndEval is invoked to record a command as an event on the history list and then execute it using Tcl_Eval (or Tcl_GlobalEval if the TCL_EVAL_GLOBAL bit is set in flags). It returns a completion code such as TCL_OK just like Tcl_Eval and it leaves information in the interpreter's result. If you do not want the command recorded on the history list then you should invoke Tcl_Eval instead of Tcl_RecordAndEval. Normally Tcl_RecordAndEval is only called with top-level commands typed by the user, since the purpose of history is to allow the user to re-issue recently-invoked commands. If the flags argument contains the TCL_NO_EVAL bit then the command is recorded without being evaluated.

註意すべきは Tcl_RecordAndEval は値基準の手続函数 Tcl_RecordAndEvalObj によって大いに置換えられてしまう｡その値基準の手続函数は記録し､追加すれば､文字列の代わりに Tcl 値内に保有された命令を実行する｡ Note that Tcl_RecordAndEval has been largely replaced by the value-based procedure Tcl_RecordAndEvalObj. That value-based procedure records and optionally executes a command held in a Tcl value instead of a string.

### SEE ALSO

Tcl_RecordAndEvalObj

### KEYWORDS

command, event, execute, history, interpreter, record
Copyright © 1989-1993 The Regents of the University of California.
Copyright © 1994-1997 Sun Microsystems, Inc.