Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
This comparison is big! We’re only showing the most recent 250 commits
Commits on Jan 15, 2013
@banister banister Thread.current -> Pry.current 5e3a3f0
@banister banister turn Pry.config.collision_warnings back off
This was a horrible mistake, it's stupidly annoying

* in the case of 'rake pry' it warngs every time we do 'cd' (since 'cd' is a top-levle method
  defined by rake)

That's all i can think of right now, but that's still annoying enough.
@kyrylo kyrylo Remove "notes.yml" f172177
Commits on Jan 16, 2013
@kyrylo kyrylo Prepare CHANGELOG for the new release 2fd0e1b
@banister banister Edit::MethodPatcher: remove unnecessary assignment e53af39
@banister banister Version 0.9.11 release
Final adjustments made to CHANGELOG and CONTRIBUTORS
@banister banister v0.9.11.1 bugfix
* forgot to remove 'no_arg' from Pry::Command::CodeCollector, this method no longer exists
and so 'gist' (when not given any params) would break. Replaced no_arg with empty string ""
so that 'gist' gists current object/method by default.
@banister banister updated CHANGELOG for 6fdb393
@banister banister gist: window's fix for broken clipboard 19aa778
@banister banister bugfix for windows
minor bug fix for gist on windows, rescuing Jist::ClipboardError
rather than letting the scary error spill out to users and potentially
have them think the gist didnt post.
Commits on Jan 17, 2013
@kyrylo kyrylo Command: fix typo in comments 24437c7
@banister banister gist: re-add 'jist' gem dependency with :requires_gem
Oops, forgetting this meant that 'gist' command would error out with
ugly messages rather than prompting the user to 'install-command'
@banister banister Fix Pry.run_command
The problem was that Pry#rep() no longer works on its own, it's
necessary to use Pry#repl() instead. This is because many new API, like
Pry::CodeObject.lookup now get the target binding directly from the _pry_ instance
(Pry#current_context), rather than requiring it to be passed in
separately. This saves us a parameter.

The reason Pry#rep doesnt work with Pry::CodeObject.lookup (and so
show-source/show-doc etc) is that the binding_stack is only set up in
Pry#repl_prologue, and it is the binding_stack (via Pry#current_context)
that is accessed by Pry::CodeObject and pals.
@banister banister add some missing pieces from CHANGELOG e1d9152
@rking rking Bump version (it was conflicted anyway) fd392b6
@rking rking Add Pry.auto_resize! to respond to width changes.
- Opt-in because we aren't sure where it doesn't work
- Not Coolline-aware
- Otherwise a big improvement
@rking rking Adjusting ls output for voluminous output
The previous table output was geared mostly for `ls _pry_`, which isn't
a common of hierarchy. After feedback from users such as @envygeeks, we
found a few tweaks that would help the really-small layers such as those
found in Rails or in small classes, namely:

- Rolling it up onto one line, if possible
- Highlighting the heading in the colors familiar to users of GNU ls for
  "directory" style

Additionally, I took the opportunity for toning down the
private/protected method colors, because before they were green and
yellow, now they're both "muted terminal blue"

Without the ability to really get in and really distinguish colors (e.g.
using 256 colors), giving "protected" such a loud color seems wrong.

Before recoloring:
  pry#813 (comment)
  pry#813 (comment)
Commits on Jan 18, 2013
@banister banister Fix failing specs on ree/ruby18
We put a conditional around tests so that we skip those those using
show-source (namely the one in run_command_spec.rb) on ree/ruby18
@banister banister improve help for 'edit' command 81b69e0
@banister banister version bugix release
* fix Pry.run_command
* improve `ls` output
* add :requires_gem => "jist" to 'gist' command (so deps can be installed
	via install-command)
* improve help for 'edit' command
@ConradIrwin ConradIrwin Merge branch 'wip.refactor'
@ConradIrwin ConradIrwin Remove confusing rescue raise 2e17c21
Commits on Jan 19, 2013
@epitron epitron Some fixes to the pager.
We didn't send any flags to the pager, as a result ansi codes
were not applied unless the user had properly set up their LESS
env variable. This was often not the case, resulting in broken
and ugly output. This commit sends along the proper flags whenever
we use the pager, regardless of the user's LESS variable
@banister banister pager.rb: Ensure we explicitly rescue LoadError
a bare 'rescue' will not catch a LoadError
Commits on Jan 20, 2013
@banister banister add Pry.last_internal_error
This is set to the last CommandError, SlopError, etc. Most often
raised by commands. This info is useful to pry devs debugging
otherwise opaque command errors.
Commits on Jan 22, 2013
Eugene Diachkin correct_indentation ignores readline \001 & \002 sequences 45c24ea
Commits on Jan 24, 2013
@kyrylo kyrylo SimplePager: take into account the info bar
Fix issue #786 (SimplePager is a bit neglectful)

