c01f06089f233e74b9e4c0d41b395264da87062f
|
2012-12-13 |
|
a70bb8889b3130d72ec5a1f0ce92f386000a60da
|
2012-12-17 |
* class.c (rewrite_cref_stack, clone_method): rewrite a method's cref stack when cloning into a new class to allow lexical const lookup to work as expected [ruby-core:47834] [Bug #7107] * test/ruby/test_class.rb (class TestClass): related test |
22691e7f6b88a58f9d874b07ce09e2f82bfd112f
|
2012-12-27 |
* vm_core.h (VM_DEFINECLASS_TYPE): explicit cast to enum type to avoid 64->32 shorten warning |
af35f2a61d8027df2e70012ae736f91ee0e41b85
|
2012-12-28 |
* configure.in: check for the whether crt_externs.h is present when compiling for darwin (this header is missing in the iOS SDK) * eval_intern.h: check HAVE_CRT_EXTERNS_H before including crt_externs.h, if not defined, include missing/crt_externs.h instead * hash.c: ditto * missing/setproctitle.c: ditto * missing/crt_externs.h: declare _NSGetEnviron() function and define environ for iOS |
c56eee05c6426733b66b4aa04a32bc7d6b474d65
|
2012-12-30 |
* configure.in: use 4 argument form of AC_CHECK_HEADERS to force autoconf to use compiler's result |
f8823475d9fea9f03273ad307a5d20014b1f2cc6
|
2013-01-31 |
marshal.c: warn against using Marshal.load on untrusted data |
86aa98fed4de1be2e868877fd786d3616d6c6ad5
|
2013-02-01 |
* array.c (rb_ary_dup): make returned array the same class as the original array [Bug #7768] [ruby-core:51792] * test/ruby/test_array.rb (class TestArray): add test |
ba5ff937c39b4f295316bb1a75dc2de516180f3c
|
2013-02-01 |
* marshal.c: add security considerations to marshal overview, refer to overview from Marshal.load documentation [#7759] |
cac38cd0a6984ae97a93de335c4388418e12437f
|
2013-02-03 |
* doc/security.rdoc: add first cut at a Ruby security document |
81f9052c11ea4ae1aa0323c1727a1aa91e7d9161
|
2013-02-05 |
* doc/security.rdoc: add regex, eval and drb sections |
e45e06410dd36e313ea3456ba406e31f66034a2e
|
2013-02-06 |
* hash.c (env_reject_bang): hide keys array from ObjectSpace * hash.c (env_select_bang): ditto |
c032cf6efee4aea01aa434198fc539cdbdc97184
|
2013-04-21 |
* configure.in: Use sigsetjmp by default so jumping out of signal handlers properly restores the signal mask and SS_ONSTACK flag. [ruby-core:54175] [Bug #8254] |
e9679c9ad49c1969a9aded71e194e249aa8b8547
|
2013-04-21 |
* configure.in: Revert using sigsetjmp by default due to performance problems on some systems (eg. older Linux) |
4f683e16781ea6c856a02bc42b1b57f66a0019fb
|
2013-04-22 |
* insns.def (opt_mod): Use % operator if both operands are positive for a significant performance improvement. Thanks to @samsaffron. |
5d7b5481ca60260ef05ee969c8b142143c4aa8c2
|
2013-04-25 |
* benchmark/bm_hash_shift.rb: add benchmark for Hash#shift |
b5e8e33ddc880c98c30a1abe644c6af2e57b5496
|
2013-04-27 |
* lib/yaml.rb: add security warning to YAML documentation |
de8cb828f555145191d6cc96a864e39424798299
|
2013-05-24 |
* intern.h: remove dangling rb_class_init_copy declaration [ruby-core:55120] [Bug #8434] |
988552998662dedde9e5175f733dd31f0332abf7
|
2013-05-24 |
* variable.c (set_const_visibility): use rb_frame_this_func() instead of rb_frame_callee() for getting the name of the called method |
2fb8799e6e0839267c13820c0e5bf8fca79c483e
|
2013-05-24 |
* ext/fiddle/fiddle.c: fix typo in fiddle doc [Bug #8412] |
8b1b2638f333267723e6909ee101de11777aa8f3
|
2013-06-01 |
* vm_eval.c (rb_mod_module_eval): mention in docs that arguments passed to the method are passed to the block |
3264042eb9a6cfe4089f33ff4578328dcabcfb1d
|
2013-06-05 |
add parentheses for clarity |
97b825bdcf0144e12f9079c66d547a56aa86d2f7
|
2013-06-07 |
* internal.h (RCLASS_SUPER): use descriptive variable name * internal.h (RCLASS_SET_SUPER): ditto |
f8cf43706a4e4ac33a2223ed1d2d3405eea1d64e
|
2013-06-07 |
* bignum.c (rb_absint_size): explicit cast to BDIGIT to avoid implicit 64 bit to 32 bit shortening warning * bignum.c (rb_int_export): ditto * bignum.c (int_import_push_bits): ditto |
6c5000b5f1a00bb1d21215aeb1881e8c66d4676d
|
2013-06-08 |
* random.c (limited_big_rand): declare rnd, lim and mask as uint32_t to avoid 64 bit to 32 bit shorten warnings. |
b512e61ca02ad5ebdfb08581e87bbc0791009684
|
2013-06-08 |
* class.c (include_modules_at): invalidate method cache if included module contains constants |
65dc35a58245f9afa529803450318c8067bca786
|
2013-06-18 |
* vm_insnhelper.c (vm_call_method): ensure methods of type VM_METHOD_TYPE_ATTR_SET are called with 1 argument |
c500791b3e03bdc00b7d463878fbcbe59b3eb4db
|
2013-06-21 |
* ext/openssl/ossl_x509attr.c: change OSSL_X509ATTR_IS_SINGLE and OSSL_X509ATTR_SET_SINGLE macros to use ->value.set rather than ->set to fix compile failure |
ff0e82ed9db1e8ed1f95b5329bf3fd7bd778f828
|
2013-06-22 |
* ext/etc/etc.c (etc_getpwnam): use PRIsVALUE in format string instead of %s and RSTRING_PTR |
1a2c400273620939d596fef3eacf95750cfdb039
|
2013-06-22 |
* ext/etc/etc.c (setup_passwd): pass 0 as VALUE to rb_struct_new to prevent segfault if the compiler passes it as a 32 bit integer on a 64 bit ruby |
3f236ce7ba7bce9a92df2989914fed9957bc89de
|
2013-06-22 |
* ext/etc/etc.c (Init_etc): omit 'passwd' from definition of Etc::Passwd if HAVE_STRUCT_PASSWD_PW_PASSWD is not defined to prevent mismatch of fields and values in setup_passwd |
98fec7b4a2b3c3a6a1326bd8b5ed7d0e34195651
|
2013-06-22 |
* ext/etc/etc.c (setup_passwd): revert r41560, unnecessary |
fff358989970b6ac2d4e5971ee98ca1f8a32d639
|
2013-06-24 |
* compile.c (make_name_for_block): use PRIsVALUE in format string instead of %s and RSTRING_PTR to protect objects from being garbage collected too soon * encoding.c (str_to_encindex): ditto * hash.c (rb_hash_fetch_m): ditto * io.c (rb_io_reopen): ditto * parse.y (reg_fragment_check_gen): ditto * parse.y (reg_compile_gen): ditto * parse.y (ripper_assert_Qundef): ditto * re.c (rb_reg_raise): ditto * ruby.c (set_option_encoding_once): ditto * vm_eval.c (rb_throw_obj): ditto |
0e8807dba53cf37fd79f98fb0e088d6654ae4ba8
|
2013-06-24 |
* eval_error.c (warn_printf): use rb_vsprintf instead so ruby specific extensions like PRIsVALUE can be used in format strings * eval_error.c (error_print): use warn_print_str (alias for rb_write_error_str) to print a string value instead of using RSTRING_PTR and RSTRING_LEN manually * eval.c (setup_exception): use PRIsVALUE instead of %s and RSTRING_PTR |
685f91236c383eddaa90fa43193d9103214c81a7
|
2013-06-26 |
* ext/bigdecimal/bigdecimal.c (BigDecimal_save_rounding_mode): fix typo. Fixes GH-343. Patch by @jgarber. |
f392f9f27688c5730db24fba54fd2e5d93856b28
|
2013-06-26 |
formatting fail |
7ffd3e9444d9f8b4f738da896712bd3ecbe4bbe6
|
2013-06-28 |
* numeric.c (fix_mul): remove FIT_SQRT_LONG test as it was causing fix_mul to return an incorrect result for -2147483648*-2147483648 on 64 bit platforms |
3628ab809279e062c5aa75384ecd31364fec0455
|
2013-06-30 |
* lib/prime.rb: Corrected a few comments. Patch by @Nullset14. Fixes GH-346. |
d74bb62dcceff8810cc60097adfe324ef9dbebc0
|
2013-07-02 |
* bignum.c (rb_cstr_to_inum): fix 64 bit to 32 bit shorten warning |
3d8deb6e1b0af723d1028131c2b8238f4b69f4e1
|
2013-07-04 |
* object.c (rb_obj_equal): Fixed an rb_obj_equal documentation typo where "a" was used instead of "obj". Fixes GH-349. Patch by @adnandoric |
29c5a3b89c5127edd7754d2105ef64c88ac29566
|
2013-08-02 |
* parse.y (negate_lit): add T_RATIONAL and T_COMPLEX to the switch statement, and call rb_bug() if an unknown type is passed to negate_lit(). [ruby-core:56316] [Bug #8717] |
5e98991f1bf475cedff781e3ae2f2307c884f52d
|
2013-08-05 |
* object.c (rb_class_inherited_p): allow iclasses to be tested for inheritance. [Bug #8686] [ruby-core:56174] |
ac93b2840388ba674915a6eb101710774eb52ec7
|
2013-08-05 |
* include/ruby/encoding.h: document which user flags are used by ENCODING_MASK for better greppability |
885147037b37d8fc5424b95d82972c45c1151073
|
2013-08-07 |
* test/openssl/test_ssl.rb: Fix test for CVE-2013-4073. Patch by Antonio Terceiro. [Bug #8750] [ruby-core:56437] |
ecab6908621da9202e7e9c9caccc8424f525be26
|
2013-08-09 |
* ext/io/console/console.c: delete redefinition of rb_cloexec_open. This function is always defined by io.c and is declared as non-static in a header file, so this declaration causes a compilation error. |
a5c3ca07f8a28f79acd47cd8e34233acff41e304
|
2013-08-10 |
* doc/syntax/literals.rdoc: Use single quotes instead of double quotes [Bug #8766] [ruby-core:56514] |
bf2ed9633900d3b6ad4f2696bd283db9e6205b4b
|
2013-08-11 |
* file.c (rb_str_normalize_ospath): fix mixed code and declaration warning |
dc548ba04e468824edc3b4fe3210ae12c10f6100
|
2013-08-11 |
* include/ruby/encoding.h: Reduce ENCODING_INLINE_MAX to 127 as this should be sufficient to represent all the encodings Ruby supports. |
e1fd7fa03e254e5bcb99f14d2ef56bf144afb2fc
|
2013-08-31 |
* vm_insnhelper.h (CALL_SIMPLE_METHOD): change name of 'recv' argument so that other variable names may be used when calling this macro |
d0d63cff8ac29b294d6751c61528bb01c4d30d64
|
2013-08-31 |
* compile.c (NODE_MATCH3): pass CALL_INFO to opt_regexpmatch2 |
0732ed367ceba4cfc2bd27690b7541545f62c3a2
|
2013-09-02 |
* test/rake/test_rake_rules.rb: add space after string literal to prevent conflict with string options syntax "foo"opts |
a056098cb719312452eca309bec914406f9e5ca3
|
2013-09-02 |
* NEWS: Add note about frozen string literals |
2f522b9cc6f3e184404040b12af4486520a73b26
|
2013-09-04 |
* class.c, compile.c, eval.c, gc.h, insns.def, internal.h, method.h, variable.c, vm.c, vm_core.c, vm_insnhelper.c, vm_insnhelper.h, vm_method.c: Implement class hierarchy method cache invalidation. |
1abfdb45858df355db3cb8eb11f50dc016c91c98
|
2013-09-04 |
* vm_insnhelper.c (vm_search_method): no need to check klass == ci->klass in method cache guard - class sequence number has the same uniqueness guarantees |
ed0e42c30b379c0833980f186071d89c7bb7618c
|
2013-09-05 |
* vm_insnhelper.c (vm_getivar): use class sequence to check class identity, instead of pointer + vm state |
6fd900007616801f4c8adcc0228fe06bd6f1f873
|
2013-09-05 |
* include/ruby/ruby.h: add RSTRING_FSTR flag * internal.h: add rb_fstring() prototype * parse.y (str_suffix_gen): deduplicate frozen string literals * string.c (rb_fstring): deduplicate frozen string literals * string.c (rb_str_free): delete fstrings from frozen_strings table when they are GC'd * string.c (Init_String): initialize frozen_strings table * test/ruby/test_string.rb: test frozen strings are deduplicated |
7eafeaa31328b4074761f4b33dc2b89946fb0617
|
2013-09-05 |
* string.c (fstring_cmp): take string encoding into account when comparing fstrings [ruby-core:57037] [Bug #8866] |
66915c507777c5e3a978fa73de25db763efd9206
|
2013-09-07 |
* vm_eval.c (vm_call0): fix prototype, the id parameter should be of type ID, not VALUE |
f088828106254ebb0d07b0385966692c3f938c0c
|
2013-09-24 |
* class.c (class_alloc): remove mc_tbl |
4cf9b6694f12c84a1095a950e1ab6eaafca79c56
|
2013-09-24 |
* gc.c (free_method_cache_entry_i): unused function |
b18151cf537680862dec24899a3dee469356db57
|
2013-09-26 |
* insns.def (opt_regexpmatch1): check Regexp#=~ is not defined before calling rb_reg_match() |
d60c6c8642e0e6193e5d513135b5dfaaf8a58cfd
|
2013-10-01 |
* vm_core.h: use __attribute__((unused)) in UNINTIALIZED_VAR on clang 4.0+ instead of just on 4.2. Clang has supported the unused attribute since before version 4, so this should be safe. |
0b991b657909fa30bbeb6ffb8995cd2c3c8bdc92
|
2013-10-03 |
* hash.c (env_update): [DOC] fix expected output, should be 0 instead of 10. Patch by @yakko. [GH-411] |
c4b6e967489b7c8027da99299c1dd5fa257796e6
|
2013-10-13 |
* vsnprintf.c: Fix spelling from compliment to complement. Patch by @agrimm. Closes GH-422. |
393e577d31607c7cd2a2e953c185229083d96c2c
|
2013-10-28 |
* vm.c: vm_clear_all_cache is not necessary now we use a 64 bit counter for global state version. |
7fafa8f376a4be7ba6ed7f9ea9c549847fae0d79
|
2013-10-29 |
* insns.def, vm.c, vm_insnhelper.c, vm_insnhelper.h, vm_method.c: split ruby_vm_global_state_version into two separate counters - one for the global method state and one for the global constant state. This means changes to constants do not affect method caches, and changes to methods do not affect constant caches. In particular, this means inclusions of modules containing constants no longer globally invalidate the method cache. |
8b0771b0142dffb45dd0d7fc18f6c2868eeb2b3b
|
2013-11-09 |
* class.c: unify names of vm state version counters to 'serial'. This includes renaming 'vm_state_version_t' to 'rb_serial_t', 'method_state' to 'method_serial', 'seq' to 'class_serial', 'vmstat' to 'constant_serial', etc. |
1546fb6c005389b391bd1db54135357331a52f77
|
2013-11-09 |
* insns.def: unify ic_constant_serial and ic_class_serial into one field ic_serial. This is possible because these fields are only ever used exclusively with each other. |
07ac58747f84412ea476b911fd25219093c581ed
|
2013-11-09 |
* compile.c (iseq_compile_each): emit opt_str_freeze if the #freeze method is called on a static string literal with no arguments. |
c2391bde831937860f417e7a3afd62bcc56d238d
|
2013-11-09 |
* lib/e2mmap.rb: [DOC] Fix typo in e2mmap documentation. |
39a8519a569bd2190422c4a340950ccd5bbc7f04
|
2013-12-02 |
* variable.c (rb_mod_constants): when calling Module#constants with inherit=false, there is no need to use a hashtable to deduplicate constant names. [Feature #9196] [ruby-core:58786] |
2e6b1d0cbb12abfb44980dd83f554c01f13888c1
|
2013-12-06 |
* test/ruby/test_struct.rb: Add regression test for question marks and bangs in struct members. [Closes GH-468] |
8d6904e0a284d2650a4e4e1835cff79104de766a
|
2013-12-06 |
* ChangeLog: fix spelling of contributor's name |
0aada281599eb7f764cc9cab6855d44d58deed03
|
2013-12-07 |
* gc.c (gc_mark_children): use nd_clss and nd_next for code clarity |
e0290c94042eadc5f131f22575b48e1138a974cf
|
2013-12-08 |
* array.c (rb_ary_or): use RHASH_TBL_RAW instead of RHASH_TBL |
7df979812699f153791b95e9c37f6c61b0cfb599
|
2013-12-09 |
* compile.c, insns.def, test/ruby/test_rubyvm.rb, vm.c, vm_core.h, vm_insnhelper.c, vm_insnhelper.h, vm_method.c: Rename method_serial to global_method_state and constant_serial to global_constant_state after discussion with ko1. |
c039c7081594a7e8e7cf5e96abbdc8fc6ac43a21
|
2013-12-09 |
* internal.h (RCLASS_SERIAL): Add RCLASS_SERIAL as a convenience accessor for RCLASS_EXT(klass)->class_serial. |
75f4731f900f3cee32c38da5d7c919ff5bb6d873
|
2013-12-28 |
* benchmark/bm_so_meteor_contest.rb: [DOC] Fix a few typos * ext/fiddle/lib/fiddle/import.rb: ditto * ext/psych/lib/psych.rb: ditto * ext/psych/lib/psych/nodes/sequence.rb: ditto * ext/tk/lib/multi-tk.rb: ditto * ext/tk/lib/tcltk.rb: ditto |
8f04556111b25d336838f40aaed34b86a44c9470
|
2014-01-03 |
* ext/socket/socket.c (rsock_sys_fail_host_port): save and restore errno before calling rb_sys_fail_str to prevent [BUG] errno == 0. Patch by Eric Wong. [ruby-core:59498] [Bug #9352] |
306c154c2d0010cebd600175f3f70083fc787599
|
2014-01-04 |
* struct.c (rb_struct_set): return assigned value from setter method rather than struct object. [Bug #9353] [ruby-core:59509] |
64926db998b94189eb7d61d7d924ae69f25c205c
|
2014-01-13 |
* ext/thread/thread.c (rb_szqueue_push): check GET_SZQUEUE_WAITERS instead of GET_QUEUE_WAITERS to prevent deadlock. Patch by Eric Wong. [Bug #9302] [ruby-core:59324] |
25daaafa3d32be5bf6b13bf7b917128135366f6d
|
2014-01-23 |
* method.h: rearrange rb_method_definition_struct to save 8 bytes in padding on 64 bit platforms. Patch by Eric Wong. |
0a881f81b1d897740ec5a91c0f4a1bbccfe0c00a
|
2014-01-23 |
* process.c (recv_child_error): Fix deadlock in rb_fork_internal when a signal is sent to the parent process while Ruby is forking in IO.popen. |
a22dd11af820ed123cf5cc4843720420a75b103f
|
2014-01-27 |
compile.c: use correct key for block when loading serialized iseqs |
e7892503254baba0a8a7681fd2e61aac5ce81d5b
|
2014-02-01 |
* file.c (rb_f_test): [DOC] refer to 'character' instead of 'integer' |
c8c539a19813a0ff44e05f9639a56d686876d4e1
|
2014-03-10 |
ext/objspace: Check fptr before trying to dump FILE object fd |
a77206582e9372d748db3bbc85c9c3ab0c6681db
|
2014-03-25 |
Stop allocating backref strings within gsub's search loop |
d3a54f6fe866f2c582a68453cc03a6a925dc5b0a
|
2014-07-01 |
Fix --dump=parsetree segfault on required keyword argument |
73ac899b7f05d2473506cab815614bd75e01c3d2
|
2014-07-25 |
* ext/socket/socket.c (sock_gethostname): Use NI_MAXHOST to support hostnames longer than 64 characters if the system supports it. |
c3cbfa417b5cd68c5c6b7889f5a72845abf732ec
|
2014-07-25 |
ChangeLog: reference GitHub pull request |