[#84867] [Ruby trunk Bug#14357] thread_safe tests suite segfaults — v.ondruch@...
Issue #14357 has been reported by vo.x (Vit Ondruch).
11 messages
2018/01/15
[#85364] Re: [Ruby trunk Bug#14357] thread_safe tests suite segfaults
— Eric Wong <normalperson@...>
2018/02/03
v.ondruch@tiscali.cz wrote:
[#85368] Re: [Ruby trunk Bug#14357] thread_safe tests suite segfaults
— Eric Wong <normalperson@...>
2018/02/03
Eric Wong wrote:
[#85442] Re: [Ruby trunk Bug#14357] thread_safe tests suite segfaults
— Eric Wong <normalperson@...>
2018/02/06
Eric Wong <normalperson@yhbt.net> wrote:
[#85451] Re: [Ruby trunk Bug#14357] thread_safe tests suite segfaults
— Vladimir Makarov <vmakarov@...>
2018/02/06
On 02/06/2018 05:00 AM, Eric Wong wrote:
[#84874] [Ruby trunk Bug#14360] Regression CSV#open method for writing from Ruby 2.4.3 to 2.5.0 — shevegen@...
Issue #14360 has been updated by shevegen (Robert A. Heiler).
3 messages
2018/01/15
[#84980] [Ruby trunk Feature#13618][Assigned] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — hsbt@...
Issue #13618 has been updated by hsbt (Hiroshi SHIBATA).
10 messages
2018/01/23
[#85012] Re: [Ruby trunk Feature#13618][Assigned] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
— Eric Wong <normalperson@...>
2018/01/23
hsbt@ruby-lang.org wrote:
[#85081] Re: [Ruby trunk Feature#13618][Assigned] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
— Eric Wong <normalperson@...>
2018/01/24
Eric Wong <normalperson@yhbt.net> wrote:
[#85082] Re: [Ruby trunk Feature#13618][Assigned] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
— Eric Wong <normalperson@...>
2018/01/24
> Thinking about this even more; I don't think it's possible to
[#85088] [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — danieldasilvaferreira@...
Issue #13618 has been updated by dsferreira (Daniel Ferreira).
3 messages
2018/01/25
[#85107] [Ruby trunk Misc#14222] Mutex.lock is not safe inside signal handler: what is? — eregontp@...
Issue #14222 has been updated by Eregon (Benoit Daloze).
3 messages
2018/01/25
[#85136] Re: [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — Eric Wong <normalperson@...>
samuel@oriontransfer.org wrote:
3 messages
2018/01/26
[ruby-core:85211] [Ruby trunk Feature#14405] Add base option to Pathname.glob also
From:
kuwabara@...
Date:
2018-01-29 05:54:02 UTC
List:
ruby-core #85211
Issue #14405 has been updated by pocke (Masataka Kuwabara).
nobu (Nobuyoshi Nakada) wrote:
> `Pathname` has `glob` instance method.
>
> ```ruby
> p Pathname('lib').glob('i*.rb', 0) => [#<Pathname:lib/ipaddr.rb>, #<Pathname:lib/irb.rb>]
> ```
>
> This looks brief enough.
Definitely. I also noticed it after created this ticket.
However I think `Pathname.glob` makes sense for two reasons.
Firstly, I think `Pathname.glob` should have same interface as `Dir.glob`. For example, if they have the same interface, we can replace `Dir.glob` with `Pathname.glob` more easily.
```
# before
Dir.glob('*', base: 'path/to/dir')
# When I'd like to get pathnames:
# If they don't have the same interface, I should rewrite the whole code.
Pathname('path/to/dir').glob('*')
# If they have the same interface, I'll just replace `Dir` with `Pathname` only. I think it is more easily.
Pathname.glob('*', base: 'path/to/dir')
```
Secondly, I feel the `Pathname('path/to/dir')` is a subject in `Pathname('path/to/dir').glob('*')`, and `base: 'path/to/dir'` is not a subject in `Pathname.glob('*', base: 'path/to/dir')`.
I guess a base directory is not a subject of the `glob` methods in many cases, so I'd like to use the keyword argument style in many cases.
(ここの英語でちゃんと伝えきれているかわからないので、日本語で補足させてください。
`Pathname('path/to/dir').glob('*')`では、`Pathname('path/to/dir')`がこのコードの主役のように感じます。一方`Pathname.glob('*', base: 'path/to/dir')`の方では`base: 'path/to/dir'`はコードの主役ではないように感じます。
多くのケースにおいて、baseディレクトリと言うのは`glob`の主役ではない(パターンがこのメソッドの主役)と思うので、その関係をより色濃く反映したkeyword引数のスタイルの方を使いたいです。)
What do you think?
----------------------------------------
Feature #14405: Add base option to Pathname.glob also
https://bugs.ruby-lang.org/issues/14405#change-69957
* Author: pocke (Masataka Kuwabara)
* Status: Feedback
* Priority: Normal
* Assignee:
* Target version:
----------------------------------------
`Dir.glob` has `base` option since Ruby 2.5.
https://bugs.ruby-lang.org/issues/13056
However `Pathname.glob` does not have the option.
I would like to use `base` option with `Pathname` class.
But I feel `Dir.glob('*.rb', base: 'dir').map{|path|Pathname(path)}` is lengthy, so I'd like to add the option to `Pathname.glob`.
This patch adds the option to `Pathname.glob` also.
For example:
```
require 'pathname'
p Pathname.glob('lib/i*.rb', 0) # => [#<Pathname:lib/irb.rb>, #<Pathname:lib/ipaddr.rb>]
p Dir.glob('i*.rb', 0, base: 'lib') # => ["irb.rb", "ipaddr.rb"]
p Dir.glob('i*.rb', base: 'lib') # => ["irb.rb", "ipaddr.rb"]
p Pathname.glob('i*.rb', 0, base: 'lib') # => [#<Pathname:irb.rb>, #<Pathname:ipaddr.rb>]
p Pathname.glob('i*.rb', base: 'lib') # => [#<Pathname:irb.rb>, #<Pathname:ipaddr.rb>]
p Pathname.glob('i*.rb', base: Pathname('lib')) # => [#<Pathname:irb.rb>, #<Pathname:ipaddr.rb>]
p Pathname.glob('i*.rb', base: Pathname(`pwd`.chomp) / 'lib') # => [#<Pathname:irb.rb>, #<Pathname:ipaddr.rb>]
p Pathname.glob('i*.rb', base: File.join(`pwd`.chomp, 'lib')) # => [#<Pathname:irb.rb>, #<Pathname:ipaddr.rb>]
Pathname.glob('i*.rb', foo: 'bar') rescue p $! # => #<ArgumentError: unknown keyword: foo>
Pathname.glob('i*.rb', foo: 'bar') rescue p $!.backtrace # => ["<...>/test.rb:13:in `glob'", "<...>/test.rb:13:in `glob'", "<...>/test.rb:13:in `<main>'"]
```
If the patch is OK, I'll do the follwoing TODOs.
- Add documentation
- Add tests to here. https://github.com/ruby/ruby/blob/d891056e3a6232163e99636cfcbb7bbfe1291404/test/pathname/test_pathname.rb#L1231-L1241
---Files--------------------------------
pathname-glob-base.patch (597 Bytes)
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>