Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace Bond with IRB #276

Closed
wants to merge 1 commit into from
Closed

Replace Bond with IRB #276

wants to merge 1 commit into from

Conversation

cfis
Copy link
Contributor

@cfis cfis commented May 19, 2020

This pull request replaces bond with IRB. Bond is a gem that hasn't been updated in 6 years, requires a native extension, and does not compile with MSVC. Instead, the PlainBackend is switched over to IRB which is installed with Ruby.

@kojix2
Copy link
Member

kojix2 commented May 19, 2020

Hi @cfis
Thank you for your Pull request. It would be great if we could replace bond with IRB.
I'll show it to someone familiar with the IRB... So please wait.

@cfis
Copy link
Contributor Author

cfis commented May 27, 2020

Thoughts?

@kojix2
Copy link
Member

kojix2 commented May 29, 2020

I agree with dropping bond. But there may be some issues.

  1. in case of an error, Backend class objects should return eval_path.
def eval_path
  @irb.context.irb_path
end

The current pull request causes problems here.

rindex = e.backtrace.rindex{|line| line.start_with?(@backend.eval_path)} || -1

  1. IRB execute code at Binding in the Object::TOPLEVEL_BINDING function. This causes the history module to fail. But I think the original approach may not be so appropriate...

image

  1. Are these codes necessary? I don't know well...
IRB.conf[:MAIN_CONTEXT] = @irb.context
# Called by irb
def set_encoding(extern, intern)
  a = extern
end

ping @mrkn, what do you think?

…dated in 6 years, requires a native extension, and does not compile with MSVC. Instead, the PlainBackend is switched over to IRB which is installed with Ruby.
@mrkn mrkn added this to the Version 0.6.0 milestone Mar 25, 2021
@mrkn mrkn self-assigned this Mar 25, 2021
@mrkn
Copy link
Contributor

mrkn commented May 24, 2021

I cannot continue to work this pull request because this repository was detached from minrk/iruby.
I'll continue to work this in the new pull request.

@mrkn mrkn mentioned this pull request May 24, 2021
@mrkn
Copy link
Contributor

mrkn commented May 25, 2021

I fixed this by #297.

@mrkn mrkn closed this May 25, 2021
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request May 29, 2021
0.7.0 (2021-05-28)

Enhancements
* The default backend is changed to IRB (@mrkn)
* Add IRuby::Kernel#switch_backend! method (@mrkn)

Bug Fixes
* Fix the handling of image/svg+xml
  SciRuby/iruby#300,
  SciRuby/iruby#301 (@kojix2)

0.6.1 (2021-05-26)

Bug Fixes
* Follow the messages and hooks orders during execute_request processing
  (@mrkn)

0.6.0 (2021-05-25)

Bug Fixes
* Fix the handling of application/javascript
  SciRuby/iruby#292,
  SciRuby/iruby#294 (@kylekyle, @mrkn)

Enhancements
* Add the initialized event in IRuby::Kernel class
  SciRuby/iruby#168,
  SciRuby/iruby#296 (@Yuki-Inoue, @mrkn)
* Add the following four events SciRuby/iruby#295
  (@mrkn):
  - pre-execute -- occurs before every code execution
  - pre-run-cell -- occurs before every non-silent code execution
  - post-execute -- occurs after every code execution
  - post-run-cell -- occurs after every non-silent code execution
* Replace Bond with IRB in PlainBackend
  SciRuby/iruby#276,
  SciRuby/iruby#297 (@cfis, @mrkn)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants