Commit graph

15465 commits

Author SHA1 Message Date
akr
dc98e2528a * transcode.c (output_hex_charref): upcase hexadecimal digits.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 20:37:36 +00:00
akr
c500c37fbc * include/ruby/encoding.h (ECONV_UNDEF_HEX_CHARREF): defined.
* transcode.c (output_hex_charref): new function.
  (rb_econv_convert): call output_hex_charref if
  ECONV_UNDEF_HEX_CHARREF.
  (Init_transcode): Encoding::Converter::UNDEF_HEX_CHARREF added.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 20:24:18 +00:00
akr
7d3598ee60 * transcode.c (rb_econv_convert): use ECONV_INVALID_MASK and
ECONV_UNDEF_MASK.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 19:03:21 +00:00
matz
31b6ea65bb * include/ruby/ruby.h (DBL2NUM): renamed from DOUBLE2NUM.
a patch from Tadashi Saito <shiba at mail2.accsnet.ne.jp>
  in [ruby-dev:36102].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 18:24:21 +00:00
akr
80abde2c89 * transcode.c (allocate_converted_string): add arguments for a buffer
allocated by caller.
  (rb_econv_insert_output): provide caller allocated buffer to
  allocate_converted_string.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 18:20:20 +00:00
akr
f0d9f949e8 * transcode.c (str_transcode_enc_args): local variables renamed.
(str_transcode0): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 17:59:32 +00:00
akr
e93289c03f update rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 17:25:56 +00:00
akr
134ca08dd1 * transcode.c (econv_s_stateless_encoding): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 17:23:49 +00:00
svn
a1892af3d6 * 2008-09-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 17:02:38 +00:00
akr
f2fd6d3b15 * transcode.c (enc_arg): extracted from str_transcode_enc_args.
(str_transcode_enc_args): use enc_arg.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 17:02:33 +00:00
akr
01acf18704 * include/ruby/io.h (rb_io_modestr_fmode): renamed from
rb_io_mode_flags.
  (rb_io_modestr_oflags): renamed from rb_io_mode_modenum.
  (rb_io_oflags_fmode): renamed from rb_io_modenum_flags.
  (rb_io_mode_flags): defined as a macro.
  (rb_io_modenum_flags): ditto.

* io.c: follow the renaming with consistency.

* process.c (check_exec_redirect): call rb_io_modestr_oflags.

* ext/pty/depend: pty.o depends on io.h.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 11:30:35 +00:00
akr
debeb7db77 * enc/trans/newline.trans (universal_newline_finish): new function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 11:16:28 +00:00
akr
067b98736f add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 11:10:53 +00:00
akr
12a55a6c7d * include/ruby/io.h (rb_io_mode_modenum): moved from
include/ruby/intern.h.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 11:08:10 +00:00
akr
0153a4ea07 * io.c (MODENUM_MAX): removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 10:59:58 +00:00
nobu
6c2108e2ac * io.c (copy_stream_fallback_body): use read method unless readpartial
is available.  [ruby-dev:36124]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 09:37:55 +00:00
nobu
07e08245d3 * ext/iconv/iconv.c (iconv_create): strips glibc style option before
charset mapping.  retris without options if they seemed causing
  error, and warns.  [ruby-dev:36147]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-05 09:16:34 +00:00
ko1
f0bf74a07b * iseq.c (iseq_data_to_ary): make it static.
* thread.c (thgroup_enclose): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 18:23:27 +00:00
ko1
d803c45234 * vm.c (thread_recycle_stack_slot, thread_recycle_stack_count):
make it static.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 17:58:53 +00:00
ko1
ca253f40db * thread.c (rb_thread_critical): removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 17:41:40 +00:00
akr
205d9ef125 * io.c (argf_mark): mark p->encs.ecopts.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 16:22:57 +00:00
akr
f549f1ae32 * transcode_data.h (rb_transcoder): rename fields:
from_encoding -> src_encoding, to_encoding -> dst_encoding.

* transcode.c: follow the renaming.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 15:46:18 +00:00
akr
a50b307900 * transcode.c: variables renamed for consistency.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 15:35:30 +00:00
svn
5091f1db18 * 2008-09-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 15:06:38 +00:00
akr
40c771fd45 * pack.c (encodes): make buff fixed length to avoid SEGV by
ruby -e '["a"*10000000].pack("m1000000000")'


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 15:06:34 +00:00
mame
d44ee210fa * ext/bigdecimal/bigdecimal.c (BigDecimal_mode): set exception mode
correctly.  In spite of BigDecimal.mode(BigDecimal::EXCEPTION_ALL,
  true), BigDecimal.new("NaN") did not raise an exception previously.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 14:47:40 +00:00
akr
dac421a9c9 * include/ruby/intern.h (rb_file_open_str): declared.
* io.c (rb_file_open_str): defined.

* ext/zlib/zlib.c (gzfile_s_open): use rb_file_open_str instead of
  rb_file_open.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 14:43:45 +00:00
akr
64b633f069 * enc/trans/newline.trans: record newline types met in universal
newline decoder.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 14:20:14 +00:00
yugui
645f25356a * lib/prime.rb (Prime::OldCompatibility#each): added compatibility to
Ruby 1.8.7.
  (Prime#each): added more rdocs.
  (Prime#each): remembers the last value of the given block.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 14:09:52 +00:00
akr
0406b0f154 rdoc update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 13:17:40 +00:00
nobu
6ce3230881 property.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 12:58:53 +00:00
akr
5da4e660ad * transcode.c (econv_init): accept an integer as 3rd argument as well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 12:55:02 +00:00
akr
2494e67f16 * transcode.c (sym_partial_input): new variable.
(econv_primitive_convert): accept a hash as 5th argument as well.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 12:48:21 +00:00
akr
f7607eff9a * transcode.c (sym_universal_newline_decoder): new variable.
(sym_crlf_newline_encoder): ditto.
  (sym_cr_newline_encoder): ditto.
  (econv_opts): check newline converter options.
  (econv_init): make 3rd argument hash/nil only.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 12:08:54 +00:00
ko1
4780af9566 * vm_dump.c: rename some debug functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 12:04:09 +00:00
ko1
80843ea156 * thread.c (rb_thread_check_trap_pending): added for compatibility.
* ext/tk/tcltklib.c, ext/tk/tkutil/tkutil.c: remove ruby/signal.h
  dependency.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 12:00:24 +00:00
akr
0031967d20 * transcode_data.h (PType): defined unconditionaly.
* transcode.c (PType): don't define here.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 11:31:37 +00:00
akr
b53f7a1cbf * io.c: variables renamed for consistency.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 11:20:53 +00:00
nari
c56ef25cf9 * gc.c (gc_profile_record_get): to static function.
(gc_profile_result): ditto.
  (gc_profile_report): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 10:47:39 +00:00
akr
49e9f42703 * include/ruby/io.h (rb_io_enc_t): rename flags to ecflags.
(rb_io_t): rename writeconv_pre_flags to writeconv_pre_ecflags.
  (MakeOpenFile): follow the renaming.

* io.c: follow the renaming.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 10:22:11 +00:00
akr
45c3707303 * include/ruby/encoding.h (ECONV_INVALID_IGNORE): removed because
it tend to cause security problem.  If the behaviour is really
  required, ECONV_INVALID_REPLACE with empty string can be used.
  For example, CVE-2006-2313, CVE-2008-1036, [ruby-core:15645]
  (ECONV_UNDEF_IGNORE): ditto.

* transcode.c (rb_econv_convert): follow the above change.
  (econv_opts): ditto.
  (Init_transcode): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 10:15:34 +00:00
nobu
1633eb7238 * vm.c (rb_vm_mark): commit miss.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19122 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 04:37:25 +00:00
nobu
c5bf9ceef6 * vm_core.h (struct rb_vm_struct): replaced signal staff with trap
staff.

* signal.c (signal_buff): per process resouce now.

* signal.c (trap_list): moved to VM.

* signal.c (rb_get_next_signal): reverted.

* signal.c (rb_trap_exit): trap_pending_list was no longer used.

* thread.c (timer_thread_function): delivers buffered per-process
  signals to each VMs.

* vm.c (rb_vm_mark): marks trap_list.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 04:22:04 +00:00
nobu
83e28e5176 * io.c (struct sysopen_struct, rb_sysopen_internal, rb_sysopen):
constified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 04:01:13 +00:00
nobu
8f0f91e155 * io.c: expanded ARGF members macros.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 03:33:27 +00:00
nobu
783541e0a4 * tool/transcode-tblgen.rb (citrus_decode_mapsrc): support older 1.8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 01:43:50 +00:00
nobu
747d9b3925 * io.c (argf_next_argv, argf_set_encoding): copy struct wise.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 01:33:47 +00:00
akr
31b054122c * io.c (rb_scan_open_args): follow rb_str_transcode change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 00:48:01 +00:00
nobu
d2aa9dd18b properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 00:40:28 +00:00
akr
b94060024d * file.c (rb_find_file): fix GC problem on Debian GNU/Linux (IA64)
with gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21).
  There is no register/memory to contain load_path.  A register (r35)
  contains &RARRAY_PTR(load_path), (char*)load_path + 32.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-04 00:05:30 +00:00