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
matz fd06a2a7fb * eval.c (block_pass): should not downgrade safe level.
* ext/dbm/extconf.rb: allow specifying dbm-type explicitly.

* ext/dbm/extconf.rb: avoid gdbm if possible, because it leaks
  memory, whereas gdbm.so doesn't.  potential incompatibility.

* string.c (rb_str_insert): new method.

* parse.y (yylex): lex_state after RESCUE_MOD should be EXPR_BEG.

* array.c (rb_ary_insert): new method.

* array.c (rb_ary_update): new utility function.

* io.c (set_outfile): should check if closed before assignment.

* eval.c (rb_eval): should preserve value of ruby_errinfo.

* eval.c (rb_thread_schedule): infinite sleep should not cause
  dead lock.

* array.c (rb_ary_flatten_bang): proper recursive detection.

* eval.c (yield_under): need not to prohibit at safe level 4.

* pack.c (pack_pack): p/P packs nil into NULL.

* pack.c (pack_unpack): p/P unpacks NULL into nil.

* pack.c (pack_pack): size check for P template.

* ruby.c (set_arg0): wrong predicate when new $0 value is bigger
  than original space.

* gc.c (id2ref): should use NUM2ULONG()

* object.c (rb_mod_const_get): check whether name is a class
  variable name.

* object.c (rb_mod_const_set): ditto.

* object.c (rb_mod_const_defined): ditto.

* marshal.c (w_float): precision changed to "%.16g"

* eval.c (rb_call0): wrong retry behavior.

* numeric.c (fix_aref): a bug on long>int architecture.

* eval.c (rb_eval_string_wrap): should restore ruby_wrapper.

* regex.c (re_compile_pattern): char class at either edge of range
  should be invalid.

* eval.c (handle_rescue): use === to compare exception match.

* error.c (syserr_eqq): comparison between SytemCallErrors should
  based on their error numbers.

* eval.c (safe_getter): should use INT2NUM().

* bignum.c (rb_big2long): 2**31 cannot fit in 31 bit long.

* regex.c (calculate_must_string): wrong length calculation.

* eval.c (rb_thread_start_0): fixed memory leak.

* parse.y (none): should clear cmdarg_stack too.

* io.c (rb_fopen): use setvbuf() to avoid recursive malloc() on
  some platforms.

* file.c (rb_stat_dev): device functions should honor stat field
  types (except long long such as dev_t).

* eval.c (rb_mod_nesting): should not push nil for nesting array.

* eval.c (rb_mod_s_constants): should not search array by
  rb_mod_const_at() for nil (happens for singleton class).

* class.c (rb_singleton_class_attached): should modify iv_tbl by
  itself, no longer use rb_iv_set() to avoid freeze check error.

* variable.c (rb_const_get): error message "uninitialized constant
  Foo at Bar::Baz" instead of "uninitialized constantBar::Baz::Foo".

* eval.c (rb_mod_included): new hook called from rb_mod_include().

* io.c (opt_i_set): should strdup() inplace_edit string.

* eval.c (exec_under): need to push cref too.

* eval.c (rb_f_missing): raise NameError for "undefined local
  variable or method".

* error.c (Init_Exception): new exception NoMethodError.
  NameError moved under ScriptError again.

* eval.c (rb_f_missing): use NoMethodError instead of NameError.

* file.c (Init_File): should redifine "new" class method.

* eval.c (PUSH_CREF): sharing cref node was problematic.  maintain
  runtime cref list instead.

* eval.c (rb_eval): copy defn node before registering.

* eval.c (rb_load): clear ruby_cref before loading.

* variable.c (rb_const_get): no recursion to show full class path
  for modules.

* eval.c (rb_set_safe_level): should set safe level in curr_thread
  as well.

* eval.c (safe_setter): ditto.

* object.c (rb_obj_is_instance_of): nil belongs to false, not true.

* time.c (make_time_t): proper (I hope) daylight saving time
  handling for both US and Europe.  I HATE DST!

* eval.c (rb_thread_wait_for): non blocked signal interrupt should
  stop the interval.

* eval.c (proc_eq): class check aded.

* eval.c (proc_eq): typo fixed ("return" was ommitted).

* error.c (Init_Exception): move NameError under StandardError.

* class.c (rb_mod_clone): should copy method bodies too.

* bignum.c (bigdivrem): should trim trailing zero bdigits of
  remainder, even if dd == 0.

* file.c (check3rdbyte): safe string check moved here.

* time.c (make_time_t): remove HAVE_TM_ZONE code since it
  sometimes reports wrong time.

* time.c (make_time_t): remove unnecessary range check for
  platforms where negative time_t is available.

* process.c (proc_waitall): should push Process::Status instead of
  Finuxm status.

* process.c (waitall_each): should add all entries in pid_tbl.
  these changes are inspired by Koji Arai.  Thanks.

* process.c (proc_wait): should not iterate if pid_tbl is 0.

* process.c (proc_waitall): ditto.

* numeric.c (flodivmod): a bug in no fmod case.

* process.c (pst_wifsignaled): should apply WIFSIGNALED for status
  (int), not st (VALUE).

* io.c (Init_IO): value of $/ and $\ are no longer restricted to
  strings.  type checks are done on demand.

* class.c (rb_include_module): module inclusion should be check
  taints.

* ruby.h (STR2CSTR): replace to StringType() and StringTypePtr().

* ruby.h (rb_str2cstr): ditto.

* eval.c (rb_load): should not copy topleve local variables.  It
  cause variable/method ambiguity.  Thanks to L. Peter Deutsch.

* class.c (rb_include_module): freeze check at first.

* eval.c (rb_attr): sprintf() and rb_intern() moved into
  conditional body.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-02 04:22:21 +00:00
