PyPE Changelog
What's new in PyPE 2.9.4
Aug 13, 2012- Closing PyPE after minimize on Windows no longer saves the position of the PyPE window as -32000,-32000.
- (fixed) Fast-running programs run from PyPE would sometimes not see any output due to a missed poll.
- (fixed) A variety of dialogs stopped being positioned correctly, so we stopped
- positioning them explicitly.
- Should fix most of the dialog positioning issues on all platforms.
New in PyPE 2.9 (Jan 14, 2010)
- (fixed) another bug related to realtime parsing.
- (fixed) typo in stc-styles.rc.cfg that is shipped with PyPE that can cause
- PyPE to fail to load on some platforms, thank you to Rob McMullen, the writer
- of Peppy, for pointing out the error.
- (fixed) bug with OS X disabling undo/redo cut/copy.
- (changed) main documents tab to use AuiNotebook to deal with the broken native
- notebook control on OS X. Seems to work as far as I can tell, though
- sometimes when you click the "scroll" button repeatedly, it doesn't work for
- every click.
- (changed) all tabs now use AuiNotebook for internal consistency, and because it
- just works better than the native control on OS X.
- (changed) the behavior of the search tab (find in files) to fully use a
- secondary thread for parsing, only putting results/events into the wxPython
- layer to update things. This significantly reduces the thread creation churn
- (I have no idea why I used a repeated callback semantic; maybe because it
- would guarantee a few things about starting/stopping, I don't know), which on
- OS X, allows you to search and edit documents at the same time, something that
- other platforms have been enjoying for years ;) .
- (changed) made the ReplaceAll functionality incrementally increase the number
- of replacements before updating the GUI. It used to be 20 replacements at a
- time. Now it will start at 30, then multiply that number by 1.5 each block, up
- to a maximum of 1000 replacements before updating the GUI. This should
- significantly increase the speed of large replacements, though there will be a
- longer delay between screen updates.
- (fixed) PyPE will now actually not close down on OS X if when prompted to save
- an unsaved document you say "cancel". The benefit of not losing data on other
- platforms has now come to OS X!
- (noticed) OS X screen updates are disgustingly slow. It's not PyPE's fault,
- it's the drawing method that Scinitlla uses on OS X.
- (fixed) module browser (the Name and Line tools) to work when confronted with
- function decorators. We will have to wait a bit for Python 2.6 before we can
- support class decorators.
- (fixed) moved file modification check to a secondary thread, which keeps the
- GUI from stalling when files are on slow volumes (remote mounts, etc.), and
- reduced check frequency from *every* time the application receives focus to
- at most once every 60 seconds (it is still signaled when PyPE gets application
- focus).
- (changed) switched to using a secondary thread + sched module variant for
- handling delayed calls, etc.
- (changed) switched to using a single wx.Timer instance + sched module variant
- for handling delayed calls, etc., in order to fix shutdown issues and to
- improve latencies for immediate calls.
- (fixed) unrepr for strings so that find/replace of ' ', etc., work again. I
- never tested my str_unrepr() stuff :/ .
- (cleaned) out some older code that is no longer necessary.
- (tweaked) file modification checker to ignore the results of the modification
- check if it took more than 30 seconds to complete.
- (fixed) bug where if you try to open a file and it fails due to a unicode
- decoding error, you could get an unsightly box in the corner.
- (fixed) the ugly flashing in the upper-left corner when opening documents.
- (fixed) the fast longest common subsequence algorithm (character doublings
- were effectively ignored, so search terms of 'hello' were the same as 'helo').
- (added) tool to the "Documents" tab to allow you to search a set of known
- paths for files to open (this also includes recently open files). It scores
- the subsequence search to pull "better" matches to the top.
- (fixed) when pasting multiple lines in files with tab indentation, an extra
- blank line will no longer be added before the pasted lines.
- (fixed) description text for spaces to tabs transform.
- (changed) rather than displaying every "file deleted" or "file modified" in
- it's own dialog (which gets bothersome when you lose a network mount), you now
- get one dialog for "file deleted" and one dialog for "file modified".
- (added) the ability to automatically detect the dominant tab/indent settings
- used per file, and use that as the default (which is quite useful if you have
- recently switched indent styles, and/or if you have to use a different indent
- style for work and not work).
- (fixed) autocomplete breakage due to the parsers module movement.
- (added) new parser and parser backend to replace the old Python parser with
- one based on compiler.ast . It's a little slower than the previous parser,
- and uses a bit more memory to start, but it offers much more opportunities for
- improving PyPE for 2.9 and beyond. In the process, I discovered a bug with
- the old parser.suite-based parser that I had borrowed from Synopsis (in
- addition to the decorator bug that I'd already fixed for 2.9), which was that
- it doesn't know about functions or classes that are in try/except/finally or
- even if/whatever clauses. Uck.
- (changed) tweaked some small color display options for latex (subsections are
- now colored green, they used to be blue).
- (added) crappy parser for cheetah and spitfire templates (.tmpl and .spt),
- they only pull #block and #def for now, but they understand block nesting.
- (added) True, False, as, and with as Python keywords
- (cleaned) up some repeated os.listdir() calls that weren't necessary for
- keeping the macro list updated. It now just updates when the window gets
- focus.
- (added) lexical scope traversal for Python to discover methods and locals.
- (added) the pulling of self/cls/klass attribute assignments for Python
- instance/class variables.
- (added) optional global filter for all parsed documents.
- (added) scoring method for filter tables (better matches float to the top of
- the listing).
- (fixed) long-standing issue with PyPE signaling a syntax error on the last
- line in some situations.
- (added) _ast-based parser for Python 2.5 and later (compiler.ast is deprecated
- in 2.6, and removed in 3.0). The new parser is a bit faster on large files
- (1.2 seconds vs. 1.4 seconds to parse pype.py on my machine), and should be
- future-proof.
- (changed) switched to using .png files for images, closing bug 1750959.
- (fixed) opening of utf8 files that lack a coding directive or a BOM.
- (fixed) sorting of line count in when using the new parser.
- (added) currently open documents to the quick browse area on the documents
- tab.
- (added) different background color for recently opened documents and currently
- open documents in the quick browse section on the documents tab.
- (fixed) PyPE will now check for tab/indent preferences properly when opening a
- file not in it's history.
- (added) listing of currently open files to the quick browse section on the
- documents tab.
- (fixed) dialog opening on multi-monitor Windows configurations.
- (tweaked) indent discovery code.
- (fixed) label handling in some situations with the new AST-based parser.
- (removed) duplicate entries in the quick browse section of the documents tab.
- (added) the ability to remove items from history in the quick browse section
- of the documents tab.
- (added) drag and drop along the notebook tab list.
- (fixed) accidental document list borkage.
New in PyPE 2.8.8 (Dec 28, 2007)
- (fixed) a bug related to realtime parsing of non-ascii Python source.