summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-06-05Revert "Optimize CGI.escapeHTML by reducing buffer extension"Takashi Kokubun
This reverts commit 8d81e59aa7a62652caf85f9c8db371703668c149. `ALLOCA_N` does not check stack overflow unlike ALLOCV. I'll fix it and re-commit it again.
2019-06-05* 2019-06-05git
2019-06-05Optimize CGI.escapeHTML by reducing buffer extensionTakashi Kokubun
and switch-case branches. Buffer allocation optimization using `ALLOCA_N` would be the main benefit of patch. It eliminates the O(N) buffer extensions. It also reduces the number of branches using escape table like https://mattn.kaoriya.net/software/lang/c/20160817011915.htm. Closes: https://github.com/ruby/ruby/pull/2226 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Co-authored-by: Yasuhiro MATSUMOTO <mattn.jp@gmail.com>
2019-06-04* expand tabs.git
2019-06-04compile.c: Remove the magical `(const NODE*) -1`Yusuke Endoh
It is used to represent "no default expression" for keyword argument: `def foo(key:)`. This change uses NODE_SPECIAL_REQUIRED_KEYWORD.
2019-06-04node.h: Avoid a magic number to represent excessed commaYusuke Endoh
`(ID)1` was assigned to NODE_ARGS#rest_arg for `{|x,| }`. This change removes the magic number by introducing an explicit macro variable for it: NODE_SPECIAL_EXCESSED_COMMA.
2019-06-04tool/vcs.rb: return the commit date as the modified timeNobuyoshi Nakada
2019-06-04* expand tabs.git
2019-06-04random_mt_typeNobuyoshi Nakada
* random.c: renamed random_data_type as random_mt_type, and append "MT" to `wrap_struct_name`, respecting the implementation.
2019-06-04Revert "marshal.c: new functions for extensions"Nobuyoshi Nakada
This reverts a commit miss, 24a96a0228ccf355826644a9daad69e11b67b53b.
2019-06-04suppress marshal warningsNobuyoshi Nakada
2019-06-04marshal.c: new functions for extensionsNobuyoshi Nakada
* marshal.c (rb_marshal_dump_limited): new function for extension libraries to dump object with limited nest level. * marshal.c (rb_marshal_load_with_proc): new function for extension libraries to load object with hook proc.
2019-06-04test/lib/test/unit.rb: use colorize.rbNobuyoshi Nakada
2019-06-04Renamed duplicate testNobuyoshi Nakada
2019-06-04colorize.rb: get rid of syntax errors on older versionsNobuyoshi Nakada
2019-06-04colorize.rb: make `colors_file` optionalNobuyoshi Nakada
[ci skip]
2019-06-04colorize.rb: fix reading from test/colorsNobuyoshi Nakada
[ci skip]
2019-06-04extlibs.rb: colorizeNobuyoshi Nakada
[ci skip]
2019-06-04colorize.rb: read `test/colors` file afer `$TEST_COLORS`Nobuyoshi Nakada
[ci skip]
2019-06-04* remove trailing spaces. [ci skip]git
2019-06-04Azure Pipelines run on master instead of trunk [ci skip]Kazuhiro NISHIYAMA
2019-06-04Azure Pipelines run on master instead of trunk [ci skip]Kazuhiro NISHIYAMA
2019-06-04* expand tabs.git
2019-06-04node.c: Show the ID of internal variableYusuke Endoh
2019-06-04* expand tabs.git
2019-06-04EOF by 2 ^D on a TTYNobuyoshi Nakada
Terminate the input from a TTY by 2 ^D at the middle of line, like as many programs, `cat`, `perl` and so on, do. By the first ^D, the line will be sent without a newline, and then EOF will be send by the next ^D.
2019-06-04Add aliases for commands for changing text macroaycabta
2019-06-04azure-pipelines.yml: Upgrade Ruby for UseRubyVersionTakashi Kokubun
to fix https://dev.azure.com/rubylang/ruby/_build/results?buildId=1162&view=logs
2019-06-04Implement transpose-wordsaycabta
2019-06-03Pin keys in "compare by identity" hashesAaron Patterson
Hashes that compare by identity care about the location of the object in memory. Since they care about the memory location, we can't let them move.
2019-06-03object id is stable now for all objects, so we can let hash keys moveAaron Patterson
2019-06-03allow objects in imemo envs to moveAaron Patterson
2019-06-03Unpin objects that `proc` referencesAaron Patterson
This commit adds compaction support to method and proc objects. It just unpins references and implements the "compact" callback and updates references.
2019-06-04get rid of a warning of VC++NAKAMURA Usaku
2019-06-04Upgrade benchmark-driver to fix deprecation warningTakashi Kokubun
2019-06-04Reflect behavior changes to argument nameTakashi Kokubun
0c459af7c233adb5f44022350bfe8fa132d8053e changed the meaning of `detect_compile_error`, and this commit lets it follow the change.
2019-06-04Simplify matchingNobuyoshi Nakada
2019-06-04Remove conflict resolution mistake [ci skip]Takashi Kokubun
in de541fe1961370e64541d73c96cf790d30f28604 :bow:
2019-06-04Improve test_color to prevent regressionTakashi Kokubun
Actually de541fe1961370e64541d73c96cf790d30f28604 was still needed. This commit would improve the test coverage using the branch.
2019-06-04colorize_code must return escaped textTakashi Kokubun
This was needed before 0c459af7c233adb5f44022350bfe8fa132d8053e but it could be actually useless now. But I added this anyway just in case.
2019-06-04* 2019-06-04git
2019-06-04Colorize error charactersNobuyoshi Nakada
* lib/irb/color.rb (IRB::Color.scan): ignore "incomplete end of input" error only, to colorize invalid characters, e.g., control characters, and invalid symbols, as errors.
2019-06-03Revert "common.mk: allow brace expansion for benchmark targets"Takashi Kokubun
This reverts commit 4c0e21add7c87b70df27fbff81d8f192a467556d because we're not using /bin/bash. See 11d3986d6557eb3cfcecbdd0ef6e21b18c7c960b and 1b2b0e1f244b3e71812fa9859e8b87150ea30434 to know its context. In short, 4c0e21add7c87b70df27fbff81d8f192a467556d does not work on Ubuntu.
2019-06-03Revert "common.mk is NOT working with /bin/sh anymore"Takashi Kokubun
This reverts commit 11d3986d6557eb3cfcecbdd0ef6e21b18c7c960b. Travis was broken by that.
2019-06-03common.mk is NOT working with /bin/sh anymoreTakashi Kokubun
at least on Ubuntu. The brace expansion does not work on Ubuntu /bin/sh (dash), and so 4c0e21add7c87b70df27fbff81d8f192a467556d effectively broke /bin/sh compatibility of common.mk. I guess he was using macOS whose /bin/sh is bash.
2019-06-03benchmark/time_strptime.yml does not work with minirubyTakashi Kokubun
Since 72ad092960c413b6a5687c552747b20a5ed78b22, we cannot run full `make benchmark` because default BENCH_RUBY is miniruby and it fails to require 'time'. Using miniruby for benchmark by default seems reasonable for some cases, but now it's just bothering for people running full `make benchmark`.
2019-06-03Erase VI_OPERATORSaycabta
The operators are using @waiting_operator_proc in vi mode.
2019-06-03remove `rb_objspace_pinned_object_p()`Koichi Sasada
Nobody uses this function other than gc.c. We only need RVALUE_PINNED().
2019-06-03Fix the error token on "invalid hex escape"Nobuyoshi Nakada
* parse.y (tok_hex): flush token after dispatching the "invalid hex escape" parse error.
2019-06-03`ruby -v` may no longer be ASCII-only on non-master branchesNobuyoshi Nakada