1. 03 Haz, 1999 2 kayıt (commit)
  2. 02 Haz, 1999 7 kayıt (commit)
  3. 01 Haz, 1999 20 kayıt (commit)
    • Guido van Rossum's avatar
      Hah! A fix of my own to Tim's code! · a954ba1d
      Guido van Rossum yazdı
      Unix bindings for <<toggle-tabs>> and <<change-indentwidth>> were
      missing, and somehow that meant the events were never generated,
      even though they were in the menu.  The new Unix bindings are now
      the same as the Windows bindings (M-t and M-u).
      a954ba1d
    • Guido van Rossum's avatar
      Tim Peters again: · bbaba854
      Guido van Rossum yazdı
      The new version (attached) is fast enough all the time in every real module
      I have <whew!>.  You can make it slow by, e.g., creating an open list with
      5,000 90-character identifiers (+ trailing comma) each on its own line, then
      adding an item to the end -- but that still consumes less than a second on
      my P5-166.  Response time in real code appears instantaneous.
      
      Fixed some bugs.
      
      New feature:  when hitting ENTER and the cursor is beyond the line's leading
      indentation, whitespace is removed on both sides of the cursor; before
      whitespace was removed only on the left; e.g., assuming the cursor is
      between the comma and the space:
      
      def something(arg1, arg2):
                         ^ cursor to the left of here, and hit ENTER
                     arg2):   # new line used to end up here
                    arg2):    # but now lines up the way you expect
      
      New hack:  AutoIndent has grown a context_use_ps1 Boolean config option,
      defaulting to 0 (false) and set to 1 (only) by PyShell.  Reason:  handling
      the fancy stuff requires looking backward for a parsing synch point; ps1
      lines are the only sensible thing to look for in a shell window, but are a
      bad thing to look for in a file window (ps1 lines show up in my module
      docstrings often).  PythonWin's shell should set this true too.
      
      Persistent problem:  strings containing def/class can still screw things up
      completely.  No improvement.  Simplest workaround is on the user's head, and
      consists of inserting e.g.
      
      def _(): pass
      
      (or any other def/class) after the end of the multiline string that's
      screwing them up.  This is especially irksome because IDLE's syntax coloring
      is *not* confused, so when this happens the colors don't match the
      indentation behavior they see.
      bbaba854
    • Guido van Rossum's avatar
      Tim Peters again: · a6be3870
      Guido van Rossum yazdı
      [Tim, after adding some bracket smarts to AutoIndent.py]
      > ...
      > What it can't possibly do without reparsing large gobs of text is
      > suggest a reasonable indent level after you've *closed* a bracket
      > left open on some previous line.
      > ...
      
      The attached can, and actually fast enough to use -- most of the time.  The
      code is tricky beyond belief to achieve that, but it works so far; e.g.,
      
              return len(string.expandtabs(str[self.stmt_start :
                                               ^ indents to caret
                                               i],
                                           ^ indents to caret
                                           self.tabwidth)) + 1
          ^ indents to caret
      
      It's about as smart as pymode now, wrt both bracket and backslash
      continuation rules.  It does require reparsing large gobs of text, and if it
      happens to find something that looks like a "def" or "class" or sys.ps1
      buried in a multiline string, but didn't suck up enough preceding text to
      see the start of the string, it's completely hosed.  I can't repair that --
      it's just too slow to reparse from the start of the file all the time.
      
      AutoIndent has grown a new num_context_lines tuple attribute that controls
      how far to look back, and-- like other params --this could/should be made
      user-overridable at startup and per-file on the fly.
      a6be3870
    • Guido van Rossum's avatar
      New file by Tim Peters: · 8113cdc3
      Guido van Rossum yazdı
      One new file in the attached, PyParse.py.  The LineStudier (whatever it was
      called <wink>) class was removed from AutoIndent; PyParse subsumes its
      functionality.
      8113cdc3
    • Guido van Rossum's avatar
      Tim Peters keeps revising this module (more to come): · d93f7395
      Guido van Rossum yazdı
      Removed "New tabwidth" menu binding.
      
      Added "a tab means how many spaces?" dialog to block tabify and untabify.  I
      think prompting for this is good now:  they're usually at-most-once-per-file
      commands, and IDLE can't let them change tabwidth from the Tk default
      anymore, so IDLE can no longer presume to have any idea what a tab means.
      
      Irony:  for the purpose of keeping comments aligned via tabs, Tk's
      non-default approach is much nicer than the Emacs/Notepad/Codewright/vi/etc
      approach.
      d93f7395
    • Guido van Rossum's avatar
      Andy Dustman notes that I patched the close() call in the wrong place. · 198e7cac
      Guido van Rossum yazdı
      Here's the correct patch!
      198e7cac
    • Guido van Rossum's avatar
      In class TemporaryFileWrapper, don't cache attributes of tpye int -- · 6b708d56
      Guido van Rossum yazdı
      these happen to be 'closed' and 'softspace', which may change!
      
      Noted by Dave Ascher (with slightly different solution).
      6b708d56
    • Guido van Rossum's avatar
      1. Catch NameError on import (could be raised by case mismatch on Windows). · 74311b2c
      Guido van Rossum yazdı
      2. No longer need to reset pyclbr cache and show watch cursor when calling
         ClassBrowser -- the ClassBrowser takes care of pyclbr and the TreeWidget
         takes care of the watch cursor.
      3. Reset the focus to the current window after error message about class
         browser on buffer without filename.
      74311b2c
    • Guido van Rossum's avatar
      Missed a few. · 292dd2d1
      Guido van Rossum yazdı
      292dd2d1
    • Guido van Rossum's avatar
      Rewritten based on TreeWidget.py · ec9cca77
      Guido van Rossum yazdı
      ec9cca77
    • Guido van Rossum's avatar
      1ff48ec8
    • Guido van Rossum's avatar
      Tree widget done right. · 7419f4b2
      Guido van Rossum yazdı
      7419f4b2
    • Guido van Rossum's avatar
      As yet unused code for tool tips. · d3a518b6
      Guido van Rossum yazdı
      d3a518b6
    • Guido van Rossum's avatar
    • Guido van Rossum's avatar
    • Fred Drake's avatar
      Fix availability clause; mention availability of similar functionality · 5fac2ab2
      Fred Drake yazdı
      for Windows using win32pipe.
      5fac2ab2
    • Guido van Rossum's avatar
    • Guido van Rossum's avatar
    • Guido van Rossum's avatar
    • Guido van Rossum's avatar
      Greg McFarlane writes: Tkinter.Text.tag_add should take multiple · fa8c3eab
      Guido van Rossum yazdı
      arguments.  [Slightly changed from submitted patch.]
      fa8c3eab
  4. 27 May, 1999 6 kayıt (commit)
  5. 26 May, 1999 3 kayıt (commit)
  6. 25 May, 1999 1 kayıt (commit)
  7. 24 May, 1999 1 kayıt (commit)