Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0ddeeeb8bc72
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: bc7833214aad
Choose a head ref

Commits on May 22, 2015

  1. This is a fix for bug ID 2964. The URL to see the write up is here:

    #2964
    
    On windows the mvn -Ptest fails due to incorrect substitution of '/' and '\'.
    
     See the write up for more details.
    
     Cris Shupp
     Greg Bowman
    cngshow committed May 22, 2015
    Copy the full SHA
    6556c49 View commit details

Commits on Jul 7, 2015

  1. Copy the full SHA
    3bbaba8 View commit details
  2. Add spec for Module#prepend

    * When a module is prepended after and affects subclasses.
    eregon committed Jul 7, 2015
    Copy the full SHA
    096125d View commit details
  3. Copy the full SHA
    b61eeb1 View commit details
  4. [Truffle] Always create a PrependMarker.

    * Needed unless we have a linked list outside the RubyModule instance.
    eregon committed Jul 7, 2015
    Copy the full SHA
    c8f9ee8 View commit details
  5. Copy the full SHA
    1809625 View commit details
  6. Tag out new spec

    enebo committed Jul 7, 2015
    Copy the full SHA
    d038d97 View commit details
  7. Copy the full SHA
    c1d4d28 View commit details
  8. Copy the full SHA
    bf0ccc2 View commit details
  9. [Truffle] Added a constant-rewriting hack to support 3rd party code r…

    …elying on JRuby internals that JRuby+Truffle doesn't support.
    nirvdrum committed Jul 7, 2015
    2
    Copy the full SHA
    a5b4bbc View commit details
  10. Copy the full SHA
    5e4d2f8 View commit details
  11. Use our older open3 on Windows until we have spawn.

    This isn't really a fix for #3075 but it mitigates the issue for
    now and popen3 will at least be no *worse* than it was under 1.7.
    Remaining work for this will require getting spawn to work on
    Windows.
    
    Fixes #3075.
    headius committed Jul 7, 2015
    Copy the full SHA
    f417f92 View commit details
  12. Merge pull request #2973 from gpbowman-git/master

    This is a fix for bug ID 2964.  The URL to see the write up is here:
    headius committed Jul 7, 2015
    Copy the full SHA
    61ba53c View commit details

Commits on Jul 8, 2015

  1. Copy the full SHA
    1875515 View commit details
  2. [Truffle] Partial fix for zsuper calls in blocks.

    This fixes one very specific case of #3106: zsuper bug with blocks.
    nirvdrum committed Jul 8, 2015
    Copy the full SHA
    5f1babf View commit details
  3. Copy the full SHA
    3af7fe1 View commit details
  4. Copy the full SHA
    3dbb634 View commit details
  5. Copy the full SHA
    15f6d49 View commit details
  6. Copy the full SHA
    c4524a1 View commit details
  7. Copy the full SHA
    492fd74 View commit details
  8. Copy the full SHA
    84e8e8e View commit details
  9. Copy the full SHA
    8847061 View commit details
  10. Copy the full SHA
    fad35ba View commit details
  11. Copy the full SHA
    bc78332 View commit details
Showing with 936 additions and 75 deletions.
  1. +1 −0 core/src/main/java/org/jruby/runtime/ArgumentDescriptor.java
  2. +12 −1 core/src/main/java/org/jruby/runtime/ArgumentType.java
  3. +1 −1 core/src/main/java/org/jruby/runtime/Helpers.java
  4. +1 −1 core/src/main/java/org/jruby/util/JRubyFile.java
  5. +5 −4 core/src/test/java/org/jruby/test/TestKernel.java
  6. +731 −0 lib/ruby/stdlib/jruby/open3_windows.rb
  7. +8 −1 lib/ruby/stdlib/open3.rb
  8. +6 −0 spec/regression/GH-3086_anon_args_in_to_proc_parameters_spec.rb
  9. +17 −1 spec/ruby/core/module/prepend_spec.rb
  10. +1 −0 spec/tags/ruby/core/module/prepend_spec.txt
  11. +0 −5 spec/truffle/tags/core/string/modulo_tags.txt
  12. +0 −5 test/jruby/test_array.rb
  13. +2 −2 test/jruby/test_kernel.rb
  14. +1 −1 tool/truffle-findbugs.sh
  15. +8 −4 truffle/pom.rb
  16. +10 −6 truffle/pom.xml
  17. +4 −2 truffle/src/main/java/org/jruby/truffle/nodes/constants/ReadConstantNode.java
  18. +4 −4 truffle/src/main/java/org/jruby/truffle/nodes/core/TrufflePrimitiveNodes.java
  19. +14 −10 truffle/src/main/java/org/jruby/truffle/nodes/supercall/GeneralSuperReCallNode.java
  20. +23 −1 truffle/src/main/java/org/jruby/truffle/pack/nodes/write/WritePaddedBytesNode.java
  21. +7 −1 truffle/src/main/java/org/jruby/truffle/pack/parser/FormatDirective.java
  22. +2 −2 truffle/src/main/java/org/jruby/truffle/pack/parser/FormatParser.java
  23. +9 −2 truffle/src/main/java/org/jruby/truffle/pack/parser/FormatTokenizer.java
  24. +35 −0 truffle/src/main/java/org/jruby/truffle/runtime/ConstantReplacer.java
  25. +25 −19 truffle/src/main/java/org/jruby/truffle/runtime/core/RubyModule.java
  26. +1 −1 truffle/src/main/ruby/core/config.rb
  27. +5 −0 truffle/src/main/ruby/core/shims.rb
  28. +3 −1 truffle/src/test/java/org/jruby/truffle/tck/RubyTckTest.java
Original file line number Diff line number Diff line change
@@ -16,6 +16,7 @@ public class ArgumentDescriptor {
public static final ArgumentDescriptor[] EMPTY_ARRAY = new ArgumentDescriptor[0];

public ArgumentDescriptor(ArgumentType type, String name) {
assert name != null || type.anonymous : "null argument name given for non-anonymous argument type";
this.type = type;
this.name = name;
}
13 changes: 12 additions & 1 deletion core/src/main/java/org/jruby/runtime/ArgumentType.java
Original file line number Diff line number Diff line change
@@ -52,7 +52,18 @@ public String renderPrefixForm(String name) {
}

public RubyArray toArrayForm(Ruby runtime, String name) {
return anonymous ? runtime.newArray(runtime.newSymbol(symbolicName)) : runtime.newArray(runtime.newSymbol(symbolicName), runtime.newSymbol(name));
// we check for null name here as a precaution, since it will certainly blow up newSymbol (#3086)
return anonymous || name == null ? runtime.newArray(runtime.newSymbol(symbolicName)) : runtime.newArray(runtime.newSymbol(symbolicName), runtime.newSymbol(name));
}

public ArgumentType anonymousForm() {
switch (this) {
case opt: return anonopt;
case req: return anonreq;
case rest: return anonrest;
case keyrest: return anonkeyrest;
}
return this;
}

public final String symbolicName;
2 changes: 1 addition & 1 deletion core/src/main/java/org/jruby/runtime/Helpers.java
Original file line number Diff line number Diff line change
@@ -2393,7 +2393,7 @@ public static ArgumentDescriptor[] parameterListToArgumentDescriptors(String[] p
if (param.length() > 1) {
parms[i] = new ArgumentDescriptor(type, param.substring(1));
} else {
parms[i] = new ArgumentDescriptor(type);
parms[i] = new ArgumentDescriptor(type.anonymousForm());
}
}

2 changes: 1 addition & 1 deletion core/src/main/java/org/jruby/util/JRubyFile.java
Original file line number Diff line number Diff line change
@@ -120,7 +120,7 @@ private static FileResource createResource(Ruby runtime, String cwd, String path

public static String normalizeSeps(String path) {
if (Platform.IS_WINDOWS) {
return path.replace(File.separatorChar, '/');
return path.replace('/', File.separatorChar);
} else {
return path;
}
9 changes: 5 additions & 4 deletions core/src/test/java/org/jruby/test/TestKernel.java
Original file line number Diff line number Diff line change
@@ -31,8 +31,7 @@
***** END LICENSE BLOCK *****/
package org.jruby.test;

import java.util.ArrayList;

import java.io.File;
import org.jruby.Ruby;
import org.jruby.RubyException;
import org.jruby.RubyFixnum;
@@ -61,15 +60,17 @@ public void testLoad() throws Exception {
assertEquals("load did not load the same file several times", "1", eval("load '../test/loadTest.rb'"));
}


public void testRequire() throws Exception {
char s = File.separatorChar;
//reset the $loadTestvar
eval("$loadTest = nil");
assertEquals("failed to load the file test/loadTest", "0", eval("require '../test/loadTest'"));
assertEquals("incorrectly reloaded the file test/loadTest", "", eval("require '../test/loadTest'"));

assertEquals("incorrect value for $\" variable", "true", eval("print $\"[-1].end_with?('test/loadTest.rb')"));
assertEquals("incorrect value for $\" variable", "true", eval("print $\"[-1].end_with?('test" + s + "loadTest.rb')"));
}


public void testPrintf() throws Exception {
assertEquals("hello", eval("printf(\"%s\", \"hello\")"));
assertEquals("", eval("printf(\"%s\", nil)"));
Loading