cygwin gcc-2.95.2-7(cygwin) support. 2001-01-31 14:27:37 +00:00
djgpp INLINE 2001-01-11 01:55:18 +00:00
doc/irb Initial revision 2001-04-30 18:17:38 +00:00
ext * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
lib These files are also obsoleted. 2001-04-30 20:37:16 +00:00
misc * parse.y (parse_quotedwords): %w should allow parenthesis escape. 2001-02-08 09:19:27 +00:00
missing * eval.c: remove TMP_PROTECT_END to prevent C_ALLOCA crash. 2001-03-26 08:57:16 +00:00
sample Merge from irb 0.7.3. 2001-04-30 17:54:55 +00:00
win32 * win32/config.status.in: no longer use missing/alloca.c. 2001-04-14 04:38:19 +00:00
x68 Initial revision 1998-01-16 12:13:05 +00:00
.cvsignore * dir.c (glob_helper): replace lstat() by stat() to follow symlink 2001-03-19 03:20:24 +00:00
array.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
bignum.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
ChangeLog * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
class.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
compar.c * dir.c (dir_s_glob): supprt backslash escape of metacharacters 2001-02-14 05:52:06 +00:00
config.guess matz 2000-10-20 16:37:01 +00:00
config.sub matz 2000-11-27 09:23:38 +00:00
configure.in * configure.in: don't use tzname on cygwin 1.3.1+. 2001-04-26 13:58:10 +00:00
COPYING This commit was generated by cvs2svn to compensate for changes in r372, 1999-01-20 04:59:39 +00:00
defines.h * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
dir.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
dln.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
dln.h * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
dmyext.c Initial revision 1998-01-16 12:13:05 +00:00
enum.c * io.c (argf_seek_m): wrong calling sequence of rb_io_seek(). 2001-03-13 05:45:13 +00:00
env.h * dir.c (dir_s_glob): supprt backslash escape of metacharacters 2001-02-14 05:52:06 +00:00
error.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
eval.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
file.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
gc.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
hash.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
inits.c * dir.c (dir_s_glob): supprt backslash escape of metacharacters 2001-02-14 05:52:06 +00:00
install-sh 1.4.0 1999-08-13 05:45:20 +00:00
instruby.rb Install help-message's too. 2001-04-30 17:55:56 +00:00
intern.h * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
io.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
keywords 2000-05-30 2000-05-30 04:24:17 +00:00
lex.c 2000-05-30 2000-05-30 04:24:17 +00:00
main.c * dir.c (dir_s_glob): supprt backslash escape of metacharacters 2001-02-14 05:52:06 +00:00
Makefile.in * Makefile.in: Introduce MAINLIBS. 2001-04-01 16:53:41 +00:00
MANIFEST * io.c (argf_seek_m): wrong calling sequence of rb_io_seek(). 2001-03-13 05:45:13 +00:00
marshal.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
math.c * io.c (argf_seek_m): wrong calling sequence of rb_io_seek(). 2001-03-13 05:45:13 +00:00
mkconfig.rb * mkconfig.rb: autoconf 2.49 support. 2001-01-22 07:37:14 +00:00
node.h * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
numeric.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
object.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
pack.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
parse.y * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
prec.c * object.c (rb_str2cstr): warn if string contains \0 and length 2001-03-28 08:43:25 +00:00
process.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
random.c * dir.c (dir_s_glob): supprt backslash escape of metacharacters 2001-02-14 05:52:06 +00:00
range.c * dir.c (dir_s_glob): supprt backslash escape of metacharacters 2001-02-14 05:52:06 +00:00
re.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
re.h * dir.c (dir_s_glob): supprt backslash escape of metacharacters 2001-02-14 05:52:06 +00:00
README * dir.c (dir_s_chdir): block form of Dir.chdir. (RCR#U016). 2001-03-16 08:30:09 +00:00
README.EXT matz 2000-10-05 09:57:04 +00:00
README.EXT.jp matz 2000-10-05 09:57:04 +00:00
README.jp * dir.c (dir_s_chdir): block form of Dir.chdir. (RCR#U016). 2001-03-16 08:30:09 +00:00
regex.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
regex.h matz 2000-07-27 09:49:34 +00:00
ruby.1 eban 2000-10-06 06:13:52 +00:00
ruby.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
ruby.h * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
rubyio.h * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
rubysig.h * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
rubytest.rb matz - nakada win32 patch 2000-08-03 09:50:41 +00:00
signal.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
sprintf.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
st.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
st.h 20000105 2000-01-05 04:41:21 +00:00
string.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
struct.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
time.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
ToDo * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
util.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
util.h * dir.c (dir_s_glob): supprt backslash escape of metacharacters 2001-02-14 05:52:06 +00:00
variable.c * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +00:00
version.c * dir.c (dir_s_glob): supprt backslash escape of metacharacters 2001-02-14 05:52:06 +00:00
version.h * eval.c (block_pass): should not downgrade safe level. 2001-05-02 04:22:21 +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/lang/ruby/

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

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

* 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

Ruby is copyrighted free software by Yukihiro Matsumoto <matz@zetabits.com>.
You can redistribute it and/or modify it under either the terms of the GPL
(see COPYING file), or the conditions below:

  1. You may make and give away verbatim copies of the source form of the
     software without restriction, provided that you duplicate all of the
     original copyright notices and associated disclaimers.

  2. You may modify your copy of the software in any way, provided that
     you do at least ONE of the following:

       a) place your modifications in the Public Domain or otherwise
          make them Freely Available, such as by posting said
	  modifications to Usenet or an equivalent medium, or by allowing
	  the author to include your modifications in the software.

       b) use the modified software only within your corporation or
          organization.

       c) rename any non-standard executables so the names do not conflict
	  with standard executables, which must also be provided.

       d) make other distribution arrangements with the author.

  3. You may distribute the software in object code or executable
     form, provided that you do at least ONE of the following:

       a) distribute the executables and library files of the software,
	  together with instructions (in the manual page or equivalent)
	  on where to get the original distribution.

       b) accompany the distribution with the machine-readable source of
	  the software.

       c) give non-standard executables non-standard names, with
          instructions on where to get the original software distribution.

       d) make other distribution arrangements with the author.

  4. You may modify and include the part of the software into any other
     software (possibly commercial).  But some files in the distribution
     are not written by the author, so that they are not under this terms.

     They are utils.c(partly), regex.[ch], st.[ch] and some files under
     the ./missing directory.  See each file for the copying condition.

  5. The scripts and library files supplied as input to or produced as 
     output from the software do not automatically fall under the
     copyright of the software, but belong to whomever generated them, 
     and may be sold commercially, and may be aggregated with this
     software.

  6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
     IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     PURPOSE.

* Ruby home-page

The URL of the Ruby home-page is:

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

* The Author

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

  matz@zetabits.com

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