The info bar takes exactly 3 lines.
@kyrylo kyrylo Rename "DEPRECATED" to "DISABLED"
Fix issue #817 (DEPRECATED: Use `edit` instead.)

Rename `CommandSet#deprecated_command` to `#disabled_command`. Rename
the file in "commands/", too.
@kyrylo kyrylo SimplePager: fix my goofy indentation (c) 743f76f
@amanelis amanelis Added license to config in gemspec 941febd
@rf- Merge pull request #824 from amanelis/gemspec-license
Added license to config in gemspec
Commits on Jan 25, 2013
@ConradIrwin ConradIrwin Fix NoMethodError __id__ on ruby-1.9.2 b1c797c
@kyrylo kyrylo Command: replace `Slop::parse` with `Slop::new`
Fix issue #828 (bizarre option parsing bug)

> commands like hist and friends behave differently when -r option is
> passed to the pry executable, this is really weird, see here:
Commits on Jan 26, 2013
@kyrylo kyrylo Pager: use TerminalInfo API for `::page_size`
Fix issue #829 (NoMethodError: undefined method `winsize'
for #<IO:<STDOUT>>, The Same Error as #549 But On The Latest Version
Commits on Jan 27, 2013
@kyrylo kyrylo Helpers::tablify: fix FloatDomainError
Before this commit the following snippet didn't work:

  pry(main)> Pry::Helpers.tablify(['foobar', 'baz'], 5)
  #=> FloatDomainError

There was a divison by zero in `Helpers::Table#_recolumn`.

The problem is incorrectly written `until` loop condition. Note that the
longest element in the array has 6 characters. But the second argument
tells `::tablify` that the line width is only 5 characters long.

This commit changes the condition. Now, if you run the same snippet, you
would see that the elements form one column (and the code doesn't blow
up your program).

Possibly, in the described case, the table has unwanted blanks. However,
I'm not very competent in the code, so I'd better not touch it, because
it works.
@ConradIrwin ConradIrwin All passing arguments to `rake pry`. d40527a
@rf- Always pass `inherit` param to `Module#constants`
This fixes the `ls Module` case, because it makes the singleton method
`Module.constants` call the instance method. :notes:
@rf- Add regression test for 28afdd5 d7b3363
Commits on Jan 28, 2013
@rf- Better fix for 28afdd5
That solution doesn't work on MRI 1.8.
@rf- Add ruby-head to Travis c151900
Commits on Jan 29, 2013
@banister banister force travis to test 0-9-11-stable as well a99c974
@banister banister show-source: support create_command based commands 4afb8d3
@banister banister re-add reload-method as an alias for reload-code
Turns out some people actually used reload-method, so we re-add it to avoid them getting angry
@banister banister Pry::WrappedModule: add candidates Enumerator
This enables things like this: Pry::WrappedModule(mod).candidates.find(&:source)
returns the first candidate (monkeypatch) with accessible source code.
@banister banister Pry::WrappedModule#source no longer raises if it can't find source.
This is not an exceptional situation so an exception should not be used. nil is now returned instead.
@banister banister show-source/show-doc: Show the first module candidate with source/docs
Prior to this change `show-source ActiveRecord::Base` would fail, as the highest ranked
candidate couldn't be discovered.
@banister banister reload-code improve docs for mean old yozzy 2b8468a
@banister banister Pry::WrappedModule: Make #candidates 1.8 friendly.
1.8 doesn't support Enumerator, so we return Generator instead.
@banister banister oops, make Pry::WrappedModule#generator private c8058a1
Commits on Jan 30, 2013
@kyrylo kyrylo Pager: use the `::jruby?` helper from BaseHelpers 99becc5
@ConradIrwin ConradIrwin Don't interpolate on ? or $ [Fixes #835] 30ad174
@kyrylo kyrylo Method: fix indentation of private methods 7a8d1e3
@kyrylo kyrylo Method: shorten helper method calls
`BaseHelpers` module is already included.
@kyrylo kyrylo Do not recommend to install pry-doc in some cases
There is no sense to install "pry-doc" on Ruby platforms other than MRI,
since "pry-doc" is for MRI only. Although "pry-doc" works on non-MRI
platforms, it still shows C source code. Haha.
Commits on Jan 31, 2013
@rking rking Tweak and Refactor Pry::Terminal
The biggest behavior change is to favor `io/console` (but still not when
on jruby). The previous favorite was `Readline.get_screen_size`, but
that thing is stale just like the env. The only reason it gets updated
is if you put `Pry.auto_resize!` in your `~/.pryrc`

