I vote for the implicit behavior of SUBSTRING for it to tolerate out-of-range indexes.
On Wed, Nov 12, 2014 at 8:56 AM, Brad King <brad.k...@kitware.com> wrote: > On 11/11/2014 06:16 PM, Domen Vrankar wrote: >> string(SUBSTRING <string> <begin> <length> <output variable> [TRUNCATE]) > [snip] >> string(SUBSTRING ${test_str} 2 6 substr TRUNCATE) >> >> If length is set to a higher value than the length of the original >> string the substring is still created but its end is the end of >> original string. > > The functionality makes sense. Python 'abcd'[2:6] does this > automatically. I agree the name TRUNCATE is hard to follow > because I had to read the example to understand the command. > SHORTEN may have the same problem. Other brainstorming ideas: > > (CLIP|INTERSECT|TOLERANT)(_RANGE)? > > Another option is to just start tolerating out-of-range indexes. > Since it is currently an error there would be no compatibility > problem (except that someone may write code using a newer CMake > that then breaks on an older version). > >> If this functionality would be welcome I'll write the tests and >> documentation. > > Yes. After the naming bikeshed is painted then tests can go in > Tests/RunCMake/string/* > > Thanks, > -Brad > > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/cmake-developers -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers