Hiroshi SHIBATA
ddf0080fd3
[ruby/io-console] Bump up 0.8.0
...
467508a0c6
2024-12-03 05:05:14 +00:00
Nobuyoshi Nakada
8ec58a91f7
[ruby/io-console] Add IO#ttyname that returns the tty name or nil
...
fdad351501
2024-12-02 08:03:30 +00:00
Nobuyoshi Nakada
9948a8c8df
[ruby/io-console] Freeze the version string
...
aa79919f79
2024-12-02 05:00:47 +00:00
Nobuyoshi Nakada
decc02996a
[ruby/io-console] Check if rb_syserr_fail_str
is available
...
Truffle ruby seems to lack it.
839c1e80eb
2024-12-02 03:37:15 +00:00
Alan Wu
c41af37ee6
[ruby/io-console] Read errno before calling rb_io_path()
...
Possible fix for recent crashes seen on CI.
[BUG] rb_sys_fail_str(<STDIN>) - errno == 0
rb_io_path() calls rb_obj_dup(), which could call initialize_dup in Ruby
and clobber errno before rb_sys_fail_str() gets to read errno. So
save it out first.
(Using separate statements because order of evaluation in function call
list is unspecified, and order is important here.)
0ba400b5e7
2024-11-27 03:19:39 +00:00
Yusuke Endoh
3face42d8a
Revert "Add a temporal debugging code"
...
This reverts commit 5bd144c1bb
.
2024-11-27 11:43:02 +09:00
Yusuke Endoh
5bd144c1bb
Add a temporal debugging code
...
... to check the return value of ioctl
http://ci.rvm.jp/results/trunk_asan@ruby-sp1/5423172
```
/tmp/ruby/src/trunk_asan/lib/reline/io/ansi.rb:192: [BUG] rb_sys_fail_str(<STDIN>) - errno == 0
```
2024-11-22 15:00:20 +09:00
Hiroshi SHIBATA
da151ab1e7
[ruby/io-console] Bump up v0.8.0.beta1
...
8ec27d403e
2024-11-12 06:04:57 +00:00
Nobuyoshi Nakada
185602e696
[ruby/io-console] Fix mixing declarations and code for older versions
...
504292b487
2024-09-01 03:46:44 +00:00
Nobuyoshi Nakada
37db194c02
[ruby/io-console] Support older rubies
...
cad8169568
2024-09-01 03:46:43 +00:00
Nobuyoshi Nakada
e69945fc57
[ruby/io-console] Workaround for old TruffleRuby
...
f10c946ac7
2024-08-31 08:43:59 +00:00
Nobuyoshi Nakada
4a1ea9b63a
[ruby/io-console] Store console IO in Ractor-local storage
...
Ractor requires a shareable class has shareable constants only, but IO
is not shareable unless frozen.
65e0ff895c
2024-08-31 08:43:59 +00:00
Nobuyoshi Nakada
365ededfdf
[ruby/io-console] io-console is considered Ractor-safe
...
b1adc15af7
2024-08-31 05:46:05 +00:00
Nobuyoshi Nakada
12a5400a88
[ruby/io-console] Remove no longer used variable
...
651797ff8a
2024-07-31 13:20:01 +00:00
Nobuyoshi Nakada
e428ee7bbe
[ruby/io-console] Use locale insensitive casecmp
...
4b2e876dd7
2024-06-24 15:38:11 +00:00
Nobuyoshi Nakada
f4f8aa0f89
[ruby/io-console] Use strcasecmp
...
f8ec8a0617
2024-06-24 15:38:10 +00:00
Hiroshi SHIBATA
af60cdf674
[ruby/io-console] Bump up version to 0.7.2
...
1f2877a185
2024-01-18 01:36:52 +00:00
Nobuyoshi Nakada
73fb9c35ef
[ruby/io-console] IO_CONSOLE_VERSION
is no longer a macro
...
14b35217dc
2024-01-03 02:12:30 +00:00
ima1zumi
8916b81bf4
[ruby/io-console] Define IO::ConsoleMode::VERSION from console.c
...
6302a2082c
2024-01-02 22:17:05 +00:00
Nobuyoshi Nakada
e7f91fd74c
[ruby/io-console] [DOC] Add missing documents
...
44dce34569
2023-12-25 21:12:49 +09:00
Nobuyoshi Nakada
4173c4bcfb
[ruby/io-console] Extract CSI sequence
...
63dbeeecf4
2023-12-25 21:12:49 +09:00
Matheus Richard
d69af4788a
[ruby/io-console] [DOC] Add documentation for IO#cursor
...
ruby/io-console#50
ee752ce771
2023-12-07 10:50:00 +00:00
Nobuyoshi Nakada
f08400a07a
[ruby/io-console] Define IO::ConsoleMode::VERSION from gemspec
...
ebdbebf461
2023-11-10 19:00:46 +09:00
Nobuyoshi Nakada
7578bc35f9
[ruby/io-console] Intersperse Win32 and termios implementations
...
So that the both sources appear in RDoc generated HTMLs.
beec164a47
2023-10-22 03:18:34 +00:00
Nobuyoshi Nakada
412defc7ad
[ruby/io-console] Get rid of address of an rvalue on TruffleRuby
...
653c1cd33f
2023-08-18 03:55:05 +00:00
Nobuyoshi Nakada
818ba30ee9
[ruby/io-console] Avoid the influence of special variable $/
...
5f71354332
2023-08-18 03:55:04 +00:00
Nobuyoshi Nakada
cff8058701
[ruby/io-console] Ensure to put a newline after password
...
15e36af171
2023-08-18 03:55:04 +00:00
Nobuyoshi Nakada
528da4347c
[ruby/io-console] Flush after prompt
...
040a1d6259
2023-08-18 03:55:03 +00:00
Nobuyoshi Nakada
540cf43205
[ruby/io-console] Enable getpass
methods always
...
57f9649df4
2023-08-18 03:55:02 +00:00
Nobuyoshi Nakada
1bbce42964
[ruby/io-console] [DOC] Remove a trailing space from the prompt too
...
85a155f25f
2023-08-18 01:17:03 +00:00
Nobuyoshi Nakada
1107cfd077
[ruby/io-console] * remove trailing spaces [ci skip]
...
a0544eb74f
2023-08-18 01:15:00 +00:00
Olivier Lacan
43802a088e
[ruby/io-console] [DOC] IO::console.getpass usage example
...
There were no clear example of this very useful method's usage anywhere
in the IO or IO::Console docs, which was a shame.
4d324586a8
2023-08-18 01:02:42 +00:00
Samuel Williams
64ec1813ac
Restores the changes in io-console
without breaking backwards compatibility. ( #7882 )
...
This reverts commit 35da41b29b
.
This updates `io-console` to avoid accessing the internal details of `rb_io_t`
and instead use `rb_io_descriptor` and `rb_io_path` etc.
2023-06-01 17:43:45 +09:00
Hiroshi SHIBATA
35da41b29b
Revert https://github.com/ruby/io-console/pull/43
...
This reverts commit 1889133c04
and
commit 764207e47c
.
Followed up with 85dcc4866d
2023-06-01 09:36:55 +09:00
Samuel Williams
764207e47c
[ruby/io-console] Remove trailing whitespace.
...
55f1586463
2023-05-29 12:37:49 +00:00
Samuel Williams
1889133c04
[ruby/io-console] Remove usage of IO internals.
...
(https://github.com/ruby/io-console/pull/43 )
4b839a504f
Co-authored-by: Benoit Daloze <eregontp@gmail.com>
2023-05-29 12:30:32 +00:00
Nobuyoshi Nakada
678bcfcaa6
[ruby/io-console] Check rawmode option names strictly
...
aa8fc7e947
2022-12-02 10:33:35 +00:00
Samuel Williams
f27eb8148f
Sync io-console gem.
2021-12-29 13:27:40 +13:00
Samuel Williams
548c8f5f7a
Prefer to use RTEST when checking result of rb_io_wait
. ( #5341 )
...
* Prefer to use RTEST when checking result of `rb_io_wait`.
* Consistently use false for signifying no events ready.
2021-12-25 02:26:06 +13:00
Nobuyoshi Nakada
5bfca88f76
[ruby/io-console] Fixed typo
2021-02-09 17:39:00 +09:00
Samuel Williams
5f69a7f604
Expose scheduler as public interface & bug fixes. ( #3945 )
...
* Rename `rb_scheduler` to `rb_fiber_scheduler`.
* Use public interface if available.
* Use `rb_check_funcall` where possible.
* Don't use `unblock` unless the fiber was non-blocking.
2021-02-09 19:39:56 +13:00
Nobuyoshi Nakada
83e62d7798
[ruby/io-console] Shrink struct query_args
...
720be0a3e5
2021-01-05 21:26:15 +09:00
Nobuyoshi Nakada
4272395982
[ruby/io-console] Pre-define chomp! ID
...
028e1c9497
2021-01-05 21:26:13 +09:00
Nobuyoshi Nakada
ead8d89bd7
[ruby/io-console] Ignore chomp! result and return the modified string
...
09e5ccc729
2021-01-05 21:26:11 +09:00
Marcus Stollsteimer
451b456051
[ruby/io-console] [DOC] Note that IO#getpass returns a chomped string
...
IO#getpass uses String#chomp! on the read input line.
1e98c93bc8
2021-01-05 12:59:53 +09:00
Nobuyoshi Nakada
71428ac264
[ruby/io-console] Refined getch warnings
...
f84e6abcce
2020-10-11 02:00:28 +09:00
Nobuyoshi Nakada
37259e878f
[ruby/io-console] Relaxed min: option warning
...
When `min: 0` is given to `IO#getch` with `time:` option, it is
expected to return nil if timed out, and needed for source code
the compatibility with unixen platforms.
a2afbe72bd
2020-10-11 02:00:26 +09:00
Nobuyoshi Nakada
a79966743c
[ruby/io-console] Fix timeout type error ( #18 )
...
Fixed TypeError when IO#getch timed out
`rb_io_wait` returns a bit-flags Integer representing available
events, or Qfalse if timed out. Also the result of `NUM2INT` is
not a `VALUE`.
```
$ ./bin/ruby -v -rio/console -e "p IO.console.getch(intr: true, time: 0.1)"
ruby 3.0.0dev (2020-10-09T20:27:30Z master 5ea2ea74cc
) [x64-mingw32]
-e:1:in `getch': no implicit conversion of false into Integer (TypeError)
from -e:1:in `<main>'
```
3bdfaf62df
2020-10-11 02:00:24 +09:00
Nobuyoshi Nakada
b59640e155
[ruby/io-console] Fixed "Rework console to use rb_io_wait
."
...
* Fixed backward compatibility.
* Added missing `rb_scheduler_timeout` declaration.
813806079f
2020-10-11 01:27:15 +09:00
Samuel Williams
7fca274198
Rework console to use rb_io_wait
.
2020-09-14 16:44:09 +12:00