From b07337fcb3a26397203a2c98f1b20d0d99dce946 Mon Sep 17 00:00:00 2001 From: matz Date: Sat, 10 Jan 2004 17:39:07 +0000 Subject: [PATCH] * configure.in: install rdoc by default. if you do not want to install rdoc, specify --disable-install-doc. * eval.c (eval): need to add message delimiter. [ruby-dev:22561] * defines.h (__NeXT__): Ensure that all standard S_IRUSR, S_IWGRP, S_IRWXO, etc. macros are defined since future code might require them (even though present code only requires a subset). * defines.h (__NeXT__): Bug fix: WORDS_BIGENDIAN was not being set correctly on Rhapsody when -arch compiler flag was used (via configure's --enable-fat-binary option). * ext/socket/socket.c (make_hostent): getaddrinfo(3) on BSD do not fill ai_canonname if serv is not supplied. (ruby-bugs PR#1243) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 24 ++++++++++++++ configure.in | 4 +-- defines.h | 79 +++++++++++++++++++++++++++++++++++++++------ eval.c | 10 +++--- ext/socket/socket.c | 29 ++++++++++------- object.c | 20 ++++-------- 6 files changed, 123 insertions(+), 43 deletions(-) diff --git a/ChangeLog b/ChangeLog index c88fd64d43..2665fed9cd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,27 @@ +Sun Jan 11 02:35:53 2004 Yukihiro Matsumoto + + * configure.in: install rdoc by default. if you do not want to + install rdoc, specify --disable-install-doc. + Sun Jan 11 02:07:47 2004 Dave Thomas * lib/rdoc/ri/ri_options.rb (RI::Options::OptionList::OptionList): Also accept command line options via the 'RI' environment variable. +Sat Jan 10 21:27:41 2004 Yukihiro Matsumoto + + * eval.c (eval): need to add message delimiter. [ruby-dev:22561] + +Sat Jan 10 01:54:50 2004 Eric Sunshine + + * defines.h (__NeXT__): Ensure that all standard S_IRUSR, S_IWGRP, + S_IRWXO, etc. macros are defined since future code might require + them (even though present code only requires a subset). + + * defines.h (__NeXT__): Bug fix: WORDS_BIGENDIAN was not being set + correctly on Rhapsody when -arch compiler flag was used (via + configure's --enable-fat-binary option). + Sat Jan 10 23:01:41 2004 Nobuyoshi Nakada * configure.in (LIBPATHFLAG, RPATHFLAG): enclose paths with single @@ -16,6 +35,11 @@ Sat Jan 10 22:46:18 2004 Nobuyoshi Nakada * dir.c (dir_inspect): new method, Dir#inspect. [ruby-dev:22562] +Fri Jan 9 17:36:51 2004 Yukihiro Matsumoto + + * ext/socket/socket.c (make_hostent): getaddrinfo(3) on BSD do not + fill ai_canonname if serv is not supplied. (ruby-bugs PR#1243) + Fri Jan 9 13:14:59 2004 NAKAMURA, Hiroshi * lib/test/unit/collector/dir.rb: do not ignore exceptions(LoadError diff --git a/configure.in b/configure.in index 9a2416c75c..9315ad92c6 100644 --- a/configure.in +++ b/configure.in @@ -1226,8 +1226,8 @@ AC_SUBST(ARCHFILE) dnl build rdoc index if requested RDOCTARGET="" AC_ARG_ENABLE(install-doc, - [ --enable-install-doc build and install rdoc indexes during install ], - [install_doc=$enableval], [install_doc=no]) + [ --disable-install-doc do not install rdoc indexes during install ], + [install_doc=$enableval], [install_doc=yes]) if test "$install_doc" != no; then RDOCTARGET="install-doc" fi diff --git a/defines.h b/defines.h index af5f3bba02..1cab4aef6b 100644 --- a/defines.h +++ b/defines.h @@ -99,22 +99,81 @@ void xfree _((void*)); #endif #ifdef __NeXT__ -#define S_IXGRP 0000010 /* execute/search permission, group */ -#define S_IXOTH 0000001 /* execute/search permission, other */ -#ifndef __APPLE__ -#define S_IXUSR _S_IXUSR /* execute/search permission, owner */ -#define GETPGRP_VOID 1 -#define WNOHANG 01 -#define WUNTRACED 02 -#define X_OK 1 -typedef int pid_t; +/* NextStep, OpenStep, Rhapsody */ +#ifndef S_IRUSR +#define S_IRUSR 0000400 /* read permission, owner */ +#endif +#ifndef S_IRGRP +#define S_IRGRP 0000040 /* read permission, group */ +#endif +#ifndef S_IROTH +#define S_IROTH 0000004 /* read permission, other */ +#endif +#ifndef S_IWUSR +#define S_IWUSR 0000200 /* write permission, owner */ +#endif +#ifndef S_IWGRP +#define S_IWGRP 0000020 /* write permission, group */ +#endif +#ifndef S_IWOTH +#define S_IWOTH 0000002 /* write permission, other */ +#endif +#ifndef S_IXUSR +#define S_IXUSR 0000100 /* execute/search permission, owner */ +#endif +#ifndef S_IXGRP +#define S_IXGRP 0000010 /* execute/search permission, group */ +#endif +#ifndef S_IXOTH +#define S_IXOTH 0000001 /* execute/search permission, other */ +#endif +#ifndef S_IRWXU +#define S_IRWXU 0000700 /* read, write, execute permissions, owner */ +#endif +#ifndef S_IRWXG +#define S_IRWXG 0000070 /* read, write, execute permissions, group */ +#endif +#ifndef S_IRWXO +#define S_IRWXO 0000007 /* read, write, execute permissions, other */ +#endif +#ifndef S_ISBLK +#define S_ISBLK(mode) (((mode) & (0170000)) == (0060000)) +#endif +#ifndef S_ISCHR +#define S_ISCHR(mode) (((mode) & (0170000)) == (0020000)) +#endif +#ifndef S_ISDIR +#define S_ISDIR(mode) (((mode) & (0170000)) == (0040000)) +#endif +#ifndef S_ISFIFO +#define S_ISFIFO(mode) (((mode) & (0170000)) == (0010000)) +#endif +#ifndef S_ISREG +#define S_ISREG(mode) (((mode) & (0170000)) == (0100000)) +#endif /* Do not trust WORDS_BIGENDIAN from configure since -arch compiler flag may - result in a different endian. */ + result in a different endian. Instead trust __BIG_ENDIAN__ and + __LITTLE_ENDIAN__ which are set correctly by -arch. */ #undef WORDS_BIGENDIAN #ifdef __BIG_ENDIAN__ #define WORDS_BIGENDIAN #endif +#ifndef __APPLE__ +/* NextStep, OpenStep (but not Rhapsody) */ +#ifndef GETPGRP_VOID +#define GETPGRP_VOID 1 #endif +#ifndef WNOHANG +#define WNOHANG 01 +#endif +#ifndef WUNTRACED +#define WUNTRACED 02 +#endif +#ifndef X_OK +#define X_OK 1 +#endif +typedef int pid_t; +#endif /* __APPLE__ */ #endif /* NeXT */ #ifdef __CYGWIN__ diff --git a/eval.c b/eval.c index 98b17cf5c2..2ec0dca6fa 100644 --- a/eval.c +++ b/eval.c @@ -6106,6 +6106,7 @@ eval(self, src, scope, file, line) errat = get_backtrace(ruby_errinfo); mesg = rb_attr_get(ruby_errinfo, rb_intern("mesg")); if (!NIL_P(mesg) && TYPE(mesg) == T_STRING) { + rb_str_update(mesg, 0, 0, rb_str_new2(": ")); rb_str_update(mesg, 0, 0, RARRAY(errat)->ptr[0]); } RARRAY(errat)->ptr[0] = RARRAY(backtrace(-2))->ptr[0]; @@ -7519,8 +7520,7 @@ Init_eval() rb_define_global_function("catch", rb_f_catch, 1); rb_define_global_function("throw", rb_f_throw, -1); - rb_define_global_function("global_variables", - rb_f_global_variables, 0); /* in variable.c */ + rb_define_global_function("global_variables", rb_f_global_variables, 0); /* in variable.c */ rb_define_global_function("local_variables", rb_f_local_variables, 0); rb_define_method(rb_mKernel, "send", rb_f_send, -1); @@ -7559,10 +7559,8 @@ Init_eval() rb_define_method(rb_mKernel, "extend", rb_obj_extend, -1); - rb_define_global_function("trace_var", - rb_f_trace_var, -1); /* in variable.c */ - rb_define_global_function("untrace_var", - rb_f_untrace_var, -1); /* in variable.c */ + rb_define_global_function("trace_var", rb_f_trace_var, -1); /* in variable.c */ + rb_define_global_function("untrace_var", rb_f_untrace_var, -1); /* in variable.c */ rb_define_global_function("set_trace_func", set_trace_func, 1); rb_global_variable(&trace_func); diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 8a1825d795..61036061e3 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -1036,27 +1036,32 @@ make_hostent(addr, ipaddr) char **pch; ary = rb_ary_new(); - rb_ary_push(ary, rb_str_new2(addr->ai_canonname)); + if (addr->ai_canonname) { + rb_ary_push(ary, rb_str_new2(addr->ai_canonname)); + } + else { + rb_ary_push(ary, Qnil); + } + if (addr->ai_canonname) { #if defined(HAVE_GETIPNODEBYNAME) - { int error; h = getipnodebyname(addr->ai_canonname, addr->ai_family, AI_ALL, &error); - } #elif defined(HAVE_GETHOSTBYNAME2) - h = gethostbyname2(addr->ai_canonname, addr->ai_family); + h = gethostbyname2(addr->ai_canonname, addr->ai_family); #else - h = gethostbyname(addr->ai_canonname); + h = gethostbyname(addr->ai_canonname); #endif - if (h) { - names = rb_ary_new(); - if (h->h_aliases != NULL) { - for (pch = h->h_aliases; *pch; pch++) { - rb_ary_push(names, rb_str_new2(*pch)); + if (h) { + names = rb_ary_new(); + if (h->h_aliases != NULL) { + for (pch = h->h_aliases; *pch; pch++) { + rb_ary_push(names, rb_str_new2(*pch)); + } } - } #if defined(HAVE_GETIPNODEBYNAME) - freehostent(h); + freehostent(h); + } #endif } else { diff --git a/object.c b/object.c index 691a8958d0..c8da89168c 100644 --- a/object.c +++ b/object.c @@ -2499,14 +2499,11 @@ Init_Object() rb_define_method(rb_mKernel, "to_s", rb_any_to_s, 0); rb_define_method(rb_mKernel, "inspect", rb_obj_inspect, 0); rb_define_method(rb_mKernel, "methods", rb_obj_methods, -1); - rb_define_method(rb_mKernel, "singleton_methods", - rb_obj_singleton_methods, -1); /* in class.c */ - rb_define_method(rb_mKernel, "protected_methods", - rb_obj_protected_methods, -1); + rb_define_method(rb_mKernel, "singleton_methods", rb_obj_singleton_methods, -1); /* in class.c */ + rb_define_method(rb_mKernel, "protected_methods", rb_obj_protected_methods, -1); rb_define_method(rb_mKernel, "private_methods", rb_obj_private_methods, -1); rb_define_method(rb_mKernel, "public_methods", rb_obj_public_methods, -1); - rb_define_method(rb_mKernel, "instance_variables", - rb_obj_instance_variables, 0); /* in variable.c */ + rb_define_method(rb_mKernel, "instance_variables", rb_obj_instance_variables, 0); /* in variable.c */ rb_define_method(rb_mKernel, "instance_variable_get", rb_obj_ivar_get, 1); rb_define_method(rb_mKernel, "instance_variable_set", rb_obj_ivar_set, 2); rb_define_private_method(rb_mKernel, "remove_instance_variable", @@ -2521,7 +2518,7 @@ Init_Object() rb_define_private_method(rb_mKernel, "singleton_method_undefined", rb_obj_dummy, 1); rb_define_global_function("sprintf", rb_f_sprintf, -1); /* in sprintf.c */ - rb_define_global_function("format", rb_f_sprintf, -1); /* in sprintf.c */ + rb_define_global_function("format", rb_f_sprintf, -1); /* in sprintf.c */ rb_define_global_function("Integer", rb_f_integer, 1); rb_define_global_function("Float", rb_f_float, 1); @@ -2545,8 +2542,7 @@ Init_Object() rb_define_global_const("NIL", Qnil); rb_cSymbol = rb_define_class("Symbol", rb_cObject); - rb_define_singleton_method(rb_cSymbol, "all_symbols", - rb_sym_all_symbols, 0); /* in parse.y */ + rb_define_singleton_method(rb_cSymbol, "all_symbols", rb_sym_all_symbols, 0); /* in parse.y */ rb_undef_alloc_func(rb_cSymbol); rb_undef_method(CLASS_OF(rb_cSymbol), "new"); @@ -2566,8 +2562,7 @@ Init_Object() rb_define_method(rb_cModule, ">=", rb_mod_ge, 1); rb_define_method(rb_cModule, "initialize_copy", rb_mod_init_copy, 1); rb_define_method(rb_cModule, "to_s", rb_mod_to_s, 0); - rb_define_method(rb_cModule, "included_modules", - rb_mod_included_modules, 0); /* in class.c */ + rb_define_method(rb_cModule, "included_modules", rb_mod_included_modules, 0); /* in class.c */ rb_define_method(rb_cModule, "include?", rb_mod_include_p, 1); /* in class.c */ rb_define_method(rb_cModule, "name", rb_mod_name, 0); /* in variable.c */ rb_define_method(rb_cModule, "ancestors", rb_mod_ancestors, 0); /* in class.c */ @@ -2579,8 +2574,7 @@ Init_Object() rb_define_alloc_func(rb_cModule, rb_module_s_alloc); rb_define_method(rb_cModule, "initialize", rb_mod_initialize, 0); - rb_define_method(rb_cModule, "instance_methods", - rb_class_instance_methods, -1); /* in class.c */ + rb_define_method(rb_cModule, "instance_methods", rb_class_instance_methods, -1); /* in class.c */ rb_define_method(rb_cModule, "public_instance_methods", rb_class_public_instance_methods, -1); /* in class.c */ rb_define_method(rb_cModule, "protected_instance_methods",