[ruby-core:73015] [Ruby trunk - Feature #12010] Exclude dot and dotdot from Dir#each

From: naruse@...
Date: 2016-01-21 07:58:22 UTC
List: ruby-core #73015
SXNzdWUgIzEyMDEwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgWXVpIE5BUlVTRS4KCgpFcmljIFdvbmcg
d3JvdGU6Cj4gIk1hcnRpbiBKLiBEw7xyc3QiIDxkdWVyc3RAaXQuYW95YW1hLmFjLmpwPiB3cm90
ZToKPiAgPiBPbiAyMDE2LzAxLzIwIDExOjQzLCBFcmljIFdvbmcgd3JvdGU6Cj4gID4gPm5hcnVz
ZUBhaXJlbWl4LmpwIHdyb3RlOgo+ICA+ID4+RGlyI2VhY2ggYW5kIERpciNyZWFkKSAoaW5jbHVk
aW5nIERpci5lbnRyaWVzLCBEaXIuZm9yZWFjaCBhbmQgb3RoZXIgbWV0aG9kcykgcmV0dXJuICIu
IiBhbmQgIi4uIiBhdCBmaXJzdC4KPiAgPiA+PkJ1dCB0aHJvdWdoIHRoZSBhbGwgcmVhbCB1c2Ug
Y2FzZSAiLiIgYW5kICIuLiIgYXJlIHVzZWxlc3MuCj4gID4gPj5Ib3cgYWJvdXQgZXhjbHVkaW5n
IHRoZW0/Cj4gID4gPgo+ICA+ID5JZiBSdWJ5IHdlcmUgYSBuZXcgbGFuZ3VhZ2UsIHllcy4gIEJ1
dCBJIHRoaW5rIGl0IGlzIHRvbyByaXNreSwgbm93Lgo+ICA+IAo+ICA+IENhbiBzb21lYm9keSBk
byBhIGNvZGUgc2VhcmNoIGZvciB0aGlzPyBJIGtub3cgQUtSIGlzIGdvb2QgYXQgdGhhdAo+ICA+
IChidXQgSSBkb24ndCB3YW50IHRvIGFzayBoaW0gdG8gZG8gdGhpcykuCj4gIAo+ICBJIGp1c3Qg
Zm91bmQgc29tZSBpbiB5YWhucyB3aGljaCBJIHdyb3RlOgo+ICBodHRwOi8veWhidC5uZXQveWFo
bnMuZ2l0L3BsYWluL2V4dHJhcy9hdXRvaW5kZXgucmIKCkhtbS4uLgpFbXVsYXRpbmcgZGlyZWN0
b3J5IGxpc3Rpbmcgc291bmRzIGEgdmFsaWQgdXNlIGNhc2UuLi4KCi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVyZSAjMTIwMTA6IEV4Y2x1ZGUgZG90IGFuZCBk
b3Rkb3QgZnJvbSBEaXIjZWFjaApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTIw
MTAjY2hhbmdlLTU2MjM4CgoqIEF1dGhvcjogWXVpIE5BUlVTRQoqIFN0YXR1czogQXNzaWduZWQK
KiBQcmlvcml0eTogTm9ybWFsCiogQXNzaWduZWU6IFl1a2loaXJvIE1hdHN1bW90bwotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmBEaXIjZWFjaGAgYW5kIGBEaXIjcmVh
ZGAgKGluY2x1ZGluZyBgRGlyLmVudHJpZXNgLCBgRGlyLmZvcmVhY2hgIGFuZCBvdGhlciBtZXRo
b2RzKSByZXR1cm4gYCIuImAgYW5kIGAiLi4iYCBhdCBmaXJzdC4KQnV0IHRocm91Z2ggdGhlIGFs
bCByZWFsIHVzZSBjYXNlIGAiLiJgIGFuZCBgIi4uImAgYXJlIHVzZWxlc3MuCkhvdyBhYm91dCBl
eGNsdWRpbmcgdGhlbT8KCmBgYGRpZmYKZGlmZiAtLWdpdCBhL2Rpci5jIGIvZGlyLmMKaW5kZXgg
MTkzYjViZS4uNGMyM2EyZCAxMDA2NDQKLS0tIGEvZGlyLmMKKysrIGIvZGlyLmMKQEAgLTY5OSw2
ICs2OTksOCBAQCBmdW5kYW1lbnRhbF9lbmNvZGluZ19wKHJiX2VuY29kaW5nICplbmMpCiAjZWxz
ZQogIyBkZWZpbmUgUkVBRERJUihkaXIsIGVuYykgcmVhZGRpcigoZGlyKSkKICNlbmRpZgorI2Rl
ZmluZSBESVJfSVNfRE9UX09SX0RPVERPVChkcCkgKChkcCktPmRfbmFtZVswXSA9PSAnLicgJiYg
XAorCSgoZHApLT5kX25hbWVbMV0gPT0gJ1wwJyB8fCAoKGRwKS0+ZF9uYW1lWzFdID09ICcuJyAm
JiAoZHApLT5kX25hbWVbMl0gPT0gJ1wwJykpKQogCiAvKgogICogIGNhbGwtc2VxOgpAQCAtNzIw
LDEzICs3MjIsMTIgQEAgZGlyX3JlYWQoVkFMVUUgZGlyKQogCiAgICAgR2V0RElSKGRpciwgZGly
cCk7CiAgICAgZXJybm8gPSAwOwotICAgIGlmICgoZHAgPSBSRUFERElSKGRpcnAtPmRpciwgZGly
cC0+ZW5jKSkgIT0gTlVMTCkgewotCXJldHVybiByYl9leHRlcm5hbF9zdHJfbmV3X3dpdGhfZW5j
KGRwLT5kX25hbWUsIE5BTUxFTihkcCksIGRpcnAtPmVuYyk7Ci0gICAgfQotICAgIGVsc2Ugewot
CWlmIChlcnJubyAhPSAwKSByYl9zeXNfZmFpbCgwKTsKLQlyZXR1cm4gUW5pbDsJCS8qIGVuZCBv
ZiBzdHJlYW0gKi8KKyAgICB3aGlsZSAoKGRwID0gUkVBRERJUihkaXJwLT5kaXIsIGRpcnAtPmVu
YykpICE9IE5VTEwpIHsKKwlpZiAoIURJUl9JU19ET1RfT1JfRE9URE9UKGRwKSkKKwkgICAgcmV0
dXJuIHJiX2V4dGVybmFsX3N0cl9uZXdfd2l0aF9lbmMoZHAtPmRfbmFtZSwgTkFNTEVOKGRwKSwg
ZGlycC0+ZW5jKTsKICAgICB9CisgICAgaWYgKGVycm5vICE9IDApIHJiX3N5c19mYWlsKDApOwor
ICAgIHJldHVybiBRbmlsOwkJLyogZW5kIG9mIHN0cmVhbSAqLwogfQogCiAvKgpAQCAtNzY0LDYg
Kzc2NSw3IEBAIGRpcl9lYWNoKFZBTFVFIGRpcikKIAljb25zdCBjaGFyICpuYW1lID0gZHAtPmRf
bmFtZTsKIAlzaXplX3QgbmFtbGVuID0gTkFNTEVOKGRwKTsKIAlWQUxVRSBwYXRoOworCWlmIChE
SVJfSVNfRE9UX09SX0RPVERPVChkcCkpIGNvbnRpbnVlOwogI2lmIE5PUk1BTElaRV9VVEY4UEFU
SAogCWlmIChub3JtX3AgJiYgaGFzX25vbmFzY2lpKG5hbWUsIG5hbWxlbikgJiYKIAkgICAgIU5J
TF9QKHBhdGggPSByYl9zdHJfbm9ybWFsaXplX29zcGF0aChuYW1lLCBuYW1sZW4pKSkgewpkaWZm
IC0tZ2l0IGEvdGVzdC9wYXRobmFtZS90ZXN0X3BhdGhuYW1lLnJiIGIvdGVzdC9wYXRobmFtZS90
ZXN0X3BhdGhuYW1lLnJiCmluZGV4IDI2OTBhM2YuLjMzZjBkNDQgMTAwNjQ0Ci0tLSBhL3Rlc3Qv
cGF0aG5hbWUvdGVzdF9wYXRobmFtZS5yYgorKysgYi90ZXN0L3BhdGhuYW1lL3Rlc3RfcGF0aG5h
bWUucmIKQEAgLTEyMzgsNyArMTIzOCw3IEBAIGRlZiB0ZXN0X2VudHJpZXMKICAgICB3aXRoX3Rt
cGNoZGlyKCdydWJ5dGVzdC1wYXRobmFtZScpIHt8ZGlyfAogICAgICAgb3BlbigiYSIsICJ3Iikg
e30KICAgICAgIG9wZW4oImIiLCAidyIpIHt9Ci0gICAgICBhc3NlcnRfZXF1YWwoW1BhdGhuYW1l
KCIuIiksIFBhdGhuYW1lKCIuLiIpLCBQYXRobmFtZSgiYSIpLCBQYXRobmFtZSgiYiIpXSwgUGF0
aG5hbWUoIi4iKS5lbnRyaWVzLnNvcnQpCisgICAgICBhc3NlcnRfZXF1YWwoW1BhdGhuYW1lKCJh
IiksIFBhdGhuYW1lKCJiIildLCBQYXRobmFtZSgiLiIpLmVudHJpZXMuc29ydCkKICAgICB9CiAg
IGVuZAogCkBAIC0xMjQ4LDcgKzEyNDgsNyBAQCBkZWYgdGVzdF9lYWNoX2VudHJ5CiAgICAgICBv
cGVuKCJiIiwgInciKSB7fQogICAgICAgYSA9IFtdCiAgICAgICBQYXRobmFtZSgiLiIpLmVhY2hf
ZW50cnkge3x2fCBhIDw8IHYgfQotICAgICAgYXNzZXJ0X2VxdWFsKFtQYXRobmFtZSgiLiIpLCBQ
YXRobmFtZSgiLi4iKSwgUGF0aG5hbWUoImEiKSwgUGF0aG5hbWUoImIiKV0sIGEuc29ydCkKKyAg
ICAgIGFzc2VydF9lcXVhbChbUGF0aG5hbWUoImEiKSwgUGF0aG5hbWUoImIiKV0sIGEuc29ydCkK
ICAgICB9CiAgIGVuZAogCkBAIC0xMjc4LDcgKzEyNzgsNyBAQCBkZWYgdGVzdF9vcGVuZGlyCiAg
ICAgICBQYXRobmFtZSgiLiIpLm9wZW5kaXIge3xkfAogICAgICAgICBkLmVhY2gge3xlfCBhIDw8
IGUgfQogICAgICAgfQotICAgICAgYXNzZXJ0X2VxdWFsKFsiLiIsICIuLiIsICJhIiwgImIiXSwg
YS5zb3J0KQorICAgICAgYXNzZXJ0X2VxdWFsKFsiYSIsICJiIl0sIGEuc29ydCkKICAgICB9CiAg
IGVuZAogCmRpZmYgLS1naXQgYS90ZXN0L3J1YnkvdGVzdF9kaXIucmIgYi90ZXN0L3J1YnkvdGVz
dF9kaXIucmIKaW5kZXggMGNjNWE2YS4uZDNmNjYwMiAxMDA2NDQKLS0tIGEvdGVzdC9ydWJ5L3Rl
c3RfZGlyLnJiCisrKyBiL3Rlc3QvcnVieS90ZXN0X2Rpci5yYgpAQCAtMTg2LDcgKzE4Niw3IEBA
IGRlZiB0ZXN0X2dsb2JfcmVjdXJzaXZlCiAKICAgZGVmIGFzc2VydF9lbnRyaWVzKGVudHJpZXMp
CiAgICAgZW50cmllcy5zb3J0IQotICAgIGFzc2VydF9lcXVhbCgldyguIC4uKSArICgiYSIuLiJ6
IikudG9fYSwgZW50cmllcykKKyAgICBhc3NlcnRfZXF1YWwoKCJhIi4uInoiKS50b19hLCBlbnRy
aWVzKQogICBlbmQKIAogICBkZWYgdGVzdF9lbnRyaWVzCmBgYAoKLS0tRmlsZXMtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaXItZW50cmllcy11c2FnZXMudHh0ICgzMDQgS0IpCgoK
LS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVi
eS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDov
L2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=

In This Thread

Prev Next