The next change is more error handling in `Pry.auto_resize!`

Otherwise I renamed `TerminalInfo` to `Terminal`, which is something
andrewvos and I discussed way back when `TerminalInfo` first came about.

The rest was a little Extract Method stuff, no biggie.
@kyrylo kyrylo CLI: simplify Slop switch declarations
`on :foo=` is the synonym for `on :foo, :argument => true`.
Commits on Feb 01, 2013
@kyrylo kyrylo Pry: don't strip newlines from multi-line exprs
Fix issue #704 (newlines are stripped from inside pasted strings)

Also, make sure that other literals (system calls, regexps) also comply
this rule.

Reviewed-by: Conrad Irwin <>
@ConradIrwin ConradIrwin Fix documentation rendering edge-cases [Fixes #795]
Also added some notably absent tests
@kyrylo kyrylo ShowInfo: remove `--flood` switch
We don't support this switch anymore.
Commits on Feb 02, 2013
@kyrylo kyrylo Refactor the way commands are required
Fix issue #834 (pry- failing on Windows 7 64 bit - cannot load
such file)

The problem was introduced by this commit:

This bug affects *only* Ruby 1.9.3p327, on Windows.

            Choose your destiny
    |                                |
  is bugged on
  Ruby 1.9.3p327

This fix is simply an ugly workaround.
@banister banister add a few rake task aliases 0229255
@banister banister Refactor Pry::Method + add Pry::Method::WeirdMethodLocator
WeirdMethodLocator is used by Pry::Method.from_binding() to locate the
method captured by the binding when the naive approach fails (i.e method(binding.eval('__method__')).

"WeirdMethods" include methods defined on the superclass to the 'self' of the binding, as well as methods
that have subsequently been renamed/replaced.

We also move Pry::Method::Disowned to its own file (disowned.rb)
@banister banister Add -m, -c, -f options to whereami command.
-m, the current method in its totality
-c, the current class/module that is the current 'candidate' (monkeypatch)
-f, the entire file
@banister banister Pry::WrappedModule: Switch the candidate/start_line args.
Makes the API more convenient as we're more likely to provide a candidate arg
than start_line arg.
Commits on Feb 03, 2013
@ConradIrwin ConradIrwin Add support for pry --gem
I am always doing pry -I./lib -r<gemname>.
@ConradIrwin ConradIrwin No more ree f80076b
@banister banister oops, forgot to add spec/fixtures/whereami_helper.rb e1c1720
@banister banister Try to fix failing whereami test on 1.8 etc
Explicitly calling to_s before appending wth + "\n"
Commits on Feb 04, 2013
@kyrylo kyrylo Long live REE! 3760668
@kyrylo kyrylo Terminal: don't let Readline return [0, 0]
Some of the tests from "spec/commands/ls_spec.rb" were failing on
Rubinius and 1.9.2. The problems was introduced by this commit:

  (Tweak and Refactor Pry::Terminal)

The problem is that `Readline.get_screen_size` can return `[0, 0]`.
That's not good, because it breaks a couple of our tests (table output
stuff). But now...

          .o( is fixed. Twit-twoo! )
@kyrylo kyrylo BaseHelpers: add `#jruby_19?` method
And remove some naive comments.
@kyrylo kyrylo WrappedModule#candidates: return Array on JRuby >=1.9
JRuby 1.9 has a nasty bug with `Enumerator#find_index`, which we utilise
in the code of `whereami` command.

More information on the bug: jruby/jruby#525

Simply return an Array, formed from the original Enumerator on JRuby 1.9
and higher. This kills the efficiency, but leastwise, it will be

As a bonus, remove some a junk method.
@kyrylo kyrylo Merge branch 'indentation_readline' of in…
…to ineu-indentation_readline
Commits on Feb 05, 2013
@knewter knewter Don't use self-deprecated method
Master pry currently complains on run_command because Pry#repl isn't supposed to be used anymore.  This makes run_command stop using that.

I don't know if it's 100% right to do it this way, thoughts?
@ConradIrwin ConradIrwin No need to use a REPL anymore :) b3203e9
@ConradIrwin ConradIrwin Rename arg to :target for API consistency a96865a
Commits on Feb 07, 2013
@banister banister Pry::WrappedModule: add module? and class? predicates
* module? whether the object is *strictly* a module (using instance_of?, does not match classes)
* class? must be a direct instance of Class (using instance_of?)
@banister banister Delegate more methods from Candidate back to WrappedModule 7260c2e
@banister banister Make show-source/show-doc fall-back to superclass
When performing show-source/show-doc on a class whose code
cannot be extracted we now fall-back to its first accessible superclass
and show its code together with a warning.


class Model < ActiveRecord::Base

show-source Model #=> shows ActiveRecord::Base code
Commits on Feb 08, 2013
@banister banister Fix failing tests on rbx
The failures were due to Rbx recovering more source than expected (compared to MRI)

For example, the following fails in MRI:
module M

module N
  include M

show-source N

but on rbx it succeeds and shows the source of N

How does rbx do it? It appears to create a secret method called __module_init__ on a module whenever you include another module.
This method has its source_location set to the `include` line.
@rking rking Robustify the plugin require
I was getting trouble with both pry-editline and pry-syntax-hacks, while
running with a newly-compiled-Ruby with GNU Readline on a Mac (the
default Readline was working OK with these. There could be more
investigation about the error, but for now, at least pry boots with a
handy error instead of a total failure).
@rking rking Add a Procfile for testing foreman
The foreman run isn't terribly special, but it's another stdio situation
that people get into in real life.

So this is just a way to check that same scenario. For now, no
automation is in place (or necessary?), but it's something to tinker
with via:

    gem install foreman && cd spec && foreman start
@rking rking Add Pry::Terminal.height! (only used once) 9d20a96
@rking rking Reword foreman instructions without 'cd' b33fa0a
@rking rking Defuse time bomb on EditLine Readline wrapper
If you are using the basic OS X Readline impl, and you Pry.auto_resize!,
you'll find that their Readline.set_screen_size = ___ segfaults.

Instead of letting this happen, we'll tell the user about it and point
them to the fix (of using GNU Readline).
@rking rking Experimental logic for Readline.output
The symptom of not having this patch is to:

    foreman start -f spec/Procfile

You'll notice you cannot see the stdout. This is a weird glitch, but the
following does fix it.

