Граф коммитов

61 Коммитов

Автор SHA1 Сообщение Дата
Hiroshi SHIBATA 5c6269c459
Support XDG_* (#2174)
* Support XDG_CONFIG_HOME for gemrc.

* Support XDG_DATA_HOME for .gem

* Added test for XDG_DATA_HOME

* Do not reuse environmental variable.

* Unify .rdoc path to RDoc.home.

* Support XDG_DATA_HOME for .rdoc

* Ignore exists?

* Extracted config_home path

* Use XDG_CONFIG_HOME for default credential path

* Fixed inconsistency location.

* Fixed the broken tests.

* Support XDG_CONFIG_HOME for irbrc

* Introduce Gem.cache_home as XDG_CACHE_HOME

* Use Gem.cache_home instead of Gem.config_home for the credential file of RubyGems.

* Initialized the old configurations

* Fixed test failure related the configuration initialization

* restore XDG_DATA_HOME

* Fixed the broken examples of bundler with XDG_*

* Do not modify environmental variable on test file

* Use XDG_DATA_HOME insted of XDG_CACHE_HOME for credential file

* stub out Gem.data_home

* Move dir accessor to defaults.rb file

* Use XDG_DATA_HOME for signed gem features

* Use XDG_DATA_HOME for spec cache

* Do not rely on Gem.user_home

* Gem.user_home is always exists. Don't need to use FileUitls.mkdir_p

* Bump support version to RubyGems 3.2.0+

* Removed the needless fallback configuration

* Fixed the inconsistency methods that are find_config_file and config_file

* Use Gem.configuration.credentials_path instead of hard-coded path

* gem_path is always provided

* Removed the duplicated code of find_home

* Also removed the duplicated code of user_home

* use Gem::UNTAINT instead of untaint for surpressing the warnings

* Use File.directory

* Restore XDG_DATA_HOME

* Use File.write
2020-04-23 19:16:06 +09:00
aycabta 8c3efa4940 Use Reline.encoding_system_needs if exists 2020-01-14 15:40:38 +09:00
aycabta a2638c0d87 Remove an unused setting variable 2020-01-14 15:40:38 +09:00
aycabta 51ea1abb5f Remove e2mmap dependency 2019-11-25 05:38:09 +09:00
aycabta eee70b41d4 Add a warning message and --legacy of an alias of --singleline 2019-11-21 02:44:35 +09:00
aycabta 91bf3b7a77 Use singleline/multiline instead of readline/reidline 2019-11-21 02:44:35 +09:00
aycabta bc0da8e3ff Generate history file path correctly when $HOME/.irbrc doesn't exist 2019-11-20 08:19:58 +09:00
Steven Willis 9d2fed2ccd Don't echo results of assignment expressions 2019-08-16 06:02:45 +09:00
aycabta 43b52ac0a5 Revert "Don't echo results of assignment expressions"
This reverts commit 1ee88c51b3.
2019-08-06 20:28:48 +09:00
Steven Willis 1ee88c51b3 Don't echo results of assignment expressions 2019-08-06 20:15:07 +09:00
Kazuhiro NISHIYAMA b789648830
Change PROMPT_S of simple-prompt
When input `"` or `/` with simple-prompt,

Before:
`"` or `/`
(prompt disappeared and indent is changed)

After:
`"> "` or `/> /`
(indent is unchanged since `>> `)
2019-07-15 10:29:48 +09:00
aycabta 078e50c5e9 Save history in IRB is enabled by default 2019-07-15 01:16:18 +09:00
aycabta 6d57369105 Auto indent in IRB is enabled by default 2019-07-15 01:07:37 +09:00
aycabta 260235ce87 Use Reline as Reidline multiline editor in IRB 2019-05-25 02:16:19 +09:00
aycabta 3a9008b984 Add --colorize and --nocolorize options to IRB 2019-05-21 08:57:21 +09:00
aycabta 94b740b249 Use Ripper for IRB
The debug option of IRB is deleted because it's just for IRB's pure Ruby
parser.
2019-04-30 14:40:06 +09:00
Nobuyoshi Nakada f4f66bd11c
Revert "IRB is improved with Reline and RDoc, take 2"
Accidentally merged when 89271d4a37
"Adjusted indents".
2019-04-23 21:55:29 +09:00
aycabta f2cd4f4cd0
IRB is improved with Reline and RDoc, take 2 2019-04-23 20:08:02 +09:00
aycabta 51cec00953 Revert "IRB is improved with Reline and RDoc"
This reverts commit 7f273ac6d0.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 09:13:49 +00:00
aycabta 7f273ac6d0 IRB is improved with Reline and RDoc
Reline is a readline stdlib compatible library. It also supports
multiline input. IRB is improved with Reline and supports multiline.
Besides, supports showing documents when completed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-20 08:51:20 +00:00
marcandre e859e668d2 lib/*: Prefer require_relative over require.
[#15206] [Fix GH-1976]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-02 17:52:33 +00:00
kazu 38054f99aa Remove unnecessary `:`
Before:

`.../irb/init.rb:280: warning: :LoadError: cannot load such file -- hoge`

After:

`.../irb/init.rb:280: warning: LoadError: cannot load such file -- hoge`

[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12 15:01:07 +00:00
shyouhei f2a91397fd Add uplevel keyword to Kernel#warn and use it
If uplevel keyword is given, the warning message is prepended
with caller file and line information and the string "warning: ".
The use of the uplevel keyword makes Kernel#warn format output
similar to how rb_warn formats output.

This patch modifies net/ftp and net/imap to use Kernel#warn
instead of $stderr.puts or $stderr.printf, since they are used
for printing warnings.

This makes lib/cgi/core and tempfile use $stderr.puts instead of
warn for debug logging, since they are used for debug printing
and not for warning.

This does not modify bundler, rubygems, or rdoc, as those are
maintained outside of ruby and probably wish to remain backwards
compatible with older ruby versions.

rb_warn_m code is originally from nobu, but I've changed it
so that it only includes the path and lineno from uplevel
(not the method), and also prepends the string "warning: ",
to make it more similar to rb_warn.

From: Jeremy Evans code@jeremyevans.net
Signed-off-by: Urabe Shyouhei shyouhei@ruby-lang.org


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12 11:56:25 +00:00
k0kubun 4fe2ca38c1 irb/init.rb: make sure ARGV refers to toplevel one
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12 11:32:37 +00:00
k0kubun da1ba13714 irb.rb: preserve ARGV on binding.irb
This is not perfectly good solution (at least we don't want to have ARGV
as default value of `argv` argument), but unfortunately IRB.setup and
IRB.parse_opts are public methods and we can't make breaking change to
those methods.

We may deprecate using them and then make them private in the future,
but the removal should not be in Ruby 2.5. So I kept their interface for
now.

[Bug #14162] [close GH-1770]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12 11:25:16 +00:00
hsbt 6a08beef51 Removed math mode from irb.
mathn is deprecated from Ruby 2.2.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-20 09:11:36 +00:00
naruse 3e92b635fb Add frozen_string_literal: false for all files
When you change this to true, you may need to add more tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:07:31 +00:00
hsbt 76515504d5 * lib/irb.rb: removed commented-out code.
* lib/irb/**/*.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-09 02:02:58 +00:00
hsbt 8e5af8b628 * lib/cmath.rb: fixed indent.
* lib/drb/ssl.rb: ditto.
* lib/irb/**/*.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-09 01:36:49 +00:00
hsbt 9b9a9249f4 * lib/irb/init.rb: removed unreachable code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-08 07:41:33 +00:00
keiju 32bb0eeb36 * lib/irb/init.rb: change default debug level for
irb[ruby-dev:46805], [Bug #6301].



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-26 03:55:22 +00:00
keiju b7d11c6942 * lib/irb/init.rb, lib/irb/context.rb: fix conf.debug_level=
[Bug #6301] and fix irb command option: -- irb_debug_level for irb. 



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-25 16:35:04 +00:00
keiju 0f63b60f23 * lib/irb/init.rb, lib/irb/lc/ja/error.rb, lib/irb/lc/error.rb:
raise exception when illegal RC_NAME_GENARATOR defined [Bug #6455].



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-25 12:16:10 +00:00
zzak 8983315238 * lib/irb*: merge doc from doc/irb/ird.rd and improve overall
documentation of IRB
* doc/irb/irb.rd: remove stale documentation


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-13 05:22:30 +00:00
nobu 3a47cf3395 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-15 11:55:52 +00:00
nobu 504e6b4dac * lib/irb/init.rb (IRB.parse_opts): fix typo. [ruby-core:33574]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-05 03:09:34 +00:00
mame ffe49186c9 * lib/irb/init.rb (IRB.parse_opts): set VERBOSE to true when debug
switch called in irb.  a patch from Andrew Grimm in
  [ruby-core:31558].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-01 01:48:57 +00:00
mame d3e7b990dc * lib/irb/init.rb, lib/irb/lc/help-message,
lib/irb/lc/ja/help-message: add -w flag.  [ruby-core:24594]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-09 14:55:18 +00:00
keiju 24a510a11e * lib/irb.rb, lib/irb/init.rb, lib/irb/ext/save-history.rb: add
IRB::irb_at_exit. no use finalizer saving history. [ruby-dev-38563]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-21 15:39:51 +00:00
keiju c7fa0c727c * bin/irb, lib/irb.rb lib/irb/*: irb-0.9.6, extend inspect-mode
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-07 11:36:20 +00:00
nobu 287a34ae0d * {ext,lib,test}/**/*.rb: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-06 03:56:38 +00:00
yugui 5c1bd53c92 * lib/irb/init.rb (IRB.opt_parse): (M17N) adds -U and -E as command
line options. [ruby-dev:37161]. Fixes #711.
  improved long optinos.

* lib/irb/init.rb (IRB.set_encoding): new subroutine for IRB.opt_parse

* lib/irb/input-method.rb (IRB::StdioInputMethod): (M17N) regards
  scripts that user types as encoded in the external_encoding.

* lib/irb/input-method.rb (IRB::ReadlineInputMethod): ditto.

* lib/irb/input-method.rb (IRB::FileInputMethod): (M17N) respects
  magic comment.

* lib/irb/help.rb (IRB.print_usage): (M17N) respects magic comment
  in the resource file.

* lib/irb/lc/help-message: adds -U and -E.

* lib/irb/lc/ja/help-message: ditto. re-encoded from ISO-2022-JP into UTF-8.

* lib/irb/lc/ja/encoding_aliases.rb: new file. provides Japanese specific
  character encoding name table for backward compatibility.

* lib/irb/lc/ja/error.rb: re-eoncoded from ISO-2022-JP into UTF-8.
  magic comment.

* lib/irb/locale.rb: integrated with Ruby 1.9's M17N support.

* lib/irb/magic-file.rb: new file. utility to handle files with magic
  comment and opens in the correct encoding.

* lib/irb/ruby-lex.rb (RubyLex#each_top_level_statement): recovers
  character encoding for a statement after it lexed so that irb can
  eval the statement in correct encoding.

* lib/irb/src_encoding.rb: new file. utility.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-18 13:09:26 +00:00
matz 04e30e3103 * lib/irb/init.rb (IRB.load_modules): catch LoadError explicitly.
a patch from Daniel Berger <Daniel.Berger at qwest.com> in
  [ruby-core:19451].  fix [ruby-core:19450]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-23 07:21:05 +00:00
akr 6cdef2dc7e * $Date$ keyword removed to avoid inclusion of locale dependent
string.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-01-06 15:49:38 +00:00
matz 0f0f79d34b * lib/rdoc/options.rb (Options::parse): do not access $KCODE any
longer.  [ruby-core:14079]

* lib/irb/init.rb (IRB::IRB.parse_opts): ditto.

* lib/cgi.rb (CGI::CGI): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-14 17:05:15 +00:00
keiju c5f550c069 * lib/irb/{init.rb,ruby-lex.rb,slex.rb}: can't input '\c' for
[ruby-core: 7122]. and support for ruby1.8.X


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-04 10:06:17 +00:00
matz 7f72360259 * parse.y (parser_parse_string): mention "regexp" in a error
message.  a patch from Mauricio Fernandez <mfp at acm.org>
  [ruby-core:07340]

* eval.c (rb_f_autoload): check if ruby_cbase is nil (during
  instance_eval for objects cannot have singleton classes,
  e.g. fixnums and symbols).  [ruby-dev:28178]

* gc.c (rb_gc_call_finalizer_at_exit): turn on during_gc while
  invoking finalizers.

* gc.c (rb_gc_finalize_deferred): ditto.

* io.c (rb_write_error2): use fwrite(3) if rb_stderr is not
  updated or is already freed.  [ruby-dev:28313]

* eval.c (error_line): include the class name of a surrounding
  method in error position description.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-13 04:53:22 +00:00
keiju d14de3ecc7 * lib/irb/init.rb: bug fix. [ruby-dev: 26920]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-30 07:22:06 +00:00
keiju 6f23ba054a * lib/irb/init.rb: make IRB -I option that is same befavior for ruby.
[ruby-dev:26872]

* lib/irb/locale.rb: support to print help message when OS locale is
  ja_JP.utf-8. [ruby-dev:26872]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-29 10:00:27 +00:00
keiju 317948160b * lib/irb/init.rb: make IRB -I option that is same befavior for ruby.
[ruby-dev:26872]

* lib/irb/locale.rb: support to print help message when OS locale is
  ja_JP.utf-8. [ruby-dev:26872]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-26 05:36:23 +00:00