On 2/10/06, Tim Peters <[EMAIL PROTECTED]> wrote: > [Jeremy] > >> I added some const to several API functions that take char* but > >> typically called by passing string literals. In C++, a string literal > >> is a const char* so you need to add a const_cast<> to every call site, > >> which is incredibly cumbersome. After some discussion on python-dev, > >> I made changes to a small set of API functions and chased the > >> const-ness the rest of the way, as you would expect. There was > >> nothing random about the places const was added. > > [Guido] > > I still don't understand *why* this was done, > > Primarily to make life easier for C++ programmers using Python's C > API. But didn't Jeremy just say that?
I didn't connect the dots. > Some people (including me) have been adding const to char* API > arguments for years, but in much slower motion, and at least I did it > only when someone complained about a specific function. > > > nor how the set of functions was chosen if not randomly. > > [Jeremy] > I added some const to several API functions that take char* but > typically called by passing string literals. > > If he had _stuck_ to that, we wouldn't be having this discussion :-) > (that is, nobody passes string literals to > PyArg_ParseTupleAndKeywords's kws argument). Is it too late to revert this one? Is there another way to make C++ programmers happy (e.g. my having a macro that expands to const when compiled with C++ but vanishes when compiled with C?) -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com