Show More
@@ -1,5225 +1,5230 | |||
|
1 | 2006-02-24 Ville Vainio <vivainio@gmail.com> | |
|
2 | ||
|
3 | * Magic.py, upgrade_dir.py: %upgrade magic added. Does things more | |
|
4 | "cleanly" and safely than the older upgrade mechanism. | |
|
5 | ||
|
1 | 6 | 2006-02-21 Ville Vainio <vivainio@gmail.com> |
|
2 | 7 | |
|
3 | 8 | * Magic.py: %save works again. |
|
4 | 9 | |
|
5 | 10 | 2006-02-15 Ville Vainio <vivainio@gmail.com> |
|
6 | 11 | |
|
7 | 12 | * Magic.py: %Pprint works again |
|
8 | 13 | |
|
9 | 14 | * Extensions/ipy_sane_defaults.py: Provide everything provided |
|
10 | 15 | in default ipythonrc, to make it possible to have a completely empty |
|
11 | 16 | ipythonrc (and thus completely rc-file free configuration) |
|
12 | 17 | |
|
13 | 18 | |
|
14 | 19 | 2006-02-11 Fernando Perez <Fernando.Perez@colorado.edu> |
|
15 | 20 | |
|
16 | 21 | * IPython/hooks.py (editor): quote the call to the editor command, |
|
17 | 22 | to allow commands with spaces in them. Problem noted by watching |
|
18 | 23 | Ian Oswald's video about textpad under win32 at |
|
19 | 24 | http://showmedo.com/videoListPage?listKey=PythonIPythonSeries |
|
20 | 25 | |
|
21 | 26 | * IPython/UserConfig/ipythonrc: Replace @ signs with % when |
|
22 | 27 | describing magics (we haven't used @ for a loong time). |
|
23 | 28 | |
|
24 | 29 | * IPython/ultraTB.py (VerboseTB.text.text_repr): Added patch |
|
25 | 30 | contributed by marienz to close |
|
26 | 31 | http://www.scipy.net/roundup/ipython/issue53. |
|
27 | 32 | |
|
28 | 33 | 2006-02-10 Ville Vainio <vivainio@gmail.com> |
|
29 | 34 | |
|
30 | 35 | * genutils.py: getoutput now works in win32 too |
|
31 | 36 | |
|
32 | 37 | * completer.py: alias and magic completion only invoked |
|
33 | 38 | at the first "item" in the line, to avoid "cd %store" |
|
34 | 39 | nonsense. |
|
35 | 40 | |
|
36 | 41 | 2006-02-09 Ville Vainio <vivainio@gmail.com> |
|
37 | 42 | |
|
38 | 43 | * test/*: Added a unit testing framework (finally). |
|
39 | 44 | '%run runtests.py' to run test_*. |
|
40 | 45 | |
|
41 | 46 | * ipapi.py: Exposed runlines and set_custom_exc |
|
42 | 47 | |
|
43 | 48 | 2006-02-07 Ville Vainio <vivainio@gmail.com> |
|
44 | 49 | |
|
45 | 50 | * iplib.py: don't split "f 1 2" to "f(1,2)" in autocall, |
|
46 | 51 | instead use "f(1 2)" as before. |
|
47 | 52 | |
|
48 | 53 | 2006-02-05 Fernando Perez <Fernando.Perez@colorado.edu> |
|
49 | 54 | |
|
50 | 55 | * IPython/demo.py (IPythonDemo): Add new classes to the demo |
|
51 | 56 | facilities, for demos processed by the IPython input filter |
|
52 | 57 | (IPythonDemo), and for running a script one-line-at-a-time as a |
|
53 | 58 | demo, both for pure Python (LineDemo) and for IPython-processed |
|
54 | 59 | input (IPythonLineDemo). After a request by Dave Kohel, from the |
|
55 | 60 | SAGE team. |
|
56 | 61 | (Demo.edit): added and edit() method to the demo objects, to edit |
|
57 | 62 | the in-memory copy of the last executed block. |
|
58 | 63 | |
|
59 | 64 | * IPython/Magic.py (magic_edit): add '-r' option for 'raw' |
|
60 | 65 | processing to %edit, %macro and %save. These commands can now be |
|
61 | 66 | invoked on the unprocessed input as it was typed by the user |
|
62 | 67 | (without any prefilters applied). After requests by the SAGE team |
|
63 | 68 | at SAGE days 2006: http://modular.ucsd.edu/sage/days1/schedule.html. |
|
64 | 69 | |
|
65 | 70 | 2006-02-01 Ville Vainio <vivainio@gmail.com> |
|
66 | 71 | |
|
67 | 72 | * setup.py, eggsetup.py: easy_install ipython==dev works |
|
68 | 73 | correctly now (on Linux) |
|
69 | 74 | |
|
70 | 75 | * ipy_user_conf,ipmaker: user config changes, removed spurious |
|
71 | 76 | warnings |
|
72 | 77 | |
|
73 | 78 | * iplib: if rc.banner is string, use it as is. |
|
74 | 79 | |
|
75 | 80 | * Magic: %pycat accepts a string argument and pages it's contents. |
|
76 | 81 | |
|
77 | 82 | |
|
78 | 83 | 2006-01-30 Ville Vainio <vivainio@gmail.com> |
|
79 | 84 | |
|
80 | 85 | * pickleshare,pspersistence,ipapi,Magic: persistence overhaul. |
|
81 | 86 | Now %store and bookmarks work through PickleShare, meaning that |
|
82 | 87 | concurrent access is possible and all ipython sessions see the |
|
83 | 88 | same database situation all the time, instead of snapshot of |
|
84 | 89 | the situation when the session was started. Hence, %bookmark |
|
85 | 90 | results are immediately accessible from othes sessions. The database |
|
86 | 91 | is also available for use by user extensions. See: |
|
87 | 92 | http://www.python.org/pypi/pickleshare |
|
88 | 93 | |
|
89 | 94 | * hooks.py: Two new hooks, 'shutdown_hook' and 'late_startup_hook'. |
|
90 | 95 | |
|
91 | 96 | * aliases can now be %store'd |
|
92 | 97 | |
|
93 | 98 | * path.py move to Extensions so that pickleshare does not need |
|
94 | 99 | IPython-specific import. Extensions added to pythonpath right |
|
95 | 100 | at __init__. |
|
96 | 101 | |
|
97 | 102 | * iplib.py: ipalias deprecated/redundant; aliases are converted and |
|
98 | 103 | called with _ip.system and the pre-transformed command string. |
|
99 | 104 | |
|
100 | 105 | 2006-01-29 Fernando Perez <Fernando.Perez@colorado.edu> |
|
101 | 106 | |
|
102 | 107 | * IPython/iplib.py (interact): Fix that we were not catching |
|
103 | 108 | KeyboardInterrupt exceptions properly. I'm not quite sure why the |
|
104 | 109 | logic here had to change, but it's fixed now. |
|
105 | 110 | |
|
106 | 111 | 2006-01-29 Ville Vainio <vivainio@gmail.com> |
|
107 | 112 | |
|
108 | 113 | * iplib.py: Try to import pyreadline on Windows. |
|
109 | 114 | |
|
110 | 115 | 2006-01-27 Ville Vainio <vivainio@gmail.com> |
|
111 | 116 | |
|
112 | 117 | * iplib.py: Expose ipapi as _ip in builtin namespace. |
|
113 | 118 | Makes ipmagic (-> _ip.magic), ipsystem (-> _ip.system) |
|
114 | 119 | and ip_set_hook (-> _ip.set_hook) redundant. % and ! |
|
115 | 120 | syntax now produce _ip.* variant of the commands. |
|
116 | 121 | |
|
117 | 122 | * "_ip.options().autoedit_syntax = 2" automatically throws |
|
118 | 123 | user to editor for syntax error correction without prompting. |
|
119 | 124 | |
|
120 | 125 | 2006-01-27 Ville Vainio <vivainio@gmail.com> |
|
121 | 126 | |
|
122 | 127 | * ipmaker.py: Give "realistic" sys.argv for scripts (without |
|
123 | 128 | 'ipython' at argv[0]) executed through command line. |
|
124 | 129 | NOTE: this DEPRECATES calling ipython with multiple scripts |
|
125 | 130 | ("ipython a.py b.py c.py") |
|
126 | 131 | |
|
127 | 132 | * iplib.py, hooks.py: Added configurable input prefilter, |
|
128 | 133 | named 'input_prefilter'. See ext_rescapture.py for example |
|
129 | 134 | usage. |
|
130 | 135 | |
|
131 | 136 | * ext_rescapture.py, Magic.py: Better system command output capture |
|
132 | 137 | through 'var = !ls' (deprecates user-visible %sc). Same notation |
|
133 | 138 | applies for magics, 'var = %alias' assigns alias list to var. |
|
134 | 139 | |
|
135 | 140 | * ipapi.py: added meta() for accessing extension-usable data store. |
|
136 | 141 | |
|
137 | 142 | * iplib.py: added InteractiveShell.getapi(). New magics should be |
|
138 | 143 | written doing self.getapi() instead of using the shell directly. |
|
139 | 144 | |
|
140 | 145 | * Magic.py: %store now allows doing %store foo > ~/myfoo.txt and |
|
141 | 146 | %store foo >> ~/myfoo.txt to store variables to files (in clean |
|
142 | 147 | textual form, not a restorable pickle). |
|
143 | 148 | |
|
144 | 149 | * ipmaker.py: now import ipy_profile_PROFILENAME automatically |
|
145 | 150 | |
|
146 | 151 | * usage.py, Magic.py: added %quickref |
|
147 | 152 | |
|
148 | 153 | * iplib.py: ESC_PAREN fixes: /f 1 2 -> f(1,2), not f(1 2). |
|
149 | 154 | |
|
150 | 155 | * GetoptErrors when invoking magics etc. with wrong args |
|
151 | 156 | are now more helpful: |
|
152 | 157 | GetoptError: option -l not recognized (allowed: "qb" ) |
|
153 | 158 | |
|
154 | 159 | 2006-01-25 Fernando Perez <Fernando.Perez@colorado.edu> |
|
155 | 160 | |
|
156 | 161 | * IPython/demo.py (Demo.show): Flush stdout after each block, so |
|
157 | 162 | computationally intensive blocks don't appear to stall the demo. |
|
158 | 163 | |
|
159 | 164 | 2006-01-24 Ville Vainio <vivainio@gmail.com> |
|
160 | 165 | |
|
161 | 166 | * iplib.py, hooks.py: 'result_display' hook can return a non-None |
|
162 | 167 | value to manipulate resulting history entry. |
|
163 | 168 | |
|
164 | 169 | * ipapi.py: Moved TryNext here from hooks.py. Moved functions |
|
165 | 170 | to instance methods of IPApi class, to make extending an embedded |
|
166 | 171 | IPython feasible. See ext_rehashdir.py for example usage. |
|
167 | 172 | |
|
168 | 173 | * Merged 1071-1076 from banches/0.7.1 |
|
169 | 174 | |
|
170 | 175 | |
|
171 | 176 | 2006-01-23 Fernando Perez <Fernando.Perez@colorado.edu> |
|
172 | 177 | |
|
173 | 178 | * tools/release (daystamp): Fix build tools to use the new |
|
174 | 179 | eggsetup.py script to build lightweight eggs. |
|
175 | 180 | |
|
176 | 181 | * Applied changesets 1062 and 1064 before 0.7.1 release. |
|
177 | 182 | |
|
178 | 183 | * IPython/Magic.py (magic_history): Add '-r' option to %hist, to |
|
179 | 184 | see the raw input history (without conversions like %ls -> |
|
180 | 185 | ipmagic("ls")). After a request from W. Stein, SAGE |
|
181 | 186 | (http://modular.ucsd.edu/sage) developer. This information is |
|
182 | 187 | stored in the input_hist_raw attribute of the IPython instance, so |
|
183 | 188 | developers can access it if needed (it's an InputList instance). |
|
184 | 189 | |
|
185 | 190 | * Versionstring = 0.7.2.svn |
|
186 | 191 | |
|
187 | 192 | * eggsetup.py: A separate script for constructing eggs, creates |
|
188 | 193 | proper launch scripts even on Windows (an .exe file in |
|
189 | 194 | \python24\scripts). |
|
190 | 195 | |
|
191 | 196 | * ipapi.py: launch_new_instance, launch entry point needed for the |
|
192 | 197 | egg. |
|
193 | 198 | |
|
194 | 199 | 2006-01-23 Ville Vainio <vivainio@gmail.com> |
|
195 | 200 | |
|
196 | 201 | * Added %cpaste magic for pasting python code |
|
197 | 202 | |
|
198 | 203 | 2006-01-22 Ville Vainio <vivainio@gmail.com> |
|
199 | 204 | |
|
200 | 205 | * Merge from branches/0.7.1 into trunk, revs 1052-1057 |
|
201 | 206 | |
|
202 | 207 | * Versionstring = 0.7.2.svn |
|
203 | 208 | |
|
204 | 209 | * eggsetup.py: A separate script for constructing eggs, creates |
|
205 | 210 | proper launch scripts even on Windows (an .exe file in |
|
206 | 211 | \python24\scripts). |
|
207 | 212 | |
|
208 | 213 | * ipapi.py: launch_new_instance, launch entry point needed for the |
|
209 | 214 | egg. |
|
210 | 215 | |
|
211 | 216 | 2006-01-22 Fernando Perez <Fernando.Perez@colorado.edu> |
|
212 | 217 | |
|
213 | 218 | * IPython/OInspect.py (Inspector.pinfo): fix bug where foo?? or |
|
214 | 219 | %pfile foo would print the file for foo even if it was a binary. |
|
215 | 220 | Now, extensions '.so' and '.dll' are skipped. |
|
216 | 221 | |
|
217 | 222 | * IPython/Shell.py (MTInteractiveShell.__init__): Fix threading |
|
218 | 223 | bug, where macros would fail in all threaded modes. I'm not 100% |
|
219 | 224 | sure, so I'm going to put out an rc instead of making a release |
|
220 | 225 | today, and wait for feedback for at least a few days. |
|
221 | 226 | |
|
222 | 227 | * IPython/iplib.py (handle_normal): fix (finally? somehow I doubt |
|
223 | 228 | it...) the handling of pasting external code with autoindent on. |
|
224 | 229 | To get out of a multiline input, the rule will appear for most |
|
225 | 230 | users unchanged: two blank lines or change the indent level |
|
226 | 231 | proposed by IPython. But there is a twist now: you can |
|
227 | 232 | add/subtract only *one or two spaces*. If you add/subtract three |
|
228 | 233 | or more (unless you completely delete the line), IPython will |
|
229 | 234 | accept that line, and you'll need to enter a second one of pure |
|
230 | 235 | whitespace. I know it sounds complicated, but I can't find a |
|
231 | 236 | different solution that covers all the cases, with the right |
|
232 | 237 | heuristics. Hopefully in actual use, nobody will really notice |
|
233 | 238 | all these strange rules and things will 'just work'. |
|
234 | 239 | |
|
235 | 240 | 2006-01-21 Fernando Perez <Fernando.Perez@colorado.edu> |
|
236 | 241 | |
|
237 | 242 | * IPython/iplib.py (interact): catch exceptions which can be |
|
238 | 243 | triggered asynchronously by signal handlers. Thanks to an |
|
239 | 244 | automatic crash report, submitted by Colin Kingsley |
|
240 | 245 | <tercel-AT-gentoo.org>. |
|
241 | 246 | |
|
242 | 247 | 2006-01-20 Ville Vainio <vivainio@gmail.com> |
|
243 | 248 | |
|
244 | 249 | * Ipython/Extensions/ext_rehashdir.py: Created a usable example |
|
245 | 250 | (%rehashdir, very useful, try it out) of how to extend ipython |
|
246 | 251 | with new magics. Also added Extensions dir to pythonpath to make |
|
247 | 252 | importing extensions easy. |
|
248 | 253 | |
|
249 | 254 | * %store now complains when trying to store interactively declared |
|
250 | 255 | classes / instances of those classes. |
|
251 | 256 | |
|
252 | 257 | * Extensions/ipy_system_conf.py, UserConfig/ipy_user_conf.py, |
|
253 | 258 | ipmaker.py: Config rehaul. Now ipy_..._conf.py are always imported |
|
254 | 259 | if they exist, and ipy_user_conf.py with some defaults is created for |
|
255 | 260 | the user. |
|
256 | 261 | |
|
257 | 262 | * Startup rehashing done by the config file, not InterpreterExec. |
|
258 | 263 | This means system commands are available even without selecting the |
|
259 | 264 | pysh profile. It's the sensible default after all. |
|
260 | 265 | |
|
261 | 266 | 2006-01-20 Fernando Perez <Fernando.Perez@colorado.edu> |
|
262 | 267 | |
|
263 | 268 | * IPython/iplib.py (raw_input): I _think_ I got the pasting of |
|
264 | 269 | multiline code with autoindent on working. But I am really not |
|
265 | 270 | sure, so this needs more testing. Will commit a debug-enabled |
|
266 | 271 | version for now, while I test it some more, so that Ville and |
|
267 | 272 | others may also catch any problems. Also made |
|
268 | 273 | self.indent_current_str() a method, to ensure that there's no |
|
269 | 274 | chance of the indent space count and the corresponding string |
|
270 | 275 | falling out of sync. All code needing the string should just call |
|
271 | 276 | the method. |
|
272 | 277 | |
|
273 | 278 | 2006-01-18 Fernando Perez <Fernando.Perez@colorado.edu> |
|
274 | 279 | |
|
275 | 280 | * IPython/Magic.py (magic_edit): fix check for when users don't |
|
276 | 281 | save their output files, the try/except was in the wrong section. |
|
277 | 282 | |
|
278 | 283 | 2006-01-17 Fernando Perez <Fernando.Perez@colorado.edu> |
|
279 | 284 | |
|
280 | 285 | * IPython/Magic.py (magic_run): fix __file__ global missing from |
|
281 | 286 | script's namespace when executed via %run. After a report by |
|
282 | 287 | Vivian. |
|
283 | 288 | |
|
284 | 289 | * IPython/Debugger.py (Pdb.__init__): Fix breakage with '%run -d' |
|
285 | 290 | when using python 2.4. The parent constructor changed in 2.4, and |
|
286 | 291 | we need to track it directly (we can't call it, as it messes up |
|
287 | 292 | readline and tab-completion inside our pdb would stop working). |
|
288 | 293 | After a bug report by R. Bernstein <rocky-AT-panix.com>. |
|
289 | 294 | |
|
290 | 295 | 2006-01-16 Ville Vainio <vivainio@gmail.com> |
|
291 | 296 | |
|
292 | 297 | * Ipython/magic.py:Reverted back to old %edit functionality |
|
293 | 298 | that returns file contents on exit. |
|
294 | 299 | |
|
295 | 300 | * IPython/path.py: Added Jason Orendorff's "path" module to |
|
296 | 301 | IPython tree, http://www.jorendorff.com/articles/python/path/. |
|
297 | 302 | You can get path objects conveniently through %sc, and !!, e.g.: |
|
298 | 303 | sc files=ls |
|
299 | 304 | for p in files.paths: # or files.p |
|
300 | 305 | print p,p.mtime |
|
301 | 306 | |
|
302 | 307 | * Ipython/iplib.py:"," and ";" autoquoting-upon-autocall |
|
303 | 308 | now work again without considering the exclusion regexp - |
|
304 | 309 | hence, things like ',foo my/path' turn to 'foo("my/path")' |
|
305 | 310 | instead of syntax error. |
|
306 | 311 | |
|
307 | 312 | |
|
308 | 313 | 2006-01-14 Ville Vainio <vivainio@gmail.com> |
|
309 | 314 | |
|
310 | 315 | * IPython/ipapi.py (ashook, asmagic, options): Added convenience |
|
311 | 316 | ipapi decorators for python 2.4 users, options() provides access to rc |
|
312 | 317 | data. |
|
313 | 318 | |
|
314 | 319 | * IPython/Magic.py (magic_cd): %cd now accepts backslashes |
|
315 | 320 | as path separators (even on Linux ;-). Space character after |
|
316 | 321 | backslash (as yielded by tab completer) is still space; |
|
317 | 322 | "%cd long\ name" works as expected. |
|
318 | 323 | |
|
319 | 324 | * IPython/ipapi.py,hooks.py,iplib.py: Hooks now implemented |
|
320 | 325 | as "chain of command", with priority. API stays the same, |
|
321 | 326 | TryNext exception raised by a hook function signals that |
|
322 | 327 | current hook failed and next hook should try handling it, as |
|
323 | 328 | suggested by Walter DΓΆrwald <walter@livinglogic.de>. Walter also |
|
324 | 329 | requested configurable display hook, which is now implemented. |
|
325 | 330 | |
|
326 | 331 | 2006-01-13 Ville Vainio <vivainio@gmail.com> |
|
327 | 332 | |
|
328 | 333 | * IPython/platutils*.py: platform specific utility functions, |
|
329 | 334 | so far only set_term_title is implemented (change terminal |
|
330 | 335 | label in windowing systems). %cd now changes the title to |
|
331 | 336 | current dir. |
|
332 | 337 | |
|
333 | 338 | * IPython/Release.py: Added myself to "authors" list, |
|
334 | 339 | had to create new files. |
|
335 | 340 | |
|
336 | 341 | * IPython/iplib.py (handle_shell_escape): fixed logical flaw in |
|
337 | 342 | shell escape; not a known bug but had potential to be one in the |
|
338 | 343 | future. |
|
339 | 344 | |
|
340 | 345 | * IPython/ipapi.py (added),OInspect.py,iplib.py: "Public" |
|
341 | 346 | extension API for IPython! See the module for usage example. Fix |
|
342 | 347 | OInspect for docstring-less magic functions. |
|
343 | 348 | |
|
344 | 349 | |
|
345 | 350 | 2006-01-13 Fernando Perez <Fernando.Perez@colorado.edu> |
|
346 | 351 | |
|
347 | 352 | * IPython/iplib.py (raw_input): temporarily deactivate all |
|
348 | 353 | attempts at allowing pasting of code with autoindent on. It |
|
349 | 354 | introduced bugs (reported by Prabhu) and I can't seem to find a |
|
350 | 355 | robust combination which works in all cases. Will have to revisit |
|
351 | 356 | later. |
|
352 | 357 | |
|
353 | 358 | * IPython/genutils.py: remove isspace() function. We've dropped |
|
354 | 359 | 2.2 compatibility, so it's OK to use the string method. |
|
355 | 360 | |
|
356 | 361 | 2006-01-12 Fernando Perez <Fernando.Perez@colorado.edu> |
|
357 | 362 | |
|
358 | 363 | * IPython/iplib.py (InteractiveShell.__init__): fix regexp |
|
359 | 364 | matching what NOT to autocall on, to include all python binary |
|
360 | 365 | operators (including things like 'and', 'or', 'is' and 'in'). |
|
361 | 366 | Prompted by a bug report on 'foo & bar', but I realized we had |
|
362 | 367 | many more potential bug cases with other operators. The regexp is |
|
363 | 368 | self.re_exclude_auto, it's fairly commented. |
|
364 | 369 | |
|
365 | 370 | 2006-01-12 Ville Vainio <vivainio@gmail.com> |
|
366 | 371 | |
|
367 | 372 | * IPython/iplib.py (make_quoted_expr,handle_shell_escape): |
|
368 | 373 | Prettified and hardened string/backslash quoting with ipsystem(), |
|
369 | 374 | ipalias() and ipmagic(). Now even \ characters are passed to |
|
370 | 375 | %magics, !shell escapes and aliases exactly as they are in the |
|
371 | 376 | ipython command line. Should improve backslash experience, |
|
372 | 377 | particularly in Windows (path delimiter for some commands that |
|
373 | 378 | won't understand '/'), but Unix benefits as well (regexps). %cd |
|
374 | 379 | magic still doesn't support backslash path delimiters, though. Also |
|
375 | 380 | deleted all pretense of supporting multiline command strings in |
|
376 | 381 | !system or %magic commands. Thanks to Jerry McRae for suggestions. |
|
377 | 382 | |
|
378 | 383 | * doc/build_doc_instructions.txt added. Documentation on how to |
|
379 | 384 | use doc/update_manual.py, added yesterday. Both files contributed |
|
380 | 385 | by JΓΆrgen Stenarson <jorgen.stenarson-AT-bostream.nu>. This slates |
|
381 | 386 | doc/*.sh for deprecation at a later date. |
|
382 | 387 | |
|
383 | 388 | * /ipython.py Added ipython.py to root directory for |
|
384 | 389 | zero-installation (tar xzvf ipython.tgz; cd ipython; python |
|
385 | 390 | ipython.py) and development convenience (no need to kee doing |
|
386 | 391 | "setup.py install" between changes). |
|
387 | 392 | |
|
388 | 393 | * Made ! and !! shell escapes work (again) in multiline expressions: |
|
389 | 394 | if 1: |
|
390 | 395 | !ls |
|
391 | 396 | !!ls |
|
392 | 397 | |
|
393 | 398 | 2006-01-12 Fernando Perez <Fernando.Perez@colorado.edu> |
|
394 | 399 | |
|
395 | 400 | * IPython/ipstruct.py (Struct): Rename IPython.Struct to |
|
396 | 401 | IPython.ipstruct, to avoid local shadowing of the stdlib 'struct' |
|
397 | 402 | module in case-insensitive installation. Was causing crashes |
|
398 | 403 | under win32. Closes http://www.scipy.net/roundup/ipython/issue49. |
|
399 | 404 | |
|
400 | 405 | * IPython/Magic.py (magic_pycat): Fix pycat, patch by Marien Zwart |
|
401 | 406 | <marienz-AT-gentoo.org>, closes |
|
402 | 407 | http://www.scipy.net/roundup/ipython/issue51. |
|
403 | 408 | |
|
404 | 409 | 2006-01-11 Fernando Perez <Fernando.Perez@colorado.edu> |
|
405 | 410 | |
|
406 | 411 | * IPython/Shell.py (IPShellGTK.on_timer): Finally fix the the |
|
407 | 412 | problem of excessive CPU usage under *nix and keyboard lag under |
|
408 | 413 | win32. |
|
409 | 414 | |
|
410 | 415 | 2006-01-10 *** Released version 0.7.0 |
|
411 | 416 | |
|
412 | 417 | 2006-01-10 Fernando Perez <Fernando.Perez@colorado.edu> |
|
413 | 418 | |
|
414 | 419 | * IPython/Release.py (revision): tag version number to 0.7.0, |
|
415 | 420 | ready for release. |
|
416 | 421 | |
|
417 | 422 | * IPython/Magic.py (magic_edit): Add print statement to %edit so |
|
418 | 423 | it informs the user of the name of the temp. file used. This can |
|
419 | 424 | help if you decide later to reuse that same file, so you know |
|
420 | 425 | where to copy the info from. |
|
421 | 426 | |
|
422 | 427 | 2006-01-09 Fernando Perez <Fernando.Perez@colorado.edu> |
|
423 | 428 | |
|
424 | 429 | * setup_bdist_egg.py: little script to build an egg. Added |
|
425 | 430 | support in the release tools as well. |
|
426 | 431 | |
|
427 | 432 | 2006-01-08 Fernando Perez <Fernando.Perez@colorado.edu> |
|
428 | 433 | |
|
429 | 434 | * IPython/Shell.py (IPShellWX.__init__): add support for WXPython |
|
430 | 435 | version selection (new -wxversion command line and ipythonrc |
|
431 | 436 | parameter). Patch contributed by Arnd Baecker |
|
432 | 437 | <arnd.baecker-AT-web.de>. |
|
433 | 438 | |
|
434 | 439 | * IPython/iplib.py (embed_mainloop): fix tab-completion in |
|
435 | 440 | embedded instances, for variables defined at the interactive |
|
436 | 441 | prompt of the embedded ipython. Reported by Arnd. |
|
437 | 442 | |
|
438 | 443 | * IPython/Magic.py (magic_autocall): Fix %autocall magic. Now |
|
439 | 444 | it can be used as a (stateful) toggle, or with a direct parameter. |
|
440 | 445 | |
|
441 | 446 | * IPython/ultraTB.py (_fixed_getinnerframes): remove debug assert which |
|
442 | 447 | could be triggered in certain cases and cause the traceback |
|
443 | 448 | printer not to work. |
|
444 | 449 | |
|
445 | 450 | 2006-01-07 Fernando Perez <Fernando.Perez@colorado.edu> |
|
446 | 451 | |
|
447 | 452 | * IPython/iplib.py (_should_recompile): Small fix, closes |
|
448 | 453 | http://www.scipy.net/roundup/ipython/issue48. Patch by Scott. |
|
449 | 454 | |
|
450 | 455 | 2006-01-04 Fernando Perez <Fernando.Perez@colorado.edu> |
|
451 | 456 | |
|
452 | 457 | * IPython/Shell.py (IPShellGTK.mainloop): fix bug in the GTK |
|
453 | 458 | backend for matplotlib (100% cpu utiliziation). Thanks to Charlie |
|
454 | 459 | Moad for help with tracking it down. |
|
455 | 460 | |
|
456 | 461 | * IPython/iplib.py (handle_auto): fix autocall handling for |
|
457 | 462 | objects which support BOTH __getitem__ and __call__ (so that f [x] |
|
458 | 463 | is left alone, instead of becoming f([x]) automatically). |
|
459 | 464 | |
|
460 | 465 | * IPython/Magic.py (magic_cd): fix crash when cd -b was used. |
|
461 | 466 | Ville's patch. |
|
462 | 467 | |
|
463 | 468 | 2006-01-03 Fernando Perez <Fernando.Perez@colorado.edu> |
|
464 | 469 | |
|
465 | 470 | * IPython/iplib.py (handle_auto): changed autocall semantics to |
|
466 | 471 | include 'smart' mode, where the autocall transformation is NOT |
|
467 | 472 | applied if there are no arguments on the line. This allows you to |
|
468 | 473 | just type 'foo' if foo is a callable to see its internal form, |
|
469 | 474 | instead of having it called with no arguments (typically a |
|
470 | 475 | mistake). The old 'full' autocall still exists: for that, you |
|
471 | 476 | need to set the 'autocall' parameter to 2 in your ipythonrc file. |
|
472 | 477 | |
|
473 | 478 | * IPython/completer.py (Completer.attr_matches): add |
|
474 | 479 | tab-completion support for Enthoughts' traits. After a report by |
|
475 | 480 | Arnd and a patch by Prabhu. |
|
476 | 481 | |
|
477 | 482 | 2006-01-02 Fernando Perez <Fernando.Perez@colorado.edu> |
|
478 | 483 | |
|
479 | 484 | * IPython/ultraTB.py (_fixed_getinnerframes): added Alex |
|
480 | 485 | Schmolck's patch to fix inspect.getinnerframes(). |
|
481 | 486 | |
|
482 | 487 | * IPython/iplib.py (InteractiveShell.__init__): significant fixes |
|
483 | 488 | for embedded instances, regarding handling of namespaces and items |
|
484 | 489 | added to the __builtin__ one. Multiple embedded instances and |
|
485 | 490 | recursive embeddings should work better now (though I'm not sure |
|
486 | 491 | I've got all the corner cases fixed, that code is a bit of a brain |
|
487 | 492 | twister). |
|
488 | 493 | |
|
489 | 494 | * IPython/Magic.py (magic_edit): added support to edit in-memory |
|
490 | 495 | macros (automatically creates the necessary temp files). %edit |
|
491 | 496 | also doesn't return the file contents anymore, it's just noise. |
|
492 | 497 | |
|
493 | 498 | * IPython/completer.py (Completer.attr_matches): revert change to |
|
494 | 499 | complete only on attributes listed in __all__. I realized it |
|
495 | 500 | cripples the tab-completion system as a tool for exploring the |
|
496 | 501 | internals of unknown libraries (it renders any non-__all__ |
|
497 | 502 | attribute off-limits). I got bit by this when trying to see |
|
498 | 503 | something inside the dis module. |
|
499 | 504 | |
|
500 | 505 | 2005-12-31 Fernando Perez <Fernando.Perez@colorado.edu> |
|
501 | 506 | |
|
502 | 507 | * IPython/iplib.py (InteractiveShell.__init__): add .meta |
|
503 | 508 | namespace for users and extension writers to hold data in. This |
|
504 | 509 | follows the discussion in |
|
505 | 510 | http://projects.scipy.org/ipython/ipython/wiki/RefactoringIPython. |
|
506 | 511 | |
|
507 | 512 | * IPython/completer.py (IPCompleter.complete): small patch to help |
|
508 | 513 | tab-completion under Emacs, after a suggestion by John Barnard |
|
509 | 514 | <barnarj-AT-ccf.org>. |
|
510 | 515 | |
|
511 | 516 | * IPython/Magic.py (Magic.extract_input_slices): added support for |
|
512 | 517 | the slice notation in magics to use N-M to represent numbers N...M |
|
513 | 518 | (closed endpoints). This is used by %macro and %save. |
|
514 | 519 | |
|
515 | 520 | * IPython/completer.py (Completer.attr_matches): for modules which |
|
516 | 521 | define __all__, complete only on those. After a patch by Jeffrey |
|
517 | 522 | Collins <jcollins_boulder-AT-earthlink.net>. Also, clean up and |
|
518 | 523 | speed up this routine. |
|
519 | 524 | |
|
520 | 525 | * IPython/Logger.py (Logger.log): fix a history handling bug. I |
|
521 | 526 | don't know if this is the end of it, but the behavior now is |
|
522 | 527 | certainly much more correct. Note that coupled with macros, |
|
523 | 528 | slightly surprising (at first) behavior may occur: a macro will in |
|
524 | 529 | general expand to multiple lines of input, so upon exiting, the |
|
525 | 530 | in/out counters will both be bumped by the corresponding amount |
|
526 | 531 | (as if the macro's contents had been typed interactively). Typing |
|
527 | 532 | %hist will reveal the intermediate (silently processed) lines. |
|
528 | 533 | |
|
529 | 534 | * IPython/Magic.py (magic_run): fix a subtle bug which could cause |
|
530 | 535 | pickle to fail (%run was overwriting __main__ and not restoring |
|
531 | 536 | it, but pickle relies on __main__ to operate). |
|
532 | 537 | |
|
533 | 538 | * IPython/iplib.py (InteractiveShell): fix pdb calling: I'm now |
|
534 | 539 | using properties, but forgot to make the main InteractiveShell |
|
535 | 540 | class a new-style class. Properties fail silently, and |
|
536 | 541 | misteriously, with old-style class (getters work, but |
|
537 | 542 | setters don't do anything). |
|
538 | 543 | |
|
539 | 544 | 2005-12-30 Fernando Perez <Fernando.Perez@colorado.edu> |
|
540 | 545 | |
|
541 | 546 | * IPython/Magic.py (magic_history): fix history reporting bug (I |
|
542 | 547 | know some nasties are still there, I just can't seem to find a |
|
543 | 548 | reproducible test case to track them down; the input history is |
|
544 | 549 | falling out of sync...) |
|
545 | 550 | |
|
546 | 551 | * IPython/iplib.py (handle_shell_escape): fix bug where both |
|
547 | 552 | aliases and system accesses where broken for indented code (such |
|
548 | 553 | as loops). |
|
549 | 554 | |
|
550 | 555 | * IPython/genutils.py (shell): fix small but critical bug for |
|
551 | 556 | win32 system access. |
|
552 | 557 | |
|
553 | 558 | 2005-12-29 Fernando Perez <Fernando.Perez@colorado.edu> |
|
554 | 559 | |
|
555 | 560 | * IPython/iplib.py (showtraceback): remove use of the |
|
556 | 561 | sys.last_{type/value/traceback} structures, which are non |
|
557 | 562 | thread-safe. |
|
558 | 563 | (_prefilter): change control flow to ensure that we NEVER |
|
559 | 564 | introspect objects when autocall is off. This will guarantee that |
|
560 | 565 | having an input line of the form 'x.y', where access to attribute |
|
561 | 566 | 'y' has side effects, doesn't trigger the side effect TWICE. It |
|
562 | 567 | is important to note that, with autocall on, these side effects |
|
563 | 568 | can still happen. |
|
564 | 569 | (ipsystem): new builtin, to complete the ip{magic/alias/system} |
|
565 | 570 | trio. IPython offers these three kinds of special calls which are |
|
566 | 571 | not python code, and it's a good thing to have their call method |
|
567 | 572 | be accessible as pure python functions (not just special syntax at |
|
568 | 573 | the command line). It gives us a better internal implementation |
|
569 | 574 | structure, as well as exposing these for user scripting more |
|
570 | 575 | cleanly. |
|
571 | 576 | |
|
572 | 577 | * IPython/macro.py (Macro.__init__): moved macros to a standalone |
|
573 | 578 | file. Now that they'll be more likely to be used with the |
|
574 | 579 | persistance system (%store), I want to make sure their module path |
|
575 | 580 | doesn't change in the future, so that we don't break things for |
|
576 | 581 | users' persisted data. |
|
577 | 582 | |
|
578 | 583 | * IPython/iplib.py (autoindent_update): move indentation |
|
579 | 584 | management into the _text_ processing loop, not the keyboard |
|
580 | 585 | interactive one. This is necessary to correctly process non-typed |
|
581 | 586 | multiline input (such as macros). |
|
582 | 587 | |
|
583 | 588 | * IPython/Magic.py (Magic.format_latex): patch by Stefan van der |
|
584 | 589 | Walt <stefan-AT-sun.ac.za> to fix latex formatting of docstrings, |
|
585 | 590 | which was producing problems in the resulting manual. |
|
586 | 591 | (magic_whos): improve reporting of instances (show their class, |
|
587 | 592 | instead of simply printing 'instance' which isn't terribly |
|
588 | 593 | informative). |
|
589 | 594 | |
|
590 | 595 | * IPython/genutils.py (shell): commit Jorgen Stenarson's patch |
|
591 | 596 | (minor mods) to support network shares under win32. |
|
592 | 597 | |
|
593 | 598 | * IPython/winconsole.py (get_console_size): add new winconsole |
|
594 | 599 | module and fixes to page_dumb() to improve its behavior under |
|
595 | 600 | win32. Contributed by Alexander Belchenko <bialix-AT-ukr.net>. |
|
596 | 601 | |
|
597 | 602 | * IPython/Magic.py (Macro): simplified Macro class to just |
|
598 | 603 | subclass list. We've had only 2.2 compatibility for a very long |
|
599 | 604 | time, yet I was still avoiding subclassing the builtin types. No |
|
600 | 605 | more (I'm also starting to use properties, though I won't shift to |
|
601 | 606 | 2.3-specific features quite yet). |
|
602 | 607 | (magic_store): added Ville's patch for lightweight variable |
|
603 | 608 | persistence, after a request on the user list by Matt Wilkie |
|
604 | 609 | <maphew-AT-gmail.com>. The new %store magic's docstring has full |
|
605 | 610 | details. |
|
606 | 611 | |
|
607 | 612 | * IPython/iplib.py (InteractiveShell.post_config_initialization): |
|
608 | 613 | changed the default logfile name from 'ipython.log' to |
|
609 | 614 | 'ipython_log.py'. These logs are real python files, and now that |
|
610 | 615 | we have much better multiline support, people are more likely to |
|
611 | 616 | want to use them as such. Might as well name them correctly. |
|
612 | 617 | |
|
613 | 618 | * IPython/Magic.py: substantial cleanup. While we can't stop |
|
614 | 619 | using magics as mixins, due to the existing customizations 'out |
|
615 | 620 | there' which rely on the mixin naming conventions, at least I |
|
616 | 621 | cleaned out all cross-class name usage. So once we are OK with |
|
617 | 622 | breaking compatibility, the two systems can be separated. |
|
618 | 623 | |
|
619 | 624 | * IPython/Logger.py: major cleanup. This one is NOT a mixin |
|
620 | 625 | anymore, and the class is a fair bit less hideous as well. New |
|
621 | 626 | features were also introduced: timestamping of input, and logging |
|
622 | 627 | of output results. These are user-visible with the -t and -o |
|
623 | 628 | options to %logstart. Closes |
|
624 | 629 | http://www.scipy.net/roundup/ipython/issue11 and a request by |
|
625 | 630 | William Stein (SAGE developer - http://modular.ucsd.edu/sage). |
|
626 | 631 | |
|
627 | 632 | 2005-12-28 Fernando Perez <Fernando.Perez@colorado.edu> |
|
628 | 633 | |
|
629 | 634 | * IPython/iplib.py (handle_shell_escape): add Ville's patch to |
|
630 | 635 | better hadnle backslashes in paths. See the thread 'More Windows |
|
631 | 636 | questions part 2 - \/ characters revisited' on the iypthon user |
|
632 | 637 | list: |
|
633 | 638 | http://scipy.net/pipermail/ipython-user/2005-June/000907.html |
|
634 | 639 | |
|
635 | 640 | (InteractiveShell.__init__): fix tab-completion bug in threaded shells. |
|
636 | 641 | |
|
637 | 642 | (InteractiveShell.__init__): change threaded shells to not use the |
|
638 | 643 | ipython crash handler. This was causing more problems than not, |
|
639 | 644 | as exceptions in the main thread (GUI code, typically) would |
|
640 | 645 | always show up as a 'crash', when they really weren't. |
|
641 | 646 | |
|
642 | 647 | The colors and exception mode commands (%colors/%xmode) have been |
|
643 | 648 | synchronized to also take this into account, so users can get |
|
644 | 649 | verbose exceptions for their threaded code as well. I also added |
|
645 | 650 | support for activating pdb inside this exception handler as well, |
|
646 | 651 | so now GUI authors can use IPython's enhanced pdb at runtime. |
|
647 | 652 | |
|
648 | 653 | * IPython/ipmaker.py (make_IPython): make the autoedit_syntax flag |
|
649 | 654 | true by default, and add it to the shipped ipythonrc file. Since |
|
650 | 655 | this asks the user before proceeding, I think it's OK to make it |
|
651 | 656 | true by default. |
|
652 | 657 | |
|
653 | 658 | * IPython/Magic.py (magic_exit): make new exit/quit magics instead |
|
654 | 659 | of the previous special-casing of input in the eval loop. I think |
|
655 | 660 | this is cleaner, as they really are commands and shouldn't have |
|
656 | 661 | a special role in the middle of the core code. |
|
657 | 662 | |
|
658 | 663 | 2005-12-27 Fernando Perez <Fernando.Perez@colorado.edu> |
|
659 | 664 | |
|
660 | 665 | * IPython/iplib.py (edit_syntax_error): added support for |
|
661 | 666 | automatically reopening the editor if the file had a syntax error |
|
662 | 667 | in it. Thanks to scottt who provided the patch at: |
|
663 | 668 | http://www.scipy.net/roundup/ipython/issue36 (slightly modified |
|
664 | 669 | version committed). |
|
665 | 670 | |
|
666 | 671 | * IPython/iplib.py (handle_normal): add suport for multi-line |
|
667 | 672 | input with emtpy lines. This fixes |
|
668 | 673 | http://www.scipy.net/roundup/ipython/issue43 and a similar |
|
669 | 674 | discussion on the user list. |
|
670 | 675 | |
|
671 | 676 | WARNING: a behavior change is necessarily introduced to support |
|
672 | 677 | blank lines: now a single blank line with whitespace does NOT |
|
673 | 678 | break the input loop, which means that when autoindent is on, by |
|
674 | 679 | default hitting return on the next (indented) line does NOT exit. |
|
675 | 680 | |
|
676 | 681 | Instead, to exit a multiline input you can either have: |
|
677 | 682 | |
|
678 | 683 | - TWO whitespace lines (just hit return again), or |
|
679 | 684 | - a single whitespace line of a different length than provided |
|
680 | 685 | by the autoindent (add or remove a space). |
|
681 | 686 | |
|
682 | 687 | * IPython/completer.py (MagicCompleter.__init__): new 'completer' |
|
683 | 688 | module to better organize all readline-related functionality. |
|
684 | 689 | I've deleted FlexCompleter and put all completion clases here. |
|
685 | 690 | |
|
686 | 691 | * IPython/iplib.py (raw_input): improve indentation management. |
|
687 | 692 | It is now possible to paste indented code with autoindent on, and |
|
688 | 693 | the code is interpreted correctly (though it still looks bad on |
|
689 | 694 | screen, due to the line-oriented nature of ipython). |
|
690 | 695 | (MagicCompleter.complete): change behavior so that a TAB key on an |
|
691 | 696 | otherwise empty line actually inserts a tab, instead of completing |
|
692 | 697 | on the entire global namespace. This makes it easier to use the |
|
693 | 698 | TAB key for indentation. After a request by Hans Meine |
|
694 | 699 | <hans_meine-AT-gmx.net> |
|
695 | 700 | (_prefilter): add support so that typing plain 'exit' or 'quit' |
|
696 | 701 | does a sensible thing. Originally I tried to deviate as little as |
|
697 | 702 | possible from the default python behavior, but even that one may |
|
698 | 703 | change in this direction (thread on python-dev to that effect). |
|
699 | 704 | Regardless, ipython should do the right thing even if CPython's |
|
700 | 705 | '>>>' prompt doesn't. |
|
701 | 706 | (InteractiveShell): removed subclassing code.InteractiveConsole |
|
702 | 707 | class. By now we'd overridden just about all of its methods: I've |
|
703 | 708 | copied the remaining two over, and now ipython is a standalone |
|
704 | 709 | class. This will provide a clearer picture for the chainsaw |
|
705 | 710 | branch refactoring. |
|
706 | 711 | |
|
707 | 712 | 2005-12-26 Fernando Perez <Fernando.Perez@colorado.edu> |
|
708 | 713 | |
|
709 | 714 | * IPython/ultraTB.py (VerboseTB.text): harden reporting against |
|
710 | 715 | failures for objects which break when dir() is called on them. |
|
711 | 716 | |
|
712 | 717 | * IPython/FlexCompleter.py (Completer.__init__): Added support for |
|
713 | 718 | distinct local and global namespaces in the completer API. This |
|
714 | 719 | change allows us top properly handle completion with distinct |
|
715 | 720 | scopes, including in embedded instances (this had never really |
|
716 | 721 | worked correctly). |
|
717 | 722 | |
|
718 | 723 | Note: this introduces a change in the constructor for |
|
719 | 724 | MagicCompleter, as a new global_namespace parameter is now the |
|
720 | 725 | second argument (the others were bumped one position). |
|
721 | 726 | |
|
722 | 727 | 2005-12-25 Fernando Perez <Fernando.Perez@colorado.edu> |
|
723 | 728 | |
|
724 | 729 | * IPython/iplib.py (embed_mainloop): fix tab-completion in |
|
725 | 730 | embedded instances (which can be done now thanks to Vivian's |
|
726 | 731 | frame-handling fixes for pdb). |
|
727 | 732 | (InteractiveShell.__init__): Fix namespace handling problem in |
|
728 | 733 | embedded instances. We were overwriting __main__ unconditionally, |
|
729 | 734 | and this should only be done for 'full' (non-embedded) IPython; |
|
730 | 735 | embedded instances must respect the caller's __main__. Thanks to |
|
731 | 736 | a bug report by Yaroslav Bulatov <yaroslavvb-AT-gmail.com> |
|
732 | 737 | |
|
733 | 738 | 2005-12-24 Fernando Perez <Fernando.Perez@colorado.edu> |
|
734 | 739 | |
|
735 | 740 | * setup.py: added download_url to setup(). This registers the |
|
736 | 741 | download address at PyPI, which is not only useful to humans |
|
737 | 742 | browsing the site, but is also picked up by setuptools (the Eggs |
|
738 | 743 | machinery). Thanks to Ville and R. Kern for the info/discussion |
|
739 | 744 | on this. |
|
740 | 745 | |
|
741 | 746 | 2005-12-23 Fernando Perez <Fernando.Perez@colorado.edu> |
|
742 | 747 | |
|
743 | 748 | * IPython/Debugger.py (Pdb.__init__): Major pdb mode enhancements. |
|
744 | 749 | This brings a lot of nice functionality to the pdb mode, which now |
|
745 | 750 | has tab-completion, syntax highlighting, and better stack handling |
|
746 | 751 | than before. Many thanks to Vivian De Smedt |
|
747 | 752 | <vivian-AT-vdesmedt.com> for the original patches. |
|
748 | 753 | |
|
749 | 754 | 2005-12-08 Fernando Perez <Fernando.Perez@colorado.edu> |
|
750 | 755 | |
|
751 | 756 | * IPython/Shell.py (IPShellGTK.mainloop): fix mainloop() calling |
|
752 | 757 | sequence to consistently accept the banner argument. The |
|
753 | 758 | inconsistency was tripping SAGE, thanks to Gary Zablackis |
|
754 | 759 | <gzabl-AT-yahoo.com> for the report. |
|
755 | 760 | |
|
756 | 761 | 2005-11-15 Fernando Perez <Fernando.Perez@colorado.edu> |
|
757 | 762 | |
|
758 | 763 | * IPython/iplib.py (InteractiveShell.post_config_initialization): |
|
759 | 764 | Fix bug where a naked 'alias' call in the ipythonrc file would |
|
760 | 765 | cause a crash. Bug reported by Jorgen Stenarson. |
|
761 | 766 | |
|
762 | 767 | 2005-11-15 Fernando Perez <Fernando.Perez@colorado.edu> |
|
763 | 768 | |
|
764 | 769 | * IPython/ipmaker.py (make_IPython): cleanups which should improve |
|
765 | 770 | startup time. |
|
766 | 771 | |
|
767 | 772 | * IPython/iplib.py (runcode): my globals 'fix' for embedded |
|
768 | 773 | instances had introduced a bug with globals in normal code. Now |
|
769 | 774 | it's working in all cases. |
|
770 | 775 | |
|
771 | 776 | * IPython/Magic.py (magic_psearch): Finish wildcard cleanup and |
|
772 | 777 | API changes. A new ipytonrc option, 'wildcards_case_sensitive' |
|
773 | 778 | has been introduced to set the default case sensitivity of the |
|
774 | 779 | searches. Users can still select either mode at runtime on a |
|
775 | 780 | per-search basis. |
|
776 | 781 | |
|
777 | 782 | 2005-11-13 Fernando Perez <Fernando.Perez@colorado.edu> |
|
778 | 783 | |
|
779 | 784 | * IPython/wildcard.py (NameSpace.__init__): fix resolution of |
|
780 | 785 | attributes in wildcard searches for subclasses. Modified version |
|
781 | 786 | of a patch by Jorgen. |
|
782 | 787 | |
|
783 | 788 | 2005-11-12 Fernando Perez <Fernando.Perez@colorado.edu> |
|
784 | 789 | |
|
785 | 790 | * IPython/iplib.py (embed_mainloop): Fix handling of globals for |
|
786 | 791 | embedded instances. I added a user_global_ns attribute to the |
|
787 | 792 | InteractiveShell class to handle this. |
|
788 | 793 | |
|
789 | 794 | 2005-10-31 Fernando Perez <Fernando.Perez@colorado.edu> |
|
790 | 795 | |
|
791 | 796 | * IPython/Shell.py (IPShellGTK.mainloop): Change timeout_add to |
|
792 | 797 | idle_add, which fixes horrible keyboard lag problems under gtk 2.6 |
|
793 | 798 | (reported under win32, but may happen also in other platforms). |
|
794 | 799 | Bug report and fix courtesy of Sean Moore <smm-AT-logic.bm> |
|
795 | 800 | |
|
796 | 801 | 2005-10-15 Fernando Perez <Fernando.Perez@colorado.edu> |
|
797 | 802 | |
|
798 | 803 | * IPython/Magic.py (magic_psearch): new support for wildcard |
|
799 | 804 | patterns. Now, typing ?a*b will list all names which begin with a |
|
800 | 805 | and end in b, for example. The %psearch magic has full |
|
801 | 806 | docstrings. Many thanks to JΓΆrgen Stenarson |
|
802 | 807 | <jorgen.stenarson-AT-bostream.nu>, author of the patches |
|
803 | 808 | implementing this functionality. |
|
804 | 809 | |
|
805 | 810 | 2005-09-27 Fernando Perez <Fernando.Perez@colorado.edu> |
|
806 | 811 | |
|
807 | 812 | * Manual: fixed long-standing annoyance of double-dashes (as in |
|
808 | 813 | --prefix=~, for example) being stripped in the HTML version. This |
|
809 | 814 | is a latex2html bug, but a workaround was provided. Many thanks |
|
810 | 815 | to George K. Thiruvathukal <gthiruv-AT-luc.edu> for the detailed |
|
811 | 816 | help, and Michael Tobis <mtobis-AT-gmail.com> for getting the ball |
|
812 | 817 | rolling. This seemingly small issue had tripped a number of users |
|
813 | 818 | when first installing, so I'm glad to see it gone. |
|
814 | 819 | |
|
815 | 820 | 2005-09-27 Fernando Perez <Fernando.Perez@colorado.edu> |
|
816 | 821 | |
|
817 | 822 | * IPython/Extensions/numeric_formats.py: fix missing import, |
|
818 | 823 | reported by Stephen Walton. |
|
819 | 824 | |
|
820 | 825 | 2005-09-24 Fernando Perez <Fernando.Perez@colorado.edu> |
|
821 | 826 | |
|
822 | 827 | * IPython/demo.py: finish demo module, fully documented now. |
|
823 | 828 | |
|
824 | 829 | * IPython/genutils.py (file_read): simple little utility to read a |
|
825 | 830 | file and ensure it's closed afterwards. |
|
826 | 831 | |
|
827 | 832 | 2005-09-23 Fernando Perez <Fernando.Perez@colorado.edu> |
|
828 | 833 | |
|
829 | 834 | * IPython/demo.py (Demo.__init__): added support for individually |
|
830 | 835 | tagging blocks for automatic execution. |
|
831 | 836 | |
|
832 | 837 | * IPython/Magic.py (magic_pycat): new %pycat magic for showing |
|
833 | 838 | syntax-highlighted python sources, requested by John. |
|
834 | 839 | |
|
835 | 840 | 2005-09-22 Fernando Perez <Fernando.Perez@colorado.edu> |
|
836 | 841 | |
|
837 | 842 | * IPython/demo.py (Demo.again): fix bug where again() blocks after |
|
838 | 843 | finishing. |
|
839 | 844 | |
|
840 | 845 | * IPython/genutils.py (shlex_split): moved from Magic to here, |
|
841 | 846 | where all 2.2 compatibility stuff lives. I needed it for demo.py. |
|
842 | 847 | |
|
843 | 848 | * IPython/demo.py (Demo.__init__): added support for silent |
|
844 | 849 | blocks, improved marks as regexps, docstrings written. |
|
845 | 850 | (Demo.__init__): better docstring, added support for sys.argv. |
|
846 | 851 | |
|
847 | 852 | * IPython/genutils.py (marquee): little utility used by the demo |
|
848 | 853 | code, handy in general. |
|
849 | 854 | |
|
850 | 855 | * IPython/demo.py (Demo.__init__): new class for interactive |
|
851 | 856 | demos. Not documented yet, I just wrote it in a hurry for |
|
852 | 857 | scipy'05. Will docstring later. |
|
853 | 858 | |
|
854 | 859 | 2005-09-20 Fernando Perez <Fernando.Perez@colorado.edu> |
|
855 | 860 | |
|
856 | 861 | * IPython/Shell.py (sigint_handler): Drastic simplification which |
|
857 | 862 | also seems to make Ctrl-C work correctly across threads! This is |
|
858 | 863 | so simple, that I can't beleive I'd missed it before. Needs more |
|
859 | 864 | testing, though. |
|
860 | 865 | (KBINT): Never mind, revert changes. I'm sure I'd tried something |
|
861 | 866 | like this before... |
|
862 | 867 | |
|
863 | 868 | * IPython/genutils.py (get_home_dir): add protection against |
|
864 | 869 | non-dirs in win32 registry. |
|
865 | 870 | |
|
866 | 871 | * IPython/iplib.py (InteractiveShell.alias_table_validate): fix |
|
867 | 872 | bug where dict was mutated while iterating (pysh crash). |
|
868 | 873 | |
|
869 | 874 | 2005-09-06 Fernando Perez <Fernando.Perez@colorado.edu> |
|
870 | 875 | |
|
871 | 876 | * IPython/iplib.py (handle_auto): Fix inconsistency arising from |
|
872 | 877 | spurious newlines added by this routine. After a report by |
|
873 | 878 | F. Mantegazza. |
|
874 | 879 | |
|
875 | 880 | 2005-09-05 Fernando Perez <Fernando.Perez@colorado.edu> |
|
876 | 881 | |
|
877 | 882 | * IPython/Shell.py (hijack_gtk): remove pygtk.require("2.0") |
|
878 | 883 | calls. These were a leftover from the GTK 1.x days, and can cause |
|
879 | 884 | problems in certain cases (after a report by John Hunter). |
|
880 | 885 | |
|
881 | 886 | * IPython/iplib.py (InteractiveShell.__init__): Trap exception if |
|
882 | 887 | os.getcwd() fails at init time. Thanks to patch from David Remahl |
|
883 | 888 | <chmod007-AT-mac.com>. |
|
884 | 889 | (InteractiveShell.__init__): prevent certain special magics from |
|
885 | 890 | being shadowed by aliases. Closes |
|
886 | 891 | http://www.scipy.net/roundup/ipython/issue41. |
|
887 | 892 | |
|
888 | 893 | 2005-08-31 Fernando Perez <Fernando.Perez@colorado.edu> |
|
889 | 894 | |
|
890 | 895 | * IPython/iplib.py (InteractiveShell.complete): Added new |
|
891 | 896 | top-level completion method to expose the completion mechanism |
|
892 | 897 | beyond readline-based environments. |
|
893 | 898 | |
|
894 | 899 | 2005-08-19 Fernando Perez <Fernando.Perez@colorado.edu> |
|
895 | 900 | |
|
896 | 901 | * tools/ipsvnc (svnversion): fix svnversion capture. |
|
897 | 902 | |
|
898 | 903 | * IPython/iplib.py (InteractiveShell.__init__): Add has_readline |
|
899 | 904 | attribute to self, which was missing. Before, it was set by a |
|
900 | 905 | routine which in certain cases wasn't being called, so the |
|
901 | 906 | instance could end up missing the attribute. This caused a crash. |
|
902 | 907 | Closes http://www.scipy.net/roundup/ipython/issue40. |
|
903 | 908 | |
|
904 | 909 | 2005-08-16 Fernando Perez <fperez@colorado.edu> |
|
905 | 910 | |
|
906 | 911 | * IPython/ultraTB.py (VerboseTB.text): don't crash if object |
|
907 | 912 | contains non-string attribute. Closes |
|
908 | 913 | http://www.scipy.net/roundup/ipython/issue38. |
|
909 | 914 | |
|
910 | 915 | 2005-08-14 Fernando Perez <fperez@colorado.edu> |
|
911 | 916 | |
|
912 | 917 | * tools/ipsvnc: Minor improvements, to add changeset info. |
|
913 | 918 | |
|
914 | 919 | 2005-08-12 Fernando Perez <fperez@colorado.edu> |
|
915 | 920 | |
|
916 | 921 | * IPython/iplib.py (runsource): remove self.code_to_run_src |
|
917 | 922 | attribute. I realized this is nothing more than |
|
918 | 923 | '\n'.join(self.buffer), and having the same data in two different |
|
919 | 924 | places is just asking for synchronization bugs. This may impact |
|
920 | 925 | people who have custom exception handlers, so I need to warn |
|
921 | 926 | ipython-dev about it (F. Mantegazza may use them). |
|
922 | 927 | |
|
923 | 928 | 2005-07-29 Fernando Perez <Fernando.Perez@colorado.edu> |
|
924 | 929 | |
|
925 | 930 | * IPython/genutils.py: fix 2.2 compatibility (generators) |
|
926 | 931 | |
|
927 | 932 | 2005-07-18 Fernando Perez <fperez@colorado.edu> |
|
928 | 933 | |
|
929 | 934 | * IPython/genutils.py (get_home_dir): fix to help users with |
|
930 | 935 | invalid $HOME under win32. |
|
931 | 936 | |
|
932 | 937 | 2005-07-17 Fernando Perez <fperez@colorado.edu> |
|
933 | 938 | |
|
934 | 939 | * IPython/Prompts.py (str_safe): Make unicode-safe. Also remove |
|
935 | 940 | some old hacks and clean up a bit other routines; code should be |
|
936 | 941 | simpler and a bit faster. |
|
937 | 942 | |
|
938 | 943 | * IPython/iplib.py (interact): removed some last-resort attempts |
|
939 | 944 | to survive broken stdout/stderr. That code was only making it |
|
940 | 945 | harder to abstract out the i/o (necessary for gui integration), |
|
941 | 946 | and the crashes it could prevent were extremely rare in practice |
|
942 | 947 | (besides being fully user-induced in a pretty violent manner). |
|
943 | 948 | |
|
944 | 949 | * IPython/genutils.py (IOStream.__init__): Simplify the i/o stuff. |
|
945 | 950 | Nothing major yet, but the code is simpler to read; this should |
|
946 | 951 | make it easier to do more serious modifications in the future. |
|
947 | 952 | |
|
948 | 953 | * IPython/Extensions/InterpreterExec.py: Fix auto-quoting in pysh, |
|
949 | 954 | which broke in .15 (thanks to a report by Ville). |
|
950 | 955 | |
|
951 | 956 | * IPython/Itpl.py (Itpl.__init__): add unicode support (it may not |
|
952 | 957 | be quite correct, I know next to nothing about unicode). This |
|
953 | 958 | will allow unicode strings to be used in prompts, amongst other |
|
954 | 959 | cases. It also will prevent ipython from crashing when unicode |
|
955 | 960 | shows up unexpectedly in many places. If ascii encoding fails, we |
|
956 | 961 | assume utf_8. Currently the encoding is not a user-visible |
|
957 | 962 | setting, though it could be made so if there is demand for it. |
|
958 | 963 | |
|
959 | 964 | * IPython/ipmaker.py (make_IPython): remove old 2.1-specific hack. |
|
960 | 965 | |
|
961 | 966 | * IPython/Struct.py (Struct.merge): switch keys() to iterator. |
|
962 | 967 | |
|
963 | 968 | * IPython/background_jobs.py: moved 2.2 compatibility to genutils. |
|
964 | 969 | |
|
965 | 970 | * IPython/genutils.py: Add 2.2 compatibility here, so all other |
|
966 | 971 | code can work transparently for 2.2/2.3. |
|
967 | 972 | |
|
968 | 973 | 2005-07-16 Fernando Perez <fperez@colorado.edu> |
|
969 | 974 | |
|
970 | 975 | * IPython/ultraTB.py (ExceptionColors): Make a global variable |
|
971 | 976 | out of the color scheme table used for coloring exception |
|
972 | 977 | tracebacks. This allows user code to add new schemes at runtime. |
|
973 | 978 | This is a minimally modified version of the patch at |
|
974 | 979 | http://www.scipy.net/roundup/ipython/issue35, many thanks to pabw |
|
975 | 980 | for the contribution. |
|
976 | 981 | |
|
977 | 982 | * IPython/FlexCompleter.py (Completer.attr_matches): Add a |
|
978 | 983 | slightly modified version of the patch in |
|
979 | 984 | http://www.scipy.net/roundup/ipython/issue34, which also allows me |
|
980 | 985 | to remove the previous try/except solution (which was costlier). |
|
981 | 986 | Thanks to Gaetan Lehmann <gaetan.lehmann-AT-jouy.inra.fr> for the fix. |
|
982 | 987 | |
|
983 | 988 | 2005-06-08 Fernando Perez <fperez@colorado.edu> |
|
984 | 989 | |
|
985 | 990 | * IPython/iplib.py (write/write_err): Add methods to abstract all |
|
986 | 991 | I/O a bit more. |
|
987 | 992 | |
|
988 | 993 | * IPython/Shell.py (IPShellGTK.mainloop): Fix GTK deprecation |
|
989 | 994 | warning, reported by Aric Hagberg, fix by JD Hunter. |
|
990 | 995 | |
|
991 | 996 | 2005-06-02 *** Released version 0.6.15 |
|
992 | 997 | |
|
993 | 998 | 2005-06-01 Fernando Perez <fperez@colorado.edu> |
|
994 | 999 | |
|
995 | 1000 | * IPython/iplib.py (MagicCompleter.file_matches): Fix |
|
996 | 1001 | tab-completion of filenames within open-quoted strings. Note that |
|
997 | 1002 | this requires that in ~/.ipython/ipythonrc, users change the |
|
998 | 1003 | readline delimiters configuration to read: |
|
999 | 1004 | |
|
1000 | 1005 | readline_remove_delims -/~ |
|
1001 | 1006 | |
|
1002 | 1007 | |
|
1003 | 1008 | 2005-05-31 *** Released version 0.6.14 |
|
1004 | 1009 | |
|
1005 | 1010 | 2005-05-29 Fernando Perez <fperez@colorado.edu> |
|
1006 | 1011 | |
|
1007 | 1012 | * IPython/ultraTB.py (VerboseTB.text): Fix crash for tracebacks |
|