Ruby 2.0.0p247(2013-06-27revision41674)

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Macros | Enumerations | Functions | Variables
ruby.c File Reference
`#include "ruby/ruby.h"`
`#include "ruby/encoding.h"`
`#include "internal.h"`
`#include "eval_intern.h"`
`#include "dln.h"`
`#include <stdio.h>`
`#include <sys/types.h>`
`#include <ctype.h>`
`#include "ruby/util.h"`
Include dependency graph for ruby.c:

Go to the source code of this file.

## Data Structures
struct | cmdline_options
struct | load_file_arg

## Macros
#define | MAXPATHLEN 1024
#define | numberof(array) (int)(sizeof(array) / sizeof((array)[0]))
#define | DEFAULT_RUBYGEMS_ENABLED "enabled"
#define | DISABLE_BIT(bit) (1U << disable_##bit)
#define | DUMP_BIT(bit) (1U << dump_##bit)
#define | src_encoding_index GET_VM()->src_encoding_index
#define | forbid_setid(s) forbid_setid((s), opt)
#define | M(shortopt, longopt, desc)
#define | SHOW(m)
#define | rubylib_mangled_path rb_str_new
#define | RUBY_RELATIVE(path, len) rubylib_mangled_path((path), (len))
#define | PREFIX_PATH() RUBY_RELATIVE(exec_prefix, sizeof(exec_prefix)-1)
#define | NAME_MATCH_P(name, str, len) ((len) < (int)sizeof(name) && strncmp((str), (name), (len)) == 0)
#define | UNSET_WHEN(name, bit, str, len)
#define | SET_WHEN(name, bit, str, len)
#define | UNSET_WHEN_DISABLE(bit) UNSET_WHEN(#bit, DISABLE_BIT(bit), str, len)
#define | SET_WHEN_DISABLE(bit) SET_WHEN(#bit, DISABLE_BIT(bit), str, len)
#define | SET_WHEN_DUMP(bit) SET_WHEN(#bit, DUMP_BIT(bit), str, len)
#define | set_internal_encoding_once(opt, e, elen) set_option_encoding_once("default_internal", &(opt)->intern.enc.name, (e), (elen))
#define | set_external_encoding_once(opt, e, elen) set_option_encoding_once("default_external", &(opt)->ext.enc.name, (e), (elen))
#define | set_source_encoding_once(opt, e, elen) set_option_encoding_once("source", &(opt)->src.enc.name, (e), (elen))
#define | is_option_end(c, allow_hyphen) (!(c) || ((allow_hyphen) && (c) == '-') || (c) == '=')
#define | check_envopt(name, allow_envopt)
#define | need_argument(name, s)
#define | is_option_with_arg(name, allow_hyphen, allow_envopt)
#define | set_encoding_part(type)
#define | rb_progname (GET_VM()->progname)
#define | rb_define_readonly_boolean(name, val) rb_define_virtual_variable((name), (val) ? true_value : false_value, 0)
#define | PREPARE_PARSE_MAIN(expr)

## Enumerations
enum | disable_flag_bits { disable_gems, disable_rubyopt, disable_flag_count }
enum | dump_flag_bits { dump_version, dump_version_v, dump_copyright, dump_usage, dump_help, dump_yydebug, dump_syntax, dump_parsetree, dump_parsetree_with_comment, dump_insns, dump_flag_count }

