Ruby 2.1.5p273(2014-11-13revision48405)

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Macros | Functions | Variables
readline.c File Reference
`#include "ruby/config.h"`
`#include <errno.h>`
`#include <stdio.h>`
`#include <string.h>`
`#include "ruby/ruby.h"`
`#include "ruby/io.h"`
`#include "ruby/thread.h"`
Include dependency graph for readline.c:

Go to the source code of this file.

## Macros
#define | EDIT_LINE_LIBRARY_VERSION "EditLine wrapper"
#define | USE_INSERT_IGNORE_ESCAPE 0
#define | COMPLETION_PROC "completion_proc"
#define | COMPLETION_CASE_FOLD "completion_case_fold"
#define | rl_filename_completion_function filename_completion_function
#define | rl_username_completion_function username_completion_function
#define | rl_completion_matches completion_matches
#define | OutputStringValue(str)
#define | readline_s_set_pre_input_hook rb_f_notimplement
#define | readline_s_get_pre_input_hook rb_f_notimplement
#define | readline_s_insert_text rb_f_notimplement
#define | readline_s_delete_text rb_f_notimplement
#define | readline_s_redisplay rb_f_notimplement
#define | readline_s_get_line_buffer rb_f_notimplement
#define | readline_s_get_point rb_f_notimplement
#define | readline_s_set_point rb_f_notimplement
#define | readline_s_set_screen_size rb_f_notimplement
#define | readline_s_get_screen_size rb_f_notimplement
#define | readline_s_vi_editing_mode rb_f_notimplement
#define | readline_s_vi_editing_mode_p rb_f_notimplement
#define | readline_s_emacs_editing_mode rb_f_notimplement
#define | readline_s_emacs_editing_mode_p rb_f_notimplement
#define | readline_s_set_completion_append_character rb_f_notimplement
#define | readline_s_get_completion_append_character rb_f_notimplement
#define | readline_s_set_basic_word_break_characters rb_f_notimplement
#define | readline_s_get_basic_word_break_characters rb_f_notimplement
#define | readline_s_set_completer_word_break_characters rb_f_notimplement
#define | readline_s_get_completer_word_break_characters rb_f_notimplement
#define | readline_s_set_special_prefixes rb_f_notimplement
#define | readline_s_get_special_prefixes rb_f_notimplement
#define | readline_s_set_basic_quote_characters rb_f_notimplement
#define | readline_s_get_basic_quote_characters rb_f_notimplement
#define | readline_s_set_completer_quote_characters rb_f_notimplement
#define | readline_s_get_completer_quote_characters rb_f_notimplement
#define | readline_s_set_filename_quote_characters rb_f_notimplement
#define | readline_s_get_filename_quote_characters rb_f_notimplement
#define | readline_s_refresh_line rb_f_notimplement
#define | hist_set rb_f_notimplement
#define | hist_clear rb_f_notimplement

## Functions
static char ** | readline_attempted_completion_function (const char *text, int start, int end)
static VALUE | readline_get (VALUE prompt)
static void | clear_rl_instream (void)
static void | clear_rl_outstream (void)
static VALUE | readline_readline (int argc, VALUE *argv, VALUE self)
static VALUE | readline_s_set_input (VALUE self, VALUE input)
static VALUE | readline_s_set_output (VALUE self, VALUE output)
static VALUE | readline_s_set_completion_proc (VALUE self, VALUE proc)
static VALUE | readline_s_get_completion_proc (VALUE self)
static VALUE | readline_s_set_completion_case_fold (VALUE self, VALUE val)
static VALUE | readline_s_get_completion_case_fold (VALUE self)
static VALUE | hist_to_s (VALUE self)
static int | history_get_offset_history_base (int offset)
static int | history_get_offset_0 (int offset)
static VALUE | hist_get (VALUE self, VALUE index)
static VALUE | hist_push (VALUE self, VALUE str)
static VALUE | hist_push_method (int argc, VALUE *argv, VALUE self)
static VALUE | rb_remove_history (int index)
static VALUE | hist_pop (VALUE self)
static VALUE | hist_shift (VALUE self)
static VALUE | hist_each (VALUE self)
static VALUE | hist_length (VALUE self)
static VALUE | hist_empty_p (VALUE self)
static VALUE | hist_delete_at (VALUE self, VALUE index)
static VALUE | filename_completion_proc_call (VALUE self, VALUE str)
static VALUE | username_completion_proc_call (VALUE self, VALUE str)
void | Init_readline ()

## Variables
static VALUE | mReadline
static ID | completion_proc
static ID | completion_case_fold
static int(* | history_get_offset_func )(int)
static int(* | history_replace_offset_func )(int)
static VALUE | readline_instream
static VALUE | readline_outstream
static FILE * | readline_rl_instream
static FILE * | readline_rl_outstream

## Macro Definition Documentation

#define COMPLETION_CASE_FOLD "completion_case_fold"

Definition at line 60 of file readline.c.

Referenced by Init_readline().

#define COMPLETION_PROC "completion_proc"

Definition at line 59 of file readline.c.

Referenced by Init_readline().

#define EDIT_LINE_LIBRARY_VERSION "EditLine wrapper"

Definition at line 50 of file readline.c.

Referenced by Init_readline().

#define hist_clear rb_f_notimplement

Definition at line 1739 of file readline.c.

Referenced by Init_readline().

#define hist_set rb_f_notimplement

Definition at line 1622 of file readline.c.

Referenced by Init_readline().

#define OutputStringValue | ( |  | str | ) |

Value:
do {\
SafeStringValue(str);\
(str) = rb_str_conv_enc((str), rb_enc_get(str), rb_locale_encoding());\
} while (0)\
rb_str_conv_enc
VALUE rb_str_conv_enc(VALUE str, rb_encoding *from, rb_encoding *to)
Definition: string.c:680
rb_locale_encoding
rb_encoding * rb_locale_encoding(void)
Definition: encoding.c:1294
rb_enc_get
rb_encoding * rb_enc_get(VALUE obj)
Definition: encoding.c:832
SafeStringValue
#define SafeStringValue(v)
Definition: ruby.h:545

Definition at line 91 of file readline.c.

Referenced by hist_push(), hist_push_method(), and readline_readline().

#define readline_s_delete_text rb_f_notimplement

Definition at line 718 of file readline.c.

Referenced by Init_readline().

#define readline_s_emacs_editing_mode rb_f_notimplement

Definition at line 1109 of file readline.c.

Referenced by Init_readline().

#define readline_s_emacs_editing_mode_p rb_f_notimplement

Definition at line 1127 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_basic_quote_characters rb_f_notimplement

Definition at line 1434 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_basic_word_break_characters rb_f_notimplement

Definition at line 1264 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_completer_quote_characters rb_f_notimplement

Definition at line 1490 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_completer_word_break_characters rb_f_notimplement

Definition at line 1319 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_completion_append_character rb_f_notimplement

Definition at line 1209 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_filename_quote_characters rb_f_notimplement

Definition at line 1544 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_line_buffer rb_f_notimplement

Definition at line 885 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_point rb_f_notimplement

Definition at line 928 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_pre_input_hook rb_f_notimplement

Definition at line 645 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_screen_size rb_f_notimplement

Definition at line 1051 of file readline.c.

Referenced by Init_readline().

#define readline_s_get_special_prefixes rb_f_notimplement

Definition at line 1381 of file readline.c.

Referenced by Init_readline().

#define readline_s_insert_text rb_f_notimplement

Definition at line 667 of file readline.c.

Referenced by Init_readline().

#define readline_s_redisplay rb_f_notimplement

Definition at line 740 of file readline.c.

Referenced by Init_readline().

#define readline_s_refresh_line rb_f_notimplement

Definition at line 1561 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_basic_quote_characters rb_f_notimplement

Definition at line 1414 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_basic_word_break_characters rb_f_notimplement

Definition at line 1243 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_completer_quote_characters rb_f_notimplement

Definition at line 1469 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_completer_word_break_characters rb_f_notimplement

Definition at line 1298 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_completion_append_character rb_f_notimplement

Definition at line 1184 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_filename_quote_characters rb_f_notimplement

Definition at line 1523 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_point rb_f_notimplement

Definition at line 929 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_pre_input_hook rb_f_notimplement

Definition at line 644 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_screen_size rb_f_notimplement

Definition at line 1024 of file readline.c.

Referenced by Init_readline().

#define readline_s_set_special_prefixes rb_f_notimplement

Definition at line 1380 of file readline.c.

Referenced by Init_readline().

#define readline_s_vi_editing_mode rb_f_notimplement

Definition at line 1071 of file readline.c.

Referenced by Init_readline().

#define readline_s_vi_editing_mode_p rb_f_notimplement

Definition at line 1089 of file readline.c.

Referenced by Init_readline().

#define rl_completion_matches completion_matches

Definition at line 79 of file readline.c.

Referenced by filename_completion_proc_call(), and username_completion_proc_call().

#define rl_filename_completion_function filename_completion_function

Definition at line 73 of file readline.c.

Referenced by filename_completion_proc_call().

#define rl_username_completion_function username_completion_function

Definition at line 76 of file readline.c.

Referenced by username_completion_proc_call().

#define USE_INSERT_IGNORE_ESCAPE 0

Definition at line 55 of file readline.c.

## Function Documentation

static void clear_rl_instream | ( | void |  | ) |
| static

Definition at line 339 of file readline.c.

References NULL, Qfalse, and readline_instream.

Referenced by readline_readline(), and readline_s_set_input().

static void clear_rl_outstream | ( | void |  | ) |
| static

Definition at line 351 of file readline.c.

References NULL, Qfalse, and readline_outstream.

Referenced by readline_readline(), and readline_s_set_output().

static VALUE filename_completion_proc_call | ( | VALUE | self,
|  | VALUE | str
| ) |  |
| static

Definition at line 1743 of file readline.c.

References free(), Qnil, RARRAY_LEN, rb_ary_new(), rb_ary_push(), rb_ary_shift(), rb_locale_str_new_cstr(), result, rl_completion_matches, rl_filename_completion_function, and StringValuePtr.

Referenced by Init_readline().

static VALUE hist_delete_at | ( | VALUE | self,
|  | VALUE | index
| ) |  |
| static

Definition at line 1718 of file readline.c.

References NUM2INT, rb_eIndexError, rb_raise(), and rb_remove_history().

Referenced by Init_readline().

static VALUE hist_each | ( | VALUE | self | ) |
| static

Definition at line 1689 of file readline.c.

References history_get_offset_func, NULL, rb_locale_str_new_cstr(), rb_yield(), and RETURN_ENUMERATOR.

Referenced by Init_readline().

static VALUE hist_empty_p | ( | VALUE | self | ) |
| static

Definition at line 1712 of file readline.c.

References Qfalse, and Qtrue.

Referenced by Init_readline().

static VALUE hist_get | ( | VALUE | self,
|  | VALUE | index
| ) |  |
| static

Definition at line 1583 of file readline.c.

References history_get_offset_func, NULL, NUM2INT, rb_eIndexError, rb_locale_str_new_cstr(), and rb_raise().

Referenced by Init_readline().

static VALUE hist_length | ( | VALUE | self | ) |
| static

Definition at line 1706 of file readline.c.

References INT2NUM.

Referenced by Init_readline().

static VALUE hist_pop | ( | VALUE | self | ) |
| static

Definition at line 1669 of file readline.c.

References Qnil, and rb_remove_history().

Referenced by Init_readline().

static VALUE hist_push | ( | VALUE | self,
|  | VALUE | str
| ) |  |
| static

Definition at line 1626 of file readline.c.

References OutputStringValue, and RSTRING_PTR.

Referenced by Init_readline().

static VALUE hist_push_method | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | self
| ) |  |
| static

Definition at line 1634 of file readline.c.

References OutputStringValue, and RSTRING_PTR.

Referenced by Init_readline().

static VALUE hist_shift | ( | VALUE | self | ) |
| static

Definition at line 1679 of file readline.c.

References Qnil, and rb_remove_history().

Referenced by Init_readline().

static VALUE hist_to_s | ( | VALUE | self | ) |
| static

Definition at line 1565 of file readline.c.

References rb_str_new_cstr().

Referenced by Init_readline().

static int history_get_offset_0 | ( | int | offset | ) |
| static

Definition at line 1577 of file readline.c.

Referenced by Init_readline().

static int history_get_offset_history_base | ( | int | offset | ) |
| static

Definition at line 1571 of file readline.c.

Referenced by Init_readline().

void Init_readline | ( |  | ) |

Definition at line 1793 of file readline.c.

References COMPLETION_CASE_FOLD, completion_case_fold, COMPLETION_PROC, completion_proc, CONST_ID, EDIT_LINE_LIBRARY_VERSION, filename_completion_proc_call(), free(), hist_clear, hist_delete_at(), hist_each(), hist_empty_p(), hist_get(), hist_length(), hist_pop(), hist_push(), hist_push_method(), hist_set, hist_shift(), hist_to_s(), history_get_offset_0(), history_get_offset_func, history_get_offset_history_base(), history_replace_offset_func, mReadline, NULL, rb_cObject, rb_define_const(), rb_define_module(), rb_define_module_function(), rb_define_singleton_method(), rb_extend_object(), rb_gc_register_address(), rb_intern, rb_mEnumerable, rb_obj_alloc(), rb_str_new_cstr(), readline_attempted_completion_function(), readline_instream, readline_outstream, readline_readline(), readline_s_delete_text, readline_s_emacs_editing_mode, readline_s_emacs_editing_mode_p, readline_s_get_basic_quote_characters, readline_s_get_basic_word_break_characters, readline_s_get_completer_quote_characters, readline_s_get_completer_word_break_characters, readline_s_get_completion_append_character, readline_s_get_completion_case_fold(), readline_s_get_completion_proc(), readline_s_get_filename_quote_characters, readline_s_get_line_buffer, readline_s_get_point, readline_s_get_pre_input_hook, readline_s_get_screen_size, readline_s_get_special_prefixes, readline_s_insert_text, readline_s_redisplay, readline_s_refresh_line, readline_s_set_basic_quote_characters, readline_s_set_basic_word_break_characters, readline_s_set_completer_quote_characters, readline_s_set_completer_word_break_characters, readline_s_set_completion_append_character, readline_s_set_completion_case_fold(), readline_s_set_completion_proc(), readline_s_set_filename_quote_characters, readline_s_set_input(), readline_s_set_output(), readline_s_set_point, readline_s_set_pre_input_hook, readline_s_set_screen_size, readline_s_set_special_prefixes, readline_s_vi_editing_mode, readline_s_vi_editing_mode_p, strlen(), username_completion_proc_call(), and version().

static VALUE rb_remove_history | ( | int | index | ) |
| static

Definition at line 1647 of file readline.c.

References free(), Qnil, rb_locale_str_new_cstr(), rb_notimplement(), UNREACHABLE, and val.

Referenced by hist_delete_at(), hist_pop(), and hist_shift().

static char ** readline_attempted_completion_function | ( | const char * | text,
|  | int | start,
|  | int | end
| ) |  |
| static

Definition at line 933 of file readline.c.

References RString::ary, completion_case_fold, completion_proc, malloc, mReadline, NIL_P, NULL, RARRAY_LEN, RARRAY_PTR, rb_Array(), rb_attr_get(), rb_enc_check(), rb_enc_codepoint_len(), rb_enc_from_encoding(), rb_funcall(), rb_intern, rb_locale_encoding(), rb_locale_str_new_cstr(), rb_memerror(), rb_obj_as_string(), rb_tolower(), RB_TYPE_P, result, RSTRING_LEN, RSTRING_PTR, RTEST, strdup, StringValueCStr, strlen(), and T_ARRAY.

Referenced by Init_readline().

static VALUE readline_get | ( | VALUE | prompt | ) |
| static

Definition at line 330 of file readline.c.

Referenced by readline_readline().

static VALUE readline_readline | ( | int | argc,
|  | VALUE * | argv,
|  | VALUE | self
| ) |  |
| static

Definition at line 447 of file readline.c.

References clear_rl_instream(), clear_rl_outstream(), rb_io_t::fd, free(), NULL, OutputStringValue, Qnil, rb_eIOError, rb_io_check_initialized(), rb_io_taint_check(), rb_jump_tag(), rb_locale_str_new_cstr(), rb_protect(), rb_raise(), rb_scan_args(), rb_str_locktmp(), rb_str_unlocktmp(), readline_get(), readline_instream, readline_outstream, result, RFILE, RSTRING_PTR, and RTEST.

Referenced by Init_readline().

static VALUE readline_s_get_completion_case_fold | ( | VALUE | self | ) |
| static

Definition at line 858 of file readline.c.

References completion_case_fold, mReadline, and rb_attr_get().

Referenced by Init_readline().

static VALUE readline_s_get_completion_proc | ( | VALUE | self | ) |
| static

Definition at line 826 of file readline.c.

References completion_proc, mReadline, and rb_attr_get().

Referenced by Init_readline().

static VALUE readline_s_set_completion_case_fold | ( | VALUE | self,
|  | VALUE | val
| ) |  |
| static

Definition at line 838 of file readline.c.

References completion_case_fold, mReadline, and rb_ivar_set().

Referenced by Init_readline().

static VALUE readline_s_set_completion_proc | ( | VALUE | self,
|  | VALUE | proc
| ) |  |
| static

Definition at line 812 of file readline.c.

References completion_proc, mReadline, NIL_P, rb_eArgError, rb_intern, rb_ivar_set(), rb_raise(), and rb_respond_to().

Referenced by Init_readline().

static VALUE readline_s_set_input | ( | VALUE | self,
|  | VALUE | input
| ) |  |
| static

Definition at line 528 of file readline.c.

References Check_Type, clear_rl_instream(), errno, f, rb_io_t::fd, GetOpenFile, input, NIL_P, NULL, rb_cloexec_dup(), rb_sys_fail(), readline_instream, and T_FILE.

Referenced by Init_readline().

static VALUE readline_s_set_output | ( | VALUE | self,
|  | VALUE | output
| ) |  |
| static

Definition at line 565 of file readline.c.

References Check_Type, clear_rl_outstream(), errno, f, rb_io_t::fd, GetOpenFile, NIL_P, NULL, output, rb_cloexec_dup(), rb_sys_fail(), readline_outstream, and T_FILE.

Referenced by Init_readline().

static VALUE username_completion_proc_call | ( | VALUE | self,
|  | VALUE | str
| ) |  |
| static

Definition at line 1768 of file readline.c.

References free(), Qnil, RARRAY_LEN, rb_ary_new(), rb_ary_push(), rb_ary_shift(), rb_locale_str_new_cstr(), result, rl_completion_matches, rl_username_completion_function, and StringValuePtr.

Referenced by Init_readline().

## Variable Documentation

ID completion_case_fold
| static

Definition at line 61 of file readline.c.

Referenced by Init_readline(), readline_attempted_completion_function(), readline_s_get_completion_case_fold(), and readline_s_set_completion_case_fold().

ID completion_proc
| static

Definition at line 61 of file readline.c.

Referenced by Init_readline(), readline_attempted_completion_function(), readline_s_get_completion_proc(), and readline_s_set_completion_proc().

int(* history_get_offset_func)(int)
| static

Definition at line 82 of file readline.c.

Referenced by hist_each(), hist_get(), and Init_readline().

int(* history_replace_offset_func)(int)
| static

Definition at line 83 of file readline.c.

Referenced by Init_readline().

VALUE mReadline
| static

Definition at line 48 of file readline.c.

Referenced by Init_readline(), readline_attempted_completion_function(), readline_s_get_completion_case_fold(), readline_s_get_completion_proc(), readline_s_set_completion_case_fold(), and readline_s_set_completion_proc().

VALUE readline_instream
| static

Definition at line 130 of file readline.c.

Referenced by clear_rl_instream(), Init_readline(), readline_readline(), and readline_s_set_input().

VALUE readline_outstream
| static

Definition at line 131 of file readline.c.

Referenced by clear_rl_outstream(), Init_readline(), readline_readline(), and readline_s_set_output().

FILE* readline_rl_instream
| static

Definition at line 132 of file readline.c.

FILE* readline_rl_outstream
| static

Definition at line 133 of file readline.c.