Ruby  1.9.3p551(2014-11-13revision48407)
Data Structures | Macros | Functions | Variables
tcltklib.c File Reference
#include "ruby.h"
#include "rubysig.h"
#include <stdio.h>
#include <varargs.h>
#include <string.h>
#include "missing.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
 

Macros

#define TCLTKLIB_RELEASE_DATE   "2010-08-25"
 
#define RUBY_VERSION   "(unknown version)"
 
#define RUBY_RELEASE_DATE   "unknown release-date"
 
#define RSTRING_PTR(s)   (RSTRING(s)->ptr)
 
#define RSTRING_LEN(s)   (RSTRING(s)->len)
 
#define RARRAY_PTR(s)   (RARRAY(s)->ptr)
 
#define RARRAY_LEN(s)   (RARRAY(s)->len)
 
#define RbTk_OBJ_UNTRUST(x)   OBJ_TAINT(x)
 
#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

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 VALUE eventloop_sleep (VALUE dummy)
 
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 VALUE encoding_table_get_name_core (VALUE table, VALUE enc, 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

struct {
   int   major
 
   int   minor
 
   int   type
 
   int   patchlevel
 
tcltk_version = {0, 0, 0, 0}
 
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 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
 

Macro Definition Documentation

#define CONST

Definition at line 138 of file tcltklib.c.

Referenced by ip_rb_threadUpdateCommand(), and ip_rbUpdateCommand().

#define CONST84
#define CONST86   CONST84

Definition at line 147 of file tcltklib.c.

#define CONTROL_BY_STATUS_OF_RB_THREAD_WAITING_FOR_VALUE   1

Definition at line 489 of file tcltklib.c.

#define DEFAULT_EVENT_LOOP_MAX   800/*counts*/

Definition at line 513 of file tcltklib.c.

#define DEFAULT_EVENTLOOP_DEPTH   7

Referenced by Init_tcltklib().

#define DEFAULT_NO_EVENT_TICK   10/*counts*/

Definition at line 514 of file tcltklib.c.

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

Definition at line 515 of file tcltklib.c.

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

Definition at line 517 of file tcltklib.c.

#define DO_THREAD_SCHEDULE_AT_CALLBACK_DONE   0

Definition at line 491 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 165 of file tcltklib.c.

Referenced by lib_eventloop_launcher().

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

Definition at line 2777 of file tcltklib.c.

Referenced by lib_watchdog_core().

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

Definition at line 518 of file tcltklib.c.

Referenced by lib_eventloop_core(), and lib_watchdog_core().

#define RARRAY_LEN (   s)    (RARRAY(s)->len)

Definition at line 36 of file tcltklib.c.

#define RARRAY_PTR (   s)    (RARRAY(s)->ptr)
#define rb_errinfo (   void)    (ruby_errinfo+0) /* cannot be l-value */
#define rb_hash_lookup   rb_hash_aref
#define rb_safe_level (   void)    (ruby_safe_level+0)
#define rb_sourcefile (   void)    (ruby_sourcefile+0)
#define RbTk_OBJ_UNTRUST (   x)    OBJ_TAINT(x)
#define RSTRING_LEN (   s)    (RSTRING(s)->len)
#define RSTRING_PTR (   s)    (RSTRING(s)->ptr)
#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().

#define SUPPORT_NESTED_CONST_AS_IP_RUBY_CMD_RECEIVER   1

Definition at line 3480 of file tcltklib.c.

#define TAG_BREAK   0x2

Definition at line 153 of file tcltklib.c.

Referenced by tcl_protect_core().

#define TAG_FATAL   0x8
#define TAG_NEXT   0x3

Definition at line 154 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 152 of file tcltklib.c.

Referenced by tcl_protect_core().

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

Definition at line 99 of file tcltklib.c.

Referenced by Init_tcltklib(), and lib_get_reltype_name().

#define TCL_BETA_RELEASE   1 /* "beta" */

Definition at line 100 of file tcltklib.c.

Referenced by Init_tcltklib(), and lib_get_reltype_name().

#define TCL_CANCEL_UNWIND   0x100000

Definition at line 7810 of file tcltklib.c.

Referenced by ip_cancel_eval_unwind().

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

Definition at line 287 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 101 of file tcltklib.c.

Referenced by Init_tcltklib(), and lib_get_reltype_name().

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

Definition at line 308 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 556 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 4871 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 2127 of file tcltklib.c.

Referenced by lib_eventloop_core().

#define USE_EVLOOP_THREAD_ALONE_CHECK_FLAG   0

Definition at line 2089 of file tcltklib.c.

#define USE_RUBY_ALLOC   0
#define USE_TOGGLE_WINDOW_MODE_FOR_IDLE   0

Definition at line 490 of file tcltklib.c.

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

Definition at line 516 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 create_encoding_table _ ( (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 2923 of file tcltklib.c.

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

Referenced by lib_thread_callback().

void _thread_call_proc_arg_mark ( struct thread_call_proc_arg q)

Definition at line 2900 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 2906 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 2914 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 2936 of file tcltklib.c.

References rb_funcall().

Referenced by lib_thread_callback().

static void _timer_for_tcl ( ClientData  clientData)
static

Definition at line 1602 of file tcltklib.c.

References DUMP1, NULL, Qtrue, and timer_token.

Referenced by lib_eventloop_core(), and set_eventloop_tick().

static char** alloc_invoke_arguments ( int  argc,
VALUE argv 
)
static

Definition at line 8829 of file tcltklib.c.

References argc, i, Qtrue, strdup, StringValuePtr, and Tcl_IncrRefCount.

Referenced by ip_invoke_real(), and ip_invoke_with_position().

static VALUE call_DoOneEvent ( VALUE  flag_val)
static

Definition at line 2033 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 2162 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 10118 of file tcltklib.c.

References create_dummy_encoding_for_tk_core(), and Qtrue.

Referenced by 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 10586 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

Definition at line 10573 of file tcltklib.c.

References rb_hash_new(), rb_ivar_set(), and rb_secure().

Referenced by create_encoding_table().

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 5589 of file tcltklib.c.

References argc, argv, DUMP1, DUMP2, i, ip_finalize(), len, Qtrue, 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 10419 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,
VALUE  error_mode 
)
static

Definition at line 10400 of file tcltklib.c.

References Qnil.

Referenced by encoding_table_get_name().

static VALUE encoding_table_get_obj ( VALUE  table,
VALUE  enc 
)
static

Definition at line 10426 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

Definition at line 10408 of file tcltklib.c.

References Qnil.

Referenced by encoding_table_get_obj().

int eval_queue_handler ( Tcl_Event *  evPtr,
int  flags 
)
void eval_queue_mark ( struct eval_queue q)

Definition at line 444 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 eventloop_sleep ( VALUE  dummy)
static
static VALUE evq_safelevel_handler ( VALUE  arg,
VALUE  evq 
)
static
static void free_invoke_arguments ( int  argc,
char **  av 
)
static

Definition at line 8877 of file tcltklib.c.

References argc, free(), i, and Tcl_DecrRefCount.

Referenced by ip_invoke_real(), and ip_invoke_with_position().

static VALUE get_eventloop_tick ( VALUE  self)
static

Definition at line 1715 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 1821 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 1669 of file tcltklib.c.

References Qfalse, and Qtrue.

Referenced by Init_tcltklib().

static struct tcltkip* get_ip ( VALUE  self)
staticread
static VALUE get_no_event_wait ( VALUE  self)
static

Definition at line 1767 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 10754 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 5867 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 6699 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 6109 of file tcltklib.c.

References DUMP1, ip_finalize(), and Qtrue.

Referenced by ip_create_slave_core(), and ip_init().

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

Definition at line 7792 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 7813 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 6612 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 6774 of file tcltklib.c.

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

Referenced by Init_tcltklib().

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

Definition at line 3073 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 1917 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 5814 of file tcltklib.c.

References DUMP1, DUMP2, ip_finalize(), Qtrue, 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 8308 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 1741 of file tcltklib.c.

References get_eventloop_tick().

Referenced by Init_tcltklib().

static VALUE ip_get_eventloop_weight ( VALUE  self)
static

Definition at line 1848 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 9636 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 9645 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 1793 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 6952 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 9413 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 6806 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 6858 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 6841 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 9269 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 9278 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 6828 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 6680 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 6530 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 2744 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 2873 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 10739 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 6665 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 5659 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 5955 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 9252 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 3463 of file tcltklib.c.

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

Referenced by ip_ruby_cmd().

static VALUE ip_ruby_cmd_receiver_const_get ( char *  name)
static

Definition at line 3483 of file tcltklib.c.

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

Referenced by ip_ruby_cmd_receiver_get().

static VALUE ip_ruby_cmd_receiver_get ( char *  str)
static

Definition at line 3535 of file tcltklib.c.

References ALLOC_N, buf, ip_ruby_cmd_receiver_const_get(), len, 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 1722 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 1828 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 9655 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 9665 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 1774 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 9552 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 9840 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 5518 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 5504 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 8106 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 9676 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 9685 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 9627 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 6078 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 3064 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
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_eventloop_main ( VALUE  args)
VALUE lib_eventloop_main_core ( VALUE  args)
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 1924 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 1891 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 8294 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 8418 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 9983 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 2724 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 5636 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 1972 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 1959 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 9831 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 8410 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 8092 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 8402 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
VALUE lib_watchdog_ensure ( VALUE  arg)

Definition at line 2837 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
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 1992 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 1983 of file tcltklib.c.

References long.

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 1800 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 1653 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 1748 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 112 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 272 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 293 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 3354 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 3146 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 char* VwaitVarProc ( ClientData  clientData,
Tcl_Interp *  interp,
char *  name1,
char *  name2,
int  flags 
)
static

Definition at line 4191 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 4406 of file tcltklib.c.

References NULL.

Referenced by ip_rbTkWaitCommand(), and ip_rbVwaitCommand().

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

Definition at line 4422 of file tcltklib.c.

Referenced by ip_rbTkWaitCommand().

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

Definition at line 4438 of file tcltklib.c.

Referenced by ip_rbTkWaitCommand().

static VALUE watchdog_evloop_launcher ( VALUE  check_rootwidget)
static

Definition at line 2770 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 181 of file tcltklib.c.

Referenced by ruby_vm_at_exit().

int check_rootwidget_flag = 0
static

Definition at line 534 of file tcltklib.c.

Tcl_Interp* current_interp

Definition at line 476 of file tcltklib.c.

VALUE eLocalJumpError
static

Definition at line 209 of file tcltklib.c.

VALUE ENCODING_NAME_BINARY
static

Definition at line 191 of file tcltklib.c.

VALUE ENCODING_NAME_UTF8
static

Definition at line 190 of file tcltklib.c.

VALUE eTkCallbackBreak
static

Definition at line 206 of file tcltklib.c.

Referenced by tcl_protect_core().

VALUE eTkCallbackContinue
static

Definition at line 207 of file tcltklib.c.

Referenced by tcl_protect_core().

VALUE eTkCallbackRedo
static

Definition at line 213 of file tcltklib.c.

VALUE eTkCallbackRetry
static

Definition at line 212 of file tcltklib.c.

VALUE eTkCallbackReturn
static

Definition at line 205 of file tcltklib.c.

Referenced by tcl_protect_core().

VALUE eTkCallbackThrow
static

Definition at line 214 of file tcltklib.c.

VALUE eTkLocalJumpError
static

Definition at line 211 of file tcltklib.c.

int event_loop_abort_on_exc = 1
static

Definition at line 531 of file tcltklib.c.

int event_loop_max = DEFAULT_EVENT_LOOP_MAX
static

Definition at line 523 of file tcltklib.c.

Referenced by lib_eventloop_core().

int event_loop_wait_event = 0
static

Definition at line 530 of file tcltklib.c.

Tcl_Interp* eventloop_interp
static

Definition at line 467 of file tcltklib.c.

VALUE eventloop_stack
static

Definition at line 471 of file tcltklib.c.

VALUE eventloop_thread
static

Definition at line 466 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 177 of file tcltklib.c.

int have_rb_thread_waiting_for_value = 0
static

Definition at line 495 of file tcltklib.c.

ID ID_alive_p
static

Definition at line 225 of file tcltklib.c.

ID ID_at_enc
static

Definition at line 218 of file tcltklib.c.

ID ID_at_interp
static

Definition at line 219 of file tcltklib.c.

ID ID_at_reason
static

Definition at line 234 of file tcltklib.c.

ID ID_backtrace
static

Definition at line 231 of file tcltklib.c.

ID ID_break
static

Definition at line 236 of file tcltklib.c.

ID ID_call
static

Definition at line 230 of file tcltklib.c.

ID ID_encoding_name
static

Definition at line 221 of file tcltklib.c.

ID ID_encoding_table
static

Definition at line 222 of file tcltklib.c.

ID ID_inspect
static

Definition at line 240 of file tcltklib.c.

ID ID_join
static

Definition at line 227 of file tcltklib.c.

ID ID_kill
static

Definition at line 226 of file tcltklib.c.

ID ID_message
static

Definition at line 232 of file tcltklib.c.

ID ID_next
static

Definition at line 237 of file tcltklib.c.

ID ID_return
static

Definition at line 235 of file tcltklib.c.

ID ID_stop_p
static

Definition at line 224 of file tcltklib.c.

ID ID_to_s
static

Definition at line 239 of file tcltklib.c.

ID ID_value
static

Definition at line 228 of file tcltklib.c.

int loop_counter = 0
static

Definition at line 532 of file tcltklib.c.

Referenced by lib_watchdog_core().

int major
int minor
int no_event_tick = DEFAULT_NO_EVENT_TICK
static

Definition at line 524 of file tcltklib.c.

Referenced by lib_eventloop_core().

int no_event_wait = DEFAULT_NO_EVENT_WAIT
static

Definition at line 525 of file tcltklib.c.

int patchlevel

Definition at line 108 of file tcltklib.c.

int rbtk_eventloop_depth = 0
static
int rbtk_internal_eventloop_handler = 0
static
VALUE rbtk_pending_exception
static
int req_timer_tick = DEFAULT_TIMER_TICK
static

Definition at line 527 of file tcltklib.c.

Referenced by lib_eventloop_core().

int run_timer_flag = 0
static

Definition at line 528 of file tcltklib.c.

int* tclDummyMathPtr = (int *) matherr

Definition at line 391 of file tcltklib.c.

struct { ... } tcltk_version
VALUE tcltkip_class
static

Definition at line 216 of file tcltklib.c.

const char tcltklib_release_date[] = TCLTKLIB_RELEASE_DATE
static

Definition at line 174 of file tcltklib.c.

int timer_tick = DEFAULT_TIMER_TICK
static

Definition at line 526 of file tcltklib.c.

Tcl_TimerToken timer_token = (Tcl_TimerToken)NULL
static
int type
VALUE watchdog_thread
static

Definition at line 474 of file tcltklib.c.

int window_event_mode = ~0
static

Definition at line 472 of file tcltklib.c.