The Ruby Programming Language [mirror]
Go to file
matz 97348a2dad * eval.c (rb_add_method): preserve safe level in the environment
where a method is defined .

* eval.c (rb_call0): restore preserved safe level in the method
  execution.

* parse.y (lambda): need separate block variable stack
  manipulation and lpar_beg maintenance.  based on a patch found
  in [ruby-core:05551] from Mauricio Fernandez <mfp@acm.org>.

* parse.y (parser_yylex): adjust lpar_beg after tLAMBEG and
  kDO_LAMBDA. [ruby-core:05551]

* parse.y (yycompile): remove unreachable code.  [yarv-dev:570]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-16 15:24:54 +00:00
bcc32 * common.mk, Makefile.in, {bcc32,win32,wince}/Makefile.sub: integrated 2005-08-03 15:27:13 +00:00
bin * bin/irb lib/irb.rb lib/irb/...: IRB 0.9.5. 2005-04-13 15:27:09 +00:00
cygwin * Makefile.in, common.mk: miniruby depens on MINIOBJS. 2005-04-20 14:25:34 +00:00
djgpp
doc * doc/irb/irb.rd.ja: a lost of release IRB 0.9.5. 2005-04-13 20:45:54 +00:00
ext add WIN32OLE_VARIANT class. 2005-08-13 12:22:12 +00:00
lib doc fix 2005-08-13 13:17:23 +00:00
misc * signal.c (sigexit): call rb_thread_signal_exit() instead of 2005-06-12 16:56:06 +00:00
missing * configure.in: check vsnprintf() and snprintf(). 2005-08-03 01:05:30 +00:00
sample * sample/rss/tdiary_plugin: removed. because the plugin 2005-07-27 13:16:32 +00:00
test dbm/test_dbm.rb: specify pid for Process.wait. 2005-08-12 15:53:06 +00:00
vms * vms/vmsruby_private.c, vms/vmsruby_private.h: private routines 2005-05-25 23:35:25 +00:00
win32 * common.mk, Makefile.in, {bcc32,win32,wince}/Makefile.sub: integrated 2005-08-03 15:27:13 +00:00
wince * common.mk, Makefile.in, {bcc32,win32,wince}/Makefile.sub: integrated 2005-08-03 15:27:13 +00:00
x68
.cvsignore * object.c (inspect_obj): unintended space removal. 2005-03-07 02:05:08 +00:00
.document
COPYING
COPYING.ja
ChangeLog * eval.c (rb_add_method): preserve safe level in the environment 2005-08-16 15:24:54 +00:00
GPL
LEGAL * LEGAL (ext/nkf/nkf-utf8): updated from nkf1.7 to nkf-utf8. 2005-07-13 15:46:37 +00:00
LGPL
Makefile.in * common.mk, Makefile.in, {bcc32,win32,wince}/Makefile.sub: integrated 2005-08-03 15:27:13 +00:00
README
README.EXT * lib/mkmf.rb (SRC_EXT): exclude just case different suffixes on case 2005-03-31 13:24:27 +00:00
README.EXT.ja * lib/mkmf.rb (SRC_EXT): exclude just case different suffixes on case 2005-03-31 13:24:27 +00:00
README.ja
ToDo
array.c * bignum.c (rb_big_mul0): multiply two numbers (x, y) without 2005-08-10 01:39:24 +00:00
ascii.c
bignum.c * parse.y (f_larglist): allow optional arguments even when 2005-08-12 08:13:28 +00:00
class.c * class.c (rb_class_init_copy): singleton class is disallowed to copy, 2005-05-16 13:28:59 +00:00
common.mk * common.mk, Makefile.in, {bcc32,win32,wince}/Makefile.sub: integrated 2005-08-03 15:27:13 +00:00
compar.c
config.guess
config.sub
configure.in * configure.in, {bcc32,win32,wince}/Makefile.sub (HAVE_SNPRINTF, 2005-08-03 01:21:20 +00:00
defines.h * defines.h (FLUSH_REGISTER_WINDOWS): defined for IA64. 2005-07-02 08:11:24 +00:00
dir.c * parse.y (lambda): Perl6 style -> lambda expression. [NEW] 2005-07-27 07:27:19 +00:00
dln.c * signal.c (trap): remove sigexit(); handle "EXIT" via sig_exec(). 2005-07-19 08:31:04 +00:00
dln.h
dmydln.c * Makefile.in, common.mk: miniruby depens on MINIOBJS. 2005-04-20 14:25:34 +00:00
dmyext.c
enum.c * enum.c (enum_member): Enumerable#member? is not an iterator. 2005-07-14 16:18:44 +00:00
enumerator.c * enumerator.c (Init_Enumerator): provided features should have 2005-08-04 15:09:03 +00:00
env.h * array.c: replace rb_protect_inspect() and rb_inspecting_p() by 2005-03-04 06:47:45 +00:00
error.c * parse.y (lambda): Perl6 style -> lambda expression. [NEW] 2005-07-27 07:27:19 +00:00
euc_jp.c This commit was generated by cvs2svn to compensate for changes in r8021, 2005-02-23 12:41:49 +00:00
eval.c * eval.c (rb_add_method): preserve safe level in the environment 2005-08-16 15:24:15 +00:00
file.c * eval.c (rb_eval): pre-evaluate argument for unambiguous 2005-06-30 06:20:09 +00:00
gc.c * parse.y (f_larglist): allow optional arguments even when 2005-08-12 08:13:28 +00:00
hash.c * hash.c (each_i): typo fixed. [ruby-dev:26622] 2005-07-28 08:16:34 +00:00
inits.c * enum.c (enumeratorize): create new enumerator for current method if 2005-07-14 15:15:22 +00:00
install-sh
instruby.rb * instruby.rb: expand source library path. 2005-07-05 14:45:33 +00:00
intern.h * intern.h (rb_check_to_integer): add declaration. 2005-08-14 22:25:09 +00:00
io.c * parse.y (lambda): Perl6 style -> lambda expression. [NEW] 2005-07-27 07:27:19 +00:00
keywords * parse.y: remove static variables. [ruby-dev:26530] 2005-07-13 13:44:21 +00:00
lex.c * parse.y: remove static variables. [ruby-dev:26530] 2005-07-13 13:44:21 +00:00
main.c
marshal.c * array.c: replace rb_protect_inspect() and rb_inspecting_p() by 2005-03-04 06:47:45 +00:00
math.c
mdoc2man.rb
missing.h * signal.c (sigexit): call rb_thread_signal_exit() instead of 2005-06-12 16:56:06 +00:00
mkconfig.rb * configure.in (RUBY_PROG_INSTALL): not add -p option to INSTALL. 2005-04-16 06:27:43 +00:00
node.h * parse.y (lambda): Perl6 style -> lambda expression. [NEW] 2005-07-27 07:27:19 +00:00
numeric.c * parse.y (f_larglist): allow optional arguments even when 2005-08-12 08:13:28 +00:00
object.c * intern.h (rb_check_to_integer): add declaration. 2005-08-14 22:25:09 +00:00
oniguruma.h * oniguruma.h (OnigWarnFunc): add a variadic argument. 2005-04-24 16:23:15 +00:00
pack.c * array.c: replace rb_protect_inspect() and rb_inspecting_p() by 2005-03-04 06:47:45 +00:00
parse.y * eval.c (rb_add_method): preserve safe level in the environment 2005-08-16 15:24:15 +00:00
prec.c
process.c * sprintf.c (rb_vsprintf, rb_sprintf): new functions return new String, 2005-07-23 01:02:18 +00:00
random.c
range.c * eval.c (rb_rescue2): reduce PUSH_TAG() as well as NODE_RESCUE. 2005-08-14 15:39:39 +00:00
re.c * re.c (make_regexp): should not return junk address during 2005-05-23 03:24:28 +00:00
re.h
regcomp.c regcomp.c: uninitialized member (backrefed_status) was used. 2005-03-01 12:23:17 +00:00
regenc.c This commit was generated by cvs2svn to compensate for changes in r8021, 2005-02-23 12:41:49 +00:00
regenc.h This commit was generated by cvs2svn to compensate for changes in r8021, 2005-02-23 12:41:49 +00:00
regerror.c This commit was generated by cvs2svn to compensate for changes in r8021, 2005-02-23 12:41:49 +00:00
regex.h remove oniggnu.h (GNU regex API). 2005-02-26 08:05:06 +00:00
regexec.c * ascii.c, euc_jp.c, oniggnu.h, oniguruma.h, regcomp.c, regenc.c, regenc.h, regerror.c, regexec.c, regint.h, regparse.c, regparse.h, sjis.c, utf8.c: imported Oni Guruma 3.7.0. 2005-02-23 12:47:23 +00:00
regint.h * array.c: replace rb_protect_inspect() and rb_inspecting_p() by 2005-03-04 06:47:45 +00:00
regparse.c * regparse.c (fetch_escaped_value): mask values following \c in 2005-07-10 23:32:33 +00:00
regparse.h * ascii.c, euc_jp.c, oniggnu.h, oniguruma.h, regcomp.c, regenc.c, regenc.h, regerror.c, regexec.c, regint.h, regparse.c, regparse.h, sjis.c, utf8.c: imported Oni Guruma 3.7.0. 2005-02-23 12:47:23 +00:00
ruby.1
ruby.c * parse.y: remove static variables. [ruby-dev:26530] 2005-07-13 13:44:21 +00:00
ruby.h * parse.y (lambda): Perl6 style -> lambda expression. [NEW] 2005-07-27 07:27:19 +00:00
rubyio.h * rubyio.h (FMODE_WSPLIT, FMODE_WSPLIT_INITIALIZED): new constant. 2005-07-18 01:00:23 +00:00
rubysig.h
rubytest.rb
runruby.rb * runruby.rb: should load built rbconfig.rb. 2005-06-23 14:56:40 +00:00
signal.c * signal.c (trap): remove sigexit(); handle "EXIT" via sig_exec(). 2005-07-19 08:31:04 +00:00
sjis.c This commit was generated by cvs2svn to compensate for changes in r8021, 2005-02-23 12:41:49 +00:00
sprintf.c * sprintf.c: replacing is no longer needed. 2005-08-03 15:25:17 +00:00
st.c * array.c: replace rb_protect_inspect() and rb_inspecting_p() by 2005-03-04 06:47:45 +00:00
st.h * array.c: replace rb_protect_inspect() and rb_inspecting_p() by 2005-03-04 06:47:45 +00:00
string.c * sprintf.c (rb_vsprintf, rb_sprintf): new functions return new String, 2005-07-23 01:02:18 +00:00
struct.c * sprintf.c (rb_vsprintf, rb_sprintf): new functions return new String, 2005-07-23 01:02:18 +00:00
time.c * array.c: replace rb_protect_inspect() and rb_inspecting_p() by 2005-03-04 06:47:45 +00:00
utf8.c * ascii.c, euc_jp.c, oniggnu.h, oniguruma.h, regcomp.c, regenc.c, regenc.h, regerror.c, regexec.c, regint.h, regparse.c, regparse.h, sjis.c, utf8.c: imported Oni Guruma 3.7.0. 2005-02-23 12:47:23 +00:00
util.c
util.h
variable.c * parse.y (lambda): Perl6 style -> lambda expression. [NEW] 2005-07-27 07:27:19 +00:00
version.c * version.c (ruby_show_version): flush for non-tty stdout. 2005-05-12 00:54:36 +00:00
version.h 2005-08-17 2005-08-16 15:24:19 +00:00

README

* 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.  Probably this step will not need.

  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: