Re: [gentoo-portage-dev] [PATCH] isolated-functions.sh: eliminate loop in has()
On 04/22/2016 06:07 AM, rindeal wrote: > From edc6df44de4e0f22322062c7c7e1b973bd89f4cd Mon Sep 17 00:00:00 2001 > From: Jan Chren> > Date: Fri, 22 Apr 2016 14:21:08 +0200 > Subject: [PATCH] isolated-functions.sh: eliminate loop in has() > > Looping is slow and clutters debug log. > Still this wouldn't matter that much if has() wasn't one of the most > used functions. > > Thus this patch should bring a general improvement. > --- > bin/isolated-functions.sh | 10 -- > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh > index e320f71..6900f99 100644 > --- a/bin/isolated-functions.sh > +++ b/bin/isolated-functions.sh > @@ -463,14 +463,12 @@ hasv() { > } > > has() { > - local needle=$1 > + local needle=$'\a'"$1"$'\a' > shift > + local IFS=$'\a' > + local haystack=$'\a'"$@"$'\a' > > - local x > - for x in "$@"; do > - [ "${x}" = "${needle}" ] && return 0 > - done > - return 1 > + [[ "${haystack}" == *"${needle}"* ]] > } > > __repo_attr() { > -- > 2.7.3 We used to have a similar implementation, but it was changed to a loop in order to be 100% compatible with PMS. As far as I know, the only way to implement it in a way that truely respects whitespace in elements is with a loop. BTW, your version would have to use this in order to respect word broundaries: [[ " ${haystack} " == *" ${needle} "* ]] However, that still doesn't completely respect whitespace. Consider: has " b c " a b c d e I'm not aware of any cases in which we actually need to respect whitespace in the has function, but according to PMS is should respect whitespace IIRC. -- Thanks, Zac
Re: [gentoo-portage-dev] [PATCH v5] Colorize packages in user sets (bug 577720)
On 04/22/2016 01:09 AM, Alexander Berntsen wrote: > Definitely a huge improvement over v1. Thanks a lot for taking the > time and making the effort. You've been a great contributor! > > I'll leave the final word to Zac, but the patch looks OK to me now. If > it's OK by Zac, I'll merge it quick as. > Looks good to me. -- Thanks, Zac
Re: [gentoo-portage-dev] [PATCH] __eapi6_src_prepare: handle empty PATCHES array (bug 579626)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA512 OK. LGTM. - -- Alexander berna...@gentoo.org https://secure.plaimi.net/~alexander -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQIcBAEBCgAGBQJXGd+fAAoJENQqWdRUGk8BRR8QAMAwVCpFeoXIfDQ3KIhecKrV L1R5yxtLQyJv/cxe78mKmLynN1HiQ7P3354xAP8/UAyl6Ik4cjc15XbfyuJbyN/H ccQQMvRcNAq8nGNOchvacq4YZUO+3nIoftw6wuMC+9RL4XoCibSbpWjDhKeEzudQ CpbgPYlbnuTo+4YUp2H2ee4wsYuGx/XZjWVcrTxoEbQ5PP+fzBfWbbfqmMfSNC/E Yu+A+L2GIJq26B04g+ugpWot7VBWcFPvXyQi80Va54h7tIF1JpRLdIkY2aEK4rTU x9kje41ZpAn9i34U56eiy5ayVTc8FL+bOtM0Dt1rXC1NIdall14VQAS9ldmliSxv 0C9LTFGy/ALNoRrfIfyMAqWZTkrA97GmoArS/TTW9t/MO5tX1C0KsOrOCH82Gv9P Ao1jIS80Qudjn2eq6yG7CNa+Z9H/V/QmApLdcvlkUq3Sw6wV3uPPZGoRWTH0ul5O tbqz4pK8QpUeaYumU/OwKqXRZZPGirA+/OXdoyAleWi3lR948ctrxqsqeVosSfIB 3K3y5WXRkUrJtqZuTLX7ZSXz5Rlag+HCzGxG2/Qt3NHgU07azdQNRSmYpcB1DTvi 8tUAmkEwhVPq/o2E8u8CMKF+dySNo6nUEnDozHK7cglHUr3R9qzA+TWcjl7DLWpO tW0ElKbK21CKLwBP9lBa =GN2C -END PGP SIGNATURE-
[gentoo-portage-dev] Re: [PATCH] bin/portageq: perform case-insensitive matching for maintainer email addresses
-BEGIN PGP SIGNED MESSAGE- Hash: SHA512 Pushed as 94e9bbb342ec6f2eec746f7500e9b0ae86722df7, with a slightly wibbled commit message (primarily to make it shorter). Please use the ML in the future, not the alias. Thanks for the patch! - -- Alexander berna...@gentoo.org https://secure.plaimi.net/~alexander -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQIcBAEBCgAGBQJXGd9CAAoJENQqWdRUGk8BfvwQAIuBW8ol4Fb6a1He/7K+scUQ +5Dt4CKpI3TZJ9DymfKPRuOlBqvbmd0XFk8uyz+Z+/F+gaxYz/sqYUZWyxvfRX3U 0h+gRO6Oti/LasZX1Z28XnB9/DLLoyvKQWO0r/0fS/jhSX1s5tGedkQb1VtJmPZ9 /Raf+0l0zaOb7T3EQCCQKa8rlNjwWsZf6o440rPAEtIavRLpFG+uz5VbKJH7o0/g pG0WMgww9vONm0HMZCr34MM++S9wc6I0kYICUOQU/83Epw037Mor0Lbw+zzG9k0E x7MuGrMJc2nlKMbF4H7y5P+P8Z1CMHAMOL0z6ld66vcTfKsYKjigcGOB7odURc3r bSRd5Kgfycsca1Qf12YxafkmOOPklsJoX7XOcEChNT9ZqsrTT4o1pNlrhBXlkoKO W+m4WORFuZvhrfU9BAqJYvN4tuwQIY/mRs/GRDFsmapzatu/aJ7CHqKwFwsvYvay EBwS/dFb8s6mHLaG4riGYPUxBiFCeXSMd53YDTv5CGp0d4B70WMvRKD9xIE7I/rD D1pj2CSTMDFTlyk5QSudogCeHZtB2mUAncsVm3v16S+8SfecKP2lmev+Oe+zNQAq ZCK31slp/miNsx5QkeVZr7I7PgSfzCcR31S8c+1PQQk5G2zC0lfzPSjuQozpTM7r MdQqkhRWSqK1wsGLl9Oy =mF7I -END PGP SIGNATURE-
Re: [gentoo-portage-dev] [PATCH v5] Colorize packages in user sets (bug 577720)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA512 Definitely a huge improvement over v1. Thanks a lot for taking the time and making the effort. You've been a great contributor! I'll leave the final word to Zac, but the patch looks OK to me now. If it's OK by Zac, I'll merge it quick as. - -- Alexander berna...@gentoo.org https://secure.plaimi.net/~alexander -BEGIN PGP SIGNATURE- Version: GnuPG v2 iQIcBAEBCgAGBQJXGdxWAAoJENQqWdRUGk8BTdAQAKovCndVdUvp1bS6AB0yNSUQ SrAY/Uw/I80B4DAnSwCqkc3CC8rSkHLY0nfw71N4EOcYx3+gsl09tkCIEpL8VplF mUCgaF9rIy27CXUtWMqbsGw5eS/M5txOYwPyt4+ku7e3kPMogevW3dT5/ohw/rbb GkPygCch7veJki4Vd5ZaI2dcPy8kDfZJCptxIt72NfflWodNYWSjbpjXcu94QvOW 0GeSFUCZAmdNqb7C1PGi/78IL/OA3NmrBywEtqd2Ut/nuDFeAb5Q9Ff2b5tEBOOt 8w/p0FcLzwKcNxAjeuQE6/wSD+U31Xf+kHNiJuY7lOE0R8Ke6pDtzk7+lw7zGndr Ncey4aZ3HxtLn++0OLz1mQFJo8hakXAO+fRRq3nBVe8pFREqmQKeNv9e7aamUPSj pT4o2B0yhWwvyl8aD904ZiVAJmvUDdC9PXczdAgLaa+7RhPc3hpeOypFGzka8wvv qGe55XHNoM3jrAMrlo/wJUwK8oWCkG7olm8lbwMa8/aYygbOnJSMQTIL3kU+dPAc /Wt6tc9cmpNoI60mXeReGFrjn8yitHw181Rfb/mmck/Fh+ahH9SjwC3Gtvi7Z4il BMv1HIgn4Wdoorg4qITeQmXF6eM8lFjsbklCk0vts80kPk0dl49aMZ4irzV91qMf EkqTC413ZUvgscDPF/jC =VacX -END PGP SIGNATURE-