case-sensitivity

Bengt Richter bokr at oz.net
Fri Nov 14 14:14:13 EST 2003


On Thu, 13 Nov 2003 15:58:49 GMT, Alex Martelli <aleax at aleax.it> wrote:

>Ron Adam wrote:
>   ...
>> 4:  The editor or IDE matches what I enter to the names and then
>> substitutes the proper case of the name at some definitive point.
>> This ensures that the case is correct and the program compiles and
>> runs normally.   If I choose a different editor then see #1 or #2.
>   ...
>> correcting while editing.   Number 4 is possible to do now, but I
>> don't know of any editors that currently do it.  It would be a nice
>> option to include in one I think.
>
>Yes, looks like a nice idea for a middling-difficulty project with
>IDLE, and it would be useful even if made _particularly_ unintrusive
>(spelling correction would be done only on specific request, and
>only when feasible without ambiguity regarding e.g. standard library
>modules and names therein -- a really minimal part of [4], yet it
>would STILL save quite some trouble/hassle to those using it...).
>
>
You didn't mean to exclude presenting the choices when there _was_ ambiguity??

Following is a list of lib files that use the same name in differing case formats
(though not necessarily in the same name space -- this list does not distinguish
between e.g. global names and attribute/method names -- it's only looking for what
the tokenizer recognizes as names).

BTW, if all this were suddenly case-insensitive, there would be a fair amount of
work to do, I suspect. A few modules even have 3 variations. ;-)


d:\python23\lib\aifc.py:
      SetParams * 2         setparams * 2  
          Error * 40            error * 3  
          Chunk * 3             chunk * 28 

d:\python23\lib\audiodev.py:
    SUNAUDIODEV * 3       sunaudiodev * 3  
             AL * 25               al * 11 

d:\python23\lib\BaseHTTPServer.py:
        Message * 1           message * 11 

d:\python23\lib\Bastion.py:
   BastionClass * 2      bastionclass * 2  
          RExec * 1             rexec * 2  

d:\python23\lib\binhex.py:
         HexBin * 2            hexbin * 2  
        Creator * 5           creator * 2  
         BinHex * 2            binhex * 2  
          Flags * 5             flags * 2  
          FName * 2             fname * 8  
          FInfo * 11            finfo * 19 
        LINELEN * 3           linelen * 4  
           Type * 6              type * 6  

d:\python23\lib\cgitb.py:
           NAME * 1              name * 38 

d:\python23\lib\cmd.py:
            Cmd * 1               cmd * 15 
     IDENTCHARS * 2        identchars * 2  
         PROMPT * 2            prompt * 3  

d:\python23\lib\codecs.py:
         Reader * 6            reader * 14 
         Writer * 6            writer * 8  

d:\python23\lib\codeop.py:
        Compile * 2           compile * 2  

d:\python23\lib\Cookie.py:
              K * 30                k * 6  

d:\python23\lib\copy.py:
              C * 2                 c * 2  
          Error * 4             error * 1  

d:\python23\lib\csv.py:
        Dialect * 4           dialect * 9  
              M * 1                 m * 4  

d:\python23\lib\dis.py:
   EXTENDED_ARG * 1      extended_arg * 4  

d:\python23\lib\doctest.py:
         Tester * 3            tester * 11 

d:\python23\lib\filecmp.py:
        BUFSIZE * 2           bufsize * 3  

d:\python23\lib\ftplib.py:
            FTP * 2               ftp * 9  
          Error * 6             error * 5  
          Netrc * 2             netrc * 2  

d:\python23\lib\gettext.py:
           True * 1              true * 2  
        Catalog * 1           catalog * 3  
          False * 3             false * 2  

d:\python23\lib\gzip.py:
          FNAME * 3             fname * 4  
           READ * 6              read * 17 
          WRITE * 6             write * 15 

d:\python23\lib\httplib.py:
        BUFSIZE * 2           bufsize * 4  

d:\python23\lib\ihooks.py:
        VERBOSE * 4           verbose * 14 
          Hooks * 2             hooks * 27 

d:\python23\lib\imaplib.py:
          Flags * 2             flags * 14 
           USER * 4              user * 8  
        Literal * 2           literal * 15 
          Debug * 4             debug * 14 
           HMAC * 1              hmac * 2  

d:\python23\lib\imputil.py:
       Importer * 3          importer * 5  

d:\python23\lib\inspect.py:
         INDENT * 1            indent * 11 
           NAME * 2              name * 22 

d:\python23\lib\macpath.py:
           File * 4              file * 2  

d:\python23\lib\mhlib.py:
          Error * 21            error * 23 
             MH * 2                mh * 13 
      MultiFile * 1         multifile * 2  
         Folder * 2            folder * 4  
           PATH * 2              path * 67 

d:\python23\lib\mimetypes.py:
          USAGE * 2             usage * 3  

d:\python23\lib\mimify.py:
           File * 5              file * 9  
              I * 9                 i * 9  

d:\python23\lib\optparse.py:
          TYPES * 2             types * 7  
         Values * 2            values * 27 
         Option * 6            option * 67 
          ATTRS * 2             attrs * 8  

d:\python23\lib\os.py:
           PATH * 2              path * 24 

d:\python23\lib\pdb.py:
            Cmd * 3               cmd * 4  
            Bdb * 3               bdb * 11 
           Repr * 2              repr * 3  

d:\python23\lib\pickle.py:
        UNICODE * 4           unicode * 7  
            PUT * 3               put * 2  
            INT * 3               int * 4  
           MARK * 9              mark * 13 
           TRUE * 3              True * 2  
           LONG * 3              long * 3  
         REDUCE * 3            reduce * 11 
          PROTO * 3             proto * 16 
          FALSE * 3             False * 2  
           LIST * 3              list * 4  
            POP * 4               pop * 9  
          FLOAT * 3             float * 1  
           DICT * 3              dict * 4  
           NONE * 3              None * 42 
            GET * 3               get * 15 
         APPEND * 4            append * 37 
            OBJ * 3               obj * 120
           INST * 3              inst * 5  
          TUPLE * 4             tuple * 3  

d:\python23\lib\pickletools.py:
              I * 55                i * 6  

d:\python23\lib\pipes.py:
           FILE * 2              file * 17 

d:\python23\lib\platform.py:
         System * 2            system * 51 

d:\python23\lib\popen2.py:
         Popen3 * 5            popen3 * 5  
         Popen4 * 3            popen4 * 3  

d:\python23\lib\pre.py:
              I * 1                 i * 14 
              M * 1                 m * 9  

d:\python23\lib\profile.py:
          Stats * 2             stats * 3  

d:\python23\lib\pstats.py:
            Cmd * 2               cmd * 3  
          Stats * 6             stats * 32 

d:\python23\lib\pyclbr.py:
           NAME * 5              name * 16 
          Class * 5             class * 2  

d:\python23\lib\pydoc.py:
            GUI * 2               gui * 3  
            Doc * 3               doc * 44 
        Scanner * 3           scanner * 9  
        Message * 5           message * 2  
          Entry * 1             entry * 10 
           Repr * 6              repr * 26 
              S * 2                 s * 4  
              I * 2                 i * 10 
             Tk * 1                tk * 1  

d:\python23\lib\Queue.py:
          Queue * 1             queue * 6  
          Empty * 3             empty * 1  
           Full * 3              full * 1  

d:\python23\lib\random.py:
         Random * 7            random * 47 
        VERSION * 6           version * 8  
              N * 17                n * 21 

d:\python23\lib\repr.py:
           Repr * 2              repr * 3  

d:\python23\lib\rexec.py:
          RExec * 2             rexec * 14 
          Hooks * 2             hooks * 6  

d:\python23\lib\rfc822.py:
    AddressList * 5       addresslist * 21 

d:\python23\lib\robotparser.py:
          Entry * 5             entry * 19 

d:\python23\lib\sets.py:
            Set * 1               set * 3  

