Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

May 16, 2012

  1. Yuki Yugui Sonoda

    Supports static linking of extensions and encodings again.

    Fixes --with-static-linked-ext.
    
    Patch by Google Inc. [ruby-core:45073].
    
    * Makefile.in (ENCOBJS, EXTOBJS): New variables to specify static
      linked libraries. Also reintroduces extinit.o, introduces encinit.o
      introduces encinit.o
    
    * common.mk: Builds static libraries rather than shared objects if
      specified.
    
    * configure.in (LD): new substitution. 
      Avoids PIE if s
    
    * enc/depend: Supports static linked libraries
      (libencs, libenc, libtrans): New target.
    
    * enc/encinit.c.erb: new template to generate the initialization of
      statically linked encodings.
    
    * enc/make_encmake.rb (--module): new flag to specify whether static
      or dynamic.
    
    * transcode_data.h (TRANS_INIT): New macro to get rid of the name
      collision of encoding initializers and transcoder initializers.
    
    * ext/extmk.rb: Fixes the behavior on $extstatic is true.
    
    * lib/mkmf.rb (clean-static): new target to clean up static linked
      libraries.
    
    * ruby.c (process_options): New initializes statically linked
      encodings here.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    yugui authored

Jul 21, 2010

  1. Nobuyoshi Nakada

    * configure.in (XCFLAGS): use -fvisibility=hidden if possible.

    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    nobu authored

Jun 18, 2010

  1. NARUSE, Yui

    * gc.c (gc_lazy_sweep): clean a warning.

      "suggest parentheses around assignment used as truth value"
    
    * transcode_data.h (getGB4bt1): clean a warning.
      "suggest parentheses around arithmetic in operand of |"
    
    * transcode_data.h (getGB4bt3): ditto.
    
    * vm.c (thread_free): clean a warning. "format 'p' expects type
      'void *', but argument 3 has type 'struct rb_mutex_struct *'"
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    nurse authored

Dec 10, 2009

  1. * transcode_data.h, transcode.c, tool/transcode-tblgen.rb: Added

      support for new transcoding instruction FUNsio (with Tatsuya Mizuno)
    
    * enc/trans/gb18030.trans: Significantly reduced GB18030 conversion
      table footprint using FUNsio and differences (with Tatsuya Mizuno)
    
    * test/ruby/test_transcode.rb: Minor name fix (from Tatsuya Mizuno)
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    duerst authored

Nov 03, 2009

  1. akr

    fix typos.

    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored

May 05, 2009

  1. NARUSE, Yui

    Fix: DON'T move in_p because before in_p is replaced by buffered data.

    * transcode.c: NOMAP is now multibyte direct map.
    
    * transcode.c: remove ASIS.
    
    * transcode_data.h: ditto.
    
    * tool/transcode-tb (ActionMap#generate_info): remove :asis.
    
    * tool/transcode-tb (ActionMap#generate_info): add :nomap0.
    
    * enc/trans/utf8_mac.trans: replace :asis by :nomap0.
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    nurse authored

Apr 26, 2009

  1. NARUSE, Yui

    * transcode.c (ASIS): added for multi byte direct map.

    * transcode.c (transcode_restartable0): ditto.
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    nurse authored

Mar 12, 2009

  1. Nobuyoshi Nakada

    * array.c, bignum.c, dln.c, error.c, gc.c, io.c, marshal.c,

      numeric.c, pack.c, strftime.c, string.c, thread.c, transcode.c,
      transcode_data.h, util.c, variable.c, vm_dump.c,
      include/ruby/encoding.h, missing/crypt.c, missing/vsnprintf.c:
      suppress VC type warnings.  [ruby-core:22726]
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    nobu authored
  2. akr

    * transcode_data.h: suppress warnings of overflow.

    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored

Jan 14, 2009

  1. * enc/trans/gb18030.trans, gb18030-tbl.rb:

      new Chinese GB18030 transcoding (from Yoshihiro Kambayashi)
    
    * test/ruby/test_transcode.rb: added tests for the above
      (from Yoshihiro Kambayashi)
    
    * transcode_data.h, transcode.c, tool/transcode_tblgen.rb:
      added support for GB18030-specific 4-byte sequences
      (with Yoshihiro Kambayashi)
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    duerst authored

Sep 15, 2008

  1. akr

    * transcode_data.h (STR1_LENGTH): defined.

      (makeSTR1LEN): defined.
    
    * tool/transcode-tblgen.rb: use makeSTR1LEN.  generate STR1 for 4 to
      259 bytes.
    
    * transcode.c (rb_transcoding): new field: output_index.
      (transcode_restartable0): use STR1_LENGTH.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  2. akr

    * transcode_data.h (rb_transcoder): resetsize_func and resetstate_func

      also returns ssize_t.
    
    * enc/trans/iso2022.trans: follow the type change.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored

Sep 14, 2008

  1. akr

    * transcode_data.h: return output functions ssize_t.

    * transcode.c (transcode_restartable0): don't need to cast the result
      of output functions.
    
    * enc/trans/newline.trans: follow the type change.
    
    * enc/trans/escape.trans: ditto.
    
    * enc/trans/utf_16_32.trans: ditto.
    
    * enc/trans/iso2022.trans: ditto.
    
    * enc/trans/japanese.trans: ditto.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  2. akr

    * transcode_data.h: output function takes output buffer size.

    * transcode.c: give output buffer size for output functions.
    
    * enc/trans/newline.trans: follow the type change.
    
    * enc/trans/escape.trans: ditto.
    
    * enc/trans/utf_16_32.trans: ditto.
    
    * enc/trans/iso2022.trans: ditto.
    
    * enc/trans/japanese.trans: ditto.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored

Sep 08, 2008

  1. akr

    * include/ruby/encoding.h (rb_econv_asciicompat_encoding): renamed

      from rb_econv_stateless_encoding to apply stateless ASCII
      incompatible encodings such as UTF-16BE.
    
    * io.c (make_writeconv): use rb_econv_asciicompat_encoding.
    
    * transcode_data.h (rb_transcoder_asciicompat_type_t): renamed from
      rb_transcoder_stateful_type_t.
      (rb_transcoder): use rb_transcoder_asciicompat_type_t.
    
    * transcode.c: follow the type change.
      (asciicompat_encoding_i): renamed from stateless_encoding_i.
      (rb_econv_asciicompat_encoding): renamed from
      rb_econv_stateless_encoding.
      (econv_s_asciicompat_encoding): method renamed.
    
    * tool/transcode-tblgen.rb: follow the type change.
    
    * enc/trans/utf_16_32.trans: follow the type change.
      rb_from_UTF_16BE to UTF-8 is asciicompat_decoder.
      rb_from_UTF_16LE to UTF-8 is asciicompat_decoder.
      rb_from_UTF_32BE to UTF-8 is asciicompat_decoder.
      rb_from_UTF_32LE to UTF-8 is asciicompat_decoder.
      UTF-8 to rb_to_UTF_16BE is asciicompat_encoder.
      UTF-8 to rb_to_UTF_16LE is asciicompat_encoder.
      UTF-8 to rb_to_UTF_32BE is asciicompat_encoder.
      UTF-8 to rb_to_UTF_32LE is asciicompat_encoder.
    
    * enc/trans/newline.trans: follow the type change.  universal newline
      decoder is asciicompat_converter.
    
    * enc/trans/escape.trans: follow the type change.
    
    * enc/trans/iso2022.trans: ditto.
    
    * enc/trans/japanese.trans: ditto.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored

Sep 07, 2008

  1. akr

    * transcode_data.h (STR1): defined for a string up to 255 bytes.

      (STR1_BYTEINDEX): defined.
      (makeSTR1): defined.
    
    * tool/transcode-tblgen.rb: generate STR1.
    
    * transcode.c (transcode_restartable0): interpret STR1.
    
    * enc/trans/escape.trans (fun_so_escape_xml_chref): removed.  STR1 is
      used instead.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored

Sep 04, 2008

  1. akr

    * 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
    akr authored
  2. akr

    * 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
    akr authored

Sep 03, 2008

  1. akr

    comment updated.

    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  2. akr

    * transcode.c (rb_transcoding): moved from transcode_data.h.

      (TRANSCODING_READBUF): ditto.
      (TRANSCODING_WRITEBUF): ditto.
      (TRANSCODING_STATE_EMBED_MAX): ditto.
      (TRANSCODING_STATE): ditto.
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  3. akr

    * transcode_data.h (rb_transcoding): remove stateful field.

      add state field.
      (TRANSCODING_STATE): defined.
      (rb_transcoder): add fields: state_size, state_init_func,
      state_fini_func.
      change rb_transcoding* argument to void*.
    
    * transcode.c (transcode_restartable0): use TRANSCODING_STATE for
      first arguments of transcoder functions.
      (rb_transcoding_open_by_transcoder): initialize state field.
      (rb_transcoding_close): finalize state field.
    
    * tool/transcode-tblgen.rb: provide state size/init/fini.
    
    * enc/trans/newline.trans (universal_newline_init): defined.
      (fun_so_universal_newline): take void* as a state pointer.
      (rb_universal_newline): provide state size/init/fini.
      (rb_crlf_newline): ditto.
      (rb_cr_newline): ditto.
    
    * enc/trans/iso2022.trans (iso2022jp_init): defined.
      (fun_si_iso2022jp_to_eucjp): take void* as a state pointer.
      (fun_so_iso2022jp_to_eucjp): ditto.
      (fun_so_eucjp_to_iso2022jp): ditto.
      (iso2022jp_reset_sequence_size): ditto.
      (finish_eucjp_to_iso2022jp): ditto.
      (rb_ISO_2022_JP_to_EUC_JP): provide state size/init/fini.
      (rb_EUC_JP_to_ISO_2022_JP): ditto.
    
    * enc/trans/utf_16_32.trans (fun_so_from_utf_16be): take void* as a
      state pointer.
      (fun_so_to_utf_16be): ditto.
      (fun_so_from_utf_16le): ditto.
      (fun_so_to_utf_16le): ditto.
      (fun_so_from_utf_32be): ditto.
      (fun_so_to_utf_32be): ditto.
      (fun_so_from_utf_32le): ditto.
      (fun_so_to_utf_32le): ditto.
      (rb_from_UTF_16BE): provide state size/init/fini.
      (rb_to_UTF_16BE): ditto.
      (rb_from_UTF_16LE): ditto.
      (rb_to_UTF_16LE): ditto.
      (rb_from_UTF_32BE): ditto.
      (rb_to_UTF_32BE): ditto.
      (rb_from_UTF_32LE): ditto.
      (rb_to_UTF_32LE): ditto.
    
    * enc/trans/japanese.trans (fun_so_eucjp2sjis): take void* as a state
      pointer.
      (fun_so_sjis2eucjp): ditto.
      (rb_eucjp2sjis): provide state size/init/fini.
      (rb_sjis2eucjp): provide state size/init/fini.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  4. akr

    * transcode_data.h (WORDINDEX_SHIFT_BITS): defined.

      (WORDINDEX2INFO): defined.
      (INFO2WORDINDEX): defined.
    
    * tool/transcode-tblgen.rb: use WORDINDEX2INFO.
    
    * transcode.c: use INFO2WORDINDEX.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  5. akr

    * transcode_data.h (rb_transcoder): new field: byte_array_length and

      word_array_length.
    
    * tool/transcode-tblgen.rb (transcode_generated_code): generate
      byte_array_length and word_array_length.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored

Sep 02, 2008

  1. akr

    * transcode_data.h (base_element): removed.

      (BYTE_LOOKUP): removed.
      (BYTE_LOOKUP_BASE): don't cast.
      (BYTE_LOOKUP_INFO): ditto.
      (PType): unsigned int, instead of uintptr_t.
      (rb_transcoding): change type of next_field, conv_tree_start and
      word_array.
    
    * tool/transcode-tblgen.rb: generate word_array as array of unsigned
      int.
    
    * transcode.c (transcode_restartable0): follow the above type change.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored

Sep 01, 2008

  1. akr

    * transcode_data.h (o3): prevent sign extension on 64bit environment.

      (o4): ditto.
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  2. akr

    * tool/transcode-tblgen.rb: record infos and BYTE_LOOKUPs as index of

      word_array to avoid relocation.
    
    * transcode.c (transcode_restartable0): add word_array to get infos
      and BYTE_LOOKUPs.
    
    * transcode_data.h (BYTE_LOOKUP_INFO): change return type to
      uintptr_t.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  3. akr

    * tool/transcode-tblgen.rb: record offsets array as index of

      byte_array to avoid relocation.
    
    * transcode.c (transcode_restartable0): add byte_array to get offsets
      array.
    
    * transcode_data.h (BYTE_LOOKUP_BASE): change return type to
      uintptr_t.
      (rb_transcoder): add fields: byte_array, word_array and word_size.
    
    * enc/trans/newline.trans: follow rb_transcoder change.
    
    * enc/trans/iso2022.trans: ditto.
    
    * enc/trans/utf_16_32.trans: ditto.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  4. akr

    * transcode_data.h (BYTE_LOOKUP): change to uintptr_t array.

      (BYTE_LOOKUP_BASE): follow the type change.
      (BYTE_LOOKUP_INFO): ditto.
      (PType): ditto.
      (rb_transcoding): ditto.
    
    * tool/transcode-tblgen.rb: follow the type change.
    
    * transcode.c: ditto.
    
    * enc/trans/newline.trans: ditto.
    
    * enc/trans/iso2022.trans: ditto.
    
    * enc/trans/utf_16_32.trans: ditto.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  5. akr

    * transcode_data.h (BYTE_LOOKUP_BASE): abstract accessor for

      BYTE_LOOKUP.
      (BYTE_LOOKUP_INFO): ditto.
    
    * transcode.c (transcode_restartable0): use BYTE_LOOKUP_BASE and
      BYTE_LOOKUP_INFO.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored

Aug 15, 2008

  1. akr

    * transcode_data.h (rb_transcoder_stateful_type_t): defined.

      (rb_transcoder): add field: stateful_type.
    
    * tool/transcode-tblgen.rb: generate stateful_type field as
      stateless_converter.
    
    * enc/trans/iso2022.trans: follow rb_transcoder change.
    
    * enc/trans/newline.trans: ditto.
    
    * enc/trans/utf_16_32.trans: ditto.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored

Aug 14, 2008

  1. akr

    * include/ruby/encoding.h (rb_econv_output): declared.

    * transcode_data.h (rb_transcoder): add resetsize_func field.
    
    * enc/trans/iso2022.trans (iso2022jp_reset_sequence_size): defined.
      (rb_EUC_JP_to_ISO_2022_JP): provede resetsize_func.
    
    * tool/transcode-tblgen.rb: set NULL for resetsize_func.
    
    * transcode.c (rb_econv_output): new function for inserting output.
      (output_replacement_character): use rb_econv_output.
      (transcode_loop): check return value of
      output_replacement_character.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  2. akr

    * include/ruby/encoding.h (rb_econv_result_t): moved from

      transcode_data.h.
      (rb_econv_elem_t): ditto.
      (rb_econv_t): ditto.  source_encoding and destination_encoding field
      is added.
      (rb_econv_open): declared.
      (rb_econv_convert): ditto.
      (rb_econv_close): ditto.
    
    * transcode.c (rb_econv_open_by_transcoder_entries): initialize
      source_encoding and destination_encoding field as NULL.
      (rb_econv_open): make it external linkage.
      (rb_econv_close): ditto.
      (rb_econv_convert): ditto.  renamed from rb_econv_conv.
      (make_encoding): new function.
      (econv_init): use make_encoding and store rb_encoding* in
      rb_econv_t.
      (econv_source_encoding): new method
      Encoding::Converter#source_encoding.
      (econv_destination_encoding): new method
      Encoding::Converter#destination_encoding.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  3. akr

    * transcode_data.h (rb_econv_result_t): change enumeration

      constant's prefix: transcode_ to econv_.
    
    * transcode.c: follow the constant prefix change.
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  4. akr

    * transcode_data.h (transcode_invalid_byte_sequence): renamed from

      transcode_invalid_input.
      (transcode_destination_buffer_full): renamed from transcode_obuf_full.
      (transcode_source_buffer_empty): renamed from transcode_ibuf_empty.
      (rb_econv_result_t): renamed from rb_trans_result_t.
      (rb_econv_elem_t): renamed from rb_trans_elem_t.
      (rb_econv_t): renamed from rb_trans_t.
    
    * transcode.c (UNIVERSAL_NEWLINE_DECODER): renamed from
      UNIVERSAL_NEWLINE.
      (CRLF_NEWLINE_ENCODER): renamed from CRLF_NEWLINE.
      (CR_NEWLINE_ENCODER): renamed from CR_NEWLINE.
      (rb_econv_open): renamed from rb_trans_open.
      (rb_econv_close): renamed from rb_trans_close.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
  5. akr

    * transcode_data.h (rb_trans_result_t): new enumeration constant:

      transcode_output_followed_by_input.
    
    * transcode.c (OUTPUT_FOLLOWED_BY_INPUT): new flag.
      (transcode_restartable0): suspend when output followed by input if
      OUTPUT_FOLLOWED_BY_INPUT is specified.
      (trans_sweep): check OUTPUT_FOLLOWED_BY_INPUT.
      (rb_trans_conv): support OUTPUT_FOLLOWED_BY_INPUT.
      (econv_primitive_convert): return :output_followed_by_input for
      transcode_output_followed_by_input.
    
    
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    akr authored
Something went wrong with that request. Please try again.