diff options
author | John Mair <jrmair@gmail.com> | 2017-09-20 17:09:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-20 17:09:12 +0200 |
commit | 9d244c3e5fdfef6fbe2fe428261d278f7b04a49b (patch) | |
tree | 8d0f05c045d4b4f155c40fb36dd4663f5a716c08 | |
parent | beaad80d0c1c1bf81ee464cdf9ae9a9e9b38c1df (diff) | |
parent | 95063cb5664c90ff31884fc431c9548a985dd244 (diff) | |
download | pry-possible-release-sha.tar.gz |
Merge pull request #1645 from r-obert/v0.11.0v0.11.0possible-release-sha
V0.11.0
-rw-r--r-- | .travis.yml | 18 | ||||
-rw-r--r-- | lib/pry/commands/ls/constants.rb | 1 | ||||
-rw-r--r-- | lib/pry/core_extensions.rb | 14 | ||||
-rw-r--r-- | lib/pry/version.rb | 2 | ||||
-rw-r--r-- | spec/pry_spec.rb | 3 |
5 files changed, 28 insertions, 10 deletions
diff --git a/.travis.yml b/.travis.yml index aaba3066..0c040f39 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,18 +1,21 @@ rvm: - - 1.9.2 - - 1.9.3 - - 2.0.0 + - 1.9 + - 2.0 - 2.1 - 2.2 - - 2.3.1 + - 2.3 - 2.4 - ruby-head - - rbx-2 + - rbx-3.69 - jruby - jruby-head +install: + - ruby -S gem install bundler --version 1.15.4 + - ruby -S bundle _1.15.4_ install --without docs + script: - - rake spec + - ruby -S bundle _1.15.4_ exec rspec sudo: false @@ -20,7 +23,8 @@ matrix: allow_failures: - rvm: ruby-head - rvm: jruby-head - - rvm: rbx-2 + - rvm: rbx-3.69 + - rvm: 2.4 # https://bugs.ruby-lang.org/issues/13537 notifications: irc: "irc.freenode.org#pry" diff --git a/lib/pry/commands/ls/constants.rb b/lib/pry/commands/ls/constants.rb index 6889075f..8ba5c83a 100644 --- a/lib/pry/commands/ls/constants.rb +++ b/lib/pry/commands/ls/constants.rb @@ -4,6 +4,7 @@ class Pry class Command::Ls < Pry::ClassCommand class Constants < Pry::Command::Ls::Formatter DEPRECATED_CONSTANTS = [:Fixnum, :Bignum, :TimeoutError, :NIL, :FALSE, :TRUE] + DEPRECATED_CONSTANTS << :JavaPackageModuleTemplate if Pry::Helpers::BaseHelpers.jruby? include Pry::Command::Ls::Interrogatable def initialize(interrogatee, no_user_opts, opts, _pry_) diff --git a/lib/pry/core_extensions.rb b/lib/pry/core_extensions.rb index a418daf3..cba74c25 100644 --- a/lib/pry/core_extensions.rb +++ b/lib/pry/core_extensions.rb @@ -68,12 +68,22 @@ class Object def __binding__ # If you ever feel like changing this method, be careful about variables # that you use. They shouldn't be inserted into the binding that will - # eventually be returning. + # eventually be returned. # When you're cd'd into a class, methods you define should be added to it. if is_a?(Module) + # A special case, for JRuby. + # Module.new.class_eval("binding") has different behaviour than CRuby, + # where this is not needed: class_eval("binding") vs class_eval{binding}. + # Using a block works around the difference of behaviour on JRuby. + # The scope is clear of local variabless. Don't add any. + # + # This fixes the following two spec failures, at https://travis-ci.org/pry/pry/jobs/274470002 + # 1) ./spec/pry_spec.rb:360:in `block in (root)' + # 2) ./spec/pry_spec.rb:366:in `block in (root)' + return class_eval {binding} if Pry::Helpers::BaseHelpers.jruby? and self.name == nil # class_eval sets both self and the default definee to this class. - return class_eval "binding" + return class_eval("binding") end unless respond_to?(:__pry__) diff --git a/lib/pry/version.rb b/lib/pry/version.rb index e0d2304a..2712f945 100644 --- a/lib/pry/version.rb +++ b/lib/pry/version.rb @@ -1,3 +1,3 @@ class Pry - VERSION = "0.10.4" + VERSION = "0.11.0" end diff --git a/spec/pry_spec.rb b/spec/pry_spec.rb index ff7ad865..9ec53260 100644 --- a/spec/pry_spec.rb +++ b/spec/pry_spec.rb @@ -367,6 +367,9 @@ describe Pry do end it 'should define a method on the class of an object when performing "def meth;end" inside an immediate value or Numeric' do + # JRuby behaves different than CRuby here (seems it always has to some extent, see 'unless' below). + # It didn't seem trivial to work around. Skip for now. + skip "JRuby incompatibility" if Pry::Helpers::BaseHelpers.jruby? [:test, 0, true, false, nil, (0.0 unless Pry::Helpers::BaseHelpers.jruby?)].each do |val| pry_eval(val, "def hello; end"); |