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 6212cfb9c5 * gc.c (Init_stack): stack region is far smaller than usual if
pthread is used.

* marshal.c (w_extended): singleton methods should not be checked
  when dumping via marshal_dump() or _dump(). [ruby-talk:85909]

* file.c (getcwdofdrv): avoid using getcwd() directly, use
  my_getcwd() instead.

* merged NeXT, OpenStep, Rhapsody ports patch from Eric Sunshine
  <sunshine@sunshineco.com>.  [ruby-core:01596]

* marshal.c (w_object): LINK check earlier than anything else,
  i.e. do not dump TYPE_IVAR for already dumped objects.
  (ruby-bugs PR#1220)

* eval.c (rb_eval): call "inherited" only when a new class is
  generated; not on reopening.

* eval.c (eval): prepend error position in evaluating string to

* configure.in: revived NextStep, OpenStep, and Rhapsody ports which
  had become unbuildable; enhanced --enable-fat-binary option so that
  it accepts a list of desired architectures (rather than assuming a
  fixed list), or defaults to a platform-appropriate list if user does
  not provide an explicit list; made the default list of architectures
  for MAB (fat binary) more comprehensive; now uses -fno-common even
  when building the interpreter (in addition to using it for
  extensions), thus allowing the interpreter to be embedded into a
  plugin module of an external project (in addition to allowing
  embedding directly into an application); added checks for
  <netinet/in_systm.h> (needed by `socket' extension) and getcwd(); now
  ensures that -I/usr/local/include is employed when extensions'
  extconf.rb scripts invoke have_header() since extension checks on
  NextStep and OpenStep will fail without it if the desired resource
  resides in the /usr/local tree; fixed formatting of --help message.

* Makefile.in: $(LIBRUBY_A) rule now deletes the archive before
  invoking $(AR) since `ar' on Apple/NeXT can not "update" MAB archives
  (see configure's --enable-fat-binary option); added rule for new
  missing/getcwd.c.

* defines.h: fixed endian handling during MAB build (see configure's
  --enable-fat-binary option) to ensure that all portions of the
  project see the correct WORDS_BIGENDIAN value (some extension modules
  were getting the wrong endian setting); added missing constants
  GETPGRP_VOID, WNOHANG, WUNTRACED, X_OK, and type pid_t for NextStep
  and OpenStep; removed unnecessary and problematic HAVE_SYS_WAIT_H
  define in NeXT section.

* dir.c: do not allow NAMLEN() macro to trust dirent::d_namlen on
  NextStep since, on some installations, this value always resolves
  uselessly to zero.

* dln.c: added error reporting to NextStep extension loader since the
  previous behavior of failing silently was not useful; now ensures
  that NSLINKMODULE_OPTION_BINDNOW compatibility constant is defined
  for OpenStep and Rhapsody; no longer includes <mach-o/dyld.h> twice
  on Rhapsody since this header lacks multiple-include protection,
  which resulted in "redefinition" compilation errors.

* main.c: also create hard reference to objc_msgSend() on NeXT
  platforms (in addition to Apple platforms).

* lib/mkmf.rb: now exports XCFLAGS from configure script to extension
  makefiles so that extensions can be built MAB (see configure's
  --enable-fat-binary option); also utilize XCFLAGS in cc_command()
  (but not cpp_command() because MAB flags are incompatible with
  direct invocation of `cpp').

* ext/curses/extconf.rb: now additionally checks for presence of these
  curses functions which are not present on NextStep or Openstep:
  bkgd(), bkgdset(), color(), curs(), getbkgd(), init(), scrl(), set(),
  setscrreg(), wattroff(), wattron(), wattrset(), wbkgd(), wbkgdset(),
  wscrl(), wsetscrreg()

* ext/curses/curses.c: added appropriate #ifdef's for additional set of
  curses functions now checked by extconf.rb; fixed curses_bkgd() and
  window_bkgd() to correctly return boolean result rather than numeric
  result; fixed window_getbkgd() to correctly signal an error by
  returning nil rather than -1.

* ext/etc/etc.c: setup_passwd() and setup_group() now check for null
  pointers before invoking rb_tainted_str_new2() upon fields extracted
  from `struct passwd' and `struct group' since null pointers in some
  fields are common on NextStep/OpenStep (especially so for the
  `pw_comment' field) and rb_tainted_str_new2() throws an exception
  when it receives a null pointer.

* ext/pty/pty.c: include "util.h" for strdup()/ruby_strdup() for
  platforms such as NextStep and OpenStep which lack strdup().

* ext/socket/getaddrinfo.c: cast first argument of getservbyname(),
  gethostbyaddr(), and gethostbyname() from (const char*) to non-const
  (char*) for older platforms such as NextStep and OpenStep.

* ext/socket/socket.c: include "util.h" for strdup()/ruby_strdup() for
  platforms such as NextStep and OpenStep which lack strdup(); include
  <netinet/in_systm.h> if present for NextStep and OpenStep; cast first
  argument of gethostbyaddr() and getservbyname() from (const char*) to
  non-const (char*) for older platforms.

* ext/syslog/syslog.c: include "util.h" for strdup()/ruby_strdup() for
  platforms such as NextStep and OpenStep which lack strdup().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-22 04:00:03 +00:00
bcc32 * string.c: add #include "version.h". this file still depends on it. 2003-11-05 02:15:27 +00:00
bin add explicit trim mode 2003-07-31 03:42:17 +00:00
cygwin * cygwin/GNUmakefile: remove unnecessary '--drive-name=$(CC)' 2003-08-09 15:36:23 +00:00
djgpp
doc * lib/generator.rb: A new library which converts an internal 2003-10-14 20:14:20 +00:00
ext * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
lib * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
misc * time.c (time_load): restore instance variables (if any) before 2003-10-02 08:25:00 +00:00
missing * missing/memmove.c (memmove): take void *, not char *. 2003-11-18 14:34:18 +00:00
sample * sample/openssl/gen_csr.rb: there (at least) is a CA which does not accept DN 2003-11-05 14:55:52 +00:00
test * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
vms
win32 * win32/win32.c (make_cmdvector): process backslashes even if a quote 2003-11-06 02:42:10 +00:00
wince * string.c: add #include "version.h". this file still depends on it. 2003-11-05 02:15:27 +00:00
x68
.cvsignore 031031 2003-10-30 17:55:51 +00:00
array.c * eval.c (rb_method_node): new API to retrieve method body. 2003-11-14 23:54:06 +00:00
bignum.c * marshal.c (r_object0): remove unnecessary iv restoration for 2003-10-09 17:45:53 +00:00
ChangeLog * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
class.c * class.c, hash.c, string.c: remove #include "version.h". 2003-11-04 14:40:30 +00:00
compar.c 031031 2003-10-30 16:33:32 +00:00
config.guess * lib/xmlrpc: import. 2003-07-19 10:05:54 +00:00
config.sub * variable.c (rb_mod_name): always return empty string for 2003-04-10 08:37:12 +00:00
configure.in * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
COPYING
COPYING.ja
defines.h * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
dir.c * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
dln.c * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
dln.h
dmyext.c
enum.c * enum.c (each_with_index_i): typo. 2003-08-22 17:43:57 +00:00
env.h * eval.c (PUSH_FRAME): generate unique number to be TAG_JUMP() 2003-10-20 08:33:49 +00:00
error.c * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
eval.c * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
file.c * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
gc.c * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
GPL
hash.c * hash.c: remove unnecessary update. 2003-11-15 00:03:01 +00:00
inits.c * configure.in (HUGE_ST_INO): check whether struct stat.st_ino 2003-08-15 03:01:52 +00:00
install-sh
instruby.rb * ext/curses/curses.c (_XOPEN_SOURCE_EXTENDED): Mac OS X standard 2003-08-18 16:24:42 +00:00
intern.h * intern.h (ruby_stop): never return. 2003-10-14 02:53:53 +00:00
io.c * io.c (appendline): file may not end with newline. a bug if 2003-11-11 13:48:51 +00:00
keywords
LEGAL * math.c (math_erf,math_erfc): new function. [ruby-list:37753] 2003-06-05 06:40:42 +00:00
lex.c
LGPL
main.c * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
Makefile.in * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
MANIFEST MANIFEST: add test/stringio/test_stringio.rb. 2003-11-18 12:08:55 +00:00
marshal.c * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
math.c * math.c (math_log): nan takes a dummy argument on Cygwin 1.5.0. 2003-07-10 05:48:43 +00:00
mdoc2man.rb * mdoc2man.rb: Properly put nested braces, parentheses and angles. 2003-01-20 12:10:40 +00:00
missing.h * missing/memmove.c (memmove): take void *, not char *. 2003-11-18 14:34:18 +00:00
mkconfig.rb * lib/shell/command-processor.rb (Shell::CommandProcessor::rmdir): 2003-08-05 09:27:21 +00:00
node.h * eval.c (rb_method_node): new API to retrieve method body. 2003-11-14 23:54:06 +00:00
numeric.c * variable.c (rb_const_get_0): should check constants defined in 2003-08-28 08:35:43 +00:00
object.c * object.c (rb_class_s_alloc): add function prototype to avoid VC++ 2003-08-13 07:13:45 +00:00
pack.c * marshal.c (r_object0): remove unnecessary iv restoration for 2003-10-09 17:45:53 +00:00
parse.y * parse.y (primary): primary_value may be 0 when syntax error. 2003-11-09 15:07:14 +00:00
prec.c * variable.c (rb_obj_classname): new function. 2003-01-31 04:00:17 +00:00
process.c * io.c (read_all): fptr->f may be NULL, if IO is closed in the 2003-11-04 09:13:57 +00:00
random.c * bignum.c (BIGZEROP): macro to determine if x is a bignum zero. 2003-04-09 06:44:34 +00:00
range.c * gcc -Wall clean-up. 2003-07-24 18:33:50 +00:00
re.c * io.c (read_all): fptr->f may be NULL, if IO is closed in the 2003-11-04 09:13:57 +00:00
re.h * configure.in, bcc32/Makefile.sub, win32/Makefile.sub: define 2003-03-04 14:12:19 +00:00
README
README.EXT * README.EXT, README.EXT.ja (3.3): clarified -1 as free for 2003-04-02 06:11:28 +00:00
README.EXT.ja * README.EXT, README.EXT.ja (3.3): clarified -1 as free for 2003-04-02 06:11:28 +00:00
README.ja
regex.c * eval.c (rb_eval): while/until should not capture break unless 2003-09-30 00:21:14 +00:00
regex.h * regex.h (re_mbctab): should refer to RUBY_EXPORT. [ruby-ext:02199] 2003-08-03 09:22:50 +00:00
ruby.1 Fix markups and grammar. 2003-11-21 07:13:43 +00:00
ruby.c * ext/stringio/stringio.c (strio_set_string, strio_reopen): check 2003-11-06 01:17:59 +00:00
ruby.h * check existence of "pthread.h" 2003-11-20 16:47:30 +00:00
rubyio.h * rubyio.h (struct OpenFile): add error raise flag to finalizer. 2003-04-14 09:04:43 +00:00
rubysig.h * configure.in, bcc32/Makefile.sub, win32/Makefile.sub: define 2003-03-04 14:12:19 +00:00
rubytest.rb set dldpath on darwin 2003-08-01 14:35:51 +00:00
signal.c configure.in, eval.c, signal.c: : add '--with-pthread-ext' option 2003-11-05 14:00:11 +00:00
sprintf.c * array.c (rb_values_at): extract common procedure from 2003-07-03 11:02:53 +00:00
st.c * string.c (rb_str_hash): Update the HASH_PERL alternative hash 2003-11-01 16:16:31 +00:00
st.h * string.c (rb_str_chomp_bang): defer rb_str_modify() to actual 2003-07-27 17:20:29 +00:00
string.c * string.c: add #include "version.h". this file still depends on it. 2003-11-05 02:15:27 +00:00
struct.c * io.c (read_all): fptr->f may be NULL, if IO is closed in the 2003-11-04 09:13:57 +00:00
time.c * marshal.c (r_object0): remove unnecessary iv restoration for 2003-10-09 17:45:53 +00:00
ToDo * gc.c (rb_gc): check odd alignment stack on m68k machines. 2003-05-08 09:45:52 +00:00
util.c * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
util.h * util.h: remove unnecessary parentheses. [ruby-dev:20879] 2003-08-04 01:27:25 +00:00
variable.c * gc.c (Init_stack): stack region is far smaller than usual if 2003-11-22 04:00:03 +00:00
version.c
version.h 2003-11-21 2003-11-21 04:15:05 +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.  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: