1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
The Ruby Programming Language [mirror]
Find a file
why 41256fd432 * eval.c (rb_thread_save_context, rb_thread_restore_context):
sandbox hook to save and restore sandbox state.

* eval.c (thread_no_ensure): added THREAD_NO_ENSURE thread flag.

* eval.c (rb_thread_kill_bang): Thread#kill! uses the above flag
  to circumvent ensure, in order to prevent endless loops.
  [ruby-core:08768]

* eval.c (rb_thread_kill): fix Thread#kill docs, which returns
  the thread object in all cases.

* node.h: expose the rb_jmpbuf_t and rb_thread_t structs, along
  with the thread flags.  used by the sandbox extension.

* ruby.h: extern rb_eThreadError, so sandbox can swap it.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-23 14:39:32 +00:00
bcc32 * {bcc32,win32,wince}/Makefile.sub (INSTALLED_LIST): need to define 2006-09-20 00:54:45 +00:00
bin * ext/tk/lib/tk/canvas.rb (TkCanvasItemConfig::__item_val2ruby_optkeys): 2005-10-24 00:07:01 +00:00
cygwin * Makefile.in, configure.in (MINIOBJS): miniruby on HP-UX can not load 2005-09-06 23:23:04 +00:00
djgpp
doc * lib/irb.rb lib/irb/* doc/irb: IRB 0.9.5 2005-04-19 19:24:59 +00:00
ext * common.mk (no-install): not install rdoc actually. 2006-09-21 13:58:33 +00:00
lib * lib/cgi.rb (CGI::QueryExtension::read_multipart): CGI content 2006-09-23 12:47:11 +00:00
misc * misc/ruby-mode.el (ruby-parse-partial): better here-doc support. 2006-09-13 09:29:41 +00:00
missing * io.c, pack.c, ext/syck/rubyext.c, ext/syck/syck.h, missing/isinf.c: 2005-10-13 14:30:54 +00:00
sample * ext/openssl/extconf.rb: add check for OBJ_NAME_do_all_sorted. 2006-06-20 11:18:16 +00:00
test use assert_same instead of assert_equal. 2006-09-16 15:30:49 +00:00
vms * configure.in: Check for the availability of pid_t, gid_t and uid_t and 2005-05-14 14:57:53 +00:00
win32 * {bcc32,win32,wince}/Makefile.sub (INSTALLED_LIST): need to define 2006-09-20 00:54:45 +00:00
wince * {bcc32,win32,wince}/Makefile.sub (INSTALLED_LIST): need to define 2006-09-20 00:54:45 +00:00
x68
.cvsignore * .cvsignore: ignore timestamp files and installed list file. 2006-09-21 17:06:50 +00:00
.document Support "require" as variable name in RDoc 2004-10-10 03:35:51 +00:00
array.c comment rb_ary_new4 behavior in Ruby 1.9. 2006-06-24 14:53:36 +00:00
bignum.c * bignum.c (rb_big_mul0): bignum multiplication without 2006-09-09 15:27:34 +00:00
ChangeLog * eval.c (rb_thread_save_context, rb_thread_restore_context): 2006-09-23 14:39:32 +00:00
class.c * class.c (rb_mod_init_copy, rb_class_init_copy), file.c (rb_stat_init_copy), 2005-09-28 14:42:46 +00:00
common.mk * common.mk (no-install): not install rdoc actually. 2006-09-21 13:58:33 +00:00
compar.c
config.guess * eval.c (THREAD_ALLOC): th->thread should be initialized to NULL. 2004-07-17 02:23:52 +00:00
config.sub * config.guess, config.sub: Attempt to avoid system name change on 2004-06-11 05:29:02 +00:00
configure.in fix previous change. 2006-09-01 18:58:44 +00:00
COPYING * prec.c (prec_prec_f): documentation patch from 2006-04-09 16:10:40 +00:00
COPYING.ja
defines.h * common.mk, configure.in, defines.h, eval.c, gc.c, main.c, 2006-09-01 18:47:11 +00:00
dir.c * dir.c (has_magic): glob names contain alphabets to enable case fold 2006-07-14 16:27:51 +00:00
dln.c * dln.c, eval.c, gc.c, regex.c, ruby.h: shut up AIX alloca 2006-08-07 03:43:42 +00:00
dln.h
dmydln.c This commit was manufactured by cvs2svn to create branch 'ruby_1_8'. 2005-04-20 14:25:35 +00:00
dmyext.c
enum.c Documentation typo 2006-06-15 01:24:40 +00:00
env.h * eval.c (rb_call0): argument update propagation. [ruby-dev:28044] 2006-02-13 09:10:55 +00:00
error.c * ruby.h: export classes/modules to implement sandbox. 2006-07-20 07:04:17 +00:00
eval.c * eval.c (rb_thread_save_context, rb_thread_restore_context): 2006-09-23 14:39:32 +00:00
file.c * file.c (path_check_0, fpath_check): disable path check on cygwin. 2006-09-07 14:28:36 +00:00
gc.c * common.mk, configure.in, defines.h, eval.c, gc.c, main.c, 2006-09-01 18:47:11 +00:00
GPL
hash.c * hash.c (rb_hash_s_create): fixed memory leak, based on the patch 2006-08-29 10:11:27 +00:00
ia64.s This commit was manufactured by cvs2svn to create branch 'ruby_1_8'. 2006-01-01 08:12:39 +00:00
inits.c
install-sh
instruby.rb * instruby.rb: include FileUtils unconditionally. 2006-09-21 16:37:05 +00:00
intern.h * string.c (rb_str_intern): raise SecurityError only when $SAFE 2006-09-14 07:25:56 +00:00
io.c * io.c (pipe_open): command name should not contain null bytes. 2006-09-04 07:26:47 +00:00
keywords
LEGAL * LEGAL (ext/nkf/nkf-utf8): updated from nkf1.7 to nkf-utf8. 2005-07-13 15:46:37 +00:00
lex.c
LGPL
main.c * common.mk, configure.in, defines.h, eval.c, gc.c, main.c, 2006-09-01 18:47:11 +00:00
Makefile.in * Makefile.in, common.in, instruby.rb, ext/extmk.rb, lib/mkmf.rb: 2006-09-16 07:06:57 +00:00
marshal.c * marshal.c (r_object0): fix a GC problem for reading a bignum on 2005-12-14 03:04:14 +00:00
math.c * math.c (domain_check): a new function to check domain error 2006-07-27 16:14:03 +00:00
mdoc2man.rb
missing.h * configure.in, dln.c, file.c, intern.h, missing.h (eaccess): use 2006-01-25 13:30:11 +00:00
mkconfig.rb * Makefile.in, win32/Makefile.sub (MINIRUBY): append MINIRUBYOPT. 2006-09-08 19:49:02 +00:00
node.h * eval.c (rb_thread_save_context, rb_thread_restore_context): 2006-09-23 14:39:32 +00:00
numeric.c * numeric.c (fix_plus): addition in Fixnum will never overflow 2006-09-07 16:35:59 +00:00
object.c * object.c (rb_obj_ivar_defined, rb_mod_cvar_defined): new methods, 2006-09-18 15:43:06 +00:00
pack.c * pack.c (pack_pack): check argument overrun for 'P'. based on a 2006-08-04 04:58:25 +00:00
parse.y * string.c (rb_str_intern): raise SecurityError only when $SAFE 2006-09-14 07:25:56 +00:00
prec.c * prec.c (prec_prec_f): documentation patch from 2006-04-09 16:10:40 +00:00
process.c * io.c (pipe_open): command name should not contain null bytes. 2006-09-04 07:26:47 +00:00
random.c * random.c (rand_init): suppress warning. 2005-02-12 06:07:47 +00:00
range.c * eval.c (rb_rescue2): reduce PUSH_TAG() as well as NODE_RESCUE. 2005-08-14 15:39:39 +00:00
re.c * ruby.h: export classes/modules to implement sandbox. 2006-07-20 07:04:17 +00:00
re.h
README * lib/irb/extend-command.rb (IRB::ExtendCommandBundle): pacify 2006-08-08 15:17:06 +00:00
README.EXT * README.EXT: English adjustment. [ruby-core:08855] 2006-09-13 14:45:21 +00:00
README.EXT.ja * prec.c (prec_prec_f): documentation patch from 2006-04-09 16:10:40 +00:00
README.ja
regex.c * dln.c, eval.c, gc.c, regex.c, ruby.h: shut up AIX alloca 2006-08-07 03:43:42 +00:00
regex.h
ruby.1 * lib/rdoc/ri/ri_formatter.rb (RI::TextFormatter::wrap): removed 2006-03-11 08:27:43 +00:00
ruby.c * ruby.c (set_arg0): fill argv other than the first with an empty 2006-08-16 02:11:21 +00:00
ruby.h * eval.c (rb_thread_save_context, rb_thread_restore_context): 2006-09-23 14:39:32 +00:00
rubyio.h * rubyio.h (rb_io_set_nonblock): declared. 2006-05-22 08:38:37 +00:00
rubysig.h * rubysig.h (CHECK_INTS): fixed typo. (I believe bit-or is improper) 2005-10-21 10:23:03 +00:00
rubytest.rb * instruby.rb, rubytest.rb (srcdir): no longer embed srcdir into 2005-02-06 17:03:35 +00:00
runruby.rb * runruby.rb: should load built rbconfig.rb. 2005-06-23 14:56:40 +00:00
signal.c * signal.c (ruby_nativethread_signal, posix_nativethread_signal, 2006-07-10 05:02:00 +00:00
sprintf.c * io.c (io_close): always calls "close" method of the receiver. 2006-07-28 16:27:42 +00:00
st.c * ruby.h: use ifdef (or defined) for macro constants that may or 2006-07-31 06:34:10 +00:00
st.h * st.h (st_data_t): use pointer sized integer for st_data_t. 2006-07-10 01:30:14 +00:00
string.c * string.c (rb_str_intern): raise SecurityError only when $SAFE 2006-09-14 07:25:56 +00:00
struct.c * eval.c (eval): need not to protect $SAFE value. 2006-02-02 07:18:12 +00:00
time.c * time.c (time_to_s): variable declaration after an execution 2006-09-04 21:48:47 +00:00
ToDo
util.c * object.c (rb_cstr_to_dbl): limit out-of-range message. 2006-07-18 01:55:15 +00:00
util.h * ext/readline/readline.c (readline_readline): type check. 2005-10-30 18:20:54 +00:00
variable.c * ruby.h: export classes/modules to implement sandbox. 2006-07-20 07:04:17 +00:00
version.c * version.c (ruby_show_version): flush for non-tty stdout. 2005-05-12 00:54:36 +00:00
version.h 2006-09-23 2006-09-22 16:05:11 +00:00

* What's Ruby

Ruby is the interpreted scripting language for quick and
easy object-oriented programming.  It has many features to
process text files and to do system management tasks (as in
Perl).  It is simple, straight-forward, and extensible.


* Features of Ruby

  + Simple Syntax
  + *Normal* Object-Oriented features(ex. class, method calls)
  + *Advanced* Object-Oriented features(ex. Mix-in, Singleton-method)
  + Operator Overloading
  + Exception Handling
  + Iterators and Closures
  + Garbage Collection
  + Dynamic Loading of Object files(on some architecture)
  + Highly Portable(works on many UNIX machines, and on DOS,
    Windows, Mac, BeOS etc.)


* How to get Ruby

The Ruby distribution can be found on:

  ftp://ftp.ruby-lang.org/pub/ruby/

You can get it by anonymous CVS.  How to check out is:

  $ cvs -d :pserver:anonymous@cvs.ruby-lang.org:/src login
  (Logging in to anonymous@cvs.ruby-lang.org)
  CVS password: anonymous
  $ cvs -z4 -d :pserver:anonymous@cvs.ruby-lang.org:/src checkout ruby


* Ruby home-page

The URL of the Ruby home-page is:

   http://www.ruby-lang.org/


* Mailing list

There is a mailing list to talk about Ruby.
To subscribe this list, please send the following phrase

	subscribe YourFirstName YourFamilyName
e.g.
        subscribe Joseph Smith

in the mail body (not subject) to the address <ruby-talk-ctl@ruby-lang.org>.


* How to compile and install

This is what you need to do to compile and install Ruby:

  1. If ./configure does not exist or is older than configure.in,
     run autoconf to (re)generate configure.

  2. Run ./configure, which will generate config.h and Makefile.

  3. Edit defines.h if you need.  Usually this step will not be needed.

  4. Remove comment mark(#) before the module names from ext/Setup (or
     add module names if not present), if you want to link modules
     statically.

     If you don't want to compile non static extension modules
     (probably on architectures which does not allow dynamic loading),
     remove comment mark from the line "#option nodynamic" in
     ext/Setup.

  5. Run make.

  6. Optionally, run 'make test' to check whether the compiled Ruby
     interpreter works well.  If you see the message "test succeeded",
     your ruby works as it should (hopefully).

  7. Run 'make install'

     You may have to be a super user to install ruby.

If you fail to compile ruby, please send the detailed error report with
the error log and machine/OS type, to help others.


* Copying

See the file COPYING.


* The Author

Feel free to send comments and bug reports to the author.  Here is the 
author's latest mail address:

  matz@netlab.jp

-------------------------------------------------------
created at: Thu Aug  3 11:57:36 JST 1995
Local variables:
mode: indented-text
end: