Jeremy Evans
47d44510a3
Fix more keyword argument separation issues in Pathname
2019-09-26 08:01:53 -07:00
Jeremy Evans
80b5a0ff2a
Make rb_scan_args handle keywords more similar to Ruby methods ( #2460 )
...
Cfuncs that use rb_scan_args with the : entry suffer similar keyword
argument separation issues that Ruby methods suffer if the cfuncs
accept optional or variable arguments.
This makes the following changes to : handling.
* Treats as **kw, prompting keyword argument separation warnings
if called with a positional hash.
* Do not look for an option hash if empty keywords are provided.
For backwards compatibility, treat an empty keyword splat as a empty
mandatory positional hash argument, but emit a a warning, as this
behavior will be removed in Ruby 3. The argument number check
needs to be moved lower so it can correctly handle an empty
positional argument being added.
* If the last argument is nil and it is necessary to treat it as an option
hash in order to make sure all arguments are processed, continue to
treat the last argument as the option hash. Emit a warning in this case,
as this behavior will be removed in Ruby 3.
* If splitting the keyword hash into two hashes, issue a warning, as we
will not be splitting hashes in Ruby 3.
* If the keyword argument is required to fill a mandatory positional
argument, continue to do so, but emit a warning as this behavior will
be going away in Ruby 3.
* If keyword arguments are provided and the last argument is not a hash,
that indicates something wrong. This can happen if a cfunc is calling
rb_scan_args multiple times, and providing arguments that were not
passed to it from Ruby. Callers need to switch to the new
rb_scan_args_kw function, which allows passing of whether keywords
were provided.
This commit fixes all warnings caused by the changes above.
It switches some function calls to *_kw versions with appropriate
kw_splat flags. If delegating arguments, RB_PASS_CALLED_KEYWORDS
is used. If creating new arguments, RB_PASS_KEYWORDS is used if
the last argument is a hash to be treated as keywords.
In open_key_args in io.c, use rb_scan_args_kw.
In this case, the arguments provided come from another C
function, not Ruby. The last argument may or may not be a hash,
so we can't set keyword argument mode. However, if it is a
hash, we don't want to warn when treating it as keywords.
In Ruby files, make sure to appropriately use keyword splats
or literal keywords when calling Cfuncs that now issue keyword
argument separation warnings through rb_scan_args. Also, make
sure not to pass nil in place of an option hash.
Work around Kernel#warn warnings due to problems in the Rubygems
override of the method. There is an open pull request to fix
these issues in Rubygems, but part of the Rubygems tests for
their override fail on ruby-head due to rb_scan_args not
recognizing empty keyword splats, which this commit fixes.
Implementation wise, adding rb_scan_args_kw is kind of a pain,
because rb_scan_args takes a variable number of arguments.
In order to not duplicate all the code, the function internals need
to be split into two functions taking a va_list, and to avoid passing
in a ton of arguments, a single struct argument is used to handle
the variables previously local to the function.
2019-09-25 11:18:49 -07:00
Jeremy Evans
2e551356a7
Make Kernel#{Pathname,BigDecimal,Complex} return argument if given correct type
...
This is how Kernel#{Array,String,Float,Integer,Hash,Rational} work.
BigDecimal and Complex instances are always frozen, so this should
not cause backwards compatibility issues for those. Pathname
instances are not frozen, so potentially this could cause backwards
compatibility issues by not returning a new object.
Based on a patch from Joshua Ballanco, some minor changes by me.
Fixes [Bug #7522 ]
2019-09-21 16:10:37 -07:00
Nobuyoshi Nakada
715955ff27
Include ruby/assert.h in ruby/ruby.h so that assertions can be there
2019-07-14 17:58:03 +09:00
Tanaka Akira
4d9504fe13
Delegates 3 arguments for Pathname.glob.
...
Thanks for the patch by pocke (Masataka Kuwabara) [Feature #14405 ].
2019-07-14 17:42:58 +09:00
nobu
15a98ab428
Try statx syscall
...
* file.c (rb_file_s_birthtime): export for pathname to check if
birthtime is supported.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-20 06:54:23 +00:00
nobu
3d1c86a26f
Removed moving toplevel header since r12501
...
Moving public headers was 12-years ago, no depend files would
expect ruby.h in the top source directory now.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-08 02:46:22 +00:00
akr
78dc3da299
Pathname#relative_path_from uses is_a?
...
I reconsidered because simpler code would have better maintainablity.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-18 03:09:54 +00:00
akr
4cf828632f
Pathname#relative_path_from compatible with mock.
...
[Fix GH-2049]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-16 12:26:52 +00:00
akr
53a5b276b8
Use File class methods to avoid pipe execution
...
Following methods use corresponding File class methods
instead of IO class methods.
- Pathname#each_line
- Pathname#read
- Pathname#binread
- Pathname#write
- Pathname#binwrite
- Pathname#readlines
Reported by ooooooo_q.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-12 05:07:49 +00:00
marcandre
dde0e30c2d
Pathname: Have #relative_path_from accept String argument.
...
[Fix GH-1975]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-11-13 06:20:06 +00:00
nobu
74325360d3
Pathname: Simplified Pathname#mountpoint?
...
Removed unnecessary comparison in mountpoint?
[Fix GH-1927]
From: John Whitson <john.whitson@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-10 12:04:24 +00:00
watson1978
ccc2576514
Improve Pathname performance
...
If it will not use special variables (like $1, $&, $`...),
it can improve the performance by using Regexp#match? instead of Regexp#=~.
Because Regexp#=~ will generate the objects to special variables by pattern matching.
This patch will replace Regexp#=~ without special variables to Regexp#match?.
(Excludes https://github.com/ruby/ruby/blob/trunk/ext/pathname/lib/pathname.rb#L144-L153 )
[Fix GH-1836] [ruby-core:86093] [Bug #14599 ]
## Environment
* OS : Ubuntu 17.10
* Compiler : gcc version 7.2.0
* CPU : Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
* Memory : 16 GB
## TL;DR
| Before | After | Speed up
--------------------------- | ------ | ------ | --------
Pathname#absolute? | 142836 | 198487 | 39.0%
Pathname#cleanpath | 60706 | 79415 | 30.8%
Pathname#root? | 603806 | 759157 | 25.7%
Pathname#absolute? | 142592 | 197859 | 38.8%
Pathname#each_filename | 115600 | 152982 | 32.3%
Pathname#ascend | 50494 | 63606 | 26.0%
Pathname#+ | 100550 | 130372 | 29.7%
Pathname#join | 46673 | 60994 | 30.7%
Pathname#relative_path_from | 28362 | 37494 | 32.2%
## Before
```
Calculating -------------------------------------
Pathname#absolute? 142.836k (± 0.1%) i/s - 722.304k in 5.056884s
Pathname#cleanpath 60.706k (± 0.1%) i/s - 306.764k in 5.053305s
Pathname#root? 603.806k (± 0.3%) i/s - 3.062M in 5.071696s
Pathname#absolute? 142.592k (± 0.1%) i/s - 720.846k in 5.055301s
Pathname#each_filename
115.600k (± 0.1%) i/s - 586.818k in 5.076292s
Pathname#ascend 50.494k (± 0.1%) i/s - 255.301k in 5.056049s
Pathname#+ 100.550k (± 0.1%) i/s - 509.630k in 5.068433s
Pathname#join 46.673k (± 0.1%) i/s - 236.433k in 5.065696s
Pathname#relative_path_from
28.362k (± 0.0%) i/s - 143.728k in 5.067640s
```
## After
```
Calculating -------------------------------------
Pathname#absolute? 198.487k (± 0.1%) i/s - 995.665k in 5.016272s
Pathname#cleanpath 79.415k (± 0.1%) i/s - 404.406k in 5.092344s
Pathname#root? 759.157k (± 0.0%) i/s - 3.800M in 5.005072s
Pathname#absolute? 197.859k (± 0.1%) i/s - 995.720k in 5.032494s
Pathname#each_filename
152.982k (± 0.1%) i/s - 775.555k in 5.069607s
Pathname#ascend 63.606k (± 0.0%) i/s - 320.862k in 5.044560s
Pathname#+ 130.372k (± 0.1%) i/s - 660.856k in 5.068991s
Pathname#join 60.994k (± 0.1%) i/s - 305.068k in 5.001626s
Pathname#relative_path_from
37.494k (± 0.4%) i/s - 189.124k in 5.044146s
```
## Benchmark code
```ruby
require 'pathname'
require 'benchmark/ips'
Benchmark.ips do |x|
root = Pathname.new('/')
path1 = Pathname.new('/path/to/some/file1.rb')
path2 = Pathname.new('/path/to/some/file2.rb')
x.report("Pathname#absolute?") do
path1.absolute?
end
x.report("Pathname#cleanpath") do
Pathname.new('/path/to/some/file.rb').cleanpath
end
x.report("Pathname#root?") do
path1.root?
end
x.report("Pathname#absolute?") do
path1.absolute?
end
x.report("Pathname#each_filename") do
path1.each_filename { |file| }
end
x.report("Pathname#ascend") do
path1.ascend { |path| }
end
x.report("Pathname#+") do
path1 + path2
end
x.report("Pathname#join") do
path1.join("../file3.rb")
end
x.report("Pathname#relative_path_from") do
path1.relative_path_from(root)
end
end
```
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-13 09:15:10 +00:00
stomar
c1e1e2b6d9
pathname.c: improve docs for Pathname
...
* ext/pathname/pathname.c: [DOC] improve example for Pathname.glob,
by using a more common glob pattern, and improve the reference
to the `base' keyword argument for Pathname#glob.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-07 20:14:46 +00:00
nobu
dfbeb7188d
Pathname: get rid of a -Wcomment warning [DOC]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-11-01 03:26:27 +00:00
marcandre
e63dd598a7
Pathname: Simplify example [DOC] [ci-skip]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-31 22:24:03 +00:00
akr
4ad1ac75e4
declare variables once for each line in pathname.c.
...
This ease adding/deleting variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-21 08:41:59 +00:00
akr
cea5f5aaee
Pathname#glob method implemented.
...
[ruby-core:49373] [Feature #7360 ] proposed by Alexander E. Fischer.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-21 08:34:49 +00:00
nobu
4f8107a4ba
disable rdoc for internal constants [ci skip]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-03 08:11:57 +00:00
nobu
2d3c331510
extract IDs
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-08-03 07:08:00 +00:00
nobu
2875337533
pathname.rb: UNC root pathname needs a separator
...
* ext/pathname/lib/pathname.rb (Pathname#plus): UNC root pathname
needs a separator. File.basename returns "/" on UNC root, as
well as sole drive letter, even if it does not end with a
separator. [ruby-core:80900] [Bug #13515 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-16 14:44:01 +00:00
shyouhei
20c72dc89d
ruby tool/update-deps --fix
...
Onigumo 6 (r57045) introduced new onigumo.h header file, which is
required from quite much everywhere. This commit adds necessary
dependencies.
Note: ruby/oniguruma.h now includes onigumo.h,
ruby/io.h includes oniguruma.h,
ruby/encoding.h also includes oniguruma.h,
and internal.h includes encoding.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-22 06:00:18 +00:00
akr
9373c5efb9
Pathname#empty? implemented.
...
* ext/pathname/pathname.c (Pathname#empty?): New method.
[ruby-core:76404] [Feature#12596] Proposed by John Backus.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 03:29:08 +00:00
nobu
e4257036ec
pathname.c: unnormalized Fixnum value
...
* ext/pathname/pathname.c (path_hash): fix unnormalized Fixnum
value bug on mingw/mswin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-04 01:51:18 +00:00
nobu
c463366dfd
rb_funcallv
...
* *.c: rename rb_funcall2 to rb_funcallv, except for extensions
which are/will be/may be gems. [Fix GH-1406]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-29 11:57:14 +00:00
nobu
64fea27496
Update dependencies
...
* common.mk (compile.o, loadpath.o): update dependencies.
* common.mk (vm_call.o): remove stale object dependencies.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-07-06 05:48:13 +00:00
naruse
c4fdfabcc8
handle ext/ as r53141
...
g -L frozen_string_literal ext/**/*.rb|xargs ruby -Ka -e'ARGV.each{|fn|puts
fn;open(fn,"r+"){|f|s=f.read.sub(/\A(#!.*\n)?(#.*coding.*\n)?/,"\\&#
frozen_string_literal: false\n");f.rewind;f.write s}}'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:31:54 +00:00
akr
68ebbbfebe
* lib/open-uri.rb: Remove indicator for "frozen_string_literal: true".
...
* lib/pp.rb: Ditto.
* lib/prettyprint.rb: Ditto.
* lib/resolv.rb: Ditto.
* lib/securerandom.rb: Ditto.
* lib/tmpdir.rb: Ditto.
* lib/unicode_normalize/tables.rb: Ditto.
* test/net/ftp/test_buffered_socket.rb: Ditto.
* test/net/ftp/test_mlsx_entry.rb: Ditto.
* test/open-uri/test_open-uri.rb: Ditto.
* test/open-uri/test_ssl.rb: Ditto.
* test/pathname/test_pathname.rb: Ditto.
* test/test_pp.rb: Ditto.
* test/test_prettyprint.rb: Ditto.
* tool/transcode-tblgen.rb: Ditto.
* ext/pathname/lib/pathname.rb: Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-10 11:48:14 +00:00
akr
36ca18b847
Put an line before "frozen_string_literal: true" for emacs.
...
https://bugs.ruby-lang.org/issues/8976#note-49
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-05 22:22:56 +00:00
akr
7ab70c3548
* ext/pathname/lib/pathname.rb: freeze string literals for
...
reduced object allocation.
patch by schneems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-04 13:05:32 +00:00
akr
8bb581f8dd
* ext/pathname/lib/pathname.rb (descend): Blockless form supported.
...
(ascend): Ditto.
[ruby-core:68820] [Feature #11052 ] Patch by Piotr Szotkowski.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-14 15:14:46 +00:00
hsbt
180293ac89
* ext/pathname/lib/pathname.rb: Remove condition of RUBY_VERSION <= 1.9.
...
[Feature #11082 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-14 06:54:22 +00:00
zzak
857756ac6e
* file.c: NotImplementedError is raised if birthtime is unavailable.
...
Patch by @y-yagi san and [Fixes GH-817] [ci skip] [DOC]
* ext/pathname/pathname.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-19 17:57:03 +00:00
nobu
28b9f11d5a
protoize no-arguments functions
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 05:25:32 +00:00
nobu
8ae989f6b6
pathname.rb: fix a Pathname#relative_path_from crash on
...
* ext/pathname/lib/pathname.rb (SAME_PATHS):
Pathname#relative_path_from uses String#casecmp to compare strings
on case-insensitive filesystem platforms (e.g., Windows). This can
return nil for strings with different encodings, and the code
previously assumed that it always returned a Fixnum. [Fix GH-713]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-15 01:29:21 +00:00
ktsj
9f051c80dc
* file.c, ext/pathname/pathname.c: [DOC] correct position of method rdoc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-06 12:45:27 +00:00
usa
d0465cc9e0
* ext/pathname/pathname.c (path_birthtime): Windows support.
...
see [Feature #9857 ] [ruby-dev:48339]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-28 13:58:01 +00:00
akr
b9faaf6a55
* ext/pathname/pathname.c (path_birthtime): New method,
...
Pathname#birthtime.
Proposed by Kazuhiro NISHIYAMA. [ruby-dev:48232] [Feature #9857 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-28 13:46:02 +00:00
akr
edacb3a94a
* ext/pathname/lib/pathname.rb (cleanpath_aggressive): make all
...
separators File::SEPARATOR from File::ALT_SEPARATOR.
Reported by Daniel Rikowski.
Fixed by Nobuyoshi Nakada. [Bug #9618 ]
* ext/pathname/lib/pathname.rb (cleanpath_conservative): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 13:09:58 +00:00
akr
391fc2eeec
* ext/pathname/lib/pathname.rb (Pathname#/): Aliased to Pathname#+.
...
Suggested by Alexey Muranov. [ruby-core:61432] [Feature #9625 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05 12:49:27 +00:00
kazu
60d4fc9f68
Fix error with empty args.
...
* ext/pathname/lib/pathname.rb (Pathname#join): Fix error with
empty args. Reported by ko1 via IRC.
* test/pathname/test_pathname.rb (TestPathname#test_join): Add the
test for above case.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-02 02:51:20 +00:00
kazu
6df5f314ac
remove unnecessary unshift
...
* ext/pathname/lib/pathname.rb (Pathname#join): remove unnecessary unshift.
* test/pathname/test_pathname.rb (TestPathname#test_join): add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-25 14:42:36 +00:00
ktsj
df0991f34b
* ext/pathname/lib/pathname.rb (Pathname#find): add "ignore_error"
...
keyword argument defaulted to true as well as Find#find.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-04 15:44:53 +00:00
nobu
7566c49068
ruby/ruby.h: RB_BLOCK_CALL_FUNC_ARGLIST
...
* include/ruby/ruby.h (RB_BLOCK_CALL_FUNC_ARGLIST): for declaration
argument list of rb_block_call_func.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-29 07:59:14 +00:00
ko1
ad0ef29da7
* array.c (rb_ary_splice): use RARRAY_PTR_USE() without WB because
...
there are not new relations.
* enum.c (enum_sort_by): ditto.
* struct.c (setup_struct): use RARRAY_RAWPTR().
* vm_eval.c (yield_under): ditto.
* ext/pathname/pathname.c (path_entries): use RARRAY_AREF().
* ext/pathname/pathname.c (path_s_glob): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-26 05:47:27 +00:00
ktsj
854520fc1e
* ext/pathname/pathname.c (path_inspect): use PRIsVALUE to preserve
...
the result encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-19 05:21:38 +00:00
ktsj
edb98f8b91
fix typos. Patch by k_takata.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-19 03:10:21 +00:00
akr
788b45da3e
* ext/-test-/debug/depend: New file.
...
* ext/-test-/exception/depend: Ditto.
* ext/-test-/printf/depend: Ditto.
* ext/-test-/string/depend: Ditto.
* ext/coverage/depend: Ditto.
* ext/io/console/depend: Ditto.
* ext/io/nonblock/depend: Ditto.
* ext/io/wait/depend: Ditto.
* ext/openssl/depend: Ditto.
* ext/pathname/depend: Ditto.
* ext/psych/depend: Ditto.
* ext/zlib/depend: Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-14 10:48:08 +00:00
akr
c3d1fde2b5
* ext/pathname/pathname.c (path_write): New method.
...
(path_binwrite): Ditto.
[ruby-core:49468] [Feature #7378 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 11:12:12 +00:00
zzak
7d183dab15
* ext/pathname/pathname.c (path_f_pathname): rdoc for Pathname()
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-08 04:21:43 +00:00
drbrain
d5ba73e0d9
* ext/pathname/lib/pathname.rb: Hide private methods from RDoc.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-11 06:25:56 +00:00
nobu
857ec7118f
pathname.c: suppress -Wcomment warning
...
* ext/pathname/pathname.c (path_s_glob): get rid of "/*" within block
comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-12 14:16:16 +00:00
zzak
b5c38622b1
* ext/pathname/lib/pathname.rb: Documentation for Pathname.
...
* ext/pathname/pathname.c: ditto.
[Bug #6947 ] [ruby-core:47354]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-12 13:54:08 +00:00
nobu
b0dd250dc9
use RB_TYPE_P() instead of comparison of TYPE()
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-23 07:13:21 +00:00
nobu
ed469831e4
* file.c (rb_enc_path_next, rb_enc_path_skip_prefix)
...
(rb_enc_path_last_separator, rb_enc_path_end)
(ruby_enc_find_basename, ruby_enc_find_extname): encoding-aware
path handling functions.
* file.c (rb_home_dir, file_expand_path, rb_realpath_internal)
(rb_file_s_basename, rb_file_dirname, rb_file_s_extname)
(rb_file_join): should respect the encodings of arguments than
file system encoding. [ruby-dev:45145] [Bug #5919 ]
* dir.c (check_dirname, ruby_glob0): ditto.
* ext/pathname/pathname.c (path_sub_ext): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-25 02:32:06 +00:00
akr
afb5eef4e2
* ext/pathname/pathname.c (path_entries): add document suggested by
...
the thread [ruby-core:41959] [Bug #5859 ].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-09 11:28:00 +00:00
akr
54f282c2c4
* lib/pathname.rb (Pathname#find): return an enumerator if
...
no block is given.
* test/pathname/test_pathname.rb: add tests for above.
[ruby-dev:44797] [Feature #5572 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-19 12:52:37 +00:00
ktsj
c3749b6a6d
* ext/pathname/lib/pathname.rb, ext/tk/lib/multi-tk.rb,
...
ext/tk/sample/demos-en/widget, lib/benchmark.rb, lib/irb/cmd/fork.rb,
lib/mkmf.rb, lib/net/ftp.rb, lib/net/smtp.rb, lib/open3.rb,
lib/pstore.rb, lib/rexml/element.rb, lib/rexml/light/node.rb,
lib/rinda/tuplespace.rb, lib/rss/maker/base.rb,
lib/rss/maker/entry.rb, lib/scanf.rb, lib/set.rb, lib/shell.rb,
lib/shell/command-processor.rb, lib/shell/process-controller.rb,
lib/shell/system-command.rb, lib/uri/common.rb: remove unused block
arguments to avoid creating Proc objects.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-05 07:37:47 +00:00
drbrain
ca96541149
* ext/pathname/lib/pathname.rb: Fix typos and grammar mistakes. Patch
...
by Luke Gruber. [#5203 ]
* ext/pty/lib/expect.rb: ditto
* lib/mathn.rb: ditto
* lib/net/http.rb: ditto
* lib/open-uri.rb: ditto
* lib/ostruct.rb: ditto
* lib/tempfile.rb: ditto
* lib/thread.rb: ditto
* lib/weakref.rb: ditto
* sample/webrick/httpproxy.rb: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-26 22:22:37 +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
akr
a5a51abfc5
* ext/pathname/pathname.c (path_f_pathname): Pathname() translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-21 15:01:11 +00:00
akr
c7caeda5ed
* ext/pathname/pathname.c (Init_pathname): Pathname#=~ undefinition
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-20 02:26:30 +00:00
akr
f9f7376848
* ext/pathname/pathname.c (path_unlink): Pathname#unlink and
...
Pathname#delete translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-18 22:49:34 +00:00
akr
9dffbcfc09
* ext/pathname/pathname.c (path_each_entry): Pathname#each_entry
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-18 11:10:36 +00:00
akr
08c467330b
* ext/pathname/pathname.c (path_opendir): Pathname#opendir translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-16 14:48:20 +00:00
akr
d0e9ac151e
* ext/pathname/pathname.c (path_rmdir): Pathname#rmdir translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-15 21:08:19 +00:00
akr
363ed27fa7
* ext/pathname/pathname.c (path_mkdir): Pathname#mkdir translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-15 12:07:43 +00:00
akr
f84f164413
* ext/pathname/pathname.c (path_entries): Pathname#entries translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-14 22:23:09 +00:00
akr
bf77099923
* ext/pathname/pathname.c (path_s_getwd): Pathname.getwd and
...
Pathname.pwd translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-14 11:18:37 +00:00
akr
6d9b5fdffc
* ext/pathname/pathname.c (path_s_glob): Pathname.glob translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-13 20:14:04 +00:00
akr
878747437c
* ext/pathname/pathname.c (path_zero_p): Pathname#zero? translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-13 11:48:58 +00:00
akr
a335ded4c9
* ext/pathname/pathname.c (path_writable_real_p):
...
Pathname#writable_real? translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-12 21:46:04 +00:00
akr
5cc5e1c5be
* ext/pathname/pathname.c (path_world_writable_p):
...
Pathname#world_writable? translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-12 10:31:01 +00:00
akr
a42f6882c8
* ext/pathname/pathname.c (path_writable_p): Pathname#writable?
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-12 00:26:19 +00:00
akr
0f070a1f4b
* ext/pathname/pathname.c (path_symlink_p): Pathname#symlink?
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-10 21:54:24 +00:00
akr
1a8a6580e9
* ext/pathname/pathname.c (path_sticky_p): Pathname#sticky? translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-10 14:04:07 +00:00
akr
e7ab96f6ed
* ext/pathname/pathname.c (path_size_p): Pathname#size? translated from
...
pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-09 22:04:22 +00:00
akr
eb0c31b1ad
* ext/pathname/pathname.c (path_size): Pathname#size translated from
...
pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-09 13:43:37 +00:00
akr
bafa881327
* ext/pathname/pathname.c (path_setgid_p): Pathname#setgid? translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-08 11:57:34 +00:00
akr
c37ec5c9d2
* ext/pathname/pathname.c (path_setuid_p): Pathname#setuid? translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-07 21:26:33 +00:00
akr
b9f2ea847e
* ext/pathname/pathname.c (path_readable_real_p):
...
Pathname#readable_real? translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-07 12:04:17 +00:00
akr
746f85beb4
* ext/pathname/pathname.c (path_world_readable_p):
...
Pathname#world_readable? translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-06 14:08:08 +00:00
akr
efe86e6c0d
* ext/pathname/pathname.c (path_readable_p): Pathname#readable?
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-05 21:17:54 +00:00
akr
5e620bdd65
* ext/pathname/pathname.c (path_owned_p): Pathname#owned?
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-05 14:03:06 +00:00
akr
0c5b7fd01b
* ext/pathname/pathname.c (path_socket_p): Pathname#socket?
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-03 14:51:51 +00:00
akr
163b4dee96
* ext/pathname/pathname.c (path_pipe_p): Pathname#pipe?
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-02 21:17:31 +00:00
akr
d878c51357
* ext/pathname/pathname.c (path_file_p): Pathname#file?
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-02 13:11:13 +00:00
akr
8ea12e525e
* ext/pathname/pathname.c (path_directory_p): Pathname#directory?
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-01 21:54:36 +00:00
akr
b1729db292
* ext/pathname/pathname.c (path_grpowned_p): Pathname#grpowned?
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-01 13:04:10 +00:00
akr
3121057559
* ext/pathname/pathname.c (path_exist_p): Pathname#exist? translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-31 12:11:02 +00:00
akr
16ceba0396
* ext/pathname/pathname.c (path_executable_real_p):
...
Pathname#executable_real? translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-30 12:30:14 +00:00
akr
b8adf336a6
* ext/pathname/pathname.c (path_.executable_p): Pathname#.executable?
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-29 22:33:09 +00:00
akr
2d0cbb3c3a
* ext/pathname/pathname.c (path_chardev_p): Pathname#chardev?
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-28 21:34:52 +00:00
akr
b6595225c1
* ext/pathname/pathname.c (path_blockdev_p): Pathname#blockdev?
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-27 23:19:30 +00:00
akr
9eb7262589
* ext/pathname/pathname.c (path_sysopen): Pathname#sysopen translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-26 20:16:25 +00:00
akr
bafaff1f43
* ext/pathname/pathname.c (path_readlines): Pathname#readlines
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-26 12:50:13 +00:00
akr
2034fe610f
* ext/pathname/pathname.c (path_binread): Pathname#binread translated
...
from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-25 13:11:43 +00:00
akr
f21230b491
* ext/pathname/pathname.c (path_read): Pathname#read translated from
...
pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-24 13:08:00 +00:00
akr
526d246f71
* ext/pathname/pathname.c (path_each_line): Pathname#each_line
...
translated from pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-23 14:16:06 +00:00
akr
86b26898eb
* ext/pathname/pathname.c (path_split): Pathname#split translated from
...
pathname.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-21 08:37:28 +00:00