Ruby  2.0.0p247(2013-06-27revision41674)
Data Structures | Defines | Functions | Variables
ext/tk/tcltklib.c File Reference
#include "ruby.h"
#include "ruby/encoding.h"
#include <stdio.h>
#include <varargs.h>
#include <string.h>
#include <tcl.h>
#include <tk.h>
#include "stubs.h"

Go to the source code of this file.

Data Structures

struct  invoke_queue
struct  eval_queue
struct  call_queue
struct  cmd_body_arg
struct  tcltkip
struct  evloop_params
struct  thread_call_proc_arg
struct  th_update_param
struct  th_vwait_param
struct  invoke_info

Defines

#define TCLTKLIB_RELEASE_DATE   "2010-08-25"
#define RUBY_VERSION   "(unknown version)"
#define RUBY_RELEASE_DATE   "unknown release-date"
#define RbTk_OBJ_UNTRUST(x)   do {OBJ_TAINT(x); OBJ_UNTRUST(x);} while (0)
#define RbTk_ALLOC_N(type, n)   (type *)ckalloc((int)(sizeof(type) * (n)))
#define va_init_list(a, b)   va_start(a)
#define ruby_native_thread_p()   is_ruby_native_thread()
#define rb_errinfo()   (ruby_errinfo+0) /* cannot be l-value */
#define rb_safe_level()   (ruby_safe_level+0)
#define rb_sourcefile()   (ruby_sourcefile+0)
#define TCL_ALPHA_RELEASE   0 /* "alpha" */
#define TCL_BETA_RELEASE   1 /* "beta" */
#define TCL_FINAL_RELEASE   2 /* "final" */
#define CONST
#define CONST84
#define CONST86   CONST84
#define TAG_RETURN   0x1
#define TAG_BREAK   0x2
#define TAG_NEXT   0x3
#define TAG_RETRY   0x4
#define TAG_REDO   0x5
#define TAG_RAISE   0x6
#define TAG_THROW   0x7
#define TAG_FATAL   0x8
#define DUMP1(ARG1)   if (ruby_debug) { fprintf(stderr, "tcltklib: %s\n", ARG1); fflush(stderr); }
#define DUMP2(ARG1, ARG2)
#define DUMP3(ARG1, ARG2, ARG3)
#define rb_hash_lookup   rb_hash_aref
#define Tcl_Eval   tcl_eval
#define Tcl_GlobalEval   tcl_global_eval
#define Tcl_IncrRefCount(obj)   (1)
#define Tcl_DecrRefCount(obj)   (1)
#define Tcl_GetStringResult(interp)   ((interp)->result)
#define CONTROL_BY_STATUS_OF_RB_THREAD_WAITING_FOR_VALUE   1
#define USE_TOGGLE_WINDOW_MODE_FOR_IDLE   0
#define DO_THREAD_SCHEDULE_AT_CALLBACK_DONE   0
#define DEFAULT_EVENT_LOOP_MAX   800/*counts*/
#define DEFAULT_NO_EVENT_TICK   10/*counts*/
#define DEFAULT_NO_EVENT_WAIT   20/*milliseconds ( 1 -- 999 ) */
#define WATCHDOG_INTERVAL   10/*milliseconds ( 1 -- 999 ) */
#define DEFAULT_TIMER_TICK   0/*milliseconds ( 0 -- 999 ) */
#define NO_THREAD_INTERRUPT_TIME   100/*milliseconds ( 1 -- 999 ) */
#define EVENT_HANDLER_TIMEOUT   100/*milliseconds*/
#define TCL_NAMESPACE_DEBUG   0
#define USE_RUBY_ALLOC   0
#define USE_EVLOOP_THREAD_ALONE_CHECK_FLAG   0
#define TRAP_CHECK()
#define EVLOOP_WAKEUP_CHANCE   3
#define SUPPORT_NESTED_CONST_AS_IP_RUBY_CMD_RECEIVER   1
#define TKWAIT_MODE_VISIBILITY   1
#define TKWAIT_MODE_DESTROY   2
#define TCL_CANCEL_UNWIND   0x100000
#define TK_WINDOWING_SYSTEM   "x11"
#define DEFAULT_EVENTLOOP_DEPTH   7

Functions

int rb_thread_check_trap_pending ()
static void set_tcltk_version ()
static void ip_finalize _ ((Tcl_Interp *))
static VALUE
create_dummy_encoding_for_tk_core 
_ ((VALUE, VALUE, VALUE))
static VALUE
create_dummy_encoding_for_tk 
_ ((VALUE, VALUE))
static VALUE create_encoding_table _ ((VALUE))
static VALUE ip_invoke_real _ ((int, VALUE *, VALUE))
static VALUE
ip_invoke_with_position 
_ ((int, VALUE *, VALUE, Tcl_QueuePosition))
static VALUE tk_funcall _ ((VALUE(), int, VALUE *, VALUE))
static int tcl_eval (Tcl_Interp *interp, const char *cmd)
static int tcl_global_eval (Tcl_Interp *interp, const char *cmd)
int matherr ()
void invoke_queue_mark (struct invoke_queue *q)
void eval_queue_mark (struct eval_queue *q)
void call_queue_mark (struct call_queue *q)
static int ip_ruby_eval _ ((ClientData, Tcl_Interp *, int, char **))
static struct tcltkipget_ip (VALUE self)
static int deleted_ip (struct tcltkip *ptr)
static int rbtk_preserve_ip (struct tcltkip *ptr)
static int rbtk_release_ip (struct tcltkip *ptr)
static VALUE create_ip_exc (interp, VALUE interp:VALUE exc, const char *fmt, va_alist)
static void tcl_stubs_check ()
static VALUE tcltkip_init_tk (VALUE interp)
static int pending_exception_check0 ()
static int pending_exception_check1 (int thr_crit_bup, struct tcltkip *ptr)
static void call_original_exit (struct tcltkip *ptr, int state)
static void _timer_for_tcl _ ((ClientData))
static void _timer_for_tcl (ClientData clientData)
static VALUE set_eventloop_window_mode (VALUE self, VALUE mode)
static VALUE get_eventloop_window_mode (VALUE self)
static VALUE set_eventloop_tick (VALUE self, VALUE tick)
static VALUE get_eventloop_tick (VALUE self)
static VALUE ip_set_eventloop_tick (VALUE self, VALUE tick)
static VALUE ip_get_eventloop_tick (VALUE self)
static VALUE set_no_event_wait (VALUE self, VALUE wait)
static VALUE get_no_event_wait (VALUE self)
static VALUE ip_set_no_event_wait (VALUE self, VALUE wait)
static VALUE ip_get_no_event_wait (VALUE self)
static VALUE set_eventloop_weight (VALUE self, VALUE loop_max, VALUE no_event)
static VALUE get_eventloop_weight (VALUE self)
static VALUE ip_set_eventloop_weight (VALUE self, VALUE loop_max, VALUE no_event)
static VALUE ip_get_eventloop_weight (VALUE self)
static VALUE set_max_block_time (VALUE self, VALUE time)
static VALUE lib_evloop_thread_p (VALUE self)
static VALUE lib_evloop_abort_on_exc (VALUE self)
static VALUE ip_evloop_abort_on_exc (VALUE self)
static VALUE lib_evloop_abort_on_exc_set (VALUE self, VALUE val)
static VALUE ip_evloop_abort_on_exc_set (VALUE self, VALUE val)
static VALUE lib_num_of_mainwindows_core (VALUE self, int argc, VALUE *argv)
static VALUE lib_num_of_mainwindows (VALUE self)
void rbtk_EventSetupProc (ClientData clientData, int flag)
void rbtk_EventCheckProc (ClientData clientData, int flag)
static VALUE call_DoOneEvent (VALUE flag_val)
static int trap_check (int *check_var)
static int check_eventloop_interp ()
static int lib_eventloop_core (int check_root, int update_flag, int *check_var, Tcl_Interp *interp)
VALUE lib_eventloop_main_core (VALUE args)
VALUE lib_eventloop_main (VALUE args)
VALUE lib_eventloop_ensure (VALUE args)
static VALUE lib_eventloop_launcher (int check_root, int update_flag, int *check_var, Tcl_Interp *interp)
static VALUE lib_mainloop (int argc, VALUE *argv, VALUE self)
static VALUE ip_mainloop (int argc, VALUE *argv, VALUE self)
static VALUE watchdog_evloop_launcher (VALUE check_rootwidget)
static VALUE lib_watchdog_core (VALUE check_rootwidget)
VALUE lib_watchdog_ensure (VALUE arg)
static VALUE lib_mainloop_watchdog (int argc, VALUE *argv, VALUE self)
static VALUE ip_mainloop_watchdog (int argc, VALUE *argv, VALUE self)
void _thread_call_proc_arg_mark (struct thread_call_proc_arg *q)
static VALUE _thread_call_proc_core (VALUE arg)
static VALUE _thread_call_proc_ensure (VALUE arg)
static VALUE _thread_call_proc (VALUE arg)
static VALUE _thread_call_proc_value (VALUE th)
static VALUE lib_thread_callback (int argc, VALUE *argv, VALUE self)
static VALUE lib_do_one_event_core (int argc, VALUE *argv, VALUE self, int is_ip)
static VALUE lib_do_one_event (int argc, VALUE *argv, VALUE self)
static VALUE ip_do_one_event (int argc, VALUE *argv, VALUE self)
static void ip_set_exc_message (Tcl_Interp *interp, VALUE exc)
static VALUE TkStringValue (VALUE obj)
static int tcl_protect_core (Tcl_Interp *interp, VALUE(*proc)(), VALUE data)
static int tcl_protect (Tcl_Interp *interp, VALUE(*proc)(), VALUE data)
static int ip_ruby_eval (ClientData clientData, Tcl_Interp *interp, int argc, argv)
static VALUE ip_ruby_cmd_core (struct cmd_body_arg *arg)
static VALUE ip_ruby_cmd_receiver_const_get (char *name)
static VALUE ip_ruby_cmd_receiver_get (char *str)
static int ip_ruby_cmd (ClientData clientData, Tcl_Interp *interp, int argc, argv)
static int ip_InterpExitCommand (ClientData clientData, Tcl_Interp *interp, int argc, argv)
static int ip_RubyExitCommand (ClientData clientData, Tcl_Interp *interp, int argc, argv)
static int ip_rbUpdateCommand _ ((ClientData, Tcl_Interp *, int, char *[]))
static int ip_rbUpdateCommand (ClientData clientData, Tcl_Interp *interp, int objc, objv)
static void rb_threadUpdateProc (ClientData clientData)
static int ip_rb_threadUpdateCommand (ClientData clientData, Tcl_Interp *interp, int objc, objv)
static char *VwaitVarProc _ ((ClientData, Tcl_Interp *, char *, char *, int))
static char * VwaitVarProc (ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags)
static int ip_rbVwaitCommand (ClientData clientData, Tcl_Interp *interp, int objc, objv)
static char * WaitVariableProc (ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags)
static void WaitVisibilityProc _ ((ClientData, XEvent *))
static void WaitVisibilityProc (ClientData clientData, XEvent *eventPtr)
static void WaitWindowProc (ClientData clientData, XEvent *eventPtr)
static int ip_rbTkWaitCommand (ClientData clientData, Tcl_Interp *interp, int objc, objv)
static char * rb_threadVwaitProc (ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags)
static void rb_threadWaitVisibilityProc (ClientData clientData, XEvent *eventPtr)
static void rb_threadWaitWindowProc (ClientData clientData, XEvent *eventPtr)
static int ip_rb_threadVwaitCommand (ClientData clientData, Tcl_Interp *interp, int objc, objv)
static int ip_rb_threadTkWaitCommand (ClientData clientData, Tcl_Interp *interp, int objc, objv)
static VALUE ip_thread_vwait (VALUE self, VALUE var)
static VALUE ip_thread_tkwait (VALUE self, VALUE mode, VALUE target)
static void delete_slaves (Tcl_Interp *ip)
static void lib_mark_at_exit (VALUE self)
static int ip_null_proc (ClientData clientData, Tcl_Interp *interp, int argc, argv)
static void ip_finalize (Tcl_Interp *ip)
static void ip_free (struct tcltkip *ptr)
static VALUE ip_alloc (VALUE self)
static void ip_replace_wait_commands (Tcl_Interp *interp, Tk_Window mainWin)
static int ip_rb_replaceSlaveTkCmdsCommand (ClientData clientData, Tcl_Interp *interp, int objc, objv)
static void ip_wrap_namespace_command (Tcl_Interp *interp)
static void ip_CallWhenDeleted (ClientData clientData, Tcl_Interp *ip)
static VALUE ip_init (int argc, VALUE *argv, VALUE self)
static VALUE ip_create_slave_core (VALUE interp, int argc, VALUE *argv)
static VALUE ip_create_slave (int argc, VALUE *argv, VALUE self)
static VALUE ip_is_slave_of_p (VALUE self, VALUE master)
static VALUE ip_create_console_core (VALUE interp, int argc, VALUE *argv)
static VALUE ip_create_console (VALUE self)
static VALUE ip_make_safe_core (VALUE interp, int argc, VALUE *argv)
static VALUE ip_make_safe (VALUE self)
static VALUE ip_is_safe_p (VALUE self)
static VALUE ip_allow_ruby_exit_p (VALUE self)
static VALUE ip_allow_ruby_exit_set (VALUE self, VALUE val)
static VALUE ip_delete (VALUE self)
static VALUE ip_has_invalid_namespace_p (VALUE self)
static VALUE ip_is_deleted_p (VALUE self)
static VALUE ip_has_mainwindow_p_core (VALUE self, int argc, VALUE *argv)
static VALUE ip_has_mainwindow_p (VALUE self)
static VALUE ip_get_result_string_obj (Tcl_Interp *interp)
static VALUE callq_safelevel_handler (VALUE arg, VALUE callq)
static int call_queue_handler _ ((Tcl_Event *, int))
static int call_queue_handler (Tcl_Event *evPtr, int flags)
static VALUE tk_funcall (VALUE(*func)(), int argc, VALUE *argv, VALUE obj)
static VALUE ip_eval_real (VALUE self, char *cmd_str, int cmd_len)
static VALUE evq_safelevel_handler (VALUE arg, VALUE evq)
int eval_queue_handler (Tcl_Event *evPtr, int flags)
static VALUE ip_eval (VALUE self, VALUE str)
static int ip_cancel_eval_core (Tcl_Interp *interp, VALUE msg, int flag)
static VALUE ip_cancel_eval (int argc, VALUE *argv, VALUE self)
static VALUE ip_cancel_eval_unwind (int argc, VALUE *argv, VALUE self)
static VALUE lib_restart_core (VALUE interp, int argc, VALUE *argv)
static VALUE lib_restart (VALUE self)
static VALUE ip_restart (VALUE self)
static VALUE lib_toUTF8_core (VALUE ip_obj, VALUE src, VALUE encodename)
static VALUE lib_toUTF8 (int argc, VALUE *argv, VALUE self)
static VALUE ip_toUTF8 (int argc, VALUE *argv, VALUE self)
static VALUE lib_fromUTF8_core (VALUE ip_obj, VALUE src, VALUE encodename)
static VALUE lib_fromUTF8 (int argc, VALUE *argv, VALUE self)
static VALUE ip_fromUTF8 (int argc, VALUE *argv, VALUE self)
static VALUE lib_UTF_backslash_core (VALUE self, VALUE str, int all_bs)
static VALUE lib_UTF_backslash (VALUE self, VALUE str)
static VALUE lib_Tcl_backslash (VALUE self, VALUE str)
static VALUE lib_get_system_encoding (VALUE self)
static VALUE lib_set_system_encoding (VALUE self, VALUE enc_name)
static VALUE invoke_tcl_proc (VALUE arg)
static VALUE ip_invoke_core (VALUE interp, int argc, char **argv)
static char ** alloc_invoke_arguments (int argc, VALUE *argv)
static void free_invoke_arguments (int argc, char **av)
static VALUE ip_invoke_real (int argc, VALUE *argv, VALUE interp)
VALUE ivq_safelevel_handler (VALUE arg, VALUE ivq)
int invoke_queue_handler (Tcl_Event *evPtr, int flags)
static VALUE ip_invoke_with_position (int argc, VALUE *argv, VALUE obj, Tcl_QueuePosition position)
static VALUE ip_retval (VALUE self)
static VALUE ip_invoke (int argc, VALUE *argv, VALUE obj)
static VALUE ip_invoke_immediate (int argc, VALUE *argv, VALUE obj)
static VALUE ip_get_variable2_core (VALUE interp, int argc, VALUE *argv)
static VALUE ip_get_variable2 (VALUE self, VALUE varname, VALUE index, VALUE flag)
static VALUE ip_get_variable (VALUE self, VALUE varname, VALUE flag)
static VALUE ip_set_variable2_core (VALUE interp, int argc, VALUE *argv)
static VALUE ip_set_variable2 (VALUE self, VALUE varname, VALUE index, VALUE value, VALUE flag)
static VALUE ip_set_variable (VALUE self, VALUE varname, VALUE value, VALUE flag)
static VALUE ip_unset_variable2_core (VALUE interp, int argc, VALUE *argv)
static VALUE ip_unset_variable2 (VALUE self, VALUE varname, VALUE index, VALUE flag)
static VALUE ip_unset_variable (VALUE self, VALUE varname, VALUE flag)
static VALUE ip_get_global_var (VALUE self, VALUE varname)
static VALUE ip_get_global_var2 (VALUE self, VALUE varname, VALUE index)
static VALUE ip_set_global_var (VALUE self, VALUE varname, VALUE value)
static VALUE ip_set_global_var2 (VALUE self, VALUE varname, VALUE index, VALUE value)
static VALUE ip_unset_global_var (VALUE self, VALUE varname)
static VALUE ip_unset_global_var2 (VALUE self, VALUE varname, VALUE index)
static VALUE lib_split_tklist_core (VALUE ip_obj, VALUE list_str)
static VALUE lib_split_tklist (VALUE self, VALUE list_str)
static VALUE ip_split_tklist (VALUE self, VALUE list_str)
static VALUE lib_merge_tklist (int argc, VALUE *argv, VALUE obj)
static VALUE lib_conv_listelement (VALUE self, VALUE src)
static VALUE lib_getversion (VALUE self)
static VALUE lib_get_reltype_name (VALUE self)
static VALUE tcltklib_compile_info ()
static VALUE create_dummy_encoding_for_tk_core (VALUE interp, VALUE name, VALUE error_mode)
static VALUE create_dummy_encoding_for_tk (VALUE interp, VALUE name)
static int update_encoding_table (VALUE table, VALUE interp, VALUE error_mode)
static VALUE encoding_table_get_name_core (VALUE table, VALUE enc_arg, VALUE error_mode)
static VALUE encoding_table_get_obj_core (VALUE table, VALUE enc, VALUE error_mode)
static VALUE encoding_table_get_name (VALUE table, VALUE enc)
static VALUE encoding_table_get_obj (VALUE table, VALUE enc)
static VALUE create_encoding_table_core (VALUE arg, VALUE interp)
static VALUE create_encoding_table (VALUE interp)
static VALUE ip_get_encoding_table (VALUE interp)
static VALUE ip_make_menu_embeddable_core (VALUE interp, int argc, VALUE *argv)
static VALUE ip_make_menu_embeddable (VALUE interp, VALUE menu_path)
void Init_tcltklib ()

Variables

static int rb_thread_critical
struct {
   int   major
   int   minor
   int   type
   int   patchlevel
tcltk_version
static const char tcltklib_release_date [] = TCLTKLIB_RELEASE_DATE
static const char finalize_hook_name [] = "INTERP_FINALIZE_HOOK"
static int at_exit = 0
static VALUE cRubyEncoding
static int ENCODING_INDEX_UTF8
static int ENCODING_INDEX_BINARY
static VALUE ENCODING_NAME_UTF8
static VALUE ENCODING_NAME_BINARY
static VALUE eTkCallbackReturn
static VALUE eTkCallbackBreak
static VALUE eTkCallbackContinue
static VALUE eLocalJumpError
static VALUE eTkLocalJumpError
static VALUE eTkCallbackRetry
static VALUE eTkCallbackRedo
static VALUE eTkCallbackThrow
static VALUE tcltkip_class
static ID ID_at_enc
static ID ID_at_interp
static ID ID_encoding_name
static ID ID_encoding_table
static ID ID_stop_p
static ID ID_alive_p
static ID ID_kill
static ID ID_join
static ID ID_value
static ID ID_call
static ID ID_backtrace
static ID ID_message
static ID ID_at_reason
static ID ID_return
static ID ID_break
static ID ID_next
static ID ID_to_s
static ID ID_inspect
int * tclDummyMathPtr = (int *) matherr
static VALUE eventloop_thread
static Tcl_Interp * eventloop_interp
static VALUE eventloop_stack
static int window_event_mode = ~0
static VALUE watchdog_thread
Tcl_Interp * current_interp
static int have_rb_thread_waiting_for_value = 0
static int event_loop_max = DEFAULT_EVENT_LOOP_MAX
static int no_event_tick = DEFAULT_NO_EVENT_TICK
static int no_event_wait = DEFAULT_NO_EVENT_WAIT
static int timer_tick = DEFAULT_TIMER_TICK
static int req_timer_tick = DEFAULT_TIMER_TICK
static int run_timer_flag = 0
static int event_loop_wait_event = 0
static int event_loop_abort_on_exc = 1
static int loop_counter = 0
static int check_rootwidget_flag = 0
static VALUE rbtk_pending_exception
static int rbtk_eventloop_depth = 0
static int rbtk_internal_eventloop_handler = 0
static Tcl_TimerToken timer_token = (Tcl_TimerToken)NULL

Define Documentation

#define CONST

Definition at line 142 of file tcltklib.c.

Referenced by ip_rb_threadUpdateCommand(), and ip_rbUpdateCommand().

#define CONST84
#define CONST86   CONST84

Definition at line 151 of file tcltklib.c.

Definition at line 493 of file tcltklib.c.

#define DEFAULT_EVENT_LOOP_MAX   800/*counts*/

Definition at line 517 of file tcltklib.c.

#define DEFAULT_EVENTLOOP_DEPTH   7

Referenced by Init_tcltklib().

#define DEFAULT_NO_EVENT_TICK   10/*counts*/

Definition at line 518 of file tcltklib.c.

#define DEFAULT_NO_EVENT_WAIT   20/*milliseconds ( 1 -- 999 ) */

Definition at line 519 of file tcltklib.c.

#define DEFAULT_TIMER_TICK   0/*milliseconds ( 0 -- 999 ) */

Definition at line 521 of file tcltklib.c.

Definition at line 495 of file tcltklib.c.

#define DUMP1 (   ARG1)    if (ruby_debug) { fprintf(stderr, "tcltklib: %s\n", ARG1); fflush(stderr); }
#define DUMP2 (   ARG1,
  ARG2 
)
#define DUMP3 (   ARG1,
  ARG2,
  ARG3 
)
Value:
if (ruby_debug) { fprintf(stderr, "tcltklib: ");\
fprintf(stderr, ARG1, ARG2, ARG3); fprintf(stderr, "\n"); fflush(stderr); }

Definition at line 169 of file tcltklib.c.

Referenced by lib_eventloop_launcher().

#define EVENT_HANDLER_TIMEOUT   100/*milliseconds*/
#define EVLOOP_WAKEUP_CHANCE   3

Definition at line 2788 of file tcltklib.c.

Referenced by lib_watchdog_core().

#define NO_THREAD_INTERRUPT_TIME   100/*milliseconds ( 1 -- 999 ) */

Definition at line 522 of file tcltklib.c.

Referenced by lib_eventloop_core(), and lib_watchdog_core().

#define rb_errinfo (   void)    (ruby_errinfo+0) /* cannot be l-value */
#define rb_safe_level (   void)    (ruby_safe_level+0)

Definition at line 94 of file tcltklib.c.

Referenced by argf_inplace_mode_set(), bsock_close_read(), bsock_close_write(), bsock_shutdown(), call_queue_handler(), check_autoload_required(), check_before_mod_set(), define_final0(), dir_check(), dir_rewind(), env_aset(), ev_advise(), eval_queue_handler(), eval_under(), fole_initialize(), fole_s_connect(), function_call(), invoke_queue_handler(), io_reopen(), ip_eval(), ip_init(), ip_invoke_with_position(), ip_RubyExitCommand(), lib_do_one_event_core(), load_transcoder_entry(), rb_alias_variable(), rb_ary_modify_check(), rb_autoload(), rb_autoload_load(), rb_check_copyable(), rb_check_safe_obj(), rb_const_remove(), rb_construct_expanded_load_path(), rb_error_untrusted(), rb_eval_cmd(), rb_exec_end_proc(), rb_f_eval(), rb_f_require(), rb_f_require_relative(), rb_find_file(), rb_find_file_ext(), rb_gc_set_params(), rb_get_path(), rb_gvar_set(), rb_hash_modify_check(), rb_io_close_m(), rb_io_close_read(), rb_io_close_write(), rb_io_taint_check(), rb_ivar_set(), rb_memerror(), rb_method_call_with_block(), rb_method_entry_make(), rb_mod_remove_cvar(), rb_obj_freeze(), rb_obj_remove_instance_variable(), rb_reg_initialize(), rb_reg_search(), rb_require(), rb_require_safe(), rb_secure(), rb_set_end_proc(), rb_thread_local_aref(), rb_thread_local_aset(), rb_thread_variable_get(), rb_thread_variable_set(), rb_undef(), remove_method(), require_enc(), run_finalizer(), safe_getter(), secure_visibility(), security(), set_const_visibility(), specific_eval(), str_modifiable(), tk_funcall(), trap(), vm_setivar(), and yycompile0().

#define rb_sourcefile (   void)    (ruby_sourcefile+0)
#define RbTk_ALLOC_N (   type,
 
)    (type *)ckalloc((int)(sizeof(type) * (n)))
#define RbTk_OBJ_UNTRUST (   x)    do {OBJ_TAINT(x); OBJ_UNTRUST(x);} while (0)
#define ruby_native_thread_p (   void)    is_ruby_native_thread()
#define RUBY_RELEASE_DATE   "unknown release-date"

Definition at line 19 of file tcltklib.c.

Referenced by tcltklib_compile_info().

#define RUBY_VERSION   "(unknown version)"

Definition at line 16 of file tcltklib.c.

Referenced by Init_dl(), and tcltklib_compile_info().

Definition at line 3491 of file tcltklib.c.

#define TAG_BREAK   0x2

Definition at line 157 of file tcltklib.c.

Referenced by tcl_protect_core().

#define TAG_FATAL   0x8
#define TAG_NEXT   0x3

Definition at line 158 of file tcltklib.c.

Referenced by tcl_protect_core().

#define TAG_RAISE   0x6
#define TAG_REDO   0x5
#define TAG_RETRY   0x4
#define TAG_RETURN   0x1

Definition at line 156 of file tcltklib.c.

Referenced by tcl_protect_core().

#define TAG_THROW   0x7
#define TCL_ALPHA_RELEASE   0 /* "alpha" */

Definition at line 103 of file tcltklib.c.

Referenced by Init_tcltklib(), and lib_get_reltype_name().

#define TCL_BETA_RELEASE   1 /* "beta" */

Definition at line 104 of file tcltklib.c.

Referenced by Init_tcltklib(), and lib_get_reltype_name().

#define TCL_CANCEL_UNWIND   0x100000

Definition at line 7823 of file tcltklib.c.

Referenced by ip_cancel_eval_unwind().

#define Tcl_DecrRefCount (   obj)    (1)
#define Tcl_Eval   tcl_eval

Definition at line 291 of file tcltklib.c.

Referenced by delete_slaves(), ip_eval_real(), ip_init(), lib_restart_core(), and tcl_eval().

#define TCL_FINAL_RELEASE   2 /* "final" */

Definition at line 105 of file tcltklib.c.

Referenced by Init_tcltklib(), and lib_get_reltype_name().

#define Tcl_GetStringResult (   interp)    ((interp)->result)

Definition at line 312 of file tcltklib.c.

Referenced by ip_finalize(), and tcl_global_eval().

#define Tcl_IncrRefCount (   obj)    (1)
#define TCL_NAMESPACE_DEBUG   0

Definition at line 560 of file tcltklib.c.

Referenced by deleted_ip(), and ip_InterpExitCommand().

#define TCLTKLIB_RELEASE_DATE   "2010-08-25"

Definition at line 7 of file tcltklib.c.

Referenced by tcltklib_compile_info().

#define TK_WINDOWING_SYSTEM   "x11"

Referenced by Init_tcltklib().

#define TKWAIT_MODE_DESTROY   2
#define TKWAIT_MODE_VISIBILITY   1

Definition at line 4882 of file tcltklib.c.

Referenced by ip_rb_threadTkWaitCommand(), and rb_threadWaitVisibilityProc().

#define TRAP_CHECK ( )
Value:
do { \
    if (trap_check(check_var) == 0) return 0; \
} while (0)

Definition at line 2138 of file tcltklib.c.

Referenced by lib_eventloop_core().

Definition at line 2100 of file tcltklib.c.

#define USE_RUBY_ALLOC   0

Definition at line 494 of file tcltklib.c.

#define va_init_list (   a,
 
)    va_start(a)
#define WATCHDOG_INTERVAL   10/*milliseconds ( 1 -- 999 ) */

Definition at line 520 of file tcltklib.c.

Referenced by lib_watchdog_core().


Function Documentation

static void ip_finalize _ ( (Tcl_Interp *)  ) [static]
static VALUE encoding_table_get_obj_core _ ( (VALUE, VALUE, VALUE ) [static]
static VALUE callq_safelevel_handler _ ( (VALUE, VALUE ) [static]
static VALUE ip_alloc _ ( (VALUE ) [static]
static VALUE ip_invoke _ ( (int, VALUE *, VALUE ) [static]
static VALUE ip_invoke_with_position _ ( (int, VALUE *, VALUE, Tcl_QueuePosition)  ) [static]
static VALUE tk_funcall _ ( (VALUE(), int, VALUE *, VALUE ) [static]
static int ip_ruby_cmd _ ( (ClientData, Tcl_Interp *, int, char **)  ) [static]
static void rb_threadUpdateProc _ ( (ClientData)  ) [static]
static int ip_rb_threadTkWaitCommand _ ( (ClientData, Tcl_Interp *, int, char *[])  ) [static]
static char *rb_threadVwaitProc _ ( (ClientData, Tcl_Interp *, char *, char *, int)  ) [static]
static void rb_threadWaitWindowProc _ ( (ClientData, XEvent *)  ) [static]
int invoke_queue_handler _ ( (Tcl_Event *, int)  ) [static]
static VALUE _thread_call_proc ( VALUE  arg) [static]

Definition at line 2934 of file tcltklib.c.

References _thread_call_proc_core(), _thread_call_proc_ensure(), and rb_ensure().

Referenced by lib_thread_callback().

Definition at line 2911 of file tcltklib.c.

References thread_call_proc_arg::proc, and rb_gc_mark().

static VALUE _thread_call_proc_core ( VALUE  arg) [static]

Definition at line 2917 of file tcltklib.c.

References thread_call_proc_arg::proc, and rb_funcall().

Referenced by _thread_call_proc().

static VALUE _thread_call_proc_ensure ( VALUE  arg) [static]

Definition at line 2925 of file tcltklib.c.

References thread_call_proc_arg::done, and Qnil.

Referenced by _thread_call_proc().

static VALUE _thread_call_proc_value ( VALUE  th) [static]

Definition at line 2947 of file tcltklib.c.

References rb_funcall().

Referenced by lib_thread_callback().

static void _timer_for_tcl ( ClientData  clientData) [static]

Definition at line 1611 of file tcltklib.c.

References DUMP1, NULL, Qtrue, rb_thread_critical, and timer_token.

Referenced by lib_eventloop_core(), and set_eventloop_tick().

static char** alloc_invoke_arguments ( int  argc,
VALUE argv 
) [static]
static VALUE call_DoOneEvent ( VALUE  flag_val) [static]

Definition at line 2042 of file tcltklib.c.

References FIX2INT, Qfalse, and Qtrue.

Referenced by lib_eventloop_core().

static void call_original_exit ( struct tcltkip ptr,
int  state 
) [static]
static int call_queue_handler ( Tcl_Event *  evPtr,
int  flags 
) [static]
void call_queue_mark ( struct call_queue q)
static VALUE callq_safelevel_handler ( VALUE  arg,
VALUE  callq 
) [static]
static int check_eventloop_interp ( ) [static]

Definition at line 2173 of file tcltklib.c.

References DUMP1, DUMP2, and NULL.

Referenced by lib_eventloop_core().

static VALUE create_dummy_encoding_for_tk ( VALUE  interp,
VALUE  name 
) [static]

Definition at line 10135 of file tcltklib.c.

References create_dummy_encoding_for_tk_core(), and Qtrue.

Referenced by create_encoding_table_core(), and Init_tcltklib().

static VALUE create_dummy_encoding_for_tk_core ( VALUE  interp,
VALUE  name,
VALUE  error_mode 
) [static]
static VALUE create_encoding_table ( VALUE  interp) [static]

Definition at line 10603 of file tcltklib.c.

References create_encoding_table_core(), rb_funcall(), and rb_proc_new().

Referenced by ip_get_encoding_table().

static VALUE create_encoding_table_core ( VALUE  arg,
VALUE  interp 
) [static]
static VALUE create_ip_exc ( interp  ,
VALUE interp: VALUE  exc,
const char *  fmt,
va_alist   
) [static]
static void delete_slaves ( Tcl_Interp *  ip) [static]

Definition at line 5600 of file tcltklib.c.

References argc, argv, DUMP1, DUMP2, ip_finalize(), Qtrue, rb_thread_critical, and Tcl_Eval.

Referenced by ip_finalize().

static int deleted_ip ( struct tcltkip ptr) [static]
static VALUE encoding_table_get_name ( VALUE  table,
VALUE  enc 
) [static]

Definition at line 10436 of file tcltklib.c.

References encoding_table_get_name_core(), and Qtrue.

Referenced by ip_get_encoding_table().

static VALUE encoding_table_get_name_core ( VALUE  table,
VALUE  enc_arg,
VALUE  error_mode 
) [static]
static VALUE encoding_table_get_obj ( VALUE  table,
VALUE  enc 
) [static]

Definition at line 10443 of file tcltklib.c.

References encoding_table_get_obj_core(), and Qtrue.

Referenced by ip_get_encoding_table(), and lib_fromUTF8_core().

static VALUE encoding_table_get_obj_core ( VALUE  table,
VALUE  enc,
VALUE  error_mode 
) [static]
int eval_queue_handler ( Tcl_Event *  evPtr,
int  flags 
)
void eval_queue_mark ( struct eval_queue q)

Definition at line 448 of file tcltklib.c.

References eval_queue::interp, rb_gc_mark(), eval_queue::result, and eval_queue::thread.

Referenced by eval_queue_handler().

static VALUE evq_safelevel_handler ( VALUE  arg,
VALUE  evq 
) [static]
static void free_invoke_arguments ( int  argc,
char **  av 
) [static]

Definition at line 8890 of file tcltklib.c.

References argc, free, and Tcl_DecrRefCount.

Referenced by ip_invoke_real(), and ip_invoke_with_position().

static VALUE get_eventloop_tick ( VALUE  self) [static]

Definition at line 1724 of file tcltklib.c.

References INT2NUM.

Referenced by Init_tcltklib(), ip_get_eventloop_tick(), and ip_set_eventloop_tick().

static VALUE get_eventloop_weight ( VALUE  self) [static]

Definition at line 1830 of file tcltklib.c.

References INT2NUM, and rb_ary_new3().

Referenced by Init_tcltklib(), ip_get_eventloop_weight(), and ip_set_eventloop_weight().

static VALUE get_eventloop_window_mode ( VALUE  self) [static]

Definition at line 1678 of file tcltklib.c.

References Qfalse, and Qtrue.

Referenced by Init_tcltklib().

static struct tcltkip* get_ip ( VALUE  self) [static, read]
static VALUE get_no_event_wait ( VALUE  self) [static]

Definition at line 1776 of file tcltklib.c.

References INT2NUM.

Referenced by Init_tcltklib(), ip_get_no_event_wait(), and ip_set_no_event_wait().

void Init_tcltklib ( )

Definition at line 10771 of file tcltklib.c.

References call_original_exit(), create_dummy_encoding_for_tk(), DEFAULT_EVENTLOOP_DEPTH, get_eventloop_tick(), get_eventloop_weight(), get_eventloop_window_mode(), get_no_event_wait(), INT2FIX, ip_alloc(), ip_allow_ruby_exit_p(), ip_allow_ruby_exit_set(), ip_cancel_eval(), ip_cancel_eval_unwind(), ip_create_console(), ip_create_slave(), ip_delete(), ip_do_one_event(), ip_eval(), ip_evloop_abort_on_exc(), ip_evloop_abort_on_exc_set(), ip_fromUTF8(), ip_get_encoding_table(), ip_get_eventloop_tick(), ip_get_eventloop_weight(), ip_get_global_var(), ip_get_global_var2(), ip_get_no_event_wait(), ip_get_variable(), ip_get_variable2(), ip_has_invalid_namespace_p(), ip_has_mainwindow_p(), ip_init(), ip_invoke(), ip_invoke_immediate(), ip_is_deleted_p(), ip_is_safe_p(), ip_is_slave_of_p(), ip_mainloop(), ip_mainloop_watchdog(), ip_make_menu_embeddable(), ip_make_safe(), ip_restart(), ip_retval(), ip_set_eventloop_tick(), ip_set_eventloop_weight(), ip_set_global_var(), ip_set_global_var2(), ip_set_no_event_wait(), ip_set_variable(), ip_set_variable2(), ip_split_tklist(), ip_thread_tkwait(), ip_thread_vwait(), ip_toUTF8(), ip_unset_global_var(), ip_unset_global_var2(), ip_unset_variable(), ip_unset_variable2(), lib_conv_listelement(), lib_do_one_event(), lib_evloop_abort_on_exc(), lib_evloop_abort_on_exc_set(), lib_evloop_thread_p(), lib_fromUTF8(), lib_get_reltype_name(), lib_get_system_encoding(), lib_getversion(), lib_mainloop(), lib_mainloop_watchdog(), lib_mark_at_exit(), lib_merge_tklist(), lib_num_of_mainwindows(), lib_set_system_encoding(), lib_split_tklist(), lib_Tcl_backslash(), lib_thread_callback(), lib_toUTF8(), lib_UTF_backslash(), NO_FindExecutable, NO_TCL_DLL, Qnil, rb_argv0, rb_ary_new2(), rb_cObject, rb_const_get(), rb_define_alloc_func(), rb_define_class(), rb_define_const(), rb_define_method(), rb_define_module(), rb_define_module_function(), rb_define_module_under(), rb_eLoadError, rb_enc_find_index(), rb_enc_to_index, rb_eStandardError, rb_global_variable(), rb_intern, rb_obj_freeze(), rb_path2class(), rb_raise(), rb_set_end_proc(), rb_str_new2(), rb_utf8_encoding(), RbTk_OBJ_UNTRUST, rbtk_pending_exception, RSTRING_PTR, ruby_native_thread_p, ruby_open_tcl_dll(), set_eventloop_tick(), set_eventloop_weight(), set_eventloop_window_mode(), set_max_block_time(), set_no_event_wait(), TCL_ALPHA_RELEASE, TCL_BETA_RELEASE, TCL_FINAL_RELEASE, tcl_stubs_check(), TCLTK_STUBS_OK, tcltklib_compile_info(), and TK_WINDOWING_SYSTEM.

int invoke_queue_handler ( Tcl_Event *  evPtr,
int  flags 
)
void invoke_queue_mark ( struct invoke_queue q)
static VALUE invoke_tcl_proc ( VALUE  arg) [static]
static VALUE ip_alloc ( VALUE  self) [static]

Definition at line 5878 of file tcltklib.c.

References Data_Wrap_Struct, and ip_free().

Referenced by Init_tcltklib().

static VALUE ip_allow_ruby_exit_p ( VALUE  self) [static]

Definition at line 6710 of file tcltklib.c.

References tcltkip::allow_ruby_exit, deleted_ip(), get_ip(), Qfalse, Qtrue, rb_eRuntimeError, and rb_raise().

Referenced by Init_tcltklib().

static VALUE ip_allow_ruby_exit_set ( VALUE  self,
VALUE  val 
) [static]
static void ip_CallWhenDeleted ( ClientData  clientData,
Tcl_Interp *  ip 
) [static]

Definition at line 6120 of file tcltklib.c.

References DUMP1, ip_finalize(), Qtrue, and rb_thread_critical.

Referenced by ip_create_slave_core(), and ip_init().

static VALUE ip_cancel_eval ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 7805 of file tcltklib.c.

References get_ip(), ip_cancel_eval_core(), Qfalse, Qnil, Qtrue, and rb_scan_args().

Referenced by Init_tcltklib().

static int ip_cancel_eval_core ( Tcl_Interp *  interp,
VALUE  msg,
int  flag 
) [static]
static VALUE ip_cancel_eval_unwind ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 7826 of file tcltklib.c.

References get_ip(), ip_cancel_eval_core(), Qfalse, Qnil, Qtrue, rb_scan_args(), and TCL_CANCEL_UNWIND.

Referenced by Init_tcltklib().

static VALUE ip_create_console ( VALUE  self) [static]

Definition at line 6623 of file tcltklib.c.

References deleted_ip(), get_ip(), ip_create_console_core(), rb_eRuntimeError, rb_raise(), and tk_funcall().

Referenced by Init_tcltklib().

static VALUE ip_create_console_core ( VALUE  interp,
int  argc,
VALUE argv 
) [static]
static VALUE ip_create_slave ( int  argc,
VALUE argv,
VALUE  self 
) [static]
static VALUE ip_create_slave_core ( VALUE  interp,
int  argc,
VALUE argv 
) [static]
static VALUE ip_delete ( VALUE  self) [static]

Definition at line 6785 of file tcltklib.c.

References deleted_ip(), DUMP1, get_ip(), tcltkip::ip, ip_finalize(), Qnil, Qtrue, and rb_thread_critical.

Referenced by Init_tcltklib().

static VALUE ip_do_one_event ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 3084 of file tcltklib.c.

References lib_do_one_event_core().

Referenced by Init_tcltklib().

static VALUE ip_eval ( VALUE  self,
VALUE  str 
) [static]
static VALUE ip_eval_real ( VALUE  self,
char *  cmd_str,
int  cmd_len 
) [static]
static VALUE ip_evloop_abort_on_exc ( VALUE  self) [static]

Definition at line 1926 of file tcltklib.c.

References lib_evloop_abort_on_exc().

Referenced by Init_tcltklib().

static VALUE ip_evloop_abort_on_exc_set ( VALUE  self,
VALUE  val 
) [static]
static void ip_finalize ( Tcl_Interp *  ip) [static]
static void ip_free ( struct tcltkip ptr) [static]

Definition at line 5825 of file tcltklib.c.

References DUMP1, DUMP2, ip_finalize(), Qtrue, rb_thread_critical, and xfree().

Referenced by ip_alloc(), and ip_create_slave_core().

static VALUE ip_fromUTF8 ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 8321 of file tcltklib.c.

References lib_fromUTF8_core(), Qnil, and rb_scan_args().

Referenced by Init_tcltklib().

static VALUE ip_get_encoding_table ( VALUE  interp) [static]
static VALUE ip_get_eventloop_tick ( VALUE  self) [static]

Definition at line 1750 of file tcltklib.c.

References get_eventloop_tick().

Referenced by Init_tcltklib().

static VALUE ip_get_eventloop_weight ( VALUE  self) [static]

Definition at line 1857 of file tcltklib.c.

References get_eventloop_weight().

Referenced by Init_tcltklib().

static VALUE ip_get_global_var ( VALUE  self,
VALUE  varname 
) [static]

Definition at line 9649 of file tcltklib.c.

References INT2FIX, and ip_get_variable().

Referenced by Init_tcltklib().

static VALUE ip_get_global_var2 ( VALUE  self,
VALUE  varname,
VALUE  index 
) [static]

Definition at line 9658 of file tcltklib.c.

References INT2FIX, and ip_get_variable2().

Referenced by Init_tcltklib().

static VALUE ip_get_no_event_wait ( VALUE  self) [static]

Definition at line 1802 of file tcltklib.c.

References get_no_event_wait().

Referenced by Init_tcltklib().

static VALUE ip_get_result_string_obj ( Tcl_Interp *  interp) [static]

Definition at line 6963 of file tcltklib.c.

References rb_tainted_str_new2(), RbTk_OBJ_UNTRUST, Tcl_DecrRefCount, and Tcl_IncrRefCount.

Referenced by ip_eval_real(), and ip_invoke_core().

static VALUE ip_get_variable ( VALUE  self,
VALUE  varname,
VALUE  flag 
) [static]

Definition at line 9426 of file tcltklib.c.

References ip_get_variable2(), and Qnil.

Referenced by Init_tcltklib(), and ip_get_global_var().

static VALUE ip_get_variable2 ( VALUE  self,
VALUE  varname,
VALUE  index,
VALUE  flag 
) [static]
static VALUE ip_get_variable2_core ( VALUE  interp,
int  argc,
VALUE argv 
) [static]
static VALUE ip_has_invalid_namespace_p ( VALUE  self) [static]

Definition at line 6817 of file tcltklib.c.

References get_ip(), tcltkip::ip, Qfalse, and Qtrue.

Referenced by Init_tcltklib().

static VALUE ip_has_mainwindow_p ( VALUE  self) [static]

Definition at line 6869 of file tcltklib.c.

References ip_has_mainwindow_p_core(), and tk_funcall().

Referenced by Init_tcltklib().

static VALUE ip_has_mainwindow_p_core ( VALUE  self,
int  argc,
VALUE argv 
) [static]

Definition at line 6852 of file tcltklib.c.

References deleted_ip(), get_ip(), tcltkip::ip, Qfalse, Qnil, Qtrue, and tk_stubs_init_p().

Referenced by ip_has_mainwindow_p().

static VALUE ip_init ( int  argc,
VALUE argv,
VALUE  self 
) [static]
static int ip_InterpExitCommand ( ClientData  clientData,
Tcl_Interp *  interp,
int  argc,
argv   
) [static]
static VALUE ip_invoke ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 9282 of file tcltklib.c.

References ip_invoke_with_position().

Referenced by Init_tcltklib().

static VALUE ip_invoke_core ( VALUE  interp,
int  argc,
char **  argv 
) [static]
static VALUE ip_invoke_immediate ( int  argc,
VALUE argv,
VALUE  obj 
) [static]

Definition at line 9291 of file tcltklib.c.

References ip_invoke_with_position(), and rb_secure().

Referenced by Init_tcltklib().

static VALUE ip_invoke_real ( int  argc,
VALUE argv,
VALUE  interp 
) [static]
static VALUE ip_invoke_with_position ( int  argc,
VALUE argv,
VALUE  obj,
Tcl_QueuePosition  position 
) [static]
static VALUE ip_is_deleted_p ( VALUE  self) [static]

Definition at line 6839 of file tcltklib.c.

References deleted_ip(), get_ip(), Qfalse, and Qtrue.

Referenced by Init_tcltklib().

static VALUE ip_is_safe_p ( VALUE  self) [static]

Definition at line 6691 of file tcltklib.c.

References deleted_ip(), get_ip(), tcltkip::ip, Qfalse, Qtrue, rb_eRuntimeError, and rb_raise().

Referenced by Init_tcltklib().

static VALUE ip_is_slave_of_p ( VALUE  self,
VALUE  master 
) [static]

Definition at line 6541 of file tcltklib.c.

References get_ip(), Qfalse, Qtrue, rb_eArgError, rb_obj_is_kind_of(), and rb_raise().

Referenced by Init_tcltklib().

static VALUE ip_mainloop ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 2755 of file tcltklib.c.

References deleted_ip(), get_ip(), tcltkip::ip, lib_mainloop(), NULL, and Qnil.

Referenced by Init_tcltklib().

static VALUE ip_mainloop_watchdog ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 2884 of file tcltklib.c.

References deleted_ip(), get_ip(), tcltkip::ip, lib_mainloop_watchdog(), NULL, and Qnil.

Referenced by Init_tcltklib().

static VALUE ip_make_menu_embeddable ( VALUE  interp,
VALUE  menu_path 
) [static]

Definition at line 10756 of file tcltklib.c.

References ip_make_menu_embeddable_core(), and tk_funcall().

Referenced by Init_tcltklib().

static VALUE ip_make_menu_embeddable_core ( VALUE  interp,
int  argc,
VALUE argv 
) [static]
static VALUE ip_make_safe ( VALUE  self) [static]

Definition at line 6676 of file tcltklib.c.

References deleted_ip(), get_ip(), ip_make_safe_core(), rb_eRuntimeError, rb_raise(), and tk_funcall().

Referenced by Init_tcltklib().

static VALUE ip_make_safe_core ( VALUE  interp,
int  argc,
VALUE argv 
) [static]
static int ip_null_proc ( ClientData  clientData,
Tcl_Interp *  interp,
int  argc,
argv   
) [static]

Definition at line 5670 of file tcltklib.c.

Referenced by ip_finalize().

static int ip_rb_replaceSlaveTkCmdsCommand ( ClientData  clientData,
Tcl_Interp *  interp,
int  objc,
objv   
) [static]

Definition at line 5966 of file tcltklib.c.

References DUMP1, ip_InterpExitCommand(), and ip_replace_wait_commands().

Referenced by ip_create_slave_core(), and ip_init().

static int ip_rb_threadTkWaitCommand ( ClientData  clientData,
Tcl_Interp *  interp,
int  objc,
objv   
) [static]
static int ip_rb_threadUpdateCommand ( ClientData  clientData,
Tcl_Interp *  interp,
int  objc,
objv   
) [static]
static int ip_rb_threadVwaitCommand ( ClientData  clientData,
Tcl_Interp *  interp,
int  objc,
objv   
) [static]
static int ip_rbTkWaitCommand ( ClientData  clientData,
Tcl_Interp *  interp,
int  objc,
objv   
) [static]
static int ip_rbUpdateCommand ( ClientData  clientData,
Tcl_Interp *  interp,
int  objc,
objv   
) [static]
static int ip_rbVwaitCommand ( ClientData  clientData,
Tcl_Interp *  interp,
int  objc,
objv   
) [static]
static void ip_replace_wait_commands ( Tcl_Interp *  interp,
Tk_Window  mainWin 
) [static]
static VALUE ip_restart ( VALUE  self) [static]
static VALUE ip_retval ( VALUE  self) [static]

Definition at line 9265 of file tcltklib.c.

References deleted_ip(), get_ip(), INT2FIX, rb_tainted_str_new2(), and tcltkip::return_value.

Referenced by Init_tcltklib().

static int ip_ruby_cmd ( ClientData  clientData,
Tcl_Interp *  interp,
int  argc,
argv   
) [static]
static VALUE ip_ruby_cmd_core ( struct cmd_body_arg arg) [static]

Definition at line 3474 of file tcltklib.c.

References DUMP1, DUMP2, Qfalse, rb_apply(), and rb_thread_critical.

Referenced by ip_ruby_cmd().

static VALUE ip_ruby_cmd_receiver_const_get ( char *  name) [static]

Definition at line 3494 of file tcltklib.c.

References free, head, Qnil, rb_cObject, rb_const_get(), rb_eval_string_protect(), rb_intern, strdup, and tail.

Referenced by ip_ruby_cmd_receiver_get().

static VALUE ip_ruby_cmd_receiver_get ( char *  str) [static]

Definition at line 3546 of file tcltklib.c.

References ALLOC_N, buf, ip_ruby_cmd_receiver_const_get(), Qnil, rb_gv_get(), rb_protect(), strlen(), and xfree().

Referenced by ip_ruby_cmd().

static int ip_ruby_eval ( ClientData  clientData,
Tcl_Interp *  interp,
int  argc,
argv   
) [static]
static int ip_RubyExitCommand ( ClientData  clientData,
Tcl_Interp *  interp,
int  argc,
argv   
) [static]
static VALUE ip_set_eventloop_tick ( VALUE  self,
VALUE  tick 
) [static]

Definition at line 1731 of file tcltklib.c.

References deleted_ip(), get_eventloop_tick(), get_ip(), tcltkip::ip, NULL, and set_eventloop_tick().

Referenced by Init_tcltklib().

static VALUE ip_set_eventloop_weight ( VALUE  self,
VALUE  loop_max,
VALUE  no_event 
) [static]

Definition at line 1837 of file tcltklib.c.

References deleted_ip(), get_eventloop_weight(), get_ip(), tcltkip::ip, NULL, and set_eventloop_weight().

Referenced by Init_tcltklib().

static void ip_set_exc_message ( Tcl_Interp *  interp,
VALUE  exc 
) [static]
static VALUE ip_set_global_var ( VALUE  self,
VALUE  varname,
VALUE  value 
) [static]

Definition at line 9668 of file tcltklib.c.

References INT2FIX, and ip_set_variable().

Referenced by Init_tcltklib().

static VALUE ip_set_global_var2 ( VALUE  self,
VALUE  varname,
VALUE  index,
VALUE  value 
) [static]

Definition at line 9678 of file tcltklib.c.

References INT2FIX, and ip_set_variable2().

Referenced by Init_tcltklib().

static VALUE ip_set_no_event_wait ( VALUE  self,
VALUE  wait 
) [static]

Definition at line 1783 of file tcltklib.c.

References deleted_ip(), get_ip(), get_no_event_wait(), tcltkip::ip, NULL, and set_no_event_wait().

Referenced by Init_tcltklib().

static VALUE ip_set_variable ( VALUE  self,
VALUE  varname,
VALUE  value,
VALUE  flag 
) [static]

Definition at line 9565 of file tcltklib.c.

References ip_set_variable2(), and Qnil.

Referenced by Init_tcltklib(), and ip_set_global_var().

static VALUE ip_set_variable2 ( VALUE  self,
VALUE  varname,
VALUE  index,
VALUE  value,
VALUE  flag 
) [static]
static VALUE ip_set_variable2_core ( VALUE  interp,
int  argc,
VALUE argv 
) [static]
static VALUE ip_split_tklist ( VALUE  self,
VALUE  list_str 
) [static]

Definition at line 9853 of file tcltklib.c.

References lib_split_tklist_core().

Referenced by Init_tcltklib().

static VALUE ip_thread_tkwait ( VALUE  self,
VALUE  mode,
VALUE  target 
) [static]

Definition at line 5529 of file tcltklib.c.

References ip_invoke_with_position(), and rb_str_new2().

Referenced by Init_tcltklib().

static VALUE ip_thread_vwait ( VALUE  self,
VALUE  var 
) [static]

Definition at line 5515 of file tcltklib.c.

References ip_invoke_with_position(), and rb_str_new2().

Referenced by Init_tcltklib().

static VALUE ip_toUTF8 ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 8119 of file tcltklib.c.

References lib_toUTF8_core(), Qnil, and rb_scan_args().

Referenced by Init_tcltklib().

static VALUE ip_unset_global_var ( VALUE  self,
VALUE  varname 
) [static]

Definition at line 9689 of file tcltklib.c.

References INT2FIX, and ip_unset_variable().

Referenced by Init_tcltklib().

static VALUE ip_unset_global_var2 ( VALUE  self,
VALUE  varname,
VALUE  index 
) [static]

Definition at line 9698 of file tcltklib.c.

References INT2FIX, and ip_unset_variable2().

Referenced by Init_tcltklib().

static VALUE ip_unset_variable ( VALUE  self,
VALUE  varname,
VALUE  flag 
) [static]

Definition at line 9640 of file tcltklib.c.

References ip_unset_variable2(), and Qnil.

Referenced by Init_tcltklib(), and ip_unset_global_var().

static VALUE ip_unset_variable2 ( VALUE  self,
VALUE  varname,
VALUE  index,
VALUE  flag 
) [static]
static VALUE ip_unset_variable2_core ( VALUE  interp,
int  argc,
VALUE argv 
) [static]
static void ip_wrap_namespace_command ( Tcl_Interp *  interp) [static]

Definition at line 6089 of file tcltklib.c.

Referenced by ip_create_slave_core(), and ip_init().

VALUE ivq_safelevel_handler ( VALUE  arg,
VALUE  ivq 
)
static VALUE lib_conv_listelement ( VALUE  self,
VALUE  src 
) [static]
static VALUE lib_do_one_event ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 3075 of file tcltklib.c.

References lib_do_one_event_core().

Referenced by Init_tcltklib().

static VALUE lib_do_one_event_core ( int  argc,
VALUE argv,
VALUE  self,
int  is_ip 
) [static]
static int lib_eventloop_core ( int  check_root,
int  update_flag,
int *  check_var,
Tcl_Interp *  interp 
) [static]
static VALUE lib_eventloop_launcher ( int  check_root,
int  update_flag,
int *  check_var,
Tcl_Interp *  interp 
) [static]
static VALUE lib_evloop_abort_on_exc ( VALUE  self) [static]
static VALUE lib_evloop_abort_on_exc_set ( VALUE  self,
VALUE  val 
) [static]

Definition at line 1933 of file tcltklib.c.

References lib_evloop_abort_on_exc(), NIL_P, rb_secure(), and RTEST.

Referenced by Init_tcltklib(), and ip_evloop_abort_on_exc_set().

static VALUE lib_evloop_thread_p ( VALUE  self) [static]

Definition at line 1900 of file tcltklib.c.

References NIL_P, Qfalse, Qnil, Qtrue, and rb_thread_current().

Referenced by Init_tcltklib().

static VALUE lib_fromUTF8 ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 8307 of file tcltklib.c.

References lib_fromUTF8_core(), Qnil, and rb_scan_args().

Referenced by Init_tcltklib().

static VALUE lib_fromUTF8_core ( VALUE  ip_obj,
VALUE  src,
VALUE  encodename 
) [static]
static VALUE lib_get_reltype_name ( VALUE  self) [static]
static VALUE lib_get_system_encoding ( VALUE  self) [static]

Definition at line 8431 of file tcltklib.c.

References Qnil, rb_str_new2(), and tcl_stubs_check().

Referenced by Init_tcltklib(), and lib_set_system_encoding().

static VALUE lib_getversion ( VALUE  self) [static]

Definition at line 9996 of file tcltklib.c.

References INT2NUM, rb_ary_new3(), set_tcltk_version(), and tcltk_version.

Referenced by Init_tcltklib().

static VALUE lib_mainloop ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 2735 of file tcltklib.c.

References lib_eventloop_launcher(), NULL, Qfalse, Qtrue, rb_scan_args(), and RTEST.

Referenced by Init_tcltklib(), and ip_mainloop().

static VALUE lib_mainloop_watchdog ( int  argc,
VALUE argv,
VALUE  self 
) [static]
static void lib_mark_at_exit ( VALUE  self) [static]

Definition at line 5647 of file tcltklib.c.

Referenced by Init_tcltklib().

static VALUE lib_merge_tklist ( int  argc,
VALUE argv,
VALUE  obj 
) [static]
static VALUE lib_num_of_mainwindows ( VALUE  self) [static]

Definition at line 1981 of file tcltklib.c.

References lib_num_of_mainwindows_core(), NULL, and tk_funcall().

Referenced by Init_tcltklib().

static VALUE lib_num_of_mainwindows_core ( VALUE  self,
int  argc,
VALUE argv 
) [static]

Definition at line 1968 of file tcltklib.c.

References INT2FIX, and tk_stubs_init_p().

Referenced by lib_num_of_mainwindows().

static VALUE lib_restart ( VALUE  self) [static]
static VALUE lib_restart_core ( VALUE  interp,
int  argc,
VALUE argv 
) [static]
static VALUE lib_set_system_encoding ( VALUE  self,
VALUE  enc_name 
) [static]
static VALUE lib_split_tklist ( VALUE  self,
VALUE  list_str 
) [static]

Definition at line 9844 of file tcltklib.c.

References lib_split_tklist_core(), and Qnil.

Referenced by Init_tcltklib().

static VALUE lib_split_tklist_core ( VALUE  ip_obj,
VALUE  list_str 
) [static]
static VALUE lib_Tcl_backslash ( VALUE  self,
VALUE  str 
) [static]

Definition at line 8423 of file tcltklib.c.

References lib_UTF_backslash_core().

Referenced by Init_tcltklib().

static VALUE lib_thread_callback ( int  argc,
VALUE argv,
VALUE  self 
) [static]
static VALUE lib_toUTF8 ( int  argc,
VALUE argv,
VALUE  self 
) [static]

Definition at line 8105 of file tcltklib.c.

References lib_toUTF8_core(), Qnil, and rb_scan_args().

Referenced by Init_tcltklib().

static VALUE lib_toUTF8_core ( VALUE  ip_obj,
VALUE  src,
VALUE  encodename 
) [static]
static VALUE lib_UTF_backslash ( VALUE  self,
VALUE  str 
) [static]

Definition at line 8415 of file tcltklib.c.

References lib_UTF_backslash_core().

Referenced by Init_tcltklib().

static VALUE lib_UTF_backslash_core ( VALUE  self,
VALUE  str,
int  all_bs 
) [static]
static VALUE lib_watchdog_core ( VALUE  check_rootwidget) [static]

Definition at line 2848 of file tcltklib.c.

References Qnil.

Referenced by lib_mainloop_watchdog().

int matherr ( )
static int pending_exception_check0 ( ) [static]
static int pending_exception_check1 ( int  thr_crit_bup,
struct tcltkip ptr 
) [static]

Definition at line 1100 of file thread.c.

Referenced by ip_rbTkWaitCommand(), ip_rbUpdateCommand(), ip_rbVwaitCommand(), and trap_check().

static void rb_threadUpdateProc ( ClientData  clientData) [static]
static char* rb_threadVwaitProc ( ClientData  clientData,
Tcl_Interp *  interp,
char *  name1,
char *  name2,
int  flags 
) [static]
static void rb_threadWaitVisibilityProc ( ClientData  clientData,
XEvent *  eventPtr 
) [static]
static void rb_threadWaitWindowProc ( ClientData  clientData,
XEvent *  eventPtr 
) [static]
void rbtk_EventCheckProc ( ClientData  clientData,
int  flag 
)

Definition at line 2001 of file tcltklib.c.

References rb_thread_schedule().

Referenced by lib_eventloop_ensure(), and lib_eventloop_main_core().

void rbtk_EventSetupProc ( ClientData  clientData,
int  flag 
)

Definition at line 1992 of file tcltklib.c.

Referenced by lib_eventloop_ensure(), and lib_eventloop_main_core().

static int rbtk_preserve_ip ( struct tcltkip ptr) [static]
static int rbtk_release_ip ( struct tcltkip ptr) [static]
static VALUE set_eventloop_tick ( VALUE  self,
VALUE  tick 
) [static]
static VALUE set_eventloop_weight ( VALUE  self,
VALUE  loop_max,
VALUE  no_event 
) [static]

Definition at line 1809 of file tcltklib.c.

References NUM2INT, rb_ary_new3(), rb_eArgError, rb_raise(), and rb_secure().

Referenced by Init_tcltklib(), and ip_set_eventloop_weight().

static VALUE set_eventloop_window_mode ( VALUE  self,
VALUE  mode 
) [static]

Definition at line 1662 of file tcltklib.c.

References rb_secure(), and RTEST.

Referenced by Init_tcltklib().

static VALUE set_max_block_time ( VALUE  self,
VALUE  time 
) [static]
static VALUE set_no_event_wait ( VALUE  self,
VALUE  wait 
) [static]

Definition at line 1757 of file tcltklib.c.

References NUM2INT, rb_eArgError, rb_raise(), rb_secure(), and wait().

Referenced by Init_tcltklib(), and ip_set_no_event_wait().

static void set_tcltk_version ( ) [static]

Definition at line 116 of file tcltklib.c.

References tcltk_version.

Referenced by lib_get_reltype_name(), and lib_getversion().

static int tcl_eval ( Tcl_Interp *  interp,
const char *  cmd 
) [static]

Definition at line 276 of file tcltklib.c.

References buf, free, strdup, and Tcl_Eval.

static int tcl_global_eval ( Tcl_Interp *  interp,
const char *  cmd 
) [static]

Definition at line 297 of file tcltklib.c.

References buf, free, strdup, and Tcl_GlobalEval.

static int tcl_protect ( Tcl_Interp *  interp,
VALUE (*)()  proc,
VALUE  data 
) [static]

Definition at line 3365 of file tcltklib.c.

References rb_bug(), ruby_native_thread_p, and tcl_protect_core().

Referenced by ip_ruby_cmd(), and ip_ruby_eval().

static int tcl_protect_core ( Tcl_Interp *  interp,
VALUE (*)()  proc,
VALUE  data 
) [static]
static void tcl_stubs_check ( ) [static]
static VALUE tcltkip_init_tk ( VALUE  interp) [static]
static VALUE tcltklib_compile_info ( ) [static]
static VALUE tk_funcall ( VALUE (*)()  func,
int  argc,
VALUE argv,
VALUE  obj 
) [static]
static VALUE TkStringValue ( VALUE  obj) [static]

Definition at line 3157 of file tcltklib.c.

References rb_funcall(), rb_respond_to(), rb_str_new2(), T_ARRAY, T_FALSE, T_NIL, T_STRING, T_TRUE, and TYPE.

Referenced by tcl_protect_core().

static int trap_check ( int *  check_var) [static]
static int update_encoding_table ( VALUE  table,
VALUE  interp,
VALUE  error_mode 
) [static]
static char* VwaitVarProc ( ClientData  clientData,
Tcl_Interp *  interp,
char *  name1,
char *  name2,
int  flags 
) [static]

Definition at line 4202 of file tcltklib.c.

References NULL.

Referenced by ip_rb_threadUpdateCommand(), and ip_rbVwaitCommand().

static char* WaitVariableProc ( ClientData  clientData,
Tcl_Interp *  interp,
char *  name1,
char *  name2,
int  flags 
) [static]

Definition at line 4417 of file tcltklib.c.

References NULL.

Referenced by ip_rbTkWaitCommand(), and ip_rbVwaitCommand().

static void WaitVisibilityProc ( ClientData  clientData,
XEvent *  eventPtr 
) [static]

Definition at line 4433 of file tcltklib.c.

Referenced by ip_rbTkWaitCommand().

static void WaitWindowProc ( ClientData  clientData,
XEvent *  eventPtr 
) [static]

Definition at line 4449 of file tcltklib.c.

Referenced by ip_rbTkWaitCommand().

static VALUE watchdog_evloop_launcher ( VALUE  check_rootwidget) [static]

Definition at line 2781 of file tcltklib.c.

References lib_eventloop_launcher(), NULL, and RTEST.

Referenced by lib_watchdog_core().


Variable Documentation

int at_exit = 0 [static]

Definition at line 185 of file tcltklib.c.

Referenced by ruby_vm_at_exit().

int check_rootwidget_flag = 0 [static]

Definition at line 538 of file tcltklib.c.

VALUE cRubyEncoding [static]

Definition at line 188 of file tcltklib.c.

Tcl_Interp* current_interp

Definition at line 480 of file tcltklib.c.

Definition at line 213 of file tcltklib.c.

int ENCODING_INDEX_BINARY [static]

Definition at line 192 of file tcltklib.c.

Referenced by create_encoding_table_core().

int ENCODING_INDEX_UTF8 [static]

Definition at line 191 of file tcltklib.c.

Referenced by create_encoding_table_core().

Definition at line 195 of file tcltklib.c.

Definition at line 194 of file tcltklib.c.

Definition at line 210 of file tcltklib.c.

Referenced by tcl_protect_core().

Definition at line 211 of file tcltklib.c.

Referenced by tcl_protect_core().

Definition at line 217 of file tcltklib.c.

Definition at line 216 of file tcltklib.c.

Definition at line 209 of file tcltklib.c.

Referenced by tcl_protect_core().

Definition at line 218 of file tcltklib.c.

Definition at line 215 of file tcltklib.c.

int event_loop_abort_on_exc = 1 [static]

Definition at line 535 of file tcltklib.c.

Definition at line 527 of file tcltklib.c.

Referenced by lib_eventloop_core().

int event_loop_wait_event = 0 [static]

Definition at line 534 of file tcltklib.c.

Tcl_Interp* eventloop_interp [static]

Definition at line 471 of file tcltklib.c.

Definition at line 475 of file tcltklib.c.

Definition at line 470 of file tcltklib.c.

Referenced by lib_eventloop_core(), lib_eventloop_launcher(), and tk_funcall().

const char finalize_hook_name[] = "INTERP_FINALIZE_HOOK" [static]

Definition at line 181 of file tcltklib.c.

Definition at line 499 of file tcltklib.c.

ID ID_alive_p [static]

Definition at line 229 of file tcltklib.c.

ID ID_at_enc [static]

Definition at line 222 of file tcltklib.c.

ID ID_at_interp [static]

Definition at line 223 of file tcltklib.c.

ID ID_at_reason [static]

Definition at line 238 of file tcltklib.c.

ID ID_backtrace [static]

Definition at line 235 of file tcltklib.c.

ID ID_break [static]

Definition at line 240 of file tcltklib.c.

ID ID_call [static]

Definition at line 234 of file tcltklib.c.

ID ID_encoding_name [static]

Definition at line 225 of file tcltklib.c.

Definition at line 226 of file tcltklib.c.

ID ID_inspect [static]

Definition at line 244 of file tcltklib.c.

ID ID_join [static]

Definition at line 231 of file tcltklib.c.

ID ID_kill [static]

Definition at line 230 of file tcltklib.c.

ID ID_message [static]

Definition at line 236 of file tcltklib.c.

ID ID_next [static]

Definition at line 241 of file tcltklib.c.

ID ID_return [static]

Definition at line 239 of file tcltklib.c.

ID ID_stop_p [static]

Definition at line 228 of file tcltklib.c.

ID ID_to_s [static]

Definition at line 243 of file tcltklib.c.

ID ID_value [static]

Definition at line 232 of file tcltklib.c.

int loop_counter = 0 [static]

Definition at line 536 of file tcltklib.c.

Referenced by lib_watchdog_core().

int major
int minor

Definition at line 528 of file tcltklib.c.

Referenced by lib_eventloop_core().

Definition at line 529 of file tcltklib.c.

Referenced by lib_eventloop_core().

Definition at line 112 of file tcltklib.c.

int rb_thread_critical [static]
int rbtk_eventloop_depth = 0 [static]

Definition at line 531 of file tcltklib.c.

Referenced by lib_eventloop_core().

int run_timer_flag = 0 [static]

Definition at line 532 of file tcltklib.c.

int* tclDummyMathPtr = (int *) matherr

Definition at line 395 of file tcltklib.c.

struct { ... } tcltk_version [static]
VALUE tcltkip_class [static]

Definition at line 220 of file tcltklib.c.

Definition at line 178 of file tcltklib.c.

Definition at line 530 of file tcltklib.c.

Tcl_TimerToken timer_token = (Tcl_TimerToken)NULL [static]
int type

Definition at line 111 of file tcltklib.c.

Referenced by callback(), check_type_tree(), compile_length_tree(), compile_tree(), count_objects(), count_objects_size(), defined_expr(), find_iid(), fixup_nodes(), fole_type(), function_call(), generic_to_value(), get_head_value_node(), if(), init_inetsock_internal(), initialize(), insn_data_to_s_detail(), insn_operand_intern(), int_to_ffi_type(), invoke_block_from_c(), iow_inspect(), iseq_build_from_ary_exception(), iseq_compile_each(), iseq_data_to_ary(), iseq_load(), iseq_set_sequence(), method_entry_i(), next_setup(), node_new_ctype(), node_new_enclose(), ole_method_invoke_kind(), ole_method_return_type(), ole_method_return_type_detail(), ole_ole_type(), ole_param_ole_type(), ole_ptrtype2val(), ole_type_from_itypeinfo(), ole_type_impl_ole_types(), ole_types_from_typelib(), ole_usertype2val(), ole_variable_ole_type(), ole_variable_ole_type_detail(), onig_node_new_anchor(), optimize_node_left(), ossl_digest_initialize(), ossl_pkcs7_set_type(), ossl_x509name_add_entry(), pack_pack(), pack_unpack(), prepare_iseq_build(), r_object0(), r_symbol(), range_op(), rb_add_method(), rb_data_typed_object_alloc(), rb_dlcfunc_initialize(), rb_dlcfunc_new(), rb_enc_symname_type(), rb_feature_p(), rb_method_entry_set(), rb_search_method_entry(), rb_str_symname_type(), rsock_init_inetsock(), search_required(), set_relation(), setup_subexp_call(), setup_tree(), singleton_class_of(), sock_initialize(), st_init_table_with_size(), subexp_inf_recursive_check(), subexp_inf_recursive_check_trav(), subexp_recursive_check_trav(), tcl_protect_core(), type2sym(), typeinfo_from_ole(), vm_exec(), vm_invoke_block(), and vm_push_frame().

Definition at line 478 of file tcltklib.c.

int window_event_mode = ~0 [static]

Definition at line 476 of file tcltklib.c.