d:\python23\lib\shutil.py:
          Error * 2             error * 1  

d:\python23\lib\SimpleXMLRPCServer.py:
          Fault * 4             fault * 5  

d:\python23\lib\smtpd.py:
        COMMAND * 5           command * 16 
           DATA * 3              data * 18 
        Options * 2           options * 15 

d:\python23\lib\smtplib.py:
              I * 1                 i * 4  
           HMAC * 1              hmac * 2  

d:\python23\lib\sre.py:
       TEMPLATE * 1          template * 14 
              S * 1                 s * 9  
     SUBPATTERN * 2        SubPattern * 2  
        Pattern * 1           pattern * 35 
              I * 1                 i * 8  
              M * 1                 m * 6  
        Scanner * 1           scanner * 3  

d:\python23\lib\sre_compile.py:
        LITERAL * 10          literal * 2  
          RANGE * 4             range * 5  
             IN * 2                in * 23 
         NEGATE * 3            negate * 3  
        CHARSET * 2           charset * 22 
         ASSERT * 1            assert * 2  

d:\python23\lib\sre_constants.py:
             IN * 3                in * 2  

d:\python23\lib\sre_parse.py:
          FLAGS * 4             flags * 11 
        LITERAL * 31          literal * 7  
     SUBPATTERN * 2        SubPattern * 5        subpattern * 25 
        Pattern * 2           pattern * 16 
             IN * 11               in * 42 

d:\python23\lib\string.py:
              L * 3                 l * 3  

d:\python23\lib\symtable.py:
          Class * 2             class * 5  

d:\python23\lib\tarfile.py:
        VERSION * 2           version * 1  
        BUFSIZE * 4           bufsize * 13 
        TarFile * 4           tarfile * 18 
        TarInfo * 8           tarinfo * 229
         TOREAD * 2            toread * 5  

d:\python23\lib\telnetlib.py:
     DEBUGLEVEL * 2        debuglevel * 9  
             SB * 2                sb * 9  

d:\python23\lib\tempfile.py:
         Random * 1            random * 1  

d:\python23\lib\threading.py:
       _VERBOSE * 2          _Verbose * 14 
           Lock * 4              lock * 9  
         Thread * 11           thread * 6  

d:\python23\lib\timeit.py:
          Timer * 2             timer * 8  

d:\python23\lib\token.py:
           NAME * 1              name * 2  

d:\python23\lib\tokenize.py:
        COMMENT * 4           Comment * 3  
         INDENT * 1            indent * 1  
          Token * 2             token * 23 
           NAME * 1              Name * 3  
         NUMBER * 1            Number * 3  
         STRING * 3            String * 2            string * 2  
        ContStr * 2           contstr * 10 

d:\python23\lib\trace.py:
          Trace * 2             trace * 11 
         Ignore * 2            ignore * 2  

d:\python23\lib\unittest.py:
     TestLoader * 3        testLoader * 5  

d:\python23\lib\urllib.py:
            FTP * 1               ftp * 13 
              I * 1                 i * 31 
             IC * 1                ic * 4  
          Close * 1             close * 14 

d:\python23\lib\urllib2.py:
              H * 10                h * 20 
              I * 1                 i * 23 

d:\python23\lib\uu.py:
          Error * 5             error * 1  

d:\python23\lib\warnings.py:
              I * 1                 i * 3  

d:\python23\lib\wave.py:
          Chunk * 3             chunk * 22 

d:\python23\lib\webbrowser.py:
          Error * 2             error * 1  

d:\python23\lib\xdrlib.py:
          Error * 3             error * 2  

d:\python23\lib\xmlrpclib.py:
      Transport * 3         transport * 5  
         Parser * 1            parser * 16 
        Boolean * 6           boolean * 2  
         Server * 1            server * 3  

d:\python23\lib\zipfile.py:
            CRC * 16              crc * 2  

d:\python23\lib\_strptime.py:
        LC_TIME * 1           LC_time * 4  


Regards,
Bengt Richter




More information about the Python-list mailing list