ANN: Leo 4.10 b1 released
Leo 4.10 b1 is now available at: http://sourceforge.net/projects/leo/files/ Leo is a text editor, data organizer, project manager and much more. http://webpages.charter.net/edreamleo/intro.html Leo 4.10 contains 9 months of intense work on Leo. Several very important features are subtle; you could almost call them Easter Eggs, so please read the following notes carefully. The highlights of Leo 4.10: -- * Dozens of new and improved features and commands, including... - Tab completion now shows all @command & @button nodes. - Leo tabs may be detached from the main window. - The Open With menu now works. - The leoInspect module answers questions about Python code. - Leo can highlight the pane containing the focus. - The bigdash plugin searches across multiple files. - Improved abbreviation capabilities. - Improved handling of URL's. - Improved editing of non-Leo files. - Improvements create "weightless" unit testing. * Easier installation on MacOS. * Fixed almost 70 bugs. The Easter Eggs --- 1. Tab completion now shows all @command & @button nodes. Put all your common scripts in @command nodes in myLeoSettings.leo. Typing @c will remind you of the names of these scripts. You can execute the scripts by name without the "@command-" prefix. 2. Improved abbreviation capabilities. Virtually any kind of abbreviation is possible. For example, ~a to ã. 3. Improved handling of URL's. URL's can link to other Leo outlines. Ctrl-Click on nodes or URL's in body text to activate the URL. 4 Weightless unit testing. The mantra is edit, alt-4 (run-marked-unit-tests-externally), edit, alt-4,... Several seemingly innocuous changes made this work without an "friction". The result is a remarkable increase in productivity. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Forum:http://groups.google.com/group/leo-editor Download: http://sourceforge.net/projects/leo/files/ Bzr: http://code.launchpad.net/leo-editor/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.10 final released
Leo 4.10 final is now available at: http://sourceforge.net/projects/leo/files/Leo/4.10%20final/ Leo is a text editor, data organizer, project manager and much more. http://webpages.charter.net/edreamleo/intro.html Leo 4.10 contains 9 months of intense work on Leo. Several very important features are subtle; you could almost call them Easter Eggs, so please read the following notes carefully. The highlights of Leo 4.10: -- * Dozens of new and improved features and commands, including... - Tab completion now shows all @command & @button nodes. - Leo tabs may be detached from the main window. - The Open With menu now works. - The leoInspect module answers questions about Python code. - Leo can highlight the pane containing the focus. - The bigdash plugin searches across multiple files. - Improved abbreviation capabilities. - Improved handling of URL's. - Improved editing of non-Leo files. - Improvements create "weightless" unit testing. - Improved Leo's home page. * Easier installation on MacOS. * Fixed almost 70 bugs. The Easter Eggs --- 1. Tab completion now shows all @command & @button nodes. Put all your common scripts in @command nodes in myLeoSettings.leo. Typing @c will remind you of the names of these scripts. You can execute the scripts by name without the "@command-" prefix. 2. Improved abbreviation capabilities. Virtually any kind of abbreviation is possible. For example, ~a to ã. 3. Improved handling of URL's. URL's can be used as links to other Leo outlines. 4 Weightless unit testing. The mantra is edit, alt-4 (run-marked-unit-tests-externally), edit, alt-4,... Several seemingly innocuous changes made this work without "friction". The result is a remarkable increase in productivity. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Forum:http://groups.google.com/group/leo-editor Download: http://sourceforge.net/projects/leo/files/Leo/4.10%20final/ Bzr: http://code.launchpad.net/leo-editor/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward K. Ream ---------- Edward K. Ream email: edream...@gmail.com Leo: http://webpages.charter.net/edreamleo/front.html -- -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.9 b4 released
Leo 4.9 b4 is now available at: http://sourceforge.net/projects/leo/files/ If you have trouble downloading, please do try an alternate mirror. Unless serious problems are reported, expect Leo 4.9 rc1 this Friday, June 17 and 4.9 final on Tuesday, June 21. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html **The highlights of Leo 4.9:** - The Qt gui completely replaces the Tk gui--Qt gui now has all essential features of Tk, including plugins. - Completed Leo's autocompleter. - The rendering pane can now display movies, html, svg images, etc. - The scrolledmessage plugin can now use the rendering pane. - Nodes may contain multiple @language directives. - Leo highlights URL's everywhere. Ctrl-click URL's opens them in your web browser. - Leo uses an @file node's extension by default if there is no @language directive in effect. - Unified extract and import commands. - Leo can now colorize multiple @language directives in a single node. - Plain up/down arrow keys in headline-editing mode select a new node. - New commands to insert, delete, change or print uA's. - Added namespace directive to .leo files. - Fixed many bugs, some important, others merely annoying. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Forum:http://groups.google.com/group/leo-editor Download: http://sourceforge.net/projects/leo/files/ Bzr: http://code.launchpad.net/leo-editor/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward K. Ream June 14, 2011 -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.9 final released
Leo 4.9 final is now available at: http://sourceforge.net/projects/leo/files/ Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.9: - The Qt gui completely replaces the Tk gui--Qt gui now has all essential features of Tk, including plugins. - Completed Leo's autocompleter. - The rendering pane can now display movies, html, svg images, etc. - The scrolledmessage plugin can now use the rendering pane. - Nodes may contain multiple @language directives. - Leo highlights URL's everywhere. Ctrl-click URL's opens them in your web browser. - Leo uses an @file node's extension by default if there is no @language directive in effect. - Unified extract and import commands. - Leo can now colorize multiple @language directives in a single node. - Plain up/down arrow keys in headline-editing mode select a new node. - New commands to insert, delete, change or print uA's. - Added namespace directive to .leo files. - Fixed many bugs, some important, most quite minor. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Forum:http://groups.google.com/group/leo-editor Download: http://sourceforge.net/projects/leo/files/ Bzr: http://code.launchpad.net/leo-editor/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward K. Ream June 21, 2011 -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4a1 released
Leo 4.4 alpha 1 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 To learn about Leo, see: http://webpages.charter.net/edreamleo/intro.html Leo 4.4 adds an Emacs-like minibuffer and support for all frequently-used Emacs commands. Emacs users will be able to choose key bindings compatible with their present finger habits. Eventually, Vim users will be able to do the same. This is definitely an alpha release; several minibuffer commands are buggy. However, this release also significantly improves Leo's error recovery capabilities. This may be the most robust version of Leo ever released. The highlights of Leo 4.4 alpha 1: -- - Support for all frequently-used Emacs commands, including cursor and screen movement, basic character, word and paragraph manipulation, and commands to manipulate buffers, the kill ring, regions and rectangles. - An Emacs-like minibuffer: you can now execute any command by name from the minibuffer, both the new Emacs-style commands and traditional Leo commands. - You can define key bindings for all commands, including the new minibuffer commands, using @shortcuts nodes in leoSettings.leo files. You can define multiple sets of key bindings and switch between those sets easily. - Several fixes to the 4.3 code base. Coming in later releases of Leo 4.4: - Support for 'mouseless Leo'. There will be commands to manipulate all aspects of Leo using commands, so your fingers will never have to leave the keyboard. - Support for Vim and other 'plain-key' command modes. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward K. Ream October 17, 2005 -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4a2 released
Leo 4.4 alpha 2 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 To learn about Leo, see: http://webpages.charter.net/edreamleo/intro.html Leo 4.4a2 contains some of the most important changes to Leo's look (tabbed log) and feel (per-pane key bindings) in Leo's history. This release is a big step forward in meeting the following goals: - To allow Emacs and Vim users to retain their present 'finger habits'. - To support an emacs-like minibuffer, complete with typing completion. - To make Leo usable without a mouse (mouseless Leo). This is an alpha release: there are known bugs (see below). However, you should be able to use this version safely. In particular, the Leo 4.4 code base recovers from errors more reliably than all previous versions. The highlights of Leo 4.4: -- - An Emacs-like mini-buffer: you can now execute any command by typing its long name. Support for tab completion. - A tabbed log pane. The Find and Spell Check commands now use tabs instead of dialogs, making those commands much easier to use. Plugins or scripts can easily create new tabs. The 'Completion' tab shows possible typing completions. - Support for almost all commands in the Emacs Cmds menu, including cursor and screen movement, basic character, word and paragraph manipulation, and commands to manipulate buffers, the kill ring, regions and rectangles. - Per-pane key bindings. You can bind shortcuts to multiple commands depending on which of Leo's panes presently has focus. For example, you can use arrow keys to move nodes in the outline pane, while retaining their defaults in Leo's body pane. Per-pane key binds are essential for mouseless Leo. - @command nodes create minibuffer commands. You can bind key shortcuts to @button and @command nodes. - A rewrite of Leo's keystroke handling. In particular, Leo handles key events immediately rather than queuing them for idle time. - Several fixes made to the 4.3 code base. In particular, Leo 4.4 continues after crashes much more reliably than in any previous version. Known bugs in Leo 4.4a2 --- - (Reported after a2 released): Canceling the Open dialog crashes. Leo recovers without incident. - Typing in the minibuffer doesn't work if the focus is 'in limbo', that is, not in the outline, body or log panes. Leo usually forces the focus to the body pane in such cases, but the code doesn't always work and sometimes causes other problems. This *minor* annoyance will be fixed completely in Leo 4.4a3. - Several minibuffer commands do not work; many new features lack unit tests. Coming in later releases of Leo 4.4: - More support for mouseless Leo. There will be commands to manipulate all aspects of Leo using commands, so your fingers will never have to leave the keyboard. - Support for Vim and other 'plain-key' input modes. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward K. Ream November 2, 2005 Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4a2 withdrawn
Leo 4.4a2 has been withdrawn due to problems that can cause Leo to lose what you have recently typed. Leo 4.4a3 will be released in about a week. Edward Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4a4 released
Leo 4.4 alpha 4 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 To learn about Leo see http://webpages.charter.net/edreamleo/intro.html Leo 4.4 a4 redraws the screen more quickly, corrects numerous bugs in the 4.4 code base, and introduces several new features. You should be able to use this version safely. There are no known serious bugs, but several minibuffer commands are not ready for prime time. All the major features of 4.4 are in place. The highlights of Leo 4.4: -- - An Emacs-like mini-buffer: you can now execute any command by typing its long name. Support for tab completion. - A tabbed log pane. The Find and Spell Check commands now use tabs instead of dialogs, making those commands much easier to use. Plugins or scripts can easily create new tabs. The Completion tab shows possible typing completions. - Support for almost all commands in the Emacs Cmds menu, including cursor and screen movement, basic character, word and paragraph manipulation, and commands to manipulate buffers, the kill ring, regions and rectangles. - Per-pane key bindings. You can bind shortcuts to multiple commands depending on which of Leo's panes presently has focus. For example, you can use arrow keys to move nodes in the outline pane, while retaining their defaults in Leo's body pane. Per-pane key bindings are essential for mouseless Leo. - @command nodes create minibuffer commands. You can bind key shortcuts to @button and @command nodes. - A rewrite of Leo's keystroke handling. In particular, Leo handles key events immediately rather than queuing them for idle time. - Leo recovers from crashes much more reliably than in any previous version. - Leo updates the screen immediately rather than waiting for idle time. This 'Newer World Order' simplifies the code and improves performance. Known bugs in Leo 4.4a4 --- - Several minibuffer commands do not work. See the release notes for details. Coming in later releases of Leo 4.4: - An auto-complete command that shows class members in the Completion tab. - More support for mouseless Leo. There will be commands to manipulate all aspects of Leo using commands, so your fingers will never have to leave the keyboard. - Support for Vim and other 'plain-key' input modes. -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.3-a1 released
Leo 4.3 alpha 1 is now available at http://sourceforge.net/projects/leo/ Leo 4.3 is the culmination of more than four months of work. In spite of its alpha status, I recommend Leo 4.3a1 over any 4.2 release. The defining features of Leo 4.3: - 1. Leo now stores options in @settings trees, that is, outlines whose headline is '@settings'. When opening a .leo file, Leo looks for @settings trees not only in the outline being opened but also in various leoSettings.leo files. The key design goal of @settings trees was that Leo's user options must be infinitely flexible. That goal has been accomplished. Indeed, users can create arbitrarily complex user options with @settings trees. Leo settings outlines are, in fact, infinitely more flexible and powerful than any scheme based on flat text. Readers of Python's configParser shootout take note. 2. The Preferences command temporarily replaces the outline pane with an outline showing all the @settings trees in effect. The Preferences command also replaces the body pane with a "settings pane". This settings pane allows you to change the settings selected in the outline pane using standard gui widgets. The settings pane is dynamically created from nodes in the settings tree; it is as extensible as the @settings tree itself. 3. Leo's read/write code in leoAtFile.py has been rewritten to support user-defined tangling and untangling. This is a major cleanup of Leo's core. 4. Leo now boasts a wonderful new Plugins Manager plugin. This plugin enables and disables plugins automatically. You never have to mess with pluginsManager.txt again. This plugin also tells you everything you need to know about each plugin. Finally, this plugin also lets you download plugins from Leo's cvs site. 5. You can install third-party extensions in Leo's extensions directory. Leo will attempt to import such extensions from the extensions directory if normal imports fail. As usual, version 4.3 contains many other improvements and bug fixes. What people are saying about Leo "I am using Leo since a few weeks and I brim over with enthusiasm for it. I think it is the most amazing software since the invention of the spreadsheet." -- juergen_r "We who use Leo know that it is a breakthrough tool and a whole new way of writing code." -- Joe Orr "I am a huge fan of Leo. I think it's quite possibly the most revolutionary programming tool I have ever used and it (along with the Python language) has utterly changed my view of programming (indeed of writing) forever." -- Shakeeb Alireza "Thank you very much for Leo. I think my way of working with data will change forever...I am certain [Leo] will be a revolution. The revolution is as important as the change from sequential linear organization of a book into a web-like hyperlinked pages. The main concept that impress me is that the source listing isn't the main focus any more. You focus on the non-linear, hierarchical, collapsible outline of the source code." -- Korakot Chaovavanich "Leo is a quantum leap for me in terms of how many projects I can manage and how much information I can find and organize and store in a useful way." -- Dan Winkler "Wow, wow, and wow...I finally understand how to use clones and I realized that this is exactly how I want to organize my information. Multiple views on my data, fully interlinkable just like my thoughts." -- Anon. "A few years back I would have said Zope was #1 Python showcase, but I agree 100% that Leo is tops now." -- Jason Cunliffe "Leo is the most interesting Python project I know of...I see lots of stuff posted on the Daily Python page, but I usually yawn and come over to this forum to see what's cooking." -- Anon More quotes at: http://webpages.charter.net/edreamleo/testimonials.html What makes Leo special? --- - Leo's outlines add a new dimension to programming. - Leo shows you your code and data the way _you_ want to see them. - Leo extends, completes and simplifies literate programming. - Leo's script buttons bring scripts to data. What is Leo? - A programmer's editor, an outlining editor and a flexible browser. - A literate programming tool, compatible with noweb and CWEB. - A data organizer and project manager. Leo provides multiple views of projects within a single outline. - Fully scriptable using Python. Leo saves its files in XML format. - Portable. leo.py is 100% pure Python. - Open Software, distributed under the Python License. Leo requires Python 2.2.1 or above and tcl/tk 8.4 or above. Leo works on Linux, Windows and MacOs X. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS
Leo 4.3.1 released
Leo 4.3.1 final is now available at http://sourceforge.net/projects/leo/ This is a bug fix release, with the following new features: - Added support for Tk resource files. - Added support for coloring the PL/SQL language. - All Mark commands are now undoable. - Improved Resize To Screen command. What people are saying about Leo "Still using Leo as the world's best outliner and not for programming tasks (I'm in love for more than 2 years now :-)" -- Franz Geiger More quotes at: http://webpages.charter.net/edreamleo/testimonials.html What makes Leo special? --- - Leo's outlines add a new dimension to programming. - Leo shows you your code and data the way _you_ want to see them. - Leo extends, completes and simplifies literate programming. - Leo's script buttons bring scripts to data. What is Leo? - A programmer's editor, an outlining editor and a flexible browser. - A literate programming tool, compatible with noweb and CWEB. - A data organizer and project manager. Leo provides multiple views of projects within a single outline. - Fully scriptable using Python. Leo saves its files in XML format. - Portable. leo.py is 100% pure Python. - Open Software, distributed under the Python License. Leo requires Python 2.2.1 or above and tcl/tk 8.4 or above. Leo works on Linux, Windows and MacOs X. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: Literate Editor with Outlines Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
New docs for Leo
Leo has new documentation: simpler, clearer, shorter. See: http://webpages.charter.net/edreamleo/leo_TOC.html Everything a newbie needs to know about Leo is at: http://webpages.charter.net/edreamleo/intro.html Please post any questions, comments or corrections here: http://sourceforge.net/forum/forum.php?forum_id=10226 Edward Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.3.2 beta 1
Leo 4.3.2 beta 1 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 To learn about Leo, see: http://webpages.charter.net/edreamleo/intro.html The highlights of 4.3.2: --- - Improved Leo's documentation: - A tutorial introduction to Leo: http://webpages.charter.net/edreamleo/intro.html - A 5-minute guide to programming with Leo: http://webpages.charter.net/edreamleo/intro.html#quick-start-for-programmers - The new rst3 plugin creates .html and .tex files from reStructuredText embedded in Leo files. Any node of the source outline may contain options for the rst3 plugin, which makes this plugin much more useful and flexible than the previous rst plugins. All of Leo's documentation was created using this plugin from sources in LeoDocs.leo. For full documentation for rst3 see: http://webpages.charter.net/edreamleo/rstplugin3.html - The spellpyx (spell checking) plugin is now much easier to use. - The vim and openWith plugins now use Python's subprocess module if it is present. - Improved the Pretty Printing command. - The usual assortment of bug fixes. Edward K. Ream -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.3.3 released
Leo 4.3.3 final is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo 4.3.3 fixes several bugs reported in Leo 4.3.2 final. To learn about Leo, see: http://webpages.charter.net/edreamleo/intro.html The highlights of 4.3.3 (and 4.3.2) --- - Improved Leo's documentation: - A tutorial introduction to Leo: http://webpages.charter.net/edreamleo/intro.html - A 5-minute guide to programming with Leo: http://webpages.charter.net/edreamleo/intro.html#quick-start-for-programmers - The new rst3 plugin creates .html and .tex files from reStructuredText embedded in Leo files. Any node of the source outline may contain options for the rst3 plugin, which makes this plugin much more useful and flexible than the previous rst plugins. All of Leo's documentation was created using this plugin from sources in LeoDocs.leo. For full documentation for rst3 see: http://webpages.charter.net/edreamleo/rstplugin3.html. - The spellpyx (spell checking) plugin is now much easier to use. - The vim and openWith plugins now use Python's subprocess module if it is present. - Improved the Pretty Printing command. - The usual assortment of bug fixes. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.3-a3 Outlining IDE
Leo 4.3 alpha 3 is now available at http://sourceforge.net/projects/leo/ Leo 4.3 is the culmination of more than five months of work. This alpha 3 release corrects various bugs in Leo's core and in plugins. This is the first release that include an installer for MacOSX. The defining features of Leo 4.3: - 1. Leo now stores options in @settings trees, that is, outlines whose headline is '@settings'. When opening a .leo file, Leo looks for @settings trees not only in the outline being opened but also in various leoSettings.leo files. Users can create arbitrarily complex user options with @settings trees. Leo settings outlines are, in fact, infinitely more flexible and powerful than any scheme based on flat text. Readers of Python's configParser shootout take note. 2. The Preferences command temporarily replaces the outline pane with an outline showing all the @settings trees in effect. The Preferences command also replaces the body pane with a "settings pane". This settings pane allows you to change the settings selected in the outline pane using standard gui widgets. 3. Leo's read/write code in leoAtFile.py has been rewritten to support user-defined tangling and untangling. This is a major cleanup of Leo's core. 4. Leo now boasts an excellent Plugins Manager plugin. This plugin enables and disables plugins automatically and tells you everything you need to know about each plugin. This plugin also lets you download plugins from Leo's cvs site. 5. You can install third-party extensions in Leo's extensions directory. Leo will attempt to import such extensions from the extensions directory when normal imports fail. The distribution contains Python Mega Widgets in the extensions directory. What people are saying about Leo "[Leo] should either replace or greatly augment the development tools that I use." -- Zak Greant "Leo is a marriage of outlining and literate programming. Pure genius. The main reason I am impressed with this tool is that it doesn't affect your choice of tools. You can use whatever IDE for whatever language and switch back and forth between Leo and it." -- Austin King "Leo is the best IDE that I have had the pleasure to use. I have been using it now for about 2--3 months. It has totally changed not only the way that I program, but also the way that I store and organize all of the information that I need for the job that I do." -- Ian Mulvany "I only have one week of Leo experience but I already know it will be my default IDE/project manager...people complain about the lack of a project manager for the free/standard Python IDE's like Idle. Leo clearly solves that problem and in a way that commercial tools can't touch." -- Marshall Parsons "[Leo has] become my main development platform, and I do this for a living. -- Nicola Larosa "I have been using Leo for about 3 weeks and I hardly use my other programming editor anymore...I find it easy and enjoyable to use. I plan to adopt it as my presentation tool for code reviews." -- Jim Vickroy "I'm absolutely astounded by the power of such a simple idea! It works great and I can immediately see the benefits of using Leo in place of the standard flat file editor." -- Tom Lee, <[EMAIL PROTECTED]> I think you're really showing what open source can do and your current trajectory puts you on track to kick Emacs into the dustbin of computing history. -- Dan Winkler More quotes at: http://webpages.charter.net/edreamleo/testimonials.html What makes Leo special? --- - Leo's outlines add a new dimension to programming. - Leo shows you your code and data the way _you_ want to see them. - Leo extends, completes and simplifies literate programming. - Leo's script buttons bring scripts to data. What is Leo? - A programmer's editor, an outlining editor and a flexible browser. - A literate programming tool, compatible with noweb and CWEB. - A data organizer and project manager. Leo provides multiple views of projects within a single outline. - Fully scriptable using Python. Leo saves its files in XML format. - Portable. leo.py is 100% pure Python. - Open Software, distributed under the Python License. Leo requires Python 2.2.1 or above and tcl/tk 8.4 or above. Leo works on Linux, Windows and MacOs X. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html Wiki: http://leo.hd1.org/ Edward K. Ream Edward K. Ream email: [EMAIL PROTECTED] Leo: Literate Editor with Outlines
Re: Leo 4.3-a3 Outlining IDE
I really only posted this once to comp.lang.python. The duplicate appears to be the work of the Department of Redundancy Department. Edward Edward K. Ream email: [EMAIL PROTECTED] Leo: Literate Editor with Outlines Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
When was extended call syntax introduced?
Various documentation pages, e.g. http://www.python.org/doc/2.3.3/lib/non-essential-built-in-funcs.html state that the apply function has been deprecated since 2.3. Can anyone tell me when extended call syntax was actually introduced? Neither googling nor brief checks of the 'What's new in Python' or the pep's has turned up this information. Thanks. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: Literate Editor with Outlines Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: When was extended call syntax introduced?
> > That was in Python 2.0, see Thanks very much, Martin. -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4a5 released
Leo 4.4 alpha 5 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This release completes the last major features of Leo 4.4: - User-specified key-binding modes. - Support for multiple key-bindings for individual minibuffer commands. This will be the last alpha version of Leo 4.4. Beta 1 is coming in about a week. You should be able to use this version safely; there are no known serious bugs. To learn about Leo, see: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4: -- - An Emacs-like mini-buffer: you can now execute any command by typing its long name. Support for tab completion. - A tabbed log pane. The Find and Spell Check commands now use tabs instead of dialogs, making those commands much easier to use. Plugins or scripts can easily create new tabs. The Completion tab shows possible typing completions. - Support for most commands in the Emacs Cmds menu, including cursor and screen movement, basic character, word and paragraph manipulation, and commands to manipulate buffers, the kill ring, regions and rectangles. - Per-pane key bindings. You can bind shortcuts to multiple commands depending on which of Leo's panes presently has focus. For example, you can use arrow keys to move nodes in the outline pane, while retaining their defaults in Leo's body pane. - User-specified key-binding modes. This feature makes it possible to emulate all aspects of Emacs and Vim as far as key bindings are concerned. - Leo recovers from crashes much more reliably than in any previous version. - @command nodes create minibuffer commands. You can bind key shortcuts to @button and @command nodes. - Leo handles key events and updates the screen immediately rather than queuing them for idle time. - Leo updates the screen immediately rather than waiting for idle time. This improves response. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward K. Ream January 6, 2006 ------------ Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4b1 released
Leo 4.4 beta 1 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 The code is stable; there are no known serious bugs. Some features are incomplete. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4: -- - An Emacs-like mini-buffer: you can now execute any command by typing its long name, with tab completion. - Many new commands, including cursor and screen movement, basic character, word and paragraph manipulation, and commands to manipulate buffers, the kill ring, regions and rectangles. You can use Leo without using a mouse. - Flexible key bindings and input modes. You can emulate the operation of Emacs, Vim, or any other editor. - A tabbed log pane. The Find and Spell Check commands now use tabs instead of dialogs, making those commands much easier to use. Plugins or scripts can easily create new tabs. The Completion tab shows possible typing completions. - Dozens of other new features and bug fixes since Leo 4.3.3. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward K. Ream January 17, 2006 ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: sax barfs on unicode filenames: workaround
Happily, the workaround is easy. Replace theFile with: # Use cStringIo to avoid a crash in sax when inputFileName has unicode characters. s = theFile.read() theFile = cStringIO.StringIO(s) My first attempt at a workaround was to use: s = theFile.read() parser.parseString(s) but the expat parser does not support parseString... Edward Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: How to ask sax for the file encoding
> The encoding _is_ irrelevant, in the very moment you get unicode strings. We shall have to disagree about this. My use case is perfectly reasonable, imo. > If you write out xml again, use whatever encoding suits you best. What suits me best is what the *user* specified, and that got put in the first xml line. I'm going to have to parse this line myself. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: How to ask sax for the file encoding
> are you expecting your users to write XML by hand? Of course not. Leo has the following option: @string new_leo_file_encoding = utf-8 Edward ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: How to ask sax for the file encoding
> Please consider adding some elements to the document itself that describe the desired output format, Well, that's what the encoding field in the xml line was supposed to do. Not a bad idea though, except it changes the file format, and I would really rather not do that. Edward ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: How to ask sax for the file encoding
> the encoding isn't *in* the XML file, it's an artifact of the > serialization model used for a specific XML infoset. the XML > data is pure Unicode. Sorry, but no. The *file* is what I am talking about, and the way it is encoded does, in fact, really make a difference to some users. They have a right, I think, to expect that the original encoding gets preserved when the file is rewritten. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: How to ask sax for the file encoding
> Try this: [snip] Parser.XmlDeclHandler = self.XmlDecl [snip] Excellent! Thanks so much. Edward ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Tkinter: populating Mac Help menu?
Hello all, Creating a 'Help' menu 'by hand' on the Mac does not work, or rather, it creates a *second* Help menu. There are hints about how to do this at: http://tkinter.unpythonic.net/wiki/Widgets/Menu but so far those hints have not been enough :-) The following statements are the result of several happy hours experimenting with dir(obj) for several objects obj related to menus. (Jeeze, I love Python, but you knew that :-) The url above suggests that the 'official' Mac menu is named x.help, where x is the Tk name (a string) of the menubar. If menubar is the Tkinter menubar widget, then I assume that x = menubar._w. So given x (a string), how does one create a widget whose name is '%s.help' % x ? This is a can of corn in Tk, but nothing comes to mind looking at the Tkinter source code. If my app does *not* create a help menu, then even long after the Mac menubar is created, and the official (empty) Help menu is visible, menubar.children does *not* contain an entry for the official Mac Help menu. Thus, there appears to be no way to populate the official Help menu after letting Tkinter create the Help menu. Naturally, I could be wrong :-) Thanks for any help you can provide. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4.2 beta 2 released
Leo 4.4.2 beta 2 October 9, 2006 Leo 4.4.2 beta 2 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.2: - You can now store settings in myLeoSettings.leo without fear of those settings being changed by cvs updates or in future versions of Leo. - Leo's vnode tnode and position classes are now completely independent of the rest of Leo. Some api's have been changed. This 'big reorg' and may affect scripts and plugins. - Leo's vnode and tnode classes can optionally be compatible with ZODB databases, i.e., they can optionally derive from ZODB.Persistence.Persistent. See Chapter 17: Using ZODB with Leo for details. - The leoOPML plugin defines commands to read and write OPML files. - The slideshow plugin allows Leo to run slideshows defined by @slideshow and @slide nodes. - The leo_to_rtf and leo_to_html plugins create rtf and html files from Leo outlines. - Much faster navigation through the outline. - When focus is in the outline pane, you can move to headlines by typing the first letter of headlines. - The find command now optionally closes nodes not needed to show the node containing the present match. - Numerous changes that make Leo easier to use without using a mouse, including new commands and options. - Many more minibuffer commands appear in the Cmds menu. - A sax parser can now optionally read .leo files. - Dozens of bug fixes. Quote of the month: -- For the non-leo python project I'm (supposed to be) working on, I'm switching from emacs to leo :-) -- Terry Brown Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Tkinter: populating Mac Help menu?
Thanks for these replies. I'll try these ideas soon and report back on my experiences. Edward Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Tkinter: populating Mac Help menu?
> hm = Menu(mb, name='help') Yes, that worked. Many thanks for your help with Help. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4.2 beta 3 released
Leo 4.4.2 beta 3 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 The beta release fixed dozens of bugs and smoothed many rough edges. There are no known major bugs in Leo. This will be the last beta release before Loo 4.4.2 final. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.2: - You can now store settings in myLeoSettings.leo without fear of those settings being changed by cvs updates or in future versions of Leo. - Leo's vnode and tnode classes are now completely independent of the rest of Leo. Some api's have been changed. This 'big reorg' and may affect scripts and plugins. - Leo's vnode and tnode classes can optionally be compatible with ZODB databases, i.e., they can optionally derive from ZODB.Persistence.Persistent. See Chapter 17: Using ZODB with Leo for details. - The leoOPML plugin defines commands to read and write OPML files. - The slideshow plugin allows Leo to run slideshows defined by @slideshow and @slide nodes. - The leo_to_rtf and leo_to_html plugins create rtf and html files from Leo outlines. - Much faster navigation through the outline. - When focus is in the outline pane, you can move to headlines by typing the first letter of headlines. - The find command now optionally closes nodes not needed to show the node containing the present match. - Numerous changes that make Leo easier to use without using a mouse, including new commands and options. - Many new minibuffer commands now appear in the Cmds menu. - A sax parser can now optionally read .leo files. - Fixed numerous bugs. Quote of the month: -- For the non-leo python project I'm (supposed to be) working on, I'm switching from emacs to leo :-) -- Terry Brown Links: -- Leo:http://webpages.charter.net/edreamleo/front.html What's new: http://webpages.charter.net/edreamleo/new-4-4-2.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS:http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: $500 prize for best Leo slideshows
A prize of $500 prize is hereby offered to the person or persons who can create the best slide shows (using Leo's slideshow plugin) that introduces Leo to newbies. What is Leo, you ask? Home: http://webpages.charter.net/edreamleo/front.html Tutorial: http://webpages.charter.net/edreamleo/leo_TOC.html FAQ: http://webpages.charter.net/edreamleo/FAQ.html Wiki: http://leo.zwiki.org/FrontPage 1. Prize fund The total prize fund is $500. Prizes will be awarded solely at the discretion of Edward K. Ream. The prize fund may be split among contestants, and the total prize fund will be distributed only if the number and quality of submissions warrant it. 2. Format of entries Entries should be a *single* Leo outline. This outline may contain multiple slideshows. Multiple entries are allowed. Entries must be accompanied by your name, address and email address. 3. Ownership of entries All entries become the property of Edward K. Ream and will be distributed under the terms of Leo's Open Source license. 4. Criteria for awards Prizes will be awarded on how useful the slideshow is in helping newbies understand Leo. To be considered for an award, an entry must show substantial work. I'll also consider creativity, originality, etc. I'll also look favorably on extensions to the slideshow plugin if such extensions materially improve the presentation. 5. Duration of contest The contest shall end December 11, 2006. The contest may be extended at the sole discretion of Edward K. Ream, but in no event shall the contest continue past February 2, 2007. Prizes will be awarded within one week of the close of the contest. Winners will be announced on Leo's Open Discussion Forum: http://sourceforge.net/forum/forum.php?forum_id=10226 Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4.2 final released
Leo 4.4.2 final is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This release fixes a few bugs and adds support for controlling Leo from Emacs using pymacs. There are no known significant bugs in this version of Leo. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.2: - You can now store settings in myLeoSettings.leo without fear of those settings being changed by cvs updates or in future versions of Leo. - Leo's vnode and tnode classes are now completely independent of the rest of Leo. Some api's have been changed. This 'big reorg' and may affect scripts and plugins. - Leo's vnode and tnode classes can optionally be compatible with ZODB databases, i.e., they can optionally derive from ZODB.Persistence.Persistent. See Chapter 17: Using ZODB with Leo for details. - The leoOPML plugin defines commands to read and write OPML files. - The slideshow plugin allows Leo to run slideshows defined by @slideshow and @slide nodes. - The leo_to_rtf and leo_to_html plugins create rtf and html files from Leo outlines. - Much faster navigation through the outline. - When focus is in the outline pane, you can move to headlines by typing the first letter of headlines. - The find command now optionally closes nodes not needed to show the node containing the present match. - Numerous changes that make Leo easier to use without using a mouse, including new commands and options. - Many new minibuffer commands now appear in the Cmds menu. - A sax parser can now optionally read .leo files. - Fixed numerous bugs. Links: -- Leo:http://webpages.charter.net/edreamleo/front.html What's new: http://webpages.charter.net/edreamleo/new-4-4-2.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS:http://leo.tigris.org/source/browse/leo/ Leo's Wiki: http://leo.zwiki.org/FrontPage Wikipedia: http://en.wikipedia.org/wiki/Leo_%28text_editor%29 Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Leo 4.4.2 final released: config bug
Drat. Leo does not remember recent files unless .leoRecentFiles.txt exists in Leo's config directory. Alas, that file is (on purpose) not part of the distribution, and Leo only creates .leoRecentFiles.txt in the users home directory. So most users will have to create .leoRecentFiles.txt in Leo's config directory 'by hand': it can start life as an empty text file. My apologies for this error. It will be fixed in Leo 4.4.2.1 in a few days. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4.2.1 final released
Leo 4.4.2.1 final is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo 4.4.2.1 final fixes a recent bug that caused Leo not to create the .leoRecentFiles.txt file properly in some situations. There are no known significant bugs in this version of Leo. Leo 4.4.2 final fixes a few bugs and adds support for pymacs. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.2: - You can now store settings in myLeoSettings.leo without fear of those settings being changed by cvs updates or in future versions of Leo. - Leo's vnode and tnode classes are now completely independent of the rest of Leo. Some api's have been changed. This 'big reorg' and may affect scripts and plugins. - Leo's vnode and tnode classes can optionally be compatible with ZODB databases, i.e., they can optionally derive from ZODB.Persistence.Persistent. See Chapter 17: Using ZODB with Leo for details. - The leoOPML plugin defines commands to read and write OPML files. - The slideshow plugin allows Leo to run slideshows defined by @slideshow and @slide nodes. - The leo_to_rtf and leo_to_html plugins create rtf and html files from Leo outlines. - Much faster navigation through the outline. - When focus is in the outline pane, you can move to headlines by typing the first letter of headlines. - The find command now optionally closes nodes not needed to show the node containing the present match. - Numerous changes that make Leo easier to use without using a mouse, including new commands and options. - Many new minibuffer commands now appear in the Cmds menu. - A sax parser can now optionally read .leo files. Links: -- Leo:http://webpages.charter.net/edreamleo/front.html What's new: http://webpages.charter.net/edreamleo/new-4-4-2.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS:http://leo.tigris.org/source/browse/leo/ Leo's Wiki: http://leo.zwiki.org/FrontPage Wikipedia: http://en.wikipedia.org/wiki/Leo_%28text_editor%29 Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: ANN: Leo 4.4.2.1 final released
>I downloaded the Windows exe, ran it and a small blank message window poped >up and that was it. > I am still running 2.3. I assume you mean Python 2.3, not Leo 2.3 :-) I know for sure that Leo works with Python 2.3. In the future, please report problems to one of Leo's forums. And when reporting problems please tell me what platform you are using. You can probably see more information by running Leo in a console. See Leo's FAQ for instructions: http://webpages.charter.net/edreamleo/FAQ.html#how-can-i-run-leo-from-a-console-window Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Best Python Editor
I like scite for small tasks, Leo for larger tasks and python scripting. Leo's script buttons are something probably no other tool has: http://webpages.charter.net/edreamleo/customizing.html#creating-script-buttons Edward Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.1 beta 1 released
Leo 4.4.1 beta 1 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.1: - A new colorizer plugin controlled by jEdit language description files. At present this plugin only reliably colors @language python code. - Multiple editors in Leo's body pane. - Search commands now support regex replace patterns: \1, \2, etc. - Support for external debuggers: see http://webpages.charter.net/edreamleo/debuggers.html - The scripting plugin now creates a Debug Script button. - Several new commands including run-unit-test, python-help and toggle-invisibles. - The help-for-command commands now contains information for almost all commands. - A new shortcut_button plugin. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.1 beta 2 released
Leo 4.4.1 beta 2 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.1: - Multiple editors in Leo's body pane. - Search commands now support regex replace patterns: \1, \2, etc. - Support for external debuggers: see http://webpages.charter.net/edreamleo/debuggers.html - The scripting plugin now creates a Debug Script button. - New commands including run-unit-test, python-help and toggle-invisibles. Links: -- 4.4.1:http://webpages.charter.net/edreamleo/new-4-4-1.html 4.4: http://webpages.charter.net/edreamleo/new-4-4.html Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.1 beta 3 released
Leo 4.4.1 beta 3 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This release corrects several long-standing bugs and adds optional flashing of matching brackets. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.1: - Multiple editors in Leo's body pane. - Search commands now support regex replace patterns: \1, \2, etc. - Support for external debuggers: see http://webpages.charter.net/edreamleo/debuggers.html - The scripting plugin now creates a Debug Script button. - New commands including run-unit-test, python-help and toggle-invisibles. Links: -- 4.4.1:http://webpages.charter.net/edreamleo/new-4-4-1.html 4.4: http://webpages.charter.net/edreamleo/new-4-4.html Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.1 beta 4 released
Leo 4.4.1 beta 4 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.1: - Leo outputs decorators correctly, provided that the decorator is not a Leo directive. - A new colorizer plugin controlled by jEdit language description files. - A new shadow files plugin that allows derived files not to have sentinel lines. - Multiple editors in Leo's body pane. - Search commands now support regex replace patterns: \1, \2, etc. - Support for external debuggers: see http://webpages.charter.net/edreamleo/debuggers.html - The scripting plugin now creates a Debug Script button. - Several new commands including run-unit-test, python-help, toggle-invisibles, and scroll-outline-left/right. - The help-for-command commands now contains information for almost all commands. - A new shortcut_button plugin. Quote of the month: --- Thanks for creating the most useful and amazing application that I've come across in years. I use Leo every day. Links: -- 4.4.1:http://webpages.charter.net/edreamleo/new-4-4-1.html 4.4: http://webpages.charter.net/edreamleo/new-4-4.html Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ------------ Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
regex matching rst code block?
Here is a little regular expression puzzle. I wish a regex that matches an rst code block, that is, '::' followed by a group of lines all indented by at least as much as the first non-blank line following the '::' My guess is that this is not possible. Can anyone prove me wrong :-) Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: regex matching rst code block?
> Why not convert the reStructuredText to XML and parse that? Because the problem arises for the jEdit syntax colorer whose most powerful pattern matcher is a regex. Edward ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: regex matching rst code block?
> r"(::\s*\n(\s*\n)*((\s+).*?\n)(((\4).*?\n)|(\s*\n))*)" Thanks for this. I'll try it out. Edward ------------ Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4.1.1 final released
Leo 4.4.1.1 final September 3, 2006 Leo 4.4.1.1 final is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo 4.4.1.1 corrects a last-minute unicode bug in Leo 4.4.1. This version also adds the new slideshow plugin. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.1: - Leo outputs decorators correctly, provided that the decorator is not a Leo directive. - A new colorizer plugin controlled by jEdit language description files. - A new shadow files plugin that allows derived files not to have sentinel lines. - Multiple editors in Leo's body pane. - Search commands now support regex replace patterns: \1, \2, etc. - Support for external debuggers: see http://webpages.charter.net/edreamleo/debuggers.html - The scripting plugin now creates a Debug Script button. - Several new commands including run-unit-test, python-help, toggle-invisibles, and scroll-outline-left/right. - The help-for-command commands now contains information for almost all commands. - A new shortcut_button plugin. Quote of the month: --- Thanks for creating the most useful and amazing application that I've come across in years. I use Leo every day. Links: -- 4.4.1:http://webpages.charter.net/edreamleo/new-4-4-1.html 4.4: http://webpages.charter.net/edreamleo/new-4-4.html Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ------------ Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
A static pychecker?
I am wondering whether anyone knows of a static source-code analyzer for Python, kinda like a static pychecker. That is, instead of being a run-time tool as pychecker is, it would be a 'compile-time' tool. If I were writing such a thing it would use the ast returned from compiler.parse. Unlike the inspect module, it would peruse the code looking for possible problems. Thanks. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
newlines and sax.saxutils.quoteattr
Hello all, I recently ran across a situation in which sax.saxutils.quoteattr did not work as I expected. I am writing Leo outlines as opml files http://en.wikipedia.org/wiki/OPML which forces me to write python code in xml attributes rather than xml elements (as is done in .leo files). The problem is that the sax parser I am using ignores newlines in attributes. After reading the thread at: http://mail.python.org/pipermail/python-list/2006-March/332307.html I was able to work around the problem by converting newlines to ' \n'. This makes the opml file as readable as possible (since the attributes contains newlines in addition to the character reference In addition, the sax parser seems happy. My questions: - Does anyone know whether this is guaranteed to be a general solution? That is, are sax parsers *obliged* to ignore newlines in attributes? - If sax parsers are indeed obliged to ignore newlines in attributes, would it be a good idea to (optionally?) have sax.saxutils.quoteattr perform the substitution of newlines to ' \n' ? Thanks. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: newlines and sax.saxutils.quoteattr
Thanks, Fredrik, for the reference to the attribute normalization algorithm. > I guess it's too late to fix OPML. It's too late for OPML 1. I'll check with Dave Winer about OPML 2. Edward ------------ Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
sax barfs on unicode filenames
Hi. Presumably this is a easy question, but anyone who understands the sax docs thinks completely differently than I do :-) Following the usual cookbook examples, my app parses an open file as follows:: parser = xml.sax.make_parser() parser.setFeature(xml.sax.handler.feature_external_ges,1) # Hopefully the content handler can figure out the encoding from the element. handler = saxContentHandler(c,inputFileName,silent) parser.setContentHandler(handler) parser.parse(theFile) Here 'theFile' is an open file. Usually this works just fine, but when the filename contains u'\u8116' I get the following exception: Traceback (most recent call last): File "c:\prog\tigris-cvs\leo\src\leoFileCommands.py", line 2159, in parse_leo_file parser.parse(theFile) File "c:\python25\lib\xml\sax\expatreader.py", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "c:\python25\lib\xml\sax\xmlreader.py", line 119, in parse self.prepareParser(source) File "c:\python25\lib\xml\sax\expatreader.py", line 111, in prepareParser self._parser.SetBase(source.getSystemId()) UnicodeEncodeError: 'ascii' codec can't encode character u'\u8116' in position 44: ordinal not in range(128) Presumably the documentation at: http://docs.python.org/lib/module-xml.sax.xmlreader.html would be sufficient for a sax-head, but I have absolutely no idea of how to create an InputSource that can handle non-ascii filenames. Any help would be appreciated. Thanks! Edward Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
How to ask sax for the file encoding
Following the usual cookbook examples, my app parses an open file as follows:: parser = xml.sax.make_parser() parser.setFeature(xml.sax.handler.feature_external_ges,1) # Hopefully the content handler can figure out the encoding from the element. handler = saxContentHandler(c,inputFileName,silent) parser.setContentHandler(handler) parser.parse(theFile) Can anyone tell me how the content handler can determine the encoding of the file? Can sax provide this info? Thanks! Edward Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: How to ask sax for the file encoding
>> Can anyone tell me how the content handler can determine the encoding of >> the file? Can sax provide this info? > there is no encoding on the "inside" of an XML document; it's all Unicode. True, but sax is reading the file, so sax is producing the unicode, so it should (must) be able to determine the encoding. Furthermore, xml files start with lines like: so it would seem reasonable for sax to be able to return 'utf-8' somehow. Am I missing something? Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: How to ask sax for the file encoding
> [The value of the encoding field] _could_ be retained, but for what > purpose? I'm asking this question because my app needs it :-) Imo, there is *no* information in any xml file that can be considered irrelvant. My app will want to know the original encoding when writing the file. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: sax barfs on unicode filenames
> Filenames are expected to be bytestrings. The exception happens in a method to which no fileName is passed as an argument. parse_leo_file: 'C:\\prog\\tigris-cvs\\leo\\test\\unittest\\chinese?folder\\chinese?test.leo' (trace of converted fileName) Unexpected exception parsing C:\prog\tigris-cvs\leo\test\unittest\chinese?folder\chinese?test.leo Traceback (most recent call last): File "c:\prog\tigris-cvs\leo\src\leoFileCommands.py", line 2162, in parse_leo_file parser.parse(theFile) File "c:\python25\lib\xml\sax\expatreader.py", line 107, in parse xmlreader.IncrementalParser.parse(self, source) File "c:\python25\lib\xml\sax\xmlreader.py", line 119, in parse self.prepareParser(source) File "c:\python25\lib\xml\sax\expatreader.py", line 111, in prepareParser self._parser.SetBase(source.getSystemId()) UnicodeEncodeError: 'ascii' codec can't encode character u'\u8116' in position 44: ordinal not in range(128) To repeat, theFile is an open file. I believe the actual filename is passed nowhere as an argument to sax in my code. Just to make sure, I converted the filename to ascii in my code, and got (no surprise) exactly the same crash. I suppose a workaround would be to pass a 'file-like-object to sax instead of an open file, so that theFile.getSystemId won't crash. But this looks like a bug to me. BTW: Python 2.5.0, Tk 8.4.12, Pmw 1.2 Windows 5, 1, 2600, 2, Service Pack 2 Edward Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
How to invoke a tkinter menu *itself*
Hi, I've spent a pleasant hour or so trying to bring up a top-level Tk menu at the same spot as it would appear if I had actually clicked the menu. That is, I want to bring up a menu from the keyboard. The problem is computing the x and y args to menu.post. menu.winfo_x and menu.winfo_rootx are always 0, presumably be cause the menu isn't packed. And I haven't been able to use menu.invoke(??) to invoke the menu *itself*. One would think this would be a basic Tk functionality. Any ideas? Thanks. Edward P.S. Here is my best so far. (It must be run from Leo for the Leo magic to work.) import tkFont name = 'File' # The menu to be invoked. # A list of all of Leo's menus. menus = ('File','Edit','Outline','Plugins','Cmds','Window','Help') # Compute the *approximate* x offsets of each menu. offsets = {} ; n = 0 for z in menus: menu = c.frame.menu.getMenu(z) fontName = menu.cget('font') font = tkFont.Font(font=fontName) offsets[z] = n # A total hack: sorta works on windows. n += font.measure(z+' '*4)+1 top = c.frame.top # Leo magic. topx,topy = top.winfo_rootx(),top.winfo_rooty() menu = c.frame.menu.getMenu(name) # Leo magic. menu.post(topx+offsets.get(name,0),topy) EKR Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: How to invoke a tkinter menu *itself*
> I've spent a pleasant hour or so trying to bring up a top-level Tk menu at > the same spot as it would appear if I had actually clicked the menu. That > is, I want to bring up a menu from the keyboard. I'm going to investigate how to locate the 'button' that forms the anchor for the menu. This button *is* (or should be) packed (or placed), so it should know its own location. Anyone know how to do find a menu's button? Edward ------------ Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
How to tell an object's class?
Hi, I would like to create a dictionary of all the classes that exist while my app is running. This is the best I can do: def defineClassesDict (self): self.allClassesDict = {} for z in gc.get_objects(): t = type(z) if t == types.ClassType: name = z.__name__ elif t == types.InstanceType: name = z.__class__.__name__ elif repr(t).startswith('http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4a7 released
Leo 4.4 alpha 7 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This version fixes some minor problems with Leo 4.4a6 and adds autocompletion and calltips. There are no known problems with this release. It may be better than beta quality. Or not. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4: -- - An Emacs-like mini-buffer: you can now execute any command by typing its long name, with tab completion. - Many new commands, including cursor and screen movement, basic character, word and paragraph manipulation, and commands to manipulate buffers, the kill ring, regions and rectangles. You can use Leo without using a mouse. - Flexible key bindings and input modes. You can emulate the operation of Emacs, Vim, or any other editor. - A tabbed log pane. The Find and Spell Check commands now use tabs instead of dialogs, making those commands much easier to use. Plugins or scripts can easily create new tabs. The Completion tab shows possible typing completions. - Autocompletion and calltips. - Dozens of other new features and bug fixes since Leo 4.3.3. Quote of the month: --- "Thanks for a wonderful program - everybody should be using it! It blows the socks off that Java Mind mapping software that won project of the month a while back on sourceforge!" -- Derick van Niekerk. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward ------------ Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.3-b1
Leo 4.3 beta 1 is now available at http://sourceforge.net/projects/leo/ Leo 4.3 beta 1 completes all major features of Leo 4.3. There are no known significant bugs. The defining features of Leo 4.3: - 1. Leo now stores options in @settings trees, that is, outlines whose headline is '@settings'. When opening a .leo file, Leo looks for @settings trees not only in the outline being opened but also in various leoSettings.leo files. Users can create arbitrarily complex user options with @settings trees. 2. The Preferences command temporarily replaces the outline pane with an outline showing all the @settings trees in effect. The Preferences command also replaces the body pane with a "settings pane". This settings pane allows you to change the settings selected in the outline pane using standard gui widgets. 3. Leo now stores recent files information in .leoRecentFiles.txt files. 4. Leo's read/write code in leoAtFile.py has been rewritten to support user-defined tangling and untangling. This is a major cleanup of Leo's core. 5. Leo now contains an excellent Plugins Manager plugin. This plugin enables and disables plugins automatically and tells you everything you need to know about each plugin. This plugin also lets you download plugins from Leo's cvs site. 6. You can install third-party extensions in Leo's extensions directory. Leo will attempt to import such extensions from the extensions directory when normal imports fail. The distribution contains Python Mega Widgets in the extensions directory. What people are saying about Leo "Another day, another breakthrough using Leo--now I realize Leo is the best URL bookmark manager there is. No more bookmarks menus or favorites lists inside the browser for me. With the @url directive I can just double click on the URL to open it in my browser. Leo lets me arrange the URLs in a hierarchy (or multiple hierarchies), attach notes to them, save clippings of things I read on the sites. It's sooo much better than anything the browsers have built in and it lets me easily use different browsers on different platforms and different machines (try that with the browsers' built-in bookmark managers)." -- Dan Winkler "I am an amateur photographer. I use plain old 35mm. film for my pictures. Over the weekend, I used Leo to organize my lists of pictures. It is quite helpful--I can have separate nodes for pictures I have enlarged, as well as pictures I have submitted to our local camera club. Thanks!" -- Rich Reis "Cloning is pure genius!... Leo's cloning facility, allows me to create several views on the CFA course material. My main view follows the prescribed study guide. Another view is organized like the textbooks. Yet another gives me a glossary of terms. And when I'm done, I'll have some nice libraries...I can re-use later in other projects." -- Michael Manti More quotes at: http://webpages.charter.net/edreamleo/testimonials.html What makes Leo special? --- - Leo's outlines add a new dimension to programming. - Leo shows you your code and data the way _you_ want to see them. - Leo extends, completes and simplifies literate programming. - Leo's script buttons bring scripts to data. What is Leo? - A programmer's editor, an outlining editor and a flexible browser. - A literate programming tool, compatible with noweb and CWEB. - A data organizer and project manager. Leo provides multiple views of projects within a single outline. - Fully scriptable using Python. Leo saves its files in XML format. - Portable. leo.py is 100% pure Python. - Open Software, distributed under the Python License. Leo requires Python 2.2.1 or above and tcl/tk 8.4 or above. Leo works on Linux, Windows and MacOs X. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward K. Ream email: [EMAIL PROTECTED] Leo: Literate Editor with Outlines Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.3 final
Leo 4.3 final is now available at http://sourceforge.net/projects/leo/ Leo 4.3 is here after almost five months of work. The defining features of Leo 4.3: - 1. Leo now stores options in @settings trees, that is, outlines whose headline is '@settings'. When opening a .leo file, Leo looks for @settings trees not only in the outline being opened but also in various leoSettings.leo files. Users can create arbitrarily complex user options with @settings trees. 2. The Preferences command temporarily replaces the outline pane with an outline showing all the @settings trees in effect. The Preferences command also replaces the body pane with a "settings pane". This settings pane allows you to change the settings selected in the outline pane using standard gui widgets. 3. Leo now stores recent files information in .leoRecentFiles.txt files. 4. Leo's read/write code in leoAtFile.py has been rewritten to support user-defined tangling and untangling. This is a major cleanup of Leo's core. 5. Leo now contains an excellent Plugins Manager plugin. This plugin enables and disables plugins automatically and tells you everything you need to know about each plugin. This plugin also lets you download plugins from Leo's cvs site. 6. You can install third-party extensions in Leo's extensions directory. Leo will attempt to import such extensions from the extensions directory when normal imports fail. The distribution contains Python Mega Widgets in the extensions directory. What people are saying about Leo "Another day, another breakthrough using Leo--now I realize Leo is the best URL bookmark manager there is. No more bookmarks menus or favorites lists inside the browser for me. With the @url directive I can just double click on the URL to open it in my browser. Leo lets me arrange the URLs in a hierarchy (or multiple hierarchies), attach notes to them, save clippings of things I read on the sites. It's sooo much better than anything the browsers have built in and it lets me easily use different browsers on different platforms and different machines (try that with the browsers' built-in bookmark managers)." -- Dan Winkler "I am an amateur photographer. I use plain old 35mm. film for my pictures. Over the weekend, I used Leo to organize my lists of pictures. It is quite helpful--I can have separate nodes for pictures I have enlarged, as well as pictures I have submitted to our local camera club. Thanks!" -- Rich Reis "Cloning is pure genius!... Leo's cloning facility, allows me to create several views on the CFA course material. My main view follows the prescribed study guide. Another view is organized like the textbooks. Yet another gives me a glossary of terms. And when I'm done, I'll have some nice libraries...I can re-use later in other projects." -- Michael Manti More quotes at: http://webpages.charter.net/edreamleo/testimonials.html What makes Leo special? --- - Leo's outlines add a new dimension to programming. - Leo shows you your code and data the way _you_ want to see them. - Leo extends, completes and simplifies literate programming. - Leo's script buttons bring scripts to data. What is Leo? - A programmer's editor, an outlining editor and a flexible browser. - A literate programming tool, compatible with noweb and CWEB. - A data organizer and project manager. Leo provides multiple views of projects within a single outline. - Fully scriptable using Python. Leo saves its files in XML format. - Portable. leo.py is 100% pure Python. - Open Software, distributed under the Python License. Leo requires Python 2.2.1 or above and tcl/tk 8.4 or above. Leo works on Linux, Windows and MacOs X. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward K. Ream email: [EMAIL PROTECTED] Leo: Literate Editor with Outlines Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.3 beta 2 released
Leo 4.4.3 beta 2 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.3: - Added support for chapters in Leo's core. - Added support for zipped .leo files. - Added a leoBridge module that allows full access to all of Leo's capabilities from programs running outside of Leo. - Removed all gui-dependent code from Leo's core. - Better support for the winpdb debugger. - Added support for @enabled-plugins nodes in settings files. - Added support for @open-with nodes in settings files. - Added support for @bool write_strips_blank_lines setting. - The__wx_gui plugin is now functional. - Leo can use aspell on Linux when using Python 2.5 or later. - Many minor improvements, new settings, commands and bug fixes. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.3 beta 3 released
Leo 4.4.3 beta 3 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This release fixes all known bugs and adds several new features. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.3: - Added support for chapters in Leo's core. - Added support for zipped .leo files. - Added a leoBridge module that allows full access to all of Leo's capabilities from programs running outside of Leo. - Removed all gui-dependent code from Leo's core. - Better support for the winpdb debugger. - Added support for @enabled-plugins nodes in settings files. - Added support for @open-with nodes in settings files. - Added support for @bool write_strips_blank_lines setting. - The__wx_gui plugin is now functional. - Leo can use aspell on Linux when using Python 2.5 or later. - @test nodes can now be run from any .leo file. - Many minor improvements, new settings, commands and bug fixes. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.3 final released
Leo 4.4.3 final is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.3: - Added support for chapters in Leo's core. - Added support for zipped .leo files. - Added a leoBridge module that allows full access to all of Leo's capabilities from programs running outside of Leo. - Removed all gui-dependent code from Leo's core. - Better support for the winpdb debugger. - Added support for @enabled-plugins nodes in settings files. - Added support for @open-with nodes in settings files. - Added support for @bool write_strips_blank_lines setting. - The__wx_gui plugin is now functional. - Leo can use aspell on Linux when using Python 2.5 or later. - @test nodes can now be run from any .leo file. - Many minor improvements, new settings, commands and bug fixes. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4.3.1 released
Leo 4.4.3.1 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.3.1: - Fixed a few minor bugs reported since Leo 4.4.3 was released. - Added better support for unit testing in Leo. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Where are the strings in gc.get_objects?
Hello all. I'm tracking down memory leaks in my app. To do this I wrote a script to show the numbers of each different type of object. But it doesn't show strings! Here is the script: import gc,types def printDict(d): keys = d.keys() ; keys.sort() print '-' * 30 for key in keys: n = d.get(key) print '%+6d %s' % (n,key) d = {} ; d2 = {} for obj in gc.get_objects(): t = type(obj) r = repr(t) n = d.get(r,0) d[r] = n + 1 if t == types.InstanceType: t = obj.__class__ r = repr(t) n = d2.get(r,0) d2[r] = n + 1 printDict(d) printDict(d2) And here is example output. The first part of the listing shows the 'raw' type of each object, the second part of the listing shows type(obj.__class__) for instance types. -- +1925 +1 +47 +2858 +2877 +1 +1 +3 +1 +1 +1 +1 +536 +27 +1 +1 +538 +11942 +14 +8493 +3 +70 +1997 +3704 +4441 +72 +226 +181 +1 +29740 +1 +53 +105 +362 -- +1 +1 +30 +1 +5 +9 +1 +51 +15 +11 +3 +61 +7 +3 +19 +5 +1 +9 +6 +1545 +2 +1 +2 +3 +2 +1 +3 +2 +2 +1 +1 +3 +3 +1 +1 +2 +3 +3 +1 +1 +1 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +1 +3 +3 +5 +2 +2 +2 +2 +2 +6 +2 +2 +3 +3 +3 +3 +2 +2 +3 +1 +1 +12 +20 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +3 +3 +1 +1 +1 +1 +1 +5 +1 +2 +10 +2 I get similar results on both Python 2.4 and Python 2.5. I'm running on XP. Can anyone explain were the strings are? I expect at least twice the number of strings as there are leoNodes.vnode objects. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Where are the strings in gc.get_objects?
#x27;, 'blue', 'purple'] 35 27608960 {'c': Commander 23254680: u'C:\\prog\\tigris-cvs\\leo\\test\\test.leo', 'widget': , 'actualEvent': , 'char': '\x02', 'w': , 'y': 174, 'x': 115, 'keysym': 'b'} 36 27621536 {'subst': None, 'widget': , 'func': } 37 27622976 {} 38 27647312 (, (), , ['24118016call it']) 39 27647408 (None, 500, 0, 100, 1000) 40 27647456 ('obj', 'val', 'keys', 'n', 'key') 41 43151120 42 43368936 [] 43 43369296 [] 44 43369376 (,) 45 43369496 [] 46 43369696 ['24118016callit'] 47 43369736 [] 48 43369816 [] 49 43369856 [] 50 43369896 (leoTkTextWidget id: 25544304 name: head-6, 27) 51 43370096 (, 8) 52 43370216 ('\x02', u'Ctrl+b') 53 43370296 tkGui.leoKeyEvent: char: '\x02', keysym: 'b' 54 43370496 (, (,)) 55 43370616 [] 56 43370656 (leoTkTextWidget id: 27572864 name: head-10, 44) 57 43370696 (, 8) 58 43370776 (, 8) 59 43370856 (, 8) 60 43370936 61 43370976 [41, 46, 50, 51, 56, 1, 6, 11, 16, 21, 25, 29, 33] 62 43371016 <_Pmw.Pmw_1_2.lib.PmwBase.__TkinterCallWrapper instance at 0x0295CA08> 63 43371056 [7, 12, 17, 42, 52] 64 43371096 [36, 40, 45, 49, 55, 5, 10, 15, 20, 24, 28] 65 43371136 [] 66 43371176 [34, 38, 43, 47, 53, 3, 8, 13, 18, 22, 26] 67 43371216 [] 68 43371256 [] 69 43371296 [] 70 43371336 [] 71 43371576 (leoTkTextWidget id: 25544784 name: head-8, 35) 72 43371696 [] 73 43371736 (, 8) 74 43372016 (leoTkTextWidget id: 25542984 name: head-2, 9) 75 43372136 [] 76 43372176 (leoTkTextWidget id: 27572984 name: head-11, 48) 77 43372376 (, 8) 78 43372592 {'stack': [], 'v': } 79 43372736 {'keysym_num': 98, 'widget': , 'x_root': 524, 'type': '2', 'delt a': 66, 'y_root': 412, 'height': '??', 'char': '\x02', 'width': '??', 'state': 4, 'num': '??', 'time': 4522765, 'y': 174, 'x': 115 , 'serial': 5780, 'keysym': 'b', 'keycode': 66} 80 43373168 {'27563248:5.': (leoTkTextWidget id: 25543504 name: head-3, 14), '27563376:6.': (leoTkTextWidget id: 25 544544 name: head-7, 31), '27563632:9.': (leoTkTextWidget id: 27572424 name: head-5, 23), '27563440:7.': (leoTkTextWidget id: 2757 2024 name: head-1, 4), '25508048:0.': (leoTkTextWidget id: 27572864 name: head-10, 44), '27513232:2.': (leoTkTextWidget id: 255447 84 name: head-8, 35), '27562704:3.': (leoTkTextWidget id: 25542984 name: head-2, 9), '27563152:4.': (leoTkTextWidget id: 27572984 name: head-11, 48), '26446064:1.': (leoTkTextWidget id: 25544304 name: head-6, 27), '27563536:8.': (leoTkTextWidget id: 25543704 n ame: head-4, 19), '27563728:0.': (leoTkTextWidget id: 27627608 name: head-12, 54)} 81 43373312 * large item 82 43373456 {'stack': [], 'v': None} 83 43373600 {'stack': [], 'v': } 84 43373744 * large item 85 43373888 {'stack': [], 'v': } 86 43374032 {34: (, 8), 3: (, 8), 38: (, 8), 8: (, 8), 43: (, 8), 13: (< pos 27406256 lvl: 0 [0] byte-code tests>, 8), 47: (, 8), 18: (, 8), 53: (, 8), 22: (, 8), 26: (, 8)} 87 43374176 {'stack': [], 'v': } 88 43374464 {'stack': [], 'v': } 89 43374608 {'stack': [], 'v': } 90 43374752 {'stack': [], 'v': } 91 43374896 {'stack': [], 'v': } 92 43375040 {'stack': [], 'v': } 93 43375184 {'stack': [], 'v': } 94 43375328 {'stack': [], 'v': } 95 43375472 {'stack': [], 'v': } 96 43375616 {'stack': [], 'v': } 97 43376192 {'stack': [], 'v': } 98 43380784 [] 99 43380824 (leoTkTextWidget id: 25543504 name: head-3, 14) 100 43381024 (, 8) 101 43381184 [] 102 43381224 (leoTkTextWidget id: 25544544 name: head-7, 31) 103 43381424 (, 8) 104 43381584 [] 105 43381624 (leoTkTextWidget id: 27572024 name: head-1, 4) 106 43381824 (, 8) 107 43382024 (leoTkTextWidget id: 25543704 name: head-4, 19) 108 43382224 (, 8) 109 43382424 (, 8) 110 43382704 (leoTkTextWidget id: 27572424 name: head-5, 23) 111 43382824 [] 112 43382864 (leoTkTextWidget id: 27627608 name: head-12, 54) 113 43383384 * large item 114 43384912 115 43425840 116 43426032 117 43426224 (None, , '- %d new objects', 200, 0, 1, '%3d', '* large item', '=') 118 43442512 * large item = I think this answers the question about where the strings are: they are enclosed in tuples. My guess is that the tuples are the way that Python's bytecode accesses the strings. For example, there is a LOAD_CONST i bytecode whose argument i is an index into the stack frame (or is it the code objects). Anyway, my guess is that strings seldom (never?) exist outside the tuple by which they are referenced. So I think this answers the mystery, mostly. Edward Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.3 beta 1 released
Leo 4.4.3 beta 1 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.3: - Added support for chapters in Leo's core. Chapters are disabled by default. To enable, set @bool use_chapters=True. - Added support for zipped .leo files. - Added a leoBridge module that allows full access to all of Leo's capabilities from programs running outside of Leo. - Removed all gui-dependent code from Leo's core. - Better support for the winpdb debugger. - Added support for @enabled-plugins nodes in settings files. - Added support for @open-with nodes in settings files. - The__wx_gui plugin is now functional. - Many minor improvements, new settings, commands and bug fixes. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Bug? exec converts '\n' to newline in docstrings!?
It looks like both exec and execfile are converting "\n" to an actual newline in docstrings! Start idle: Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win32 [rest of signon deleted] >>> s = '''\ strings = 'abc'.split("\n") ''' >>> print s strings = 'abc'.split(" ") I see this in my own calls to exec and execfile. Is this a bug or am I missing something? Edward --- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Bug? exec converts '\n' to newline in docstrings!?
> The problem is because you are trying to represent a Python program as a Python string literal, and doing it incorrectly. Yes, that is exactly the problem. Thanks to all who replied. Changing changing '\n' to '\\n' fixed the problem. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.4 beta 1 released
Leo 4.4.4 beta is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.4: - A threading_colorizer plugin replaces the __jEdit_colorizer__ plugin. This plugin features much better performance. - Support for @auto nodes. Such nodes allow people to collaborate using Leo without inserting Leo sentinels in the files Leo generates. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.4 beta 3 released
Leo 4.4.4 beta 3 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo 4.4.4 contains many important features originally planned for later releases. It's been a good month :-) Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.4: - The Great Graph Aha (tm): simple scripts allow Leo outlines to represent arbitrary directed graphs. There is no need for a separate 'graph world'. The graphed.py plugin is a direct result of this Aha. The graphed.py plugin allows you to create general graphs from Leo outlines. - @menus trees in settings files create all of Leo's menus. It is now dead easy to make Leo's menus look the way you want. - @buttons trees in settings files create common @button nodes created in all Leo outlines. - @auto nodes eliminate sentinels in derived files, thereby allowing people to collaborate using Leo more easily. - New commands for resolving cvs conflicts. - A threading_colorizer plugin replaces the __jEdit_colorizer__ plugin. This plugin features much better performance and a new, elegant algorithm. - Leo is now compatible with jython. - The usual assortment of bug fixes and other minor improvements. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4.4 beta 4 released
Leo 4.4.4 beta 4 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This beta 4 version fixes all bugs reported against Leo 4.4.4 beta 3. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html Leo 4.4.4 contains many important features originally planned for later releases. The highlights of Leo 4.4.4: - The Great Graph Aha (tm): simple scripts allow Leo outlines to represent arbitrary directed graphs. There is no need for a separate 'graph world'. The graphed.py plugin is a direct result of this Aha. The graphed.py plugin allows you to create general graphs from Leo outlines. - @menus trees in settings files create all of Leo's menus. It is now dead easy to make Leo's menus look the way you want. - @buttons trees in settings files create common @button nodes created in all Leo outlines. - @auto nodes eliminate sentinels in derived files, thereby allowing people to collaborate using Leo more easily. - New commands for resolving cvs conflicts. - A threading_colorizer plugin replaces the __jEdit_colorizer__ plugin. This plugin features much better performance and a new, elegant algorithm. - Leo is now compatible with jython. - Better support for icons in headlines. - The usual assortment of bug fixes and other minor improvements. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
[ANN] Leo 4.4.4 Final released
Leo 4.4.4 Final is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html Leo 4.4.4 contains many important features originally planned for later releases. The highlights of Leo 4.4.4: - The Great Graph Aha: simple scripts allow Leo outlines to represent arbitrary directed graphs. There is no need for a separate 'graph world'. The graphed.py plugin is a direct result of this Aha. The graphed.py plugin allows you to create general graphs from Leo outlines. - @menus trees in settings files create all of Leo's menus. It is now dead easy to make Leo's menus look the way you want. - @buttons trees in settings files create common @button nodes created in all Leo outlines. - @auto nodes eliminate sentinels in derived files, thereby allowing people to collaborate using Leo more easily. **Warning**: for now, please make backup copies of files imported with @auto. - New commands for resolving cvs conflicts. - A threading_colorizer plugin replaces the __jEdit_colorizer__ plugin. This plugin features much better performance and a new, elegant algorithm. - Leo is now compatible with jython. - Better support for icons in headlines. - Many bug fixes and other minor improvements. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Pep 3105: the end of print?
The pros and cons of making 'print' a function in Python 3.x are well discussed at: http://mail.python.org/pipermail/python-dev/2005-September/056154.html Alas, it appears that the effect of this pep would be to make it impossible to use the name 'print' in a backward compatible manner. Indeed, if a program is to compile in both Python 2.x and Python 3.x, the print function (or the print statement with parentheses) can not use the 'sep', 'end' and 'file' keywords. This in turn makes it impossible to support the effect of print with trailing comma in Python 2.x programs while retaining the name 'print'. The only workaround would be to define yet another function, with a name *other* than 'print'. This function, say print2, can support whatever features the implementer wants because it does not collide with the Python 2.x print statement. In short, pep 3105 will *discourage* rather than encourage the use of the name 'print'. Rather than invalidating most Python 2.x programs, it would seem more graceful for Python 3.x to define a [your name here] function that can be used in addition to, rather than to the exclusion of, print. Edward P.S. The existence of an automated translation script does not change the situation described above in any way. At best, such a script could change print statements to [your name here] functions, but the effect would still be the elimination of the name 'print' in all programs that aim to support Python 2.x and Python 3.x. EKR Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> You could offer up a patch for Python 2.6 so that you can do:: >from __future__ import print_function This would only work for Python 2.6. Developers might want to support Python 2.3 through 2.5 for awhile longer :-) > why can't you use ``file.write()`` instead of ``print``? Precisely my point: pep 3105 will force the elimination of the name 'print'. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> Isn't the very concept of major releases (1.x, 2.x, 3.x) that they *can* > be not backwards-compatible with previous releases? Not at all. Backwards compatibility means that one can still run old code provided the code eschews new features. Python releases have generally been backwards compatible with previous releases, with a few minor exceptions. For example, my app runs fine on Python 2.2.2 through Python 2.5, and little work was required to make this happen. In fact, my app should run find on Python 3.x, but that's because it doesn't use print :-) In other words, the consequence of pep 3105 will be that *nobody* who wants their app to be portable will be able to use print until *everybody* has converted to Python 3.x. I doubt that is what Guido had in mind, but I may be mistaken :-) Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> In short, if you need to support 2.3, you're not ready to be looking at > 3.0. I hope this turns out not to be true. As a developer, I have no way to force people to 3.0, and no reason to want to. For me, maintaining two incompatible code bases is out of the question. It will be interesting to see how this plays out. Users, not developers, will determine when Python 2.x becomes extinct. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> There are a tool called "2to3" that translates things like "print foo" to > print(foo). The point of my original post was that if I want to maintain a common code base the tool must translate 'print foo' to 'print2(foo)'. Edward ------------ Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> I'm pretty sure you're mistaken. Python 3 will be the release that breaks > code. Hopefully very little, but there almost certainly will be some. Pep 3105 breaks a *lot* of code, despite the bland assertion that most production programs don't use print. Presumably, Guido wanted to improve print in such a way that *more* people would use it. But the effect of the pep is that *less* people will be able to use print, *regardless* of how backward compatible Python 3.x is 'allowed' to be. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> Is that what you intend to say? I intended to say what I did say: "Python releases have generally been backwards compatible with previous releases, with a few minor exceptions." Imo, this is compatible with what you are saying. > So long as it's done in a well-documented way, with a change in major > version number, it's a reasonable way (probably the *only* reasonable way) > to remove particular kinds of cruft from any application. Agreed. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> There is also the 2to3 converter. The aim is that this will be effective enough that coders should be able to maintain a 2.X (2.6 ?) codebase, run it through 2to3 and have the result run unchanged on Python 3. That way there will be no need to maintain two code bases. I have offered a proof that the converter must change print to print2 (or some other name) in order to maintain a common code base. How much clearer can I be? If a common code base is desired, it *is* the end of print Edward ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> There could be something like from __future__ import print_function To repeat: this would be compatible only with Python 2.6. Edward ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> Why won't it be possible to make 'print' in Python 3 that supports all > the functionality of the current print statement, and then translate to > that ? > I saw an assertion to the effect that it wasn't possible - but no proof. As discussed in the original post, the problem is the reverse: the Python 2.x print statement does not support the keyword args required by the pep, so that print(foo) **in Python 2.x** can not simulate the effect of the print statement with a trailing comma. Here is the theorum carefully stated and proved. Theorem: is not possible to define a function called print in Python 3.x such that A) print (whatever) is syntaxtically valid in Python 2.x and B) print(whatever) outputs what 'print whatever' outputs in Python 2.x for all values of 'whatever'. Proof: It is impossible for the print function to simulate the effect of the print statement with a trailing comma. Indeed, print ('line'), and print ('line',) (note the position of the commas) are valid in Python 2.x, but neither does what is wanted. And print('line',end='') is invalid in Python 2.x. Let's look at some examples: 1. The following works (prints 'line after\n') in Python 2.x, but will not suppress the newline in Python 3.x: print('line'), print('after') 2. The following doesn't work in Python 2.x. (It prints "('line',)\nafter"). print ('line',) print ('after') 3. print ('line',end='') produces a syntax error in Python 2.x: print ('line',end='') ^ SyntaxError: invalid syntax That's the proof. Can you find a flaw in it? Edward Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> print is only a problem if you expect your code to work under both Python > 2.x and 3.x. Exactly. Edward ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> It looks your main issue is that you're complaining that Python 3000 is going to break things in a non-backward compatible way. No. My complaint is *only* that changing the meaning of 'print' is needless pain. Edward ------------ Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> So you only have one codebase to maintain and you can still use print... Not if the theorum is correct. > It may be true that you won't be able to write code that runs > untranslated on 2 and 3. That's my definition of a common code base. That is the content of the theorum. > That doesn't stop you writing code for Python > 2.X, then translating a version for Python 3. (Uhm... indeed that's the > point of 2to3.) That is not what I would call a common code base. The developer would have to run the translater every time the code changed. And if the Python 3.0 code were considered the 'master' code, the developer would need a 3to2 translater. Either disprove the theorum or give up the notion of having a common code base that uses print. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
>> That's the proof. Can you find a flaw in it? > No, but it doesn't matter. There's no particular reason why you have to > write "print (whatever)" in your code. What you need is *some function* > that is capable of duplicating the functionality of print, Precisely wrong. The title of this thread is 'the end of print', and the whole point of my comments is that spelling matters. I would have absolutely no objection to the pep if it specified some other name for an 'official' print function. Pick any name, preferably longer than two characters, that does not conflict with either an existing global function or module. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> Even in the Python world, nobody expects to run the same code base under C Python and Jython and IronPython and PyPy. Leo now runs under CPython with both wxWidgets and Tkinter. The gui code is confined to plugins, and a similar gui plugin will suffice to run Leo under IronPython. Indeed, Leo's startup code already runs unchanged under CPython and IronPython. I expect minimal changes will be needed to run Leo's core under Jython. And I *am* talking about a single code base: no translator needed. Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> Keep the print name; > Keep the print functionality; > Keep a single code base. Retain the print statement and its functionality, and define an official_print_function to be used in the common code base. I would be satisfied with this (it's what I do now), and it would cause no needless problems for anyone. Having an official print function is a *good* idea, provided it isn't called print :-) Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Pep 3105: the end of print?
> But that doesn't just happen. True, but it didn't happen as you imply. Leo's core defines a gui-and-platform-independent set of api's which then get instantiated in plugins. Plugins can, and do, use platform-dependent features. For example, the wxWidgets plugin uses the scintilla text widget, something that does not exist by default in Tk/Tkinter. Leo just started to work with IronPython last night, so the details are fresh in my mind. Amazingly, IronPython allows you to point sys.path (IronPython's sys.path, that is) at CPython's Python24\Lib and for the most part IronPython 'just works' with those libs. So all of Leo's core, being free of any gui code, just worked. That is, until it started to load the IronPython plugin :-) At which point I started to have newbie problems with dbgclr, but that's another story... Edward -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.5 beta 1 released
Leo 4.4.5 beta 1 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html Leo 4.4.5 fixes several long-delayed bug fixes and adds several new features. The highlights of Leo 4.4.5: - Fixes all known bugs. - Adds 3 new sort-lines commands. - Adds commands to insert and delete icons from headlines. - Adds all the Tango 16x16 icons to Leo's icon library. - Adds support for @rst-preformat nodes to the rst3 plugin. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.5 beta 2 released
Leo 4.4.5 beta 2 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This beta 2 release fixes several recently reported bugs. A final release is due in about a week. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html Leo 4.4.5 fixes several long-delayed bug fixes and adds several new features. The highlights of Leo 4.4.5: - Fixes all known bugs. - Leo now recognizes directives in headlines. - Adds 3 new sort-lines commands. - Adds commands to insert and delete icons from headlines. - Adds all the Tango 16x16 icons to Leo's icon library. - Adds support for @rst-preformat nodes to the rst3 plugin. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.5 final released
Leo 4.4.5 final is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo 4.4.5 fixes several long-delayed bug fixes and adds several new features. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.5: - Leo now recognizes directives in headlines. - Adds 3 new sort-lines commands. - Adds commands to insert and delete icons from headlines. - Adds all the Tango 16x16 icons to Leo's icon library. - Adds support for @rst-preformat nodes to the rst3 plugin. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4.6 beta 1 released
Leo 4.4.6 beta 1 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo 4.4.6 fixes several recently reported bugs, all minor. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.6: - Fixes all known bugs. - Added @auto importers for javascript and xml files. - Added find-next-clone and toggle-sparse-move commands. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4 b4 released
Leo 4.4 beta 4 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This version fixes a long-standing MacOS bug. It is likely to be the last beta release before 4.4 rc1. This release also adds several new commands and contains a script for updating leoSettings.leo. Warning: The previous beta was not widely distributed. Please do some testing in your environment before recommending this version of Leo to others, (such as your students). Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4: -- - An Emacs-like mini-buffer: you can now execute any command by typing its long name, with tab completion. - Many new commands, including cursor and screen movement, basic character, word and paragraph manipulation, and commands to manipulate buffers, the kill ring, regions and rectangles. You can use Leo without using a mouse. - Flexible key bindings and input modes. You can emulate the operation of Emacs, Vim, or any other editor. - A tabbed log pane. The Find and Spell Check commands now use tabs instead of dialogs, making those commands much easier to use. Plugins or scripts can easily create new tabs. The Completion tab shows possible typing completions. - Autocompletion and calltips. - Dozens of other new features and bug fixes since Leo 4.3.3. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://sourceforge.net/cvs/?group_id=3458 Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Re: Leo 4.4 b4 released
Correction: Leo's cvs repository has been moved to tigris: http://leo.tigris.org/source/browse/leo/ Edward Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4 rc1 released
Leo 4.4 release candidate 1 is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This version fixes a few minor bug reported in 4.4b4 and adds 9 new commands. The open-outline-by-name command supports filename completion. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4: -- - An Emacs-like mini-buffer: you can now execute any command by typing its long name, with tab completion. - Many new commands, including cursor and screen movement, basic character, word and paragraph manipulation, and commands to manipulate buffers, the kill ring, regions and rectangles. You can use Leo without using a mouse. - Flexible key bindings and input modes. You can emulate the operation of Emacs, Vim, or any other editor. - A tabbed log pane. The Find and Spell Check commands now use tabs instead of dialogs, making those commands much easier to use. Plugins or scripts can easily create new tabs. The Completion tab shows possible typing completions. - Autocompletion and calltips. - Dozens of other new features and bug fixes since Leo 4.3.3. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html Edward ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4 Final released
Leo 4.4 Final is now available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4: -- - An Emacs-like mini-buffer: you can now execute any command by typing its long name, with tab completion. - Many new commands, including cursor and screen movement, basic character, word and paragraph manipulation, and commands to manipulate buffers, the kill ring, regions and rectangles. You can use Leo without using a mouse. - Flexible key bindings and input modes. You can emulate the operation of Emacs, Vim, or any other editor. - A tabbed log pane. The Find and Spell Check commands now use tabs instead of dialogs, making those commands much easier to use. Plugins or scripts can easily create new tabs. The Completion tab shows possible typing completions. - Autocompletion and calltips. To enable autocompletion, bind a key to the auto-complete command. - Dozens of other new features and bug fixes since Leo 4.3.3. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Two idle questions
I've asked these questions on idle-dev with no answer. 1. How can code tell whether it is being run from Idle's debugger? 2. How can code being run from Idle's debugger simulate a breakpoint, such as pdb.set_trace() does? Yes, pdb.set_trace() does work, but I want to enable idle's debugging console and get all of Idle's nice debugging features. Thanks. Edward P.S. I've studied Idle's debugger code for several hours and the answers are not exactly jumping out at me :-) Perhaps it would be good to create wrapper functions (no idea where) to make these tasks easier. Or maybe they already exist? EKR -------- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
Leo 4.4.6 beta 2 released
Leo 4.4.6 beta 2 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo 4.4.6 fixes several recently reported bugs, all minor. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.6: - Fixes all known bugs. - Added @auto importers for javascript and xml files. - Added find-next-clone and toggle-sparse-move commands. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4.6 final released
Leo 4.4.6 final is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 Leo 4.4.6 fixes several recently reported bugs, all minor. Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.6: - Fixes all known bugs. - Added @auto importers for javascript and xml files. - Added find-next-clone and toggle-sparse-move commands. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Home: http://sourceforge.net/projects/leo/ Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list
ANN: Leo 4.4.7 beta 1 released
Leo 4.4.7 beta 1 is available at: http://sourceforge.net/project/showfiles.php?group_id=3458&package_id=29106 This version features the ipython plugin that provides a two-way bridge between Leo and IPython. See http://webpages.charter.net/edreamleo/IPythonBridge.html Leo's main discussion is now at: http://groups.google.com/group/leo-editor Leo is a text editor, data organizer, project manager and much more. See: http://webpages.charter.net/edreamleo/intro.html The highlights of Leo 4.4.7: - The ipython plugin creates a simple, powerful, effective bridge between IPython and Leo. See http://webpages.charter.net/edreamleo/IPythonBridge.html - Improved handling of unicode encodings in @auto files. - All import commands now support @path directives in ancestor nodes. - Fixed several minor bugs. Links: -- Leo: http://webpages.charter.net/edreamleo/front.html Forum:http://groups.google.com/group/leo-editor Download: http://sourceforge.net/project/showfiles.php?group_id=3458 CVS: http://leo.tigris.org/source/browse/leo/ Quotes: http://webpages.charter.net/edreamleo/testimonials.html ---- Edward K. Ream email: [EMAIL PROTECTED] Leo: http://webpages.charter.net/edreamleo/front.html -- http://mail.python.org/mailman/listinfo/python-list