## Functions
char * | getenv ()
static void | init_ids (struct cmdline_options *)
static struct cmdline_options * | cmdline_options_init (struct cmdline_options *opt)
static NODE * | load_file (VALUE, VALUE, int, struct cmdline_options *)
static void | forbid_setid (const char *, struct cmdline_options *)
static void | usage (const char *name, int help)
static void | push_include (const char *path, VALUE(*filter)(VALUE))
void | ruby_push_include (const char *path, VALUE(*filter)(VALUE))
static VALUE | identical_path (VALUE path)
static VALUE | locale_path (VALUE path)
void | ruby_incpush (const char *path)
static VALUE | expand_include_path (VALUE path)
void | ruby_incpush_expand (const char *path)
void | ruby_init_loadpath_safe (int safe_level)
void | ruby_init_loadpath (void)
static void | add_modules (VALUE *req_list, const char *mod)
static void | require_libraries (VALUE *req_list)
static rb_env_t * | toplevel_context (VALUE toplevel_binding)
static void | process_sflag (int *sflag)
static long | proc_options (long argc, char **argv, struct cmdline_options *opt, int envopt)
static void | moreswitches (const char *s, struct cmdline_options *opt, int envopt)
static void | enable_option (const char *str, int len, void *arg)
static void | disable_option (const char *str, int len, void *arg)
static void | dump_option (const char *str, int len, void *arg)
static void | set_option_encoding_once (const char *type, VALUE *name, const char *e, long elen)
static void | ruby_init_prelude (void)
static int | opt_enc_index (VALUE enc_name)
static VALUE | false_value (void)
static VALUE | true_value (void)
static VALUE | uscore_get (void)
static VALUE | rb_f_sub (int argc, VALUE *argv)
static VALUE | rb_f_gsub (int argc, VALUE *argv)
static VALUE | rb_f_chop (void)
static VALUE | rb_f_chomp (int argc, VALUE *argv)
void | Init_enc (void)
static VALUE | process_options (int argc, char **argv, struct cmdline_options *opt)
static VALUE | load_file_internal (VALUE arg)
static VALUE | restore_lineno (VALUE lineno)
void * | rb_load_file (const char *fname)
static void | set_arg0 (VALUE val, ID id)
void | ruby_script (const char *name)
| Sets the current script name to this value. More...
void | ruby_set_script_name (VALUE name)
| Sets the current script name to this value. More...
static void | verbose_setter (VALUE val, ID id, void *data)
static VALUE | opt_W_getter (ID id, void *data)
void | ruby_prog_init (void)
| Defines built-in variables. More...
void | ruby_set_argv (int argc, char **argv)
void * | ruby_process_options (int argc, char **argv)
static void | fill_standard_fds (void)
void | ruby_sysinit (int *argc, char ***argv)
| Initializes the process for ruby(1). More...

## Variables
struct {
int argc
char ** argv
} | origarg
VALUE | rb_argv0

## Macro Definition Documentation

#define check_envopt | ( |  | name,
|  |  | allow_envopt
| ) |  |

Value:
(((allow_envopt) || !envopt) ? (void)0 : \
rb_raise(rb_eRuntimeError, "invalid switch in RUBYOPT: --" name))

#define DEFAULT_RUBYGEMS_ENABLED "enabled"

Definition at line 60 of file ruby.c.

Referenced by usage().

#define DISABLE_BIT | ( |  | bit) |  | (1U << disable_##bit)

Definition at line 63 of file ruby.c.

Referenced by cmdline_options_init(), and process_options().

#define DUMP_BIT | ( |  | bit) |  | (1U << dump_##bit)

Definition at line 70 of file ruby.c.

Referenced by proc_options(), and process_options().

#define forbid_setid | ( |  | s) |  | forbid_setid((s), opt)

Definition at line 127 of file ruby.c.

Referenced by load_file_internal(), proc_options(), and process_options().

#define is_option_end | ( |  | c,
|  |  | allow_hyphen
| ) |  | (!(c) || ((allow_hyphen) && (c) == '-') || (c) == '=')

#define is_option_with_arg | ( |  | name,
|  |  | allow_hyphen,
|  |  | allow_envopt
| ) |  |

Value:
(strncmp((name), s, n = sizeof(name) - 1) == 0 && is_option_end(s[n], (allow_hyphen)) ? \
(check_envopt(name, (allow_envopt)), s += n, need_argument(name, s), 1) : 0)

Referenced by proc_options().

#define M | ( |  | shortopt,
|  |  | longopt,
|  |  | desc
| ) |  |

Value:
{ \
shortopt " " longopt " " desc, \
(unsigned short)sizeof(shortopt), \
(unsigned short)sizeof(longopt), \
}

#define MAXPATHLEN 1024

Definition at line 46 of file ruby.c.

Referenced by process_options(), and ruby_init_loadpath_safe().

#define NAME_MATCH_P | ( |  | name,
|  |  | str,
|  |  | len
| ) |  | ((len) < (int)sizeof(name) && strncmp((str), (name), (len)) == 0)

Definition at line 685 of file ruby.c.

Referenced by disable_option(), and enable_option().

#define need_argument | ( |  | name,
|  |  | s
| ) |  |

Value:
((*(s)++ ? !*(s) : (!--argc || !((s) = *++argv))) ? \
rb_raise(rb_eRuntimeError, "missing argument for --" name) \
: (void)0)

#define numberof | ( |  | array) |  | (int)(sizeof(array) / sizeof((array)[0]))

Definition at line 55 of file ruby.c.

Referenced by usage().

#define PREFIX_PATH | ( | ) |  | RUBY_RELATIVE(exec_prefix, sizeof(exec_prefix)-1)

Referenced by ruby_init_loadpath_safe().

#define PREPARE_PARSE_MAIN | ( |  | expr) |  |

Value:
do { \
rb_env_t *env = toplevel_context(toplevel_binding); \
th->parse_in_eval--; \
th->base_block = &env->block; \
expr; \
th->parse_in_eval++; \
th->base_block = 0; \
} while (0)

Referenced by process_options().

#define rb_define_readonly_boolean | ( |  | name,
|  |  | val
| ) |  | rb_define_virtual_variable((name), (val) ? true_value : false_value, 0)

Definition at line 1205 of file ruby.c.

#define rb_progname (GET_VM()->progname)

Definition at line 1190 of file ruby.c.

Referenced by process_options(), ruby_process_options(), ruby_prog_init(), ruby_script(), ruby_set_script_name(), and set_arg0().

#define RUBY_RELATIVE | ( |  | path,
|  |  | len
| ) |  | rubylib_mangled_path((path), (len))

Referenced by ruby_init_loadpath_safe().

#define rubylib_mangled_path rb_str_new

Definition at line 250 of file ruby.c.

Referenced by push_include(), and ruby_init_loadpath_safe().

#define set_encoding_part | ( |  | type) |  |

Value:
if (!(p = strchr(s, ':'))) { \
set_##type##_encoding_once(opt, s, 0); \
break; \
} \
else if (p > s) { \
set_##type##_encoding_once(opt, s, p-s); \
}

Referenced by proc_options().

#define set_external_encoding_once | ( |  | opt,
|  |  | e,
|  |  | elen
| ) |  | set_option_encoding_once("default_external", &(opt)->ext.enc.name, (e), (elen))

Definition at line 761 of file ruby.c.

Referenced by proc_options().

#define set_internal_encoding_once | ( |  | opt,
|  |  | e,
|  |  | elen
| ) |  | set_option_encoding_once("default_internal", &(opt)->intern.enc.name, (e), (elen))

Definition at line 759 of file ruby.c.

Referenced by proc_options().

#define set_source_encoding_once | ( |  | opt,
|  |  | e,
|  |  | elen
| ) |  | set_option_encoding_once("source", &(opt)->src.enc.name, (e), (elen))

Definition at line 763 of file ruby.c.

Referenced by proc_options().

#define SET_WHEN | ( |  | name,
|  |  | bit,
|  |  | str,
|  |  | len
| ) |  |

Value:
if (NAME_MATCH_P((name), (str), (len))) { \
*(unsigned int *)arg |= (bit); \
return; \
}

Definition at line 694 of file ruby.c.

#define SET_WHEN_DISABLE | ( |  | bit) |  | SET_WHEN(#bit, DISABLE_BIT(bit), str, len)

Referenced by disable_option().

#define SET_WHEN_DUMP | ( |  | bit) |  | SET_WHEN(#bit, DUMP_BIT(bit), str, len)

Referenced by dump_option().

#define SHOW | ( |  | m) |  |

Value:
do { \
int wrap = help && (m).namelen + (m).secondlen - 2 > w; \
printf(" %.*s%-*.*s%-*s%s\n", (m).namelen-1, (m).str, \
(wrap ? 0 : w - (m).namelen + 1), \
(help ? (m).secondlen-1 : 0), (m).str + (m).namelen, \
(wrap ? w + 3 : 0), (wrap ? "\n" : ""), \
(m).str + (m).namelen + (m).secondlen); \
} while (0)

Referenced by usage().

#define src_encoding_index GET_VM()->src_encoding_index

Definition at line 109 of file ruby.c.

Referenced by cmdline_options_init(), load_file_internal(), and process_options().

#define UNSET_WHEN | ( |  | name,
|  |  | bit,
|  |  | str,
|  |  | len
| ) |  |

Value:
if (NAME_MATCH_P((name), (str), (len))) { \
*(unsigned int *)arg &= ~(bit); \
return; \
}

Definition at line 688 of file ruby.c.

#define UNSET_WHEN_DISABLE | ( |  | bit) |  | UNSET_WHEN(#bit, DISABLE_BIT(bit), str, len)

Referenced by enable_option().

## Enumeration Type Documentation

enum disable_flag_bits

Enumerator
disable_gems |
disable_rubyopt |
disable_flag_count |

Definition at line 64 of file ruby.c.

enum dump_flag_bits

Enumerator
dump_version |
dump_version_v |
dump_copyright |
dump_usage |
dump_help |
dump_yydebug |
dump_syntax |
dump_parsetree |
dump_parsetree_with_comment |
dump_insns |
dump_flag_count |

Definition at line 71 of file ruby.c.

## Function Documentation

static void add_modules | ( | VALUE * | req_list,
|  | const char * | mod
| ) |  |
| static

Definition at line 522 of file ruby.c.

References list, rb_ary_new(), rb_ary_push(), rb_str_new2, and RBASIC.

Referenced by proc_options().

static struct cmdline_options* cmdline_options_init | ( | struct cmdline_options * | opt) |  |
| static

Definition at line 112 of file ruby.c.

References cmdline_options::disable, DISABLE_BIT, cmdline_options::enc, cmdline_options::ext, init_ids(), cmdline_options::intern, MEMZERO, cmdline_options::src, and src_encoding_index.

Referenced by rb_load_file(), and ruby_process_options().

static void disable_option | ( | const char * | str,
|  | int | len,
|  | void * | arg
| ) |  |
| static

Definition at line 714 of file ruby.c.

References NAME_MATCH_P, rb_warn(), and SET_WHEN_DISABLE.

Referenced by proc_options().

static void dump_option | ( | const char * | str,
|  | int | len,
|  | void * | arg
| ) |  |
| static

Definition at line 727 of file ruby.c.

References rb_warn(), SET_WHEN_DUMP, usage(), version(), and yydebug.

Referenced by proc_options().

static void enable_option | ( | const char * | str,
|  | int | len,
|  | void * | arg
| ) |  |
| static

Definition at line 701 of file ruby.c.

References NAME_MATCH_P, rb_warn(), and UNSET_WHEN_DISABLE.

Referenced by proc_options().

static VALUE expand_include_path | ( | VALUE | path) |  |
| static

Definition at line 342 of file ruby.c.

References Qnil, rb_file_expand_path(), and RSTRING_PTR.

Referenced by ruby_incpush_expand(), and ruby_init_loadpath_safe().

static VALUE false_value | ( | void | ) |  |
| static

Definition at line 1194 of file ruby.c.

References Qfalse.

static void fill_standard_fds | ( | void | ) |  |
| static

Definition at line 1919 of file ruby.c.

References dup2(), errno, fstat, and stat.

Referenced by ruby_sysinit().

static void forbid_setid | ( | const char * | s,
|  | struct cmdline_options * | opt
| ) |  |
| static

Definition at line 1818 of file ruby.c.

References rb_eSecurityError, rb_raise(), cmdline_options::safe_level, and cmdline_options::setids.

char* getenv | ( | ) |  |

static VALUE identical_path | ( | VALUE | path) |  |
| static

Definition at line 324 of file ruby.c.

Referenced by ruby_init_loadpath_safe().

void Init_enc | ( | void | ) |  |

Definition at line 7 of file dmyext.c.

Referenced by init_libraries_internal(), and process_options().

static void init_ids | ( | struct cmdline_options * | opt) |  |
| static

Definition at line 1802 of file ruby.c.

References getegid(), geteuid(), getgid(), getuid(), cmdline_options::safe_level, and cmdline_options::setids.

Referenced by cmdline_options_init().

static NODE * load_file | ( | VALUE | parser,
|  | VALUE | fname,
|  | int | script,
|  | struct cmdline_options * | opt
| ) |  |
| static

Definition at line 1740 of file ruby.c.

References load_file_arg::fname, load_file_internal(), load_file_arg::opt, load_file_arg::parser, rb_ensure(), rb_gv_get(), restore_lineno(), and load_file_arg::script.

Referenced by process_options(), and rb_load_file().

static VALUE load_file_internal | ( | VALUE | arg) |  |
| static

Definition at line 1566 of file ruby.c.

