Commit graph

59 commits

Author SHA1 Message Date
Jeremy Evans
14e1739ff3 [ruby/irb] Make save-history extension safe for concurrent use
This makes the save-history extension check for modifications to
the history file before saving it.  If the history file was modified
after the history was loaded and before it was saved, append only
the new history lines to the history file.

This can result in more lines in the history file than SAVE_HISTORY
allows.  However, that will be fixed the next time irb is run and
the history is saved.

Fixes [Bug #13654]

041ef53845
2021-03-06 00:18:32 +09:00
Nobuyoshi Nakada
b83b27cddb [ruby/irb] Fix inverse separator condition
33f933196f
2021-02-12 00:02:16 +09:00
aycabta
d77a42fbfd [ruby/irb] Suppress error when File::ALT_SEPARATOR is nil
96accf3b95
2021-02-11 20:27:25 +09:00
Nobuyoshi Nakada
f6387ae073 Fix absolute path predicate on Windows
A path starts with '/' is not an absolute path on Windows, because
of drive letter or UNC.
2021-01-29 10:26:18 +09:00
Nobuhiro IMAI
5b05b85d85 [ruby/irb] add IRB::FileInputMethod.open to ensure closing associated File
* tweak some methods not to raise exception after `#close`
* use it in `IRB::IrbLoader#{source_file,load_file}

ec2947acbd
2021-01-27 15:01:57 +09:00
aycabta
8882927036 [ruby/irb] Discard newlines at end of file
0b2773d91d
2020-08-28 11:05:18 +09:00
Nobuyoshi Nakada
7fa86de15b [ruby/irb] Workaround a bug of ruby-mode.el
6dfd59400d
2020-08-18 14:38:01 +09:00
Nobuyoshi Nakada
82d4da7816 [ruby/irb] Yet another unnecessary readline
933841af11
2020-08-18 14:38:01 +09:00
aycabta
126e1fc296 [ruby/irb] Make history infinite if set SAVE_HISTORY to negative
824473e880
2020-08-18 14:38:01 +09:00
aycabta
ef498a016b [ruby/irb] Suppress crash when bignum is set to SAVE_HISTORY
5044eb2730
2020-08-18 14:38:01 +09:00
Nobuyoshi Nakada
bc646e6715
[DOC] get rid of parsing as TIDYLINK unintentionally 2020-04-07 13:59:38 +09:00
aycabta
8c3efa4940 Use Reline.encoding_system_needs if exists 2020-01-14 15:40:38 +09:00
aycabta
51ea1abb5f Remove e2mmap dependency 2019-11-25 05:38:09 +09:00
aycabta
1aeb201d28 Remove debug code... 2019-11-24 23:29:09 +09:00
aycabta
745ab16818 Disable tracer ext of IRB when tracer doesn't found 2019-11-24 22:42:08 +09:00
zverok
4fe06f4667 IRB: Document command evaluation history. 2019-10-26 10:24:20 -07:00
aycabta
48fdc37ad5 IRB's multiline history is enable only when Reidline mode 2019-08-22 05:09:08 +09:00
Jeremy Evans
a06301b103 Ignore history file without saving if permissions cannot be changed
Fixes [Ruby Bug 13907]
2019-07-27 16:56:04 +09:00
aycabta
0af897ab59 Simplify history saving code 2019-07-15 10:20:23 +09:00
aycabta
17ccda5413 Use #to_a for Readline::HISTORY directly 2019-07-15 08:33:07 +09:00
aycabta
266f6cd8a1 Remove debug print 2019-07-15 07:54:47 +09:00
aycabta
4b7a04a5b8 Support multiline irb_history
A history line ends with "\" to escape newline if it's a continuous
line.
2019-07-15 07:51:57 +09:00
Masataka Pocke Kuwabara
9806da50f4 Suppress warnings 2019-07-15 00:13:01 +09:00
Sutou Kouhei
29c16b30ce Add support for history with Reline backend 2019-05-27 06:32:52 +09: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
6064132c42 Remove unnecessary require 'thread'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-08 07:00:01 +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
hsbt
589169cb78 * lib/irb/ext/save-history.rb: Fix NoMethodError when method is not defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-15 11:27:38 +00:00
naruse
af24631af6 * lib/irb/ext/save-history.rb: suppress warning: method redefined;
discarding old save_history=.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-14 10:06:41 +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
2afed6ecef * lib/e2mmap.rb: remove needless instance variables.
* lib/irb.rb: ditto.
* lib/irb/**/*.rb: ditto.
* lib/shell.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-24 07:16:25 +00:00
hsbt
0b7979a8fd * lib/irb/ext/multi-irb.rb: fixed indent.
* lib/irb/output-method.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-10 01:05:08 +00:00
hsbt
f9a81499ff * lib/irb/ext/multi-irb.rb: removed commented-out code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-10 01:05:06 +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
zzak
f11ff34d8f * lib/irb.rb, lib/irb/ext/save-history.rb: Add documentation on how to
enabled irb history [ruby-core:51347] [Bug #7679]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-04 23:04:09 +00:00
keiju
e70e46a1be * lib/irb/ext/save-history.rb: identify rightly a status of a
history file that already exists [Bug #7694]. Thanks Nobuhiro IMAI
	  for this patch.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-15 13:42:09 +00:00
keiju
9deb82b1d9 * lib/irb/ext/save-history.rb: outputs its history to
owner-only-readable file and change the permission of a file that
	  already exists [Bug #7694]. Thanks Nobuhiro IMAI for bug reports.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-14 14:17:18 +00:00
keiju
35caefa5f1 * lib/irb/ext/math-mode.rb: make not able to change math-mode
after irb starting [Bug #6302]. Patched by sho-h.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-26 12:29:28 +00:00
zzak
7e9eb32669 * lib/irb.rb, lib/irb/*: Documentation for IRB
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-21 05:45:50 +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
marcandre
f3e3547407 * lib/*.rb: Remove unused variable warnings.
Patch by Run Paint [ruby-core:30991]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29726 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-08 20:59:01 +00:00
keiju
14e5c442c5 * lib/irb/ext/multi-irb.rb: fix multi-irb running
parallelly. [ruby-dev:41031] [Bug #3182]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-22 12:54: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
f378f10473 * lib/**/*.rb: removed unnecessary shbang lines.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-06 04:23:05 +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
matz
85bae86cb6 * lib/optparse/version.rb: remove variable shadowing to stop
warning.   [ruby-core:20612]

* lib/irb/completion.rb, lib/net/imap.rb, lib/prime.rb,
  lib/rinda/ring.rb, lib/racc/parser.rb,
  lib/shell/command-processor.rb, lib/yaml/yamlnode.rb: ditto.

* lib/racc/parser.rb: remove space before parentheses.

* lib/shell/command-processor.rb, lib/shell/process-controller.rb:
  use parentheses around arguments.

* lib/irb/ext/change-ws.rb, lib/rexml/validation/relaxng.rb,
  lib/yaml/baseemitter.rb: indentation fix.

* lib/matrix.rb: small cosmetic change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-18 07:54:50 +00:00
keiju
bf437b73c6 * irb/ext/save-history.rb: typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 03:28:19 +00:00
keiju
0fdc3b4bc5 * lib/irb/irb/ext/save-history.rb: change load_history using File.expand_path. see [ruby-dev:36660]. Thanks Kouhei Sutou.
* lib/irb/irb/context.rb: convert string Symbol of instance variable names in IRB:Context#inspect.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 03:26:16 +00:00