What do you think?
@rking rking Guard against windows? + style homogenization fbb159c
Commits on Feb 11, 2013
@rking rking Adding output.flush per @ConradIrwin 1eda0c1
Commits on Feb 12, 2013
@banister banister dummy commit to force travis to do its thing a68d269
@rking rking Explicitly pull in Pry::Terminal
pry-remote-em directly require's this file, and it doesn't define
Pry::Terminal without this patch.
@rking rking Merge pull request #846 from pry/stdout-fix
Output visibility, e.g. for foreman-invoked processes
Commits on Feb 13, 2013
@ConradIrwin ConradIrwin Strip ansi codes from prompt before measuring [Issue #493] 731d0cf
Commits on Feb 18, 2013
@rking rking Removing stupid file
@rf- Remove unnecessary default from documentation a15b532
@ConradIrwin ConradIrwin Dedup .pryrc across symlinks too 78caffb
@ConradIrwin ConradIrwin Don't warn if .pryrc doesn't exist on rbx in 1.9 mode 5bf8db9
@ConradIrwin ConradIrwin Comment out spec when it's broken 2c1a70b
Commits on Feb 23, 2013
@kyrylo kyrylo .gemtest: remove the file
We use Travis CI nowadays.
@kyrylo kyrylo Command::Ls: use brackets in the banner definition
Fix issue #855 (Installtion error in Mac OS X 10.8.2 with gem)
@kyrylo kyrylo Command::Ls: use proper command API for the banner f3ef105
@kyrylo kyrylo Command::InstallCommand: honor ".gemrc" switches
Fix issue #666 (install-command doesn't seem to honor gemrc)

Also, prettify various messages from "install-command".
@kyrylo kyrylo Command::InstallCommand: print explanation when a command is not found
Don't raise `NoMethodError`.
Commits on Feb 26, 2013
@rking rking Avoid warning with warny rubygems 552b7e1
@rking rking Handle evil classes that define 'ancestors' aea6836
@rking rking Skip assertion on rbx — is an edge case, anyway 1201c3c
Commits on Mar 03, 2013
@ConradIrwin ConradIrwin Remove warnings [Fixes #869] d6ef67c
Commits on Mar 05, 2013
@ConradIrwin ConradIrwin Ensure lines are integers before using them as strings [Fixes #872]
The problem was that they could be Rational's if the mathn library was
@pritchie pritchie check for directory? in WeirdMethodLocator#valid_file? prevents crash…
… under jruby
@banister banister Merge pull request #873 from pritchie/master
check for directory? in WeirdMethodLocator#valid_file?
Commits on Mar 08, 2013
Andrey Ognevsky Fixed typo in comment 282e096
@kyrylo kyrylo Merge pull request #876 from ognevsky/patch-1
Fixed typo in comment
Commits on Mar 09, 2013
@rf- Bump master to v1.0.0pre1 0256eaa
@banister banister Show error when no docs found 7c8f9be
Commits on Mar 11, 2013
Michael Moore Escape method names before using them in a regex 9dbfb4f
@ConradIrwin ConradIrwin Merge pull request #881 from stuporglue/master
Escape method definition names before using in regexp
Commits on Mar 12, 2013
@banister banister show-source: Indicate all monkeypatches can be shown with -a
Fixes #849
@kyrylo kyrylo ShowDocSpec: fix indentation
"The snake which cannot cast its skin has to die.
As well the minds which are prevented from changing
their opinions; they cease to be mind."

  - Friedrich Nietzsche
@kyrylo kyrylo Config: wrap everything at 80 characters
@kyrylo kyrylo PryClass: get rid of obsolete comment
The "ls" command uses tabular output by default (where possible).
@kyrylo kyrylo Rubygem: fix raising of CommandError for #install
Fix issue #870 (gem-install seems broken on jruby)
@kyrylo kyrylo Hist: fix `--exclude-pry` switch
Fix issue #874 (hist -e breaks with TypeError: can't convert
Pry::Code::LOC to String)

And add a test for that switch.
@kyrylo kyrylo CLI: link to instead of github
And apply a couple of cosmetic fixes.
@kyrylo kyrylo CLI: output help when unknown switches are used
Fix issue #847 (Pry should output help when unknown flags are used)
@banister banister WrappedModule::Candidate: exposed number_of_candidates as public method a270fbc
@kyrylo kyrylo ShowDocSpec: add a random comment to the definition
This commit fixes the failing test. Internally, Pry raises
`CommandError`, when cannot find a definition (this is the new
behaviour), so the test needs to be updated.
Commits on Mar 13, 2013
@kyrylo kyrylo ShowDoc: display "current context" message
Consider the following example:

  [1] pry(main)> show-doc
  Error: No docs found for:
  [2] pry(main)>

The message is ambiguous. This commit adds "current context" label when
`obj_name` return `nil`.

  [1] pry(main)> show-doc
  Error: No docs found for: current context
  [2] pry(main)>
@kyrylo kyrylo LsSpec: get rid of "empty spec" warning on RBX 1.9 b6b6d6b
Commits on Mar 14, 2013
@kyrylo kyrylo ShowDocSpec: add another random comment to the definition
This commit is rather interesting. Well, maybe not the commit, but the
issue it is aimed to fix. So what's the aim? The aim is to eliminate an
error in the test for the following Ruby implementations: rbx-18mode,
jruby-18mode, jruby-19mode.

See that build for details:

You may be wondering now: "Kyrylo, what is so interesting in it?".
Heh-heh, sit down right beside me, my covey.

I have a screenshot for you:

The screenshot demonstrates the difference between `show-doc` finding
monkey-patches on different Ruby implementations (JRuby and MRI 1.9.3).
Take a closer look at the order of the candidates. It is different in
the abovementioned implementations. That is the reason why the test is
failing. Unfortunately, I couldn't figure out why that is happening.

The fix is simple and it doesn't ruin the idea of the test. However,
I'm leaving that order issue to the greater minds of our civilization.

Uh! Don't forget to check out the description of that commit, because it
is related to this topic:
@kyrylo kyrylo ShowDocSpec: add a test concerning monkeypatching
Make sure that `show-doc` displays the comments of the original
definition by default. This test *must* fail with current state of
things. The goal is to eliminate the oddities in Pry across some Ruby

For more information see:
Commits on Mar 15, 2013
@kyrylo kyrylo Command::Ls: mention `find-method` command
Fix issue #706 (ls should mention find-method)
Commits on Mar 17, 2013
@kyrylo kyrylo Rename "pry_history_spec.rb" to "history_spec.rb" 1d70d86
@kyrylo kyrylo History: increment `@original_lines`
Fix broken `Pry::History#session_line_count`. Add a test.
@kyrylo kyrylo Command::Hist: change the behaviour
Fix issue #205 (history option to show just history for current session)

Add `--all` switch. `hist` is `hist --all` now. `hist` without any
parameters shows the history of the current session.
Commits on Mar 18, 2013
@kyrylo kyrylo HistorySpec: add more tests deea81d
Commits on Mar 23, 2013
@ConradIrwin ConradIrwin Use load instead of eval [Fixes #880] ef09e90
@ConradIrwin ConradIrwin Annotate 1.9-only spec b104038
@ConradIrwin ConradIrwin Ensure module candidates are ordered consistently
This gets rid of annoying implementation specific ordering, at the
expense of adding our own arbitrary ordering to the mix.
@ConradIrwin ConradIrwin Order candidates by load order correctly
Instead of relying just on the filename, which differs between
variations of ruby, order by position of the file in $LOADED_FEATURES.

On ruby-1.8 $LOADED_FEATURES contains relative paths, so we use
end_with?. This happily also works for absolute paths if we first
normalize with a pass of File.expand_path.
@banister banister add hash rocket to list of sponsors cc85440
Commits on Mar 25, 2013
@ConradIrwin ConradIrwin Hack around rubinius code cache in specs
In real life it's highly unlikely anyone will be able to make a
meaningful change to a file in under a second, so the cache will
probably not interfere.
@ConradIrwin ConradIrwin Hack in all the places bd32055
@ConradIrwin ConradIrwin Handle negativity in Pry::Code#take_lines [Fixes #886] d24e95f
@ConradIrwin ConradIrwin Don't repeat if initial_session_setup fails 7213f1c
@ConradIrwin ConradIrwin Do initial_session_setup eagerly if -c is passed [Fixes #860] ca41041
@ConradIrwin ConradIrwin Use Shellwords.split before calling system [Fixes #810] 8f827ea
@ConradIrwin ConradIrwin Explicitly require rb-readline
On my 1.8 on mac-os installed with rbenv with no readline, "require 'readline'"
raises a LoadError even when rb-readline is installed.
@banister banister allow `whereami -c` to work outside of a method context
class Hello
  def hi; end
@banister banister whereami -c: Add test to ensure correct superclass is located
also remove unnecessary instances of require 'fixture/whereami_helper'
Commits on Mar 26, 2013
@quark-zju quark-zju Catch java exceptions explicitly in REPL loop, fix #854. 015bf50
@quark-zju quark-zju Eliminate warnings if a java exception is rescued. dada690
@quark-zju quark-zju Add tests for exception rescuing in REPL. 3b36a99
@ConradIrwin ConradIrwin Avoid warning. c00bc64
@ConradIrwin ConradIrwin Merge remote-tracking branch 'origin/pr/887' 71fdd1f
Commits on Mar 27, 2013
@kyrylo kyrylo Show{Source,Doc}: assume super definitions from the context
Fix issue #877 (show-source -s doesn't work (when no method arg is

This behaviour is shared between `show-source` and `show-doc`. So with
one fix I kill two bugs.

Add tests and rewrite some of the existing ones (related to the
`--super` switch).
Commits on Mar 28, 2013
@ConradIrwin ConradIrwin rewrite definition line after editing method 2734e4b
@ConradIrwin ConradIrwin Move MethodPatcher to Method::Patcher a7c85d7
@ConradIrwin ConradIrwin Rename Pry::Commands::Edit::MethodPatcher to Pry::Method::Patcher f2bdd33
@ConradIrwin ConradIrwin Split up big Pry::Method#source method 7454d54
@ConradIrwin ConradIrwin Allow Pry::Method::Patcher to work without _pry_ e43daac
@ConradIrwin ConradIrwin s/code_object/method da1283b
@ConradIrwin ConradIrwin Modify methods using Pry::Method#redefine
I considered calling redefine source=, but Pry::Method objects are not
designed to be mutable.
@ConradIrwin ConradIrwin Move cache reading into Pry::Code for consistency
This necessitates ensuring that the wrapping doesn't add any newlines
@ConradIrwin ConradIrwin Allow ls -c <anything> [Fixes #891] 00fce1b
Commits on Mar 30, 2013
@ConradIrwin ConradIrwin Remove broken require 9c1f814
@ConradIrwin ConradIrwin Merge branch 'pry-method-patcher' 290eb40
@ConradIrwin ConradIrwin Skip rubinius due to [Issue rubinius/rubinius#2247] 1af4949
Commits on Mar 31, 2013
@ConradIrwin ConradIrwin Method::Patcher should preserve method visibility
(Works around rubinius/rubinius#2248)
Commits on Apr 01, 2013
@rking rking Revert "Bump master to v1.0.0pre1"
This reverts commit 0256eaa.

pry-debugger, and at least one other gem, depend on pry ~>0.9.x. Until
this is expanded to allow 1.x, I rescind my vote to bump this version.
Commits on Apr 03, 2013
@evaryont evaryont Support loading a different pryrc from ENV
If the user exports $PRYRC, assume that's the end-user configuration file, and
load that instead of `~/.pryrc`. Closes #893.
@ConradIrwin ConradIrwin Merge pull request #893 from evaryont/master
Support customizing the location of ~/.pryrc
Commits on Apr 06, 2013
@kyrylo kyrylo TODO: remove the file
It hasn't updated for 2 years...
@kyrylo kyrylo Remove the wiki directory
The information is outdated and hasn't updated for 2 years.
@kyrylo kyrylo LICENSE,README,pry.rb: update year d267b64
Commits on Apr 08, 2013
@ConradIrwin ConradIrwin Find nested module definitions [Fixes #832]
This fixes `$ ActionController::ForceSSL`
@ConradIrwin ConradIrwin Don't autoload constants
This fixes `$ ActionController`
@ConradIrwin ConradIrwin Fix 1.8.7 specs 898823f
@ConradIrwin ConradIrwin Fix specs on rbx b480fd5
@ConradIrwin ConradIrwin Fix all ruby version not mentioned in previous two commits c316d76
Commits on Apr 16, 2013
@Paulche Paulche Fix issue with Puppet 9a3793d
@banister banister Merge pull request #903 from Paulche/fix_puppet_issue
  Fix issue with Puppet
Commits on Apr 20, 2013
@rking rking Silence deprecation warning on Pry#repl c8d1c7a
@amonat amonat Restore correct description of gist command 860536d
Commits on Apr 21, 2013
@banister banister Merge pull request #908 from amonat/fix-gist-description
Restore correct description of gist command
@kyrylo kyrylo Command::Whereami: add ‘@’ as an alias for the ‘whereami’ b888d55
Commits on Apr 25, 2013
@ConradIrwin ConradIrwin Allow frozen_object.pry ab4cc3d
@ConradIrwin ConradIrwin Fix ruby-1.9.2 :/ bb51a61
@richo richo Fix typo in toplevel_binding invocation ad999c4
@richo richo Send pry into interactive mode after running with -i b1a5adf
@kyrylo kyrylo Merge pull request #912 from richo/features/interactive_exit
Features/interactive exit
Commits on Apr 28, 2013
@rf- Add SimpleCov 137db2c
Commits on May 03, 2013
@kyrylo kyrylo core_extensions: no need in patching JRuby anymore c2be3f0
@kyrylo kyrylo Show{Source,Doc}: refactor assuming definitions from the context
I hope you're pleased now, @banister!
@kyrylo kyrylo CodeObject: special case `super` keyword
Fix issue #917 (`$ super` should work (so should `$ -s`))

This is applies to both `show-source` and `show-doc`.
Commits on May 04, 2013
@kyrylo kyrylo Allow customisation of the prompt objects
Fix issue #885 (Add an API for extending Pry.view_clip)

    [1] pry(main)> class Barbie
                 |   def inspect
                 |     'You can brush my hair, undress me everywhere!'
                 |   end
                 | end
    => nil
    [2] pry(main)>
    [3] pry(main)> Pry.config.prompt_safe_objects << Barbie
    => [String, Numeric, Symbol, nil, true, false, Barbie]
    [4] pry(main)> cd
    [5] pry(You can brush my hair, undress me everywhere!):1>
Commits on May 10, 2013
@banister banister reload-code (with no args) should reload 'current file'
This should fix #920.
Also added a guard for !code_object.source_file, this existed on 0.9.12
but for some reason was not on master.
@ConradIrwin ConradIrwin Don't reinvent comment_describing in Pry::Method 54cb0f3
@ConradIrwin ConradIrwin Remove unneeded special case for rbx. 4b612fb
@ConradIrwin ConradIrwin Move all hacking of rbx paths into Pry::Code 71b364e
@kyrylo kyrylo Commands::Play: improve the help output
* Add a few new examples
* Fix typo in the description of `:open` switch
@kyrylo kyrylo Commands::Play: fix typo cc736cd
Commits on May 12, 2013
Uwe Stuehler Fix source lookup for instrumented classes
Once I include DataMapper::Resource, which defines a lot of
additional methods in dm-core/support/hook.rb, the "popularity"
of my own source file ranks lower than first, so candidate(0)
returns the DataMapper source file.  However, none of the REs
returned by #class_regexes matches because my class is obviously
not defined there.

This fixes the problem by re-defining #primary_candidate so that
it filters out obviously invalid candidates.
Uwe Stuehler Avoid returning nil in #primary_candidate
When there is no suitable candidate, instead of memoizing and
returning a nil value, the #primary_candidate method should
still return the rank 0 candidate, or raise an error.
Commits on May 18, 2013
@banister banister Allow show-source --super
Fixing this just required refactoring Pry::CodeObject#empty_lookup
so it respected the 'super_level' parameter
Commits on May 19, 2013
@banister banister Merge pull request #923 from ustuehler/patch-1
Fix source lookup for instrumented classes
Commits on May 24, 2013
@hashrocketeer hashrocketeer Update README.markdown
Hashrocket was misspelled.
@banister banister Merge pull request #928 from hashrocketeer/patch-1
Update README.markdown
Commits on May 26, 2013
@eagletmt eagletmt ~/.pry_history should not be world-readable d1e2c7f
@kyrylo kyrylo Merge pull request #930 from eagletmt/history-permission
~/.pry_history should not be world-readable
Commits on Jun 08, 2013
@zph zph Altered play command message as seen in 'help' 537f398
@kyrylo kyrylo Merge pull request #939 from zph/documentation-tweak-for-play-method
Altered play command message as seen in 'help'
Commits on Jun 09, 2013
@rf- Rename singleton_class{,_of} (fix #940) a0f678b
@rf- Minor refactor of singleton_class_resolution_order 39eaa8d
@ConradIrwin ConradIrwin Remove obsolete comment b3d74bb
Commits on Jun 26, 2013
@nviennot nviennot Thread support for REPL 9c97506
@ConradIrwin ConradIrwin Allow rake 10 and greater 70bbac1
@rubydubee rubydubee Fixing documentation - changing edit-method to edit, since edit-metho…
…d is not supported anymore
Robert Gleeson Merge pull request #945 from rubydubee/master
Fixing README for edit-method
@nviennot nviennot Comment rewording 4cd2b37
@nviennot nviennot InputLocks are maintained in a single hash, keyed by inputs d357903
@nviennot nviennot Guard against spurious interrupt in interruptible_region d213b5c
@nviennot nviennot register_ownership -> with_ownership 37bbb66
@nviennot nviennot Only the owner can touch the @interruptible flag 230e4ad
@nviennot nviennot Pry's critical sections should be per thread 7d592fe
@nviennot nviennot No longer touching the the input. It's a global lock for now (:all) ec2918d
Commits on Jul 04, 2013
@banister banister Merge pull request #944 from nviennot/master
Thread support for REPL
Commits on Jul 17, 2013
@janko-m janko-m Add pry-theme reference in the readme a1aa6d1
@kyrylo kyrylo Merge pull request #949 from janko-m/pry-theme
Add pry-theme reference in the readme
Commits on Jul 22, 2013
Jonathan Jackson and Travis Anderson Add expression flag to play
This is in reference to issue #904.  In said issue it was mentioned that
this should be a `-L` flag because it was ostensibly an extension of the
`-l` flag.  Felt `-e` was more intention revealing.
Commits on Jul 23, 2013
@rf- Recommend pry-rails in README d46c709
@rf- Also link to pry-rails repo d59ca6c
Commits on Jul 24, 2013
@banister banister Merge pull request #952 from hashrocketeer/play_expression
Add expression flag to play
Commits on Jul 26, 2013
@rf- Add 2.0.0 to Travis, allow failures for ruby-head b7969d1
@rf- Fix spec w/r/t 2.0 changing behavior of @ b460170
@rf- Ignore -n and disable_auto_reload in tempfile cases 46288ab
Commits on Jul 27, 2013
@rf- Don't break if __FILE__ is relative and backtrace isn't 42db012
Commits on Jul 28, 2013
@banister banister Update README.markdown 925c1a6
@banister banister Update README.markdown 5701f61
Commits on Aug 19, 2013
@noahd1 noahd1 Add Code Climate badge to README 45c08e3
@banister banister Merge pull request #964 from noahd1/master
Add Code Climate badge to README
Commits on Aug 26, 2013
@rf- Split EOF handling up from other error handling c873c0b
@rf- Remove Coolline special-casing 30c1c8e
@rf- Factor out set_completion_proc method 0c0e086
@rf- Move interrupt handling into readline ae0f4f5
@rf- Refactor error handling into separate methods f9a3aa3
@rf- Pass prompt into read from repl 4bfe513
@rf- Factor out fix_indentation bb4679a
@rf- Minor refactoring of #repl defdfa5
@rf- Factor out indentation into module 8e9d6c9
@rf- Extract error-handling into separate mixin 4b55ddf
@rf- Build this branch cc453a9