Граф коммитов

41 Коммитов

Автор SHA1 Сообщение Дата
akr 158a828c97 add comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-14 11:22:15 +00:00
nobu 416778c5d8 * ext/dbm/extconf.rb: use convertible_int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-13 14:47:31 +00:00
akr bfed16a21f * ext/dbm/extconf.rb: rollback for each headers for each libraries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-13 10:58:18 +00:00
akr e8ca9cc343 * ext/dbm/extconf.rb: treat libc as a choice for a library which
provide ndbm API.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-13 07:25:40 +00:00
akr 3e5bff7ec1 * ext/dbm/extconf.rb: duplicate $libs and $defs when save them.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-13 06:41:19 +00:00
akr 2b2ef5cfce * ext/dbm/extconf.rb: rollback $libs and $defs when db detection is
failed.  It fixes -lgdbm -lqdbm when the system has qdbm and gdbm
  without gdbm_compat.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-13 03:47:07 +00:00
nobu 521f420a77 * ext/dbm/extconf.rb (headers.db_check): reduce duplicated code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-12 08:01:51 +00:00
akr 0eb08aa068 update comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-12 07:50:12 +00:00
akr df2e1f85d2 * ext/dbm/extconf.rb: dbm_clearerr should be available in all ndbm
implementation.  If it is not available, it is caused by
  header/library mismatch such that Berkeley DB header & gdbm library.

* ext/dbm/dbm.c (fdbm_store): use dbm_clearerr() unconditionally.
  gdbm 1.9 provides it as a real function instead of a empty macro.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-12 07:06:09 +00:00
akr db48bbdf0b * ext/dbm/extconf.rb: db_prefix is not required now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-11 14:01:25 +00:00
akr 266d09839b * ext/dbm/extconf.rb: fix dbm_pagfno and dbm_dirfno detection with
Berkeley DB.  Macro definitions needs arguments to detect correctly.
  SIZEOF_DSIZE needs -DDB_DBM_HSEARCH because db.h defines datum type
  only if DB_DBM_HSEARCH is defined. 



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-11 12:03:51 +00:00
akr 688e1b34a6 add comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-11 03:35:49 +00:00
nobu 6c9a235938 * ext/dbm/extconf.rb: set DB_DBM_HSEARCH macro to check dbm_pagfno and
dbm_dirfno on older Debian.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-10 06:43:46 +00:00
nobu fb1836ab48 * ext/dbm/extconf.rb: check for dsize as LONG_LONG.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-10 06:43:44 +00:00
nobu 0e4c2ce841 * ext/dbm/dbm.c (fdbm_fetch, fdbm_key, fdbm_delete, fdbm_store)
(fdbm_has_key, fdbm_has_value): get rid of overflow.
* ext/gdbm/gdbm.c (rb_gdbm_fetch2, rb_gdbm_nextkey)
  (rb_gdbm_delete, fgdbm_store, fgdbm_has_key): ditto.
* ext/dbm/dbm.c (fdbm_delete_if): hide intermediate objects.
* ext/gdbm/gdbm.c (fgdbm_delete_if): ditto.
* ext/dbm/extconf.rb: check size of datum.dsize to get rid of
  overflow.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-08 14:34:39 +00:00
akr e4e5b7df4c * ext/dbm/extconf.rb: check dbm_pagfno() and dbm_dirfno().
* ext/dbm/dbm.c: use above to set close-on-exec flag.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-07 11:17:17 +00:00
kosaki cb96213fad * ext/dbm/extconf.rb: Added new header places for Fedora13.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28 12:58:15 +00:00
mame 8af5f01a17 * ext/dbm/extconf.rb: accept Berkley DB version 3, 4 and 5.
[ruby-dev:41531]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-11 15:40:39 +00:00
matz 54cf2fca17 * enum.c (enum_yield): when multiple values yielded from #each
pack them into an array.  [ruby-dev:32708]

* enum.c: all method but all?, any?, one? and none? passed packed
  multiple values to the block.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 06:01:22 +00:00
nobu 5e6bf721d5 * ext/dbm/extconf.rb: allow multiple candidates for dbm-type.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-16 07:14:37 +00:00
nobu eff9686ded * ext/dbm/extconf.rb: create makefile according to the result of check
for dbm header.  fixed: [ruby-dev:29445]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-04 12:44:33 +00:00
matz 52817c3654 * lib/cgi.rb (CGI::out): specify -x option for nkf.
* lib/cgi.rb (CGI::out): should not convert utf-8 implicitly using
  NKF.  it is too Japanese centric.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-04 07:40:46 +00:00
matz 25c50cd193 * ruby.h (struct RString): embed small strings.
(RSTRING_LEN): defined for accessing string members.
  (RSTRING_PTR): ditto.

* string.c: use RSTRING_LEN and RSTRING_PTR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-31 10:30:33 +00:00
nobu e34b2a73e6 * ruby.h, lib/mkmf.rb (create_header): clear command line options for
macros moved to extconf.h.

* ext/extmk.rb (extract_makefile, extmk): made RUBY_EXTCONF_H and
  EXTSTATIC permanent.

* ext/{dbm,digest/*,socket,zlib}/extconf.rb: used $defs and $INCFLAGS.

* {bcc32,win32,wince}/Makefile.sub (COMPILE_C, COMPILE_CXX): added
  $(INCFLAGS).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-05-25 23:44:08 +00:00
nobu 1a890d82c3 * lib/mkmf.rb (have_type): check if a type is defined.
* lib/mkmf.rb (check_sizeof): check size of a type.

* ext/dbm/extconf.rb: check if type DBM is defined.
  [ruby-talk:76693]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-24 07:41:36 +00:00
eban 444d4435ba * ext/dbm/extconf.rb (gdbm_compat, qdbm): add check for gdbm_compat
and qdbm.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-07 01:30:02 +00:00
eban 51bea808f3 * ext/dbm/extconf.rb: add QDBM support.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-03-07 06:06:58 +00:00
eban c40c0f726b * {win32,bcc32}/Makefile.sub: remove `=' from --make-flags options.
nmake quotes args if included `=' in args.
* instruby.rb: use getopts.rb.
* ext/dbm/extconf.rb: substitute ' with ".
* ext/gdbm/gdbm.c: add prototypes to avoid VC++ warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-27 16:13:56 +00:00
eban c79e877836 * ext/dbm/extconf.rb (rb_check): support for GNU dbm 1.8.3.
(-with-dbm-type=gdbm_compat). link against -lgdbm_compat
  and -lgdbm.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-13 17:14:18 +00:00
eban 3d4298a3c4 * ext/dbm/extconf.rb (db_check): check existence of the function
in the specified library before checking it in libc.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-12-13 14:54:24 +00:00
eban dd17e103f4 * configure.in: use GCC, not without_gcc. remove without_gcc.
* ext/curses/extconf.rb: check for curses.h.
* ext/dbm/extconf.rb: check if $CFLAGS includes DBM_HDR.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-12-02 14:10:27 +00:00
eban e8fb16c70f * configure.in: use waitpid on mingw32.
* ext/dbm/extconf.rb: include <ndbm.h>, not <gdbm.h>.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-06-01 02:25:28 +00:00
knu dcd6223c64 * ext/dbm/extconf.rb: fix support for *BSD and set $CFLAGS
properly.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-24 15:55:40 +00:00
matz 2287c526be * eval.c (rb_yield_0): need argument adjustment for C defined
blocks too.

* ext/dbm/extconf.rb: header search added. [new]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-24 05:28:15 +00:00
eban 581f7b863b * ext/dbm/extconf.rb: fix for FreeBSD and GDBM.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2001-05-07 10:56:01 +00:00
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
matz fbcc6dea0c matz: 1.6.0 final (hopufully)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2000-09-12 05:37:38 +00:00
matz a1b57d0add 1.4.1 to be
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-08-24 08:21:56 +00:00
matz 0a64817fb8 remove marshal/gtk/kconv
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-08-13 05:37:52 +00:00
matz 210367ec88 This commit was generated by cvs2svn to compensate for changes in r372,
which included commits to RCS files with non-trunk default branches.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1999-01-20 04:59:39 +00:00
matz 3db12e8b23 Initial revision
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
1998-01-16 12:13:05 +00:00