References c, CONST_ID, cmdline_options::enc, errno, cmdline_options::ext, f, FALSE, load_file_arg::fname, forbid_setid, fstat, INT2FIX, cmdline_options::intern, moreswitches(), NIL_P, O_BINARY, load_file_arg::opt, opt_enc_index(), p, load_file_arg::parser, Qnil, rb_ascii8bit_encoding(), rb_cloexec_open(), rb_define_global_const(), rb_enc_associate(), rb_enc_from_encoding(), rb_enc_from_index(), rb_funcall(), rb_io_close(), rb_io_fdopen(), rb_io_getbyte(), rb_io_gets(), rb_io_ungetbyte(), rb_load_fail(), rb_loaderror(), rb_locale_encoding(), rb_parser_compile_file(), rb_parser_compile_string(), rb_parser_encoding(), rb_parser_end_seen_p(), rb_stdin, rb_str_encode_ospath(), rb_str_new(), rb_str_new2, rb_str_new_cstr(), rb_update_max_fd(), rb_utf8_encoding(), cmdline_options::req_list, require_libraries(), RSTRING_LEN, RSTRING_PTR, ruby_set_script_name(), S_ISDIR, load_file_arg::script, cmdline_options::script_name, cmdline_options::src, src_encoding_index, stat, STRCASECMP, strerror(), StringValueCStr, strrchr(), strstr(), and cmdline_options::xflag.

Referenced by load_file().

static VALUE locale_path | ( | VALUE | path) |  |
| static

Definition at line 329 of file ruby.c.

References rb_enc_associate(), and rb_locale_encoding().

Referenced by ruby_incpush().

static void moreswitches | ( | const char * | s,
|  | struct cmdline_options * | opt,
|  | int | envopt
| ) |  |
| static

Definition at line 639 of file ruby.c.

References argc, argv, i, ISSPACE, p, proc_options(), rb_str_cat(), rb_str_resize(), rb_str_tmp_new(), RSTRING_LEN, RSTRING_PTR, and strlen().

Referenced by load_file_internal(), and process_options().

static int opt_enc_index | ( | VALUE | enc_name) |  |
| static

Definition at line 1176 of file ruby.c.

References i, rb_enc_dummy_p(), rb_enc_find_index(), rb_enc_from_index(), rb_eRuntimeError, rb_raise(), and RSTRING_PTR.

Referenced by load_file_internal(), and process_options().

static VALUE opt_W_getter | ( | ID | id,
|  | void * | data
| ) |  |
| static

Definition at line 1836 of file ruby.c.

References INT2FIX, Qfalse, Qnil, and Qtrue.

Referenced by ruby_prog_init().

static long proc_options | ( | long | argc,
|  | char ** | argv,
|  | struct cmdline_options * | opt,
|  | int | envopt
| ) |  |
| static

Definition at line 767 of file ruby.c.

References add_modules(), arg, argc, c, cmdline_options::disable, disable_option(), cmdline_options::do_line, cmdline_options::do_loop, cmdline_options::do_print, cmdline_options::do_search, cmdline_options::do_split, cmdline_options::dump, DUMP_BIT, dump_option(), cmdline_options::e_script, enable_option(), cmdline_options::enc, enc_name(), cmdline_options::ext, forbid_setid, is_option_with_arg, ISPRINT, p, Qfalse, Qnil, Qtrue, rb_eRuntimeError, rb_fatal(), rb_fs, rb_output_rs, rb_raise(), rb_reg_new(), rb_rs, rb_str_cat2(), rb_str_new(), rb_str_new2, cmdline_options::req_list, ruby_debug, ruby_each_words(), ruby_incpush_expand(), ruby_set_inplace_mode(), ruby_verbose, cmdline_options::safe_level, scan_oct, cmdline_options::script, set_encoding_part, set_external_encoding_once, set_internal_encoding_once, set_source_encoding_once, cmdline_options::sflag, cmdline_options::src, strlen(), TRUE, usage(), v, cmdline_options::verbose, version(), cmdline_options::xflag, and yydebug.

Referenced by moreswitches(), and process_options().

static VALUE process_options | ( | int | argc,
|  | char ** | argv,
|  | struct cmdline_options * | opt
| ) |  |
| static

Definition at line 1300 of file ruby.c.

References cmdline_options::disable, DISABLE_BIT, dln_find_file_r(), cmdline_options::do_line, cmdline_options::do_loop, cmdline_options::do_print, cmdline_options::do_search, cmdline_options::do_split, cmdline_options::dump, DUMP_BIT, cmdline_options::e_script, cmdline_options::enc, cmdline_options::ext, fbuf, FL_TAINT, FL_UNSET, forbid_setid, GET_THREAD(), GET_VM, getenv(), i, Init_enc(), cmdline_options::intern, load_file(), MAXPATHLEN, moreswitches(), OBJ_TAINT, opt_enc_index(), origarg, PATH_ENV, PREPARE_PARSE_MAIN, proc_options(), process_sflag(), Qfalse, Qnil, Qtrue, Qundef, RARRAY_LEN, RARRAY_PTR, rb_argv, rb_cObject, rb_const_get(), rb_default_internal_encoding(), rb_define_global_function(), rb_define_module(), rb_enc_associate(), rb_enc_find_index(), rb_enc_from_encoding(), rb_enc_from_index(), rb_enc_set_default_external(), rb_enc_set_default_internal(), rb_f_chomp(), rb_f_chop(), rb_f_gsub(), rb_f_sub(), rb_intern, rb_io_flush(), rb_io_write(), rb_iseq_new_main(), rb_locale_encoding(), rb_obj_freeze(), rb_parser_append_print(), rb_parser_compile_string(), rb_parser_dump_tree(), rb_parser_new(), rb_parser_set_yydebug(), rb_parser_while_loop(), rb_progname, rb_realpath_internal(), rb_require(), rb_stdio_set_default_encoding(), rb_stdout, rb_str_dup(), rb_str_new_cstr(), rb_warning(), cmdline_options::req_list, require_libraries(), RSTRING_PTR, ruby_init_loadpath_safe(), ruby_init_prelude(), ruby_set_argv(), ruby_set_script_name(), ruby_show_copyright(), ruby_show_version(), cmdline_options::safe_level, cmdline_options::script, cmdline_options::script_name, cmdline_options::sflag, cmdline_options::src, src_encoding_index, usage(), cmdline_options::verbose, version(), cmdline_options::xflag, and yydebug.

Referenced by ruby_process_options().

static void process_sflag | ( | int * | sflag) |  |
| static

Definition at line 573 of file ruby.c.

References args, argv, FALSE, ISALNUM, p, Qtrue, RARRAY_LEN, RARRAY_PTR, rb_argv, rb_ary_shift(), rb_class_new_instance(), rb_eNameError, rb_exc_raise(), rb_gv_set(), rb_str_cat(), rb_str_cat2(), rb_str_new2, strchr(), StringValuePtr, TRUE, and v.

Referenced by process_options().

static void push_include | ( | const char * | path,
|  | VALUE(*)(VALUE) | filter
| ) |  |
| static

Definition at line 254 of file ruby.c.

References CharNext, GET_VM, p, PATH_SEP_CHAR, rb_ary_push(), and rubylib_mangled_path.

Referenced by ruby_push_include().

static VALUE rb_f_chomp | ( | int | argc,
|  | VALUE * | argv
| ) |  |
| static

Definition at line 1289 of file ruby.c.

References rb_funcall_passing_block(), rb_intern, rb_lastline_set(), and uscore_get().

Referenced by process_options().

static VALUE rb_f_chop | ( | void | ) |  |
| static

Definition at line 1269 of file ruby.c.

References rb_funcall_passing_block(), rb_intern, rb_lastline_set(), and uscore_get().

Referenced by process_options().

static VALUE rb_f_gsub | ( | int | argc,
|  | VALUE * | argv
| ) |  |
| static

Definition at line 1251 of file ruby.c.

References rb_funcall_passing_block(), rb_intern, rb_lastline_set(), and uscore_get().

Referenced by process_options().

static VALUE rb_f_sub | ( | int | argc,
|  | VALUE * | argv
| ) |  |
| static

Definition at line 1232 of file ruby.c.

References rb_funcall_passing_block(), rb_intern, rb_lastline_set(), and uscore_get().

Referenced by process_options().

void* rb_load_file | ( | const char * | fname) |  |

Definition at line 1751 of file ruby.c.

References cmdline_options_init(), load_file(), rb_parser_new(), and rb_str_new_cstr().

Referenced by rb_load_internal().

static void require_libraries | ( | VALUE * | req_list) |  |
| static

Definition at line 537 of file ruby.c.

References CONST_ID, GET_THREAD(), Init_ext(), list, OBJ_FREEZE, rb_thread_struct::parse_in_eval, RARRAY_LEN, rb_ary_shift(), rb_cString, rb_default_external_encoding(), rb_enc_associate(), rb_funcall2(), rb_vm_top_self(), and RBASIC.

Referenced by load_file_internal(), and process_options().

static VALUE restore_lineno | ( | VALUE | lineno) |  |
| static

Definition at line 1734 of file ruby.c.

References rb_gv_set().

Referenced by load_file().

void ruby_incpush_expand | ( | const char * | path) |  |

Definition at line 353 of file ruby.c.

References expand_include_path(), and ruby_push_include().

Referenced by proc_options().

void ruby_init_loadpath_safe | ( | int | safe_level) |  |

Definition at line 385 of file ruby.c.

References dln_find_file_r(), expand_include_path(), f, fbuf, GET_VM, getenv(), identical_path(), MAXPATHLEN, p, PATH_ENV, PREFIX_PATH, Qnil, rb_ary_push(), rb_cObject, rb_const_set(), rb_intern_const, rb_ivar_set(), rb_obj_freeze(), rb_realpath_internal(), rb_str_freeze(), rb_str_new(), rb_str_new_cstr(), rb_str_resize(), RSTRING_PTR, ruby_initial_load_paths, ruby_push_include(), RUBY_RELATIVE, rubylib_mangled_path, STRCASECMP, strlcpy(), strlen(), and strrchr().

Referenced by process_options(), and ruby_init_loadpath().

static void ruby_init_prelude | ( | void | ) |  |
| static

Definition at line 1169 of file ruby.c.

References Init_prelude(), rb_cObject, rb_const_remove(), and rb_intern_const.

Referenced by process_options().

void ruby_push_include | ( | const char * | path,
|  | VALUE(*)(VALUE) | filter
| ) |  |

Definition at line 316 of file ruby.c.

References push_include().

Referenced by ruby_incpush(), ruby_incpush_expand(), and ruby_init_loadpath_safe().

static void set_arg0 | ( | VALUE | val,
|  | ID | id
| ) |  |
| static

Definition at line 1760 of file ruby.c.

References i, origarg, rb_eRuntimeError, rb_external_str_new(), rb_obj_freeze(), rb_progname, rb_raise(), RSTRING_LEN, RSTRING_PTR, setproctitle(), and StringValue.

Referenced by ruby_prog_init().

static void set_option_encoding_once | ( | const char * | type,
|  | VALUE * | name,
|  | const char * | e,
|  | long | elen
| ) |  |
| static

Definition at line 744 of file ruby.c.

References INT2FIX, rb_eRuntimeError, rb_funcall(), rb_intern, rb_raise(), rb_str_new(), RSTRING_PTR, and strlen().

static rb_env_t* toplevel_context | ( | VALUE | toplevel_binding) |  |
| static

Definition at line 562 of file ruby.c.

References env, rb_binding_t::env, GetBindingPtr, and GetEnvPtr.

static VALUE true_value | ( | void | ) |  |
| static

Definition at line 1200 of file ruby.c.

References Qtrue.

static void usage | ( | const char * | name,
|  | int | help
| ) |  |
| static

Definition at line 135 of file ruby.c.

References DEFAULT_RUBYGEMS_ENABLED, i, M, numberof, and SHOW.

Referenced by dump_option(), proc_options(), and process_options().

static VALUE uscore_get | ( | void | ) |  |
| static

Definition at line 1209 of file ruby.c.

References NIL_P, rb_eTypeError, rb_lastline_get(), rb_obj_classname(), rb_raise(), RB_TYPE_P, and T_STRING.

Referenced by rb_f_chomp(), rb_f_chop(), rb_f_gsub(), and rb_f_sub().

static void verbose_setter | ( | VALUE | val,
|  | ID | id,
|  | void * | data
| ) |  |
| static

Definition at line 1829 of file ruby.c.

References Qtrue, and RTEST.

Referenced by ruby_prog_init().

## Variable Documentation

int argc

Definition at line 130 of file ruby.c.

Referenced by alloc_invoke_arguments(), argf_getpartial(), ary_ensure_room_for_unshift(), call_cfunc_m1(), callback(), cbsubst_get_subst_arg(), check_funcall_missing(), compat_init_setproctitle(), delete_slaves(), dir_globs(), enum_zip(), enumerator_initialize(), env_values_at(), exit_initialize(), fdbm_values_at(), fgdbm_values_at(), fiber_switch(), flock_winnt(), free_invoke_arguments(), fsdbm_values_at(), function_call(), gzfile_wrap(), initialize(), invoke_block_from_c(), invoke_tcl_proc(), ip_invoke_core(), ip_invoke_with_position(), ip_ruby_cmd(), iseq_build_from_ary_body(), iseq_compile_each(), lazy_to_enum(), lazy_zip(), lib_merge_tklist(), lib_split_tklist_core(), m_core_hash_merge_ptr(), main(), moreswitches(), new_callinfo(), new_insn_body(), new_insn_core(), obj_to_enum(), open_key_args(), pipe_open(), pipe_open_s(), proc_options(), rb_add_method_cfunc(), rb_apply(), rb_ary_zip(), rb_block_call(), rb_check_argv(), rb_check_block_call(), rb_check_funcall_with_hook(), rb_cont_call(), rb_exec_fillarg(), rb_f_kill(), rb_f_p(), rb_f_p_internal(), rb_fiber_start(), rb_get_values_at(), rb_hash_s_create(), rb_hash_values_at(), rb_io_print(), rb_io_puts(), rb_io_s_foreach(), rb_io_s_popen(), rb_iseq_disasm(), rb_marshal_dump(), rb_mod_attr_accessor(), rb_mod_attr_reader(), rb_mod_attr_writer(), rb_mod_include(), rb_mod_modfunc(), rb_mod_prepend(), rb_mod_remove_method(), rb_mod_undef_method(), rb_obj_extend(), rb_proc_exec_n(), rb_reg_s_union(), rb_scan_args(), rb_spawn_process(), rb_str_count(), rb_str_delete_bang(), rb_str_encode(), rb_str_end_with(), rb_str_format(), rb_str_slice_bang(), rb_str_squeeze_bang(), rb_str_start_with(), rb_w32_asynchronize(), ruby_set_argv(), ruby_sysinit(), set_const_visibility(), set_method_visibility(), setup_args(), setup_method_cfunc_struct(), stub_sysinit(), tk_conv_args(), tk_funcall(), tracepoint_new_s(), vm_call0(), vm_call0_cfunc_with_frame(), vm_call_cfunc_with_frame(), vm_callee_setup_arg_complex(), vm_callee_setup_keyword_arg(), vm_yield_setup_args(), and vm_yield_setup_block_args().

char** argv

Definition at line 131 of file ruby.c.

Referenced by argf_getpartial(), asn1time_to_time(), BigMath_s_exp(), BigMath_s_log(), call_cfunc_m1(), call_original_exit(), call_trace_func(), check_funcall_missing(), delete_slaves(), do_spawn(), exit_initialize(), fromDefaultEnc_toUTF8(), gzfile_wrap(), ip_invoke_core(), iseq_build_from_ary_body(), lib_split_tklist_core(), moreswitches(), new_insn_body(), new_insn_core(), open_key_args(), pipe_open(), pipe_open_s(), proc_exec_cmd(), process_sflag(), rb_apply(), rb_block_call(), rb_check_block_call(), rb_check_deadlock(), rb_check_funcall_with_hook(), rb_f_p(), rb_f_p_internal(), rb_fiber_start(), rb_fiddle_new_function(), rb_funcall(), rb_io_s_popen(), rb_marshal_dump(), rb_name_error(), rb_name_error_str(), rb_str_encode(), rb_str_format(), rb_threadptr_signal_exit(), rb_threadptr_signal_raise(), rb_w32_aspawn_flags(), rb_w32_asynchronize(), rb_yield_values(), ruby_sysinit(), set_argv(), stub_sysinit(), tk_funcall(), vm_call_iseq_setup_normal(), vm_call_iseq_setup_tailcall(), and vm_callee_setup_arg_complex().

struct { ... } origarg

Referenced by process_options(), ruby_set_argv(), ruby_sysinit(), and set_arg0().

VALUE rb_argv0

Definition at line 1191 of file ruby.c.