Commits on May 28, 2012
  1. Remove "req" command [Fixes #554]

    Despite the name this command actually wraps the ruby method `load`, which you can use instead (it's only one extra character!)
    If you'd like the original back, add the following to `~/.rvmrc`
        command "req", "Require file(s) and expand their paths." do |*args|
          args.each { |file_name| load File.expand_path(file_name) }
    ConradIrwin committed May 28, 2012
  2. Set Pry::Slop equal to Slop (v2.4.4)

    We've decided not to upgrade our slop dependency to version 3 for
    several reasons:
    1. People who are currently using pry in their programs are using slop
    version 2; and they may not realise this. Bumping the slop dependency
    could therefore break people's code in subtle ways. By removing the
    dependency completely we make it obvious that breakage has occurred, and
    allows programs to chose their own version of slop.
    2. The new version of slop is incompatible with pry. As a command-line
    tool we use our option parsing library very very intensely; and as such
    we've grown used to (and even embraced) it's warts, inconcistencies and
    undocumented behaviours. Upgrading the slop dependency at this point
    requires a lot of fix up work both on the slop codebase and the pry
    3. The slop API is implicitly part of the pry API for defining custom
    commands; by changing that API we run a significant risk of breaking
    people's pry extensions.
    4. The problems in 1., 2. and 3. are going to recur every time slop releases
    a new version.
    5. Doing this does not preclude upgrading the version of slop we use in
    the future. Beacuse 1. will not occur anymore, the only breakage that we
    can cause is in pry extensions; this seems resonable providing we signal
    the fact that we're doing it (for example by updating the major
    version number).
    ConradIrwin committed May 27, 2012
Commits on May 26, 2012
Commits on May 25, 2012
  1. upgraded gist and save-file

    gist now supports:
    --hist for gisting readline history
    -k for gisting classes
    -o for gisting evaluation results
    A newline is also inserted after each element of the gist
    save-file now supports:
    --k for classes
    -o for evaluation results
    (--hist isn't requires as that's suppored by 'hist' command itself)
    banister committed May 25, 2012
Commits on May 20, 2012
  1. Remove unnecessary tracking of Pry session count

    The only purpose of active_sessions is to decide whether to save input
    history, but there's no reason not to save the history at the end of
    each session.
    rf- committed Mar 18, 2012
Commits on May 18, 2012
  1. "ri" command enhanced

     * Lightning fast
     * Lazily loaded
     * Color coded
     * Smells like peppermint
    epitron committed May 18, 2012
Commits on May 17, 2012
  1. _line_ should not be set by whereami.

    Due to a small misunderstanding _line_ was set when really only _dir_ and _file_
    had to be set when the user would call `whereami`.
    Signed-off-by: Yorick Peterse <>
    YorickPeterse committed May 17, 2012
Commits on May 16, 2012
  1. Set _file_ and _line_ when calling whereami.

    When a user would place a call to `binding.pry` followed by calling `whereami`
    the locals _file_ and _line_ would not be set properly. This commit fixes this
    by using the helper method `set_file_and_dir_locals()` (which also ensures _dir_
    is set properly) as well as `_pry_.inject_local`.
    Currently the _file_ local is set to /path/to/your/directory/(pry) if the
    binding was set in a Pry session itself. I'm not entirely sure if this is
    expected behavior, if this isn't the case it shouldn't be too hard to detect and
    fix in a following commit.
    This commit fixes #574.
    Signed-off-by: Yorick Peterse <>
    YorickPeterse committed May 16, 2012
Commits on May 10, 2012
  1. version release

    As a result of the fix for #558 we got the following
    error on 1.8.7:
    "On MRI 1.8.7-p358, this results in "TypeError:
    String can't be coerced into Fixnum",".
    This commit should fix that.
    banister committed May 10, 2012
  2. I WAZ ERE 2012

    ConradIrwin committed May 10, 2012
  3. v0.9.9.5 minor release

    ConradIrwin committed May 10, 2012
Commits on May 8, 2012
  1. Merge pull request #548 from YorickPeterse/master

    Auto create configuration objects for plugins
    YorickPeterse committed May 8, 2012
  2. Revert "Always start the prompt in the first column (fix #551)"

    This fixes #564 this commit does more harm than good, as it
    causes things to break badly on libedit. The bug it's fixing is
    also quite trivial and highly unlikely to annoy anybody in
    This reverts commit 7af3660.
    banister committed May 8, 2012
Commits on May 5, 2012
  1. Preserve backticks and don't double highlight [Fixes #562]

    Before this change all `` pairs were removed from documentation which
    makes the ``foo'' quoting style used by some authors look very odd.
    We'd also try to syntax highlight code inside `` inside code, which
    caused nasty rendering errors as the escape sequences got tangled up.
    ConradIrwin committed May 5, 2012
Commits on May 2, 2012
Commits on Apr 29, 2012
Commits on Apr 25, 2012
  1. version bugfix release

    Fixes `undefined method `winsize' for #<IO:<STDOUT>>` error (#549), and exit breakage on syntax error (#550).
    banister committed Apr 25, 2012
  2. Fix `exit` after previous syntax error in `exit` command.

    Before this commit, the binding stack was cleared before evaluating
    the user-given value for the `exit` command. If a syntax error happened
    when `eval`ing it, the program would still be running with no elements
    in the binding stack, causing next calls of `exit` to fail.
    Renato Mascarenhas committed Apr 25, 2012
  3. Fix Jruby...

    ConradIrwin committed Apr 25, 2012
Commits on Apr 23, 2012
  1. Set plugin options before requiring the plugin.

    Signed-off-by: Yorick Peterse <>
    YorickPeterse committed Apr 23, 2012
Commits on Apr 22, 2012
  1. Don't indent inside strings. [Fixes #535]

    This is acheived by keeping track of which Strings are open and
    re-opening them before giving CodeRay the new line of input.
    I considered instead passing the entire input through CodeRay and then
    just extracting the last line of tokens, unfortunately this would
    exhibit O(n²) behaviour when pasting code into the terminal; and it's
    not obvious whether the tokenization would be stable enough to guarantee
    an easy way to get the last line of tokens.
    ConradIrwin committed Apr 22, 2012
Commits on Apr 21, 2012
Commits on Apr 20, 2012
  1. Auto create configuration objects for plugins.

    Whenever a plugin is activated a configuration object (using OpenStruct) will be
    created in Pry.config for that plugin. For example, for the plugin "pry-doc" the
    object Pry.config.pry_doc would be created.
    See #436 for more information.
    Signed-off-by: Yorick Peterse <>
    YorickPeterse committed Apr 20, 2012
  2. version docfix release

    banister committed Apr 20, 2012