|
@@
-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
|
2006-02-21 Ville Vainio <vivainio@gmail.com>
|
|
6
|
2006-02-21 Ville Vainio <vivainio@gmail.com>
|
|
2
|
|
|
7
|
|
|
3
|
* Magic.py: %save works again.
|
|
8
|
* Magic.py: %save works again.
|
|
4
|
|
|
9
|
|
|
5
|
2006-02-15 Ville Vainio <vivainio@gmail.com>
|
|
10
|
2006-02-15 Ville Vainio <vivainio@gmail.com>
|
|
6
|
|
|
11
|
|
|
7
|
* Magic.py: %Pprint works again
|
|
12
|
* Magic.py: %Pprint works again
|
|
8
|
|
|
13
|
|
|
9
|
* Extensions/ipy_sane_defaults.py: Provide everything provided
|
|
14
|
* Extensions/ipy_sane_defaults.py: Provide everything provided
|
|
10
|
in default ipythonrc, to make it possible to have a completely empty
|
|
15
|
in default ipythonrc, to make it possible to have a completely empty
|
|
11
|
ipythonrc (and thus completely rc-file free configuration)
|
|
16
|
ipythonrc (and thus completely rc-file free configuration)
|
|
12
|
|
|
17
|
|
|
13
|
|
|
18
|
|
|
14
|
2006-02-11 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
19
|
2006-02-11 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
15
|
|
|
20
|
|
|
16
|
* IPython/hooks.py (editor): quote the call to the editor command,
|
|
21
|
* IPython/hooks.py (editor): quote the call to the editor command,
|
|
17
|
to allow commands with spaces in them. Problem noted by watching
|
|
22
|
to allow commands with spaces in them. Problem noted by watching
|
|
18
|
Ian Oswald's video about textpad under win32 at
|
|
23
|
Ian Oswald's video about textpad under win32 at
|
|
19
|
http://showmedo.com/videoListPage?listKey=PythonIPythonSeries
|
|
24
|
http://showmedo.com/videoListPage?listKey=PythonIPythonSeries
|
|
20
|
|
|
25
|
|
|
21
|
* IPython/UserConfig/ipythonrc: Replace @ signs with % when
|
|
26
|
* IPython/UserConfig/ipythonrc: Replace @ signs with % when
|
|
22
|
describing magics (we haven't used @ for a loong time).
|
|
27
|
describing magics (we haven't used @ for a loong time).
|
|
23
|
|
|
28
|
|
|
24
|
* IPython/ultraTB.py (VerboseTB.text.text_repr): Added patch
|
|
29
|
* IPython/ultraTB.py (VerboseTB.text.text_repr): Added patch
|
|
25
|
contributed by marienz to close
|
|
30
|
contributed by marienz to close
|
|
26
|
http://www.scipy.net/roundup/ipython/issue53.
|
|
31
|
http://www.scipy.net/roundup/ipython/issue53.
|
|
27
|
|
|
32
|
|
|
28
|
2006-02-10 Ville Vainio <vivainio@gmail.com>
|
|
33
|
2006-02-10 Ville Vainio <vivainio@gmail.com>
|
|
29
|
|
|
34
|
|
|
30
|
* genutils.py: getoutput now works in win32 too
|
|
35
|
* genutils.py: getoutput now works in win32 too
|
|
31
|
|
|
36
|
|
|
32
|
* completer.py: alias and magic completion only invoked
|
|
37
|
* completer.py: alias and magic completion only invoked
|
|
33
|
at the first "item" in the line, to avoid "cd %store"
|
|
38
|
at the first "item" in the line, to avoid "cd %store"
|
|
34
|
nonsense.
|
|
39
|
nonsense.
|
|
35
|
|
|
40
|
|
|
36
|
2006-02-09 Ville Vainio <vivainio@gmail.com>
|
|
41
|
2006-02-09 Ville Vainio <vivainio@gmail.com>
|
|
37
|
|
|
42
|
|
|
38
|
* test/*: Added a unit testing framework (finally).
|
|
43
|
* test/*: Added a unit testing framework (finally).
|
|
39
|
'%run runtests.py' to run test_*.
|
|
44
|
'%run runtests.py' to run test_*.
|
|
40
|
|
|
45
|
|
|
41
|
* ipapi.py: Exposed runlines and set_custom_exc
|
|
46
|
* ipapi.py: Exposed runlines and set_custom_exc
|
|
42
|
|
|
47
|
|
|
43
|
2006-02-07 Ville Vainio <vivainio@gmail.com>
|
|
48
|
2006-02-07 Ville Vainio <vivainio@gmail.com>
|
|
44
|
|
|
49
|
|
|
45
|
* iplib.py: don't split "f 1 2" to "f(1,2)" in autocall,
|
|
50
|
* iplib.py: don't split "f 1 2" to "f(1,2)" in autocall,
|
|
46
|
instead use "f(1 2)" as before.
|
|
51
|
instead use "f(1 2)" as before.
|
|
47
|
|
|
52
|
|
|
48
|
2006-02-05 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
53
|
2006-02-05 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
49
|
|
|
54
|
|
|
50
|
* IPython/demo.py (IPythonDemo): Add new classes to the demo
|
|
55
|
* IPython/demo.py (IPythonDemo): Add new classes to the demo
|
|
51
|
facilities, for demos processed by the IPython input filter
|
|
56
|
facilities, for demos processed by the IPython input filter
|
|
52
|
(IPythonDemo), and for running a script one-line-at-a-time as a
|
|
57
|
(IPythonDemo), and for running a script one-line-at-a-time as a
|
|
53
|
demo, both for pure Python (LineDemo) and for IPython-processed
|
|
58
|
demo, both for pure Python (LineDemo) and for IPython-processed
|
|
54
|
input (IPythonLineDemo). After a request by Dave Kohel, from the
|
|
59
|
input (IPythonLineDemo). After a request by Dave Kohel, from the
|
|
55
|
SAGE team.
|
|
60
|
SAGE team.
|
|
56
|
(Demo.edit): added and edit() method to the demo objects, to edit
|
|
61
|
(Demo.edit): added and edit() method to the demo objects, to edit
|
|
57
|
the in-memory copy of the last executed block.
|
|
62
|
the in-memory copy of the last executed block.
|
|
58
|
|
|
63
|
|
|
59
|
* IPython/Magic.py (magic_edit): add '-r' option for 'raw'
|
|
64
|
* IPython/Magic.py (magic_edit): add '-r' option for 'raw'
|
|
60
|
processing to %edit, %macro and %save. These commands can now be
|
|
65
|
processing to %edit, %macro and %save. These commands can now be
|
|
61
|
invoked on the unprocessed input as it was typed by the user
|
|
66
|
invoked on the unprocessed input as it was typed by the user
|
|
62
|
(without any prefilters applied). After requests by the SAGE team
|
|
67
|
(without any prefilters applied). After requests by the SAGE team
|
|
63
|
at SAGE days 2006: http://modular.ucsd.edu/sage/days1/schedule.html.
|
|
68
|
at SAGE days 2006: http://modular.ucsd.edu/sage/days1/schedule.html.
|
|
64
|
|
|
69
|
|
|
65
|
2006-02-01 Ville Vainio <vivainio@gmail.com>
|
|
70
|
2006-02-01 Ville Vainio <vivainio@gmail.com>
|
|
66
|
|
|
71
|
|
|
67
|
* setup.py, eggsetup.py: easy_install ipython==dev works
|
|
72
|
* setup.py, eggsetup.py: easy_install ipython==dev works
|
|
68
|
correctly now (on Linux)
|
|
73
|
correctly now (on Linux)
|
|
69
|
|
|
74
|
|
|
70
|
* ipy_user_conf,ipmaker: user config changes, removed spurious
|
|
75
|
* ipy_user_conf,ipmaker: user config changes, removed spurious
|
|
71
|
warnings
|
|
76
|
warnings
|
|
72
|
|
|
77
|
|
|
73
|
* iplib: if rc.banner is string, use it as is.
|
|
78
|
* iplib: if rc.banner is string, use it as is.
|
|
74
|
|
|
79
|
|
|
75
|
* Magic: %pycat accepts a string argument and pages it's contents.
|
|
80
|
* Magic: %pycat accepts a string argument and pages it's contents.
|
|
76
|
|
|
81
|
|
|
77
|
|
|
82
|
|
|
78
|
2006-01-30 Ville Vainio <vivainio@gmail.com>
|
|
83
|
2006-01-30 Ville Vainio <vivainio@gmail.com>
|
|
79
|
|
|
84
|
|
|
80
|
* pickleshare,pspersistence,ipapi,Magic: persistence overhaul.
|
|
85
|
* pickleshare,pspersistence,ipapi,Magic: persistence overhaul.
|
|
81
|
Now %store and bookmarks work through PickleShare, meaning that
|
|
86
|
Now %store and bookmarks work through PickleShare, meaning that
|
|
82
|
concurrent access is possible and all ipython sessions see the
|
|
87
|
concurrent access is possible and all ipython sessions see the
|
|
83
|
same database situation all the time, instead of snapshot of
|
|
88
|
same database situation all the time, instead of snapshot of
|
|
84
|
the situation when the session was started. Hence, %bookmark
|
|
89
|
the situation when the session was started. Hence, %bookmark
|
|
85
|
results are immediately accessible from othes sessions. The database
|
|
90
|
results are immediately accessible from othes sessions. The database
|
|
86
|
is also available for use by user extensions. See:
|
|
91
|
is also available for use by user extensions. See:
|
|
87
|
http://www.python.org/pypi/pickleshare
|
|
92
|
http://www.python.org/pypi/pickleshare
|
|
88
|
|
|
93
|
|
|
89
|
* hooks.py: Two new hooks, 'shutdown_hook' and 'late_startup_hook'.
|
|
94
|
* hooks.py: Two new hooks, 'shutdown_hook' and 'late_startup_hook'.
|
|
90
|
|
|
95
|
|
|
91
|
* aliases can now be %store'd
|
|
96
|
* aliases can now be %store'd
|
|
92
|
|
|
97
|
|
|
93
|
* path.py move to Extensions so that pickleshare does not need
|
|
98
|
* path.py move to Extensions so that pickleshare does not need
|
|
94
|
IPython-specific import. Extensions added to pythonpath right
|
|
99
|
IPython-specific import. Extensions added to pythonpath right
|
|
95
|
at __init__.
|
|
100
|
at __init__.
|
|
96
|
|
|
101
|
|
|
97
|
* iplib.py: ipalias deprecated/redundant; aliases are converted and
|
|
102
|
* iplib.py: ipalias deprecated/redundant; aliases are converted and
|
|
98
|
called with _ip.system and the pre-transformed command string.
|
|
103
|
called with _ip.system and the pre-transformed command string.
|
|
99
|
|
|
104
|
|
|
100
|
2006-01-29 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
105
|
2006-01-29 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
101
|
|
|
106
|
|
|
102
|
* IPython/iplib.py (interact): Fix that we were not catching
|
|
107
|
* IPython/iplib.py (interact): Fix that we were not catching
|
|
103
|
KeyboardInterrupt exceptions properly. I'm not quite sure why the
|
|
108
|
KeyboardInterrupt exceptions properly. I'm not quite sure why the
|
|
104
|
logic here had to change, but it's fixed now.
|
|
109
|
logic here had to change, but it's fixed now.
|
|
105
|
|
|
110
|
|
|
106
|
2006-01-29 Ville Vainio <vivainio@gmail.com>
|
|
111
|
2006-01-29 Ville Vainio <vivainio@gmail.com>
|
|
107
|
|
|
112
|
|
|
108
|
* iplib.py: Try to import pyreadline on Windows.
|
|
113
|
* iplib.py: Try to import pyreadline on Windows.
|
|
109
|
|
|
114
|
|
|
110
|
2006-01-27 Ville Vainio <vivainio@gmail.com>
|
|
115
|
2006-01-27 Ville Vainio <vivainio@gmail.com>
|
|
111
|
|
|
116
|
|
|
112
|
* iplib.py: Expose ipapi as _ip in builtin namespace.
|
|
117
|
* iplib.py: Expose ipapi as _ip in builtin namespace.
|
|
113
|
Makes ipmagic (-> _ip.magic), ipsystem (-> _ip.system)
|
|
118
|
Makes ipmagic (-> _ip.magic), ipsystem (-> _ip.system)
|
|
114
|
and ip_set_hook (-> _ip.set_hook) redundant. % and !
|
|
119
|
and ip_set_hook (-> _ip.set_hook) redundant. % and !
|
|
115
|
syntax now produce _ip.* variant of the commands.
|
|
120
|
syntax now produce _ip.* variant of the commands.
|
|
116
|
|
|
121
|
|
|
117
|
* "_ip.options().autoedit_syntax = 2" automatically throws
|
|
122
|
* "_ip.options().autoedit_syntax = 2" automatically throws
|
|
118
|
user to editor for syntax error correction without prompting.
|
|
123
|
user to editor for syntax error correction without prompting.
|
|
119
|
|
|
124
|
|
|
120
|
2006-01-27 Ville Vainio <vivainio@gmail.com>
|
|
125
|
2006-01-27 Ville Vainio <vivainio@gmail.com>
|
|
121
|
|
|
126
|
|
|
122
|
* ipmaker.py: Give "realistic" sys.argv for scripts (without
|
|
127
|
* ipmaker.py: Give "realistic" sys.argv for scripts (without
|
|
123
|
'ipython' at argv[0]) executed through command line.
|
|
128
|
'ipython' at argv[0]) executed through command line.
|
|
124
|
NOTE: this DEPRECATES calling ipython with multiple scripts
|
|
129
|
NOTE: this DEPRECATES calling ipython with multiple scripts
|
|
125
|
("ipython a.py b.py c.py")
|
|
130
|
("ipython a.py b.py c.py")
|
|
126
|
|
|
131
|
|
|
127
|
* iplib.py, hooks.py: Added configurable input prefilter,
|
|
132
|
* iplib.py, hooks.py: Added configurable input prefilter,
|
|
128
|
named 'input_prefilter'. See ext_rescapture.py for example
|
|
133
|
named 'input_prefilter'. See ext_rescapture.py for example
|
|
129
|
usage.
|
|
134
|
usage.
|
|
130
|
|
|
135
|
|
|
131
|
* ext_rescapture.py, Magic.py: Better system command output capture
|
|
136
|
* ext_rescapture.py, Magic.py: Better system command output capture
|
|
132
|
through 'var = !ls' (deprecates user-visible %sc). Same notation
|
|
137
|
through 'var = !ls' (deprecates user-visible %sc). Same notation
|
|
133
|
applies for magics, 'var = %alias' assigns alias list to var.
|
|
138
|
applies for magics, 'var = %alias' assigns alias list to var.
|
|
134
|
|
|
139
|
|
|
135
|
* ipapi.py: added meta() for accessing extension-usable data store.
|
|
140
|
* ipapi.py: added meta() for accessing extension-usable data store.
|
|
136
|
|
|
141
|
|
|
137
|
* iplib.py: added InteractiveShell.getapi(). New magics should be
|
|
142
|
* iplib.py: added InteractiveShell.getapi(). New magics should be
|
|
138
|
written doing self.getapi() instead of using the shell directly.
|
|
143
|
written doing self.getapi() instead of using the shell directly.
|
|
139
|
|
|
144
|
|
|
140
|
* Magic.py: %store now allows doing %store foo > ~/myfoo.txt and
|
|
145
|
* Magic.py: %store now allows doing %store foo > ~/myfoo.txt and
|
|
141
|
%store foo >> ~/myfoo.txt to store variables to files (in clean
|
|
146
|
%store foo >> ~/myfoo.txt to store variables to files (in clean
|
|
142
|
textual form, not a restorable pickle).
|
|
147
|
textual form, not a restorable pickle).
|
|
143
|
|
|
148
|
|
|
144
|
* ipmaker.py: now import ipy_profile_PROFILENAME automatically
|
|
149
|
* ipmaker.py: now import ipy_profile_PROFILENAME automatically
|
|
145
|
|
|
150
|
|
|
146
|
* usage.py, Magic.py: added %quickref
|
|
151
|
* usage.py, Magic.py: added %quickref
|
|
147
|
|
|
152
|
|
|
148
|
* iplib.py: ESC_PAREN fixes: /f 1 2 -> f(1,2), not f(1 2).
|
|
153
|
* iplib.py: ESC_PAREN fixes: /f 1 2 -> f(1,2), not f(1 2).
|
|
149
|
|
|
154
|
|
|
150
|
* GetoptErrors when invoking magics etc. with wrong args
|
|
155
|
* GetoptErrors when invoking magics etc. with wrong args
|
|
151
|
are now more helpful:
|
|
156
|
are now more helpful:
|
|
152
|
GetoptError: option -l not recognized (allowed: "qb" )
|
|
157
|
GetoptError: option -l not recognized (allowed: "qb" )
|
|
153
|
|
|
158
|
|
|
154
|
2006-01-25 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
159
|
2006-01-25 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
155
|
|
|
160
|
|
|
156
|
* IPython/demo.py (Demo.show): Flush stdout after each block, so
|
|
161
|
* IPython/demo.py (Demo.show): Flush stdout after each block, so
|
|
157
|
computationally intensive blocks don't appear to stall the demo.
|
|
162
|
computationally intensive blocks don't appear to stall the demo.
|
|
158
|
|
|
163
|
|
|
159
|
2006-01-24 Ville Vainio <vivainio@gmail.com>
|
|
164
|
2006-01-24 Ville Vainio <vivainio@gmail.com>
|
|
160
|
|
|
165
|
|
|
161
|
* iplib.py, hooks.py: 'result_display' hook can return a non-None
|
|
166
|
* iplib.py, hooks.py: 'result_display' hook can return a non-None
|
|
162
|
value to manipulate resulting history entry.
|
|
167
|
value to manipulate resulting history entry.
|
|
163
|
|
|
168
|
|
|
164
|
* ipapi.py: Moved TryNext here from hooks.py. Moved functions
|
|
169
|
* ipapi.py: Moved TryNext here from hooks.py. Moved functions
|
|
165
|
to instance methods of IPApi class, to make extending an embedded
|
|
170
|
to instance methods of IPApi class, to make extending an embedded
|
|
166
|
IPython feasible. See ext_rehashdir.py for example usage.
|
|
171
|
IPython feasible. See ext_rehashdir.py for example usage.
|
|
167
|
|
|
172
|
|
|
168
|
* Merged 1071-1076 from banches/0.7.1
|
|
173
|
* Merged 1071-1076 from banches/0.7.1
|
|
169
|
|
|
174
|
|
|
170
|
|
|
175
|
|
|
171
|
2006-01-23 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
176
|
2006-01-23 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
172
|
|
|
177
|
|
|
173
|
* tools/release (daystamp): Fix build tools to use the new
|
|
178
|
* tools/release (daystamp): Fix build tools to use the new
|
|
174
|
eggsetup.py script to build lightweight eggs.
|
|
179
|
eggsetup.py script to build lightweight eggs.
|
|
175
|
|
|
180
|
|
|
176
|
* Applied changesets 1062 and 1064 before 0.7.1 release.
|
|
181
|
* Applied changesets 1062 and 1064 before 0.7.1 release.
|
|
177
|
|
|
182
|
|
|
178
|
* IPython/Magic.py (magic_history): Add '-r' option to %hist, to
|
|
183
|
* IPython/Magic.py (magic_history): Add '-r' option to %hist, to
|
|
179
|
see the raw input history (without conversions like %ls ->
|
|
184
|
see the raw input history (without conversions like %ls ->
|
|
180
|
ipmagic("ls")). After a request from W. Stein, SAGE
|
|
185
|
ipmagic("ls")). After a request from W. Stein, SAGE
|
|
181
|
(http://modular.ucsd.edu/sage) developer. This information is
|
|
186
|
(http://modular.ucsd.edu/sage) developer. This information is
|
|
182
|
stored in the input_hist_raw attribute of the IPython instance, so
|
|
187
|
stored in the input_hist_raw attribute of the IPython instance, so
|
|
183
|
developers can access it if needed (it's an InputList instance).
|
|
188
|
developers can access it if needed (it's an InputList instance).
|
|
184
|
|
|
189
|
|
|
185
|
* Versionstring = 0.7.2.svn
|
|
190
|
* Versionstring = 0.7.2.svn
|
|
186
|
|
|
191
|
|
|
187
|
* eggsetup.py: A separate script for constructing eggs, creates
|
|
192
|
* eggsetup.py: A separate script for constructing eggs, creates
|
|
188
|
proper launch scripts even on Windows (an .exe file in
|
|
193
|
proper launch scripts even on Windows (an .exe file in
|
|
189
|
\python24\scripts).
|
|
194
|
\python24\scripts).
|
|
190
|
|
|
195
|
|
|
191
|
* ipapi.py: launch_new_instance, launch entry point needed for the
|
|
196
|
* ipapi.py: launch_new_instance, launch entry point needed for the
|
|
192
|
egg.
|
|
197
|
egg.
|
|
193
|
|
|
198
|
|
|
194
|
2006-01-23 Ville Vainio <vivainio@gmail.com>
|
|
199
|
2006-01-23 Ville Vainio <vivainio@gmail.com>
|
|
195
|
|
|
200
|
|
|
196
|
* Added %cpaste magic for pasting python code
|
|
201
|
* Added %cpaste magic for pasting python code
|
|
197
|
|
|
202
|
|
|
198
|
2006-01-22 Ville Vainio <vivainio@gmail.com>
|
|
203
|
2006-01-22 Ville Vainio <vivainio@gmail.com>
|
|
199
|
|
|
204
|
|
|
200
|
* Merge from branches/0.7.1 into trunk, revs 1052-1057
|
|
205
|
* Merge from branches/0.7.1 into trunk, revs 1052-1057
|
|
201
|
|
|
206
|
|
|
202
|
* Versionstring = 0.7.2.svn
|
|
207
|
* Versionstring = 0.7.2.svn
|
|
203
|
|
|
208
|
|
|
204
|
* eggsetup.py: A separate script for constructing eggs, creates
|
|
209
|
* eggsetup.py: A separate script for constructing eggs, creates
|
|
205
|
proper launch scripts even on Windows (an .exe file in
|
|
210
|
proper launch scripts even on Windows (an .exe file in
|
|
206
|
\python24\scripts).
|
|
211
|
\python24\scripts).
|
|
207
|
|
|
212
|
|
|
208
|
* ipapi.py: launch_new_instance, launch entry point needed for the
|
|
213
|
* ipapi.py: launch_new_instance, launch entry point needed for the
|
|
209
|
egg.
|
|
214
|
egg.
|
|
210
|
|
|
215
|
|
|
211
|
2006-01-22 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
216
|
2006-01-22 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
212
|
|
|
217
|
|
|
213
|
* IPython/OInspect.py (Inspector.pinfo): fix bug where foo?? or
|
|
218
|
* IPython/OInspect.py (Inspector.pinfo): fix bug where foo?? or
|
|
214
|
%pfile foo would print the file for foo even if it was a binary.
|
|
219
|
%pfile foo would print the file for foo even if it was a binary.
|
|
215
|
Now, extensions '.so' and '.dll' are skipped.
|
|
220
|
Now, extensions '.so' and '.dll' are skipped.
|
|
216
|
|
|
221
|
|
|
217
|
* IPython/Shell.py (MTInteractiveShell.__init__): Fix threading
|
|
222
|
* IPython/Shell.py (MTInteractiveShell.__init__): Fix threading
|
|
218
|
bug, where macros would fail in all threaded modes. I'm not 100%
|
|
223
|
bug, where macros would fail in all threaded modes. I'm not 100%
|
|
219
|
sure, so I'm going to put out an rc instead of making a release
|
|
224
|
sure, so I'm going to put out an rc instead of making a release
|
|
220
|
today, and wait for feedback for at least a few days.
|
|
225
|
today, and wait for feedback for at least a few days.
|
|
221
|
|
|
226
|
|
|
222
|
* IPython/iplib.py (handle_normal): fix (finally? somehow I doubt
|
|
227
|
* IPython/iplib.py (handle_normal): fix (finally? somehow I doubt
|
|
223
|
it...) the handling of pasting external code with autoindent on.
|
|
228
|
it...) the handling of pasting external code with autoindent on.
|
|
224
|
To get out of a multiline input, the rule will appear for most
|
|
229
|
To get out of a multiline input, the rule will appear for most
|
|
225
|
users unchanged: two blank lines or change the indent level
|
|
230
|
users unchanged: two blank lines or change the indent level
|
|
226
|
proposed by IPython. But there is a twist now: you can
|
|
231
|
proposed by IPython. But there is a twist now: you can
|
|
227
|
add/subtract only *one or two spaces*. If you add/subtract three
|
|
232
|
add/subtract only *one or two spaces*. If you add/subtract three
|
|
228
|
or more (unless you completely delete the line), IPython will
|
|
233
|
or more (unless you completely delete the line), IPython will
|
|
229
|
accept that line, and you'll need to enter a second one of pure
|
|
234
|
accept that line, and you'll need to enter a second one of pure
|
|
230
|
whitespace. I know it sounds complicated, but I can't find a
|
|
235
|
whitespace. I know it sounds complicated, but I can't find a
|
|
231
|
different solution that covers all the cases, with the right
|
|
236
|
different solution that covers all the cases, with the right
|
|
232
|
heuristics. Hopefully in actual use, nobody will really notice
|
|
237
|
heuristics. Hopefully in actual use, nobody will really notice
|
|
233
|
all these strange rules and things will 'just work'.
|
|
238
|
all these strange rules and things will 'just work'.
|
|
234
|
|
|
239
|
|
|
235
|
2006-01-21 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
240
|
2006-01-21 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
236
|
|
|
241
|
|
|
237
|
* IPython/iplib.py (interact): catch exceptions which can be
|
|
242
|
* IPython/iplib.py (interact): catch exceptions which can be
|
|
238
|
triggered asynchronously by signal handlers. Thanks to an
|
|
243
|
triggered asynchronously by signal handlers. Thanks to an
|
|
239
|
automatic crash report, submitted by Colin Kingsley
|
|
244
|
automatic crash report, submitted by Colin Kingsley
|
|
240
|
<tercel-AT-gentoo.org>.
|
|
245
|
<tercel-AT-gentoo.org>.
|
|
241
|
|
|
246
|
|
|
242
|
2006-01-20 Ville Vainio <vivainio@gmail.com>
|
|
247
|
2006-01-20 Ville Vainio <vivainio@gmail.com>
|
|
243
|
|
|
248
|
|
|
244
|
* Ipython/Extensions/ext_rehashdir.py: Created a usable example
|
|
249
|
* Ipython/Extensions/ext_rehashdir.py: Created a usable example
|
|
245
|
(%rehashdir, very useful, try it out) of how to extend ipython
|
|
250
|
(%rehashdir, very useful, try it out) of how to extend ipython
|
|
246
|
with new magics. Also added Extensions dir to pythonpath to make
|
|
251
|
with new magics. Also added Extensions dir to pythonpath to make
|
|
247
|
importing extensions easy.
|
|
252
|
importing extensions easy.
|
|
248
|
|
|
253
|
|
|
249
|
* %store now complains when trying to store interactively declared
|
|
254
|
* %store now complains when trying to store interactively declared
|
|
250
|
classes / instances of those classes.
|
|
255
|
classes / instances of those classes.
|
|
251
|
|
|
256
|
|
|
252
|
* Extensions/ipy_system_conf.py, UserConfig/ipy_user_conf.py,
|
|
257
|
* Extensions/ipy_system_conf.py, UserConfig/ipy_user_conf.py,
|
|
253
|
ipmaker.py: Config rehaul. Now ipy_..._conf.py are always imported
|
|
258
|
ipmaker.py: Config rehaul. Now ipy_..._conf.py are always imported
|
|
254
|
if they exist, and ipy_user_conf.py with some defaults is created for
|
|
259
|
if they exist, and ipy_user_conf.py with some defaults is created for
|
|
255
|
the user.
|
|
260
|
the user.
|
|
256
|
|
|
261
|
|
|
257
|
* Startup rehashing done by the config file, not InterpreterExec.
|
|
262
|
* Startup rehashing done by the config file, not InterpreterExec.
|
|
258
|
This means system commands are available even without selecting the
|
|
263
|
This means system commands are available even without selecting the
|
|
259
|
pysh profile. It's the sensible default after all.
|
|
264
|
pysh profile. It's the sensible default after all.
|
|
260
|
|
|
265
|
|
|
261
|
2006-01-20 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
266
|
2006-01-20 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
262
|
|
|
267
|
|
|
263
|
* IPython/iplib.py (raw_input): I _think_ I got the pasting of
|
|
268
|
* IPython/iplib.py (raw_input): I _think_ I got the pasting of
|
|
264
|
multiline code with autoindent on working. But I am really not
|
|
269
|
multiline code with autoindent on working. But I am really not
|
|
265
|
sure, so this needs more testing. Will commit a debug-enabled
|
|
270
|
sure, so this needs more testing. Will commit a debug-enabled
|
|
266
|
version for now, while I test it some more, so that Ville and
|
|
271
|
version for now, while I test it some more, so that Ville and
|
|
267
|
others may also catch any problems. Also made
|
|
272
|
others may also catch any problems. Also made
|
|
268
|
self.indent_current_str() a method, to ensure that there's no
|
|
273
|
self.indent_current_str() a method, to ensure that there's no
|
|
269
|
chance of the indent space count and the corresponding string
|
|
274
|
chance of the indent space count and the corresponding string
|
|
270
|
falling out of sync. All code needing the string should just call
|
|
275
|
falling out of sync. All code needing the string should just call
|
|
271
|
the method.
|
|
276
|
the method.
|
|
272
|
|
|
277
|
|
|
273
|
2006-01-18 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
278
|
2006-01-18 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
274
|
|
|
279
|
|
|
275
|
* IPython/Magic.py (magic_edit): fix check for when users don't
|
|
280
|
* IPython/Magic.py (magic_edit): fix check for when users don't
|
|
276
|
save their output files, the try/except was in the wrong section.
|
|
281
|
save their output files, the try/except was in the wrong section.
|
|
277
|
|
|
282
|
|
|
278
|
2006-01-17 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
283
|
2006-01-17 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
279
|
|
|
284
|
|
|
280
|
* IPython/Magic.py (magic_run): fix __file__ global missing from
|
|
285
|
* IPython/Magic.py (magic_run): fix __file__ global missing from
|
|
281
|
script's namespace when executed via %run. After a report by
|
|
286
|
script's namespace when executed via %run. After a report by
|
|
282
|
Vivian.
|
|
287
|
Vivian.
|
|
283
|
|
|
288
|
|
|
284
|
* IPython/Debugger.py (Pdb.__init__): Fix breakage with '%run -d'
|
|
289
|
* IPython/Debugger.py (Pdb.__init__): Fix breakage with '%run -d'
|
|
285
|
when using python 2.4. The parent constructor changed in 2.4, and
|
|
290
|
when using python 2.4. The parent constructor changed in 2.4, and
|
|
286
|
we need to track it directly (we can't call it, as it messes up
|
|
291
|
we need to track it directly (we can't call it, as it messes up
|
|
287
|
readline and tab-completion inside our pdb would stop working).
|
|
292
|
readline and tab-completion inside our pdb would stop working).
|
|
288
|
After a bug report by R. Bernstein <rocky-AT-panix.com>.
|
|
293
|
After a bug report by R. Bernstein <rocky-AT-panix.com>.
|
|
289
|
|
|
294
|
|
|
290
|
2006-01-16 Ville Vainio <vivainio@gmail.com>
|
|
295
|
2006-01-16 Ville Vainio <vivainio@gmail.com>
|
|
291
|
|
|
296
|
|
|
292
|
* Ipython/magic.py:Reverted back to old %edit functionality
|
|
297
|
* Ipython/magic.py:Reverted back to old %edit functionality
|
|
293
|
that returns file contents on exit.
|
|
298
|
that returns file contents on exit.
|
|
294
|
|
|
299
|
|
|
295
|
* IPython/path.py: Added Jason Orendorff's "path" module to
|
|
300
|
* IPython/path.py: Added Jason Orendorff's "path" module to
|
|
296
|
IPython tree, http://www.jorendorff.com/articles/python/path/.
|
|
301
|
IPython tree, http://www.jorendorff.com/articles/python/path/.
|
|
297
|
You can get path objects conveniently through %sc, and !!, e.g.:
|
|
302
|
You can get path objects conveniently through %sc, and !!, e.g.:
|
|
298
|
sc files=ls
|
|
303
|
sc files=ls
|
|
299
|
for p in files.paths: # or files.p
|
|
304
|
for p in files.paths: # or files.p
|
|
300
|
print p,p.mtime
|
|
305
|
print p,p.mtime
|
|
301
|
|
|
306
|
|
|
302
|
* Ipython/iplib.py:"," and ";" autoquoting-upon-autocall
|
|
307
|
* Ipython/iplib.py:"," and ";" autoquoting-upon-autocall
|
|
303
|
now work again without considering the exclusion regexp -
|
|
308
|
now work again without considering the exclusion regexp -
|
|
304
|
hence, things like ',foo my/path' turn to 'foo("my/path")'
|
|
309
|
hence, things like ',foo my/path' turn to 'foo("my/path")'
|
|
305
|
instead of syntax error.
|
|
310
|
instead of syntax error.
|
|
306
|
|
|
311
|
|
|
307
|
|
|
312
|
|
|
308
|
2006-01-14 Ville Vainio <vivainio@gmail.com>
|
|
313
|
2006-01-14 Ville Vainio <vivainio@gmail.com>
|
|
309
|
|
|
314
|
|
|
310
|
* IPython/ipapi.py (ashook, asmagic, options): Added convenience
|
|
315
|
* IPython/ipapi.py (ashook, asmagic, options): Added convenience
|
|
311
|
ipapi decorators for python 2.4 users, options() provides access to rc
|
|
316
|
ipapi decorators for python 2.4 users, options() provides access to rc
|
|
312
|
data.
|
|
317
|
data.
|
|
313
|
|
|
318
|
|
|
314
|
* IPython/Magic.py (magic_cd): %cd now accepts backslashes
|
|
319
|
* IPython/Magic.py (magic_cd): %cd now accepts backslashes
|
|
315
|
as path separators (even on Linux ;-). Space character after
|
|
320
|
as path separators (even on Linux ;-). Space character after
|
|
316
|
backslash (as yielded by tab completer) is still space;
|
|
321
|
backslash (as yielded by tab completer) is still space;
|
|
317
|
"%cd long\ name" works as expected.
|
|
322
|
"%cd long\ name" works as expected.
|
|
318
|
|
|
323
|
|
|
319
|
* IPython/ipapi.py,hooks.py,iplib.py: Hooks now implemented
|
|
324
|
* IPython/ipapi.py,hooks.py,iplib.py: Hooks now implemented
|
|
320
|
as "chain of command", with priority. API stays the same,
|
|
325
|
as "chain of command", with priority. API stays the same,
|
|
321
|
TryNext exception raised by a hook function signals that
|
|
326
|
TryNext exception raised by a hook function signals that
|
|
322
|
current hook failed and next hook should try handling it, as
|
|
327
|
current hook failed and next hook should try handling it, as
|
|
323
|
suggested by Walter DΓΆrwald <walter@livinglogic.de>. Walter also
|
|
328
|
suggested by Walter DΓΆrwald <walter@livinglogic.de>. Walter also
|
|
324
|
requested configurable display hook, which is now implemented.
|
|
329
|
requested configurable display hook, which is now implemented.
|
|
325
|
|
|
330
|
|
|
326
|
2006-01-13 Ville Vainio <vivainio@gmail.com>
|
|
331
|
2006-01-13 Ville Vainio <vivainio@gmail.com>
|
|
327
|
|
|
332
|
|
|
328
|
* IPython/platutils*.py: platform specific utility functions,
|
|
333
|
* IPython/platutils*.py: platform specific utility functions,
|
|
329
|
so far only set_term_title is implemented (change terminal
|
|
334
|
so far only set_term_title is implemented (change terminal
|
|
330
|
label in windowing systems). %cd now changes the title to
|
|
335
|
label in windowing systems). %cd now changes the title to
|
|
331
|
current dir.
|
|
336
|
current dir.
|
|
332
|
|
|
337
|
|
|
333
|
* IPython/Release.py: Added myself to "authors" list,
|
|
338
|
* IPython/Release.py: Added myself to "authors" list,
|
|
334
|
had to create new files.
|
|
339
|
had to create new files.
|
|
335
|
|
|
340
|
|
|
336
|
* IPython/iplib.py (handle_shell_escape): fixed logical flaw in
|
|
341
|
* IPython/iplib.py (handle_shell_escape): fixed logical flaw in
|
|
337
|
shell escape; not a known bug but had potential to be one in the
|
|
342
|
shell escape; not a known bug but had potential to be one in the
|
|
338
|
future.
|
|
343
|
future.
|
|
339
|
|
|
344
|
|
|
340
|
* IPython/ipapi.py (added),OInspect.py,iplib.py: "Public"
|
|
345
|
* IPython/ipapi.py (added),OInspect.py,iplib.py: "Public"
|
|
341
|
extension API for IPython! See the module for usage example. Fix
|
|
346
|
extension API for IPython! See the module for usage example. Fix
|
|
342
|
OInspect for docstring-less magic functions.
|
|
347
|
OInspect for docstring-less magic functions.
|
|
343
|
|
|
348
|
|
|
344
|
|
|
349
|
|
|
345
|
2006-01-13 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
350
|
2006-01-13 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
346
|
|
|
351
|
|
|
347
|
* IPython/iplib.py (raw_input): temporarily deactivate all
|
|
352
|
* IPython/iplib.py (raw_input): temporarily deactivate all
|
|
348
|
attempts at allowing pasting of code with autoindent on. It
|
|
353
|
attempts at allowing pasting of code with autoindent on. It
|
|
349
|
introduced bugs (reported by Prabhu) and I can't seem to find a
|
|
354
|
introduced bugs (reported by Prabhu) and I can't seem to find a
|
|
350
|
robust combination which works in all cases. Will have to revisit
|
|
355
|
robust combination which works in all cases. Will have to revisit
|
|
351
|
later.
|
|
356
|
later.
|
|
352
|
|
|
357
|
|
|
353
|
* IPython/genutils.py: remove isspace() function. We've dropped
|
|
358
|
* IPython/genutils.py: remove isspace() function. We've dropped
|
|
354
|
2.2 compatibility, so it's OK to use the string method.
|
|
359
|
2.2 compatibility, so it's OK to use the string method.
|
|
355
|
|
|
360
|
|
|
356
|
2006-01-12 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
361
|
2006-01-12 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
357
|
|
|
362
|
|
|
358
|
* IPython/iplib.py (InteractiveShell.__init__): fix regexp
|
|
363
|
* IPython/iplib.py (InteractiveShell.__init__): fix regexp
|
|
359
|
matching what NOT to autocall on, to include all python binary
|
|
364
|
matching what NOT to autocall on, to include all python binary
|
|
360
|
operators (including things like 'and', 'or', 'is' and 'in').
|
|
365
|
operators (including things like 'and', 'or', 'is' and 'in').
|
|
361
|
Prompted by a bug report on 'foo & bar', but I realized we had
|
|
366
|
Prompted by a bug report on 'foo & bar', but I realized we had
|
|
362
|
many more potential bug cases with other operators. The regexp is
|
|
367
|
many more potential bug cases with other operators. The regexp is
|
|
363
|
self.re_exclude_auto, it's fairly commented.
|
|
368
|
self.re_exclude_auto, it's fairly commented.
|
|
364
|
|
|
369
|
|
|
365
|
2006-01-12 Ville Vainio <vivainio@gmail.com>
|
|
370
|
2006-01-12 Ville Vainio <vivainio@gmail.com>
|
|
366
|
|
|
371
|
|
|
367
|
* IPython/iplib.py (make_quoted_expr,handle_shell_escape):
|
|
372
|
* IPython/iplib.py (make_quoted_expr,handle_shell_escape):
|
|
368
|
Prettified and hardened string/backslash quoting with ipsystem(),
|
|
373
|
Prettified and hardened string/backslash quoting with ipsystem(),
|
|
369
|
ipalias() and ipmagic(). Now even \ characters are passed to
|
|
374
|
ipalias() and ipmagic(). Now even \ characters are passed to
|
|
370
|
%magics, !shell escapes and aliases exactly as they are in the
|
|
375
|
%magics, !shell escapes and aliases exactly as they are in the
|
|
371
|
ipython command line. Should improve backslash experience,
|
|
376
|
ipython command line. Should improve backslash experience,
|
|
372
|
particularly in Windows (path delimiter for some commands that
|
|
377
|
particularly in Windows (path delimiter for some commands that
|
|
373
|
won't understand '/'), but Unix benefits as well (regexps). %cd
|
|
378
|
won't understand '/'), but Unix benefits as well (regexps). %cd
|
|
374
|
magic still doesn't support backslash path delimiters, though. Also
|
|
379
|
magic still doesn't support backslash path delimiters, though. Also
|
|
375
|
deleted all pretense of supporting multiline command strings in
|
|
380
|
deleted all pretense of supporting multiline command strings in
|
|
376
|
!system or %magic commands. Thanks to Jerry McRae for suggestions.
|
|
381
|
!system or %magic commands. Thanks to Jerry McRae for suggestions.
|
|
377
|
|
|
382
|
|
|
378
|
* doc/build_doc_instructions.txt added. Documentation on how to
|
|
383
|
* doc/build_doc_instructions.txt added. Documentation on how to
|
|
379
|
use doc/update_manual.py, added yesterday. Both files contributed
|
|
384
|
use doc/update_manual.py, added yesterday. Both files contributed
|
|
380
|
by JΓΆrgen Stenarson <jorgen.stenarson-AT-bostream.nu>. This slates
|
|
385
|
by JΓΆrgen Stenarson <jorgen.stenarson-AT-bostream.nu>. This slates
|
|
381
|
doc/*.sh for deprecation at a later date.
|
|
386
|
doc/*.sh for deprecation at a later date.
|
|
382
|
|
|
387
|
|
|
383
|
* /ipython.py Added ipython.py to root directory for
|
|
388
|
* /ipython.py Added ipython.py to root directory for
|
|
384
|
zero-installation (tar xzvf ipython.tgz; cd ipython; python
|
|
389
|
zero-installation (tar xzvf ipython.tgz; cd ipython; python
|
|
385
|
ipython.py) and development convenience (no need to kee doing
|
|
390
|
ipython.py) and development convenience (no need to kee doing
|
|
386
|
"setup.py install" between changes).
|
|
391
|
"setup.py install" between changes).
|
|
387
|
|
|
392
|
|
|
388
|
* Made ! and !! shell escapes work (again) in multiline expressions:
|
|
393
|
* Made ! and !! shell escapes work (again) in multiline expressions:
|
|
389
|
if 1:
|
|
394
|
if 1:
|
|
390
|
!ls
|
|
395
|
!ls
|
|
391
|
!!ls
|
|
396
|
!!ls
|
|
392
|
|
|
397
|
|
|
393
|
2006-01-12 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
398
|
2006-01-12 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
394
|
|
|
399
|
|
|
395
|
* IPython/ipstruct.py (Struct): Rename IPython.Struct to
|
|
400
|
* IPython/ipstruct.py (Struct): Rename IPython.Struct to
|
|
396
|
IPython.ipstruct, to avoid local shadowing of the stdlib 'struct'
|
|
401
|
IPython.ipstruct, to avoid local shadowing of the stdlib 'struct'
|
|
397
|
module in case-insensitive installation. Was causing crashes
|
|
402
|
module in case-insensitive installation. Was causing crashes
|
|
398
|
under win32. Closes http://www.scipy.net/roundup/ipython/issue49.
|
|
403
|
under win32. Closes http://www.scipy.net/roundup/ipython/issue49.
|
|
399
|
|
|
404
|
|
|
400
|
* IPython/Magic.py (magic_pycat): Fix pycat, patch by Marien Zwart
|
|
405
|
* IPython/Magic.py (magic_pycat): Fix pycat, patch by Marien Zwart
|
|
401
|
<marienz-AT-gentoo.org>, closes
|
|
406
|
<marienz-AT-gentoo.org>, closes
|
|
402
|
http://www.scipy.net/roundup/ipython/issue51.
|
|
407
|
http://www.scipy.net/roundup/ipython/issue51.
|
|
403
|
|
|
408
|
|
|
404
|
2006-01-11 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
409
|
2006-01-11 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
405
|
|
|
410
|
|
|
406
|
* IPython/Shell.py (IPShellGTK.on_timer): Finally fix the the
|
|
411
|
* IPython/Shell.py (IPShellGTK.on_timer): Finally fix the the
|
|
407
|
problem of excessive CPU usage under *nix and keyboard lag under
|
|
412
|
problem of excessive CPU usage under *nix and keyboard lag under
|
|
408
|
win32.
|
|
413
|
win32.
|
|
409
|
|
|
414
|
|
|
410
|
2006-01-10 *** Released version 0.7.0
|
|
415
|
2006-01-10 *** Released version 0.7.0
|
|
411
|
|
|
416
|
|
|
412
|
2006-01-10 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
417
|
2006-01-10 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
413
|
|
|
418
|
|
|
414
|
* IPython/Release.py (revision): tag version number to 0.7.0,
|
|
419
|
* IPython/Release.py (revision): tag version number to 0.7.0,
|
|
415
|
ready for release.
|
|
420
|
ready for release.
|
|
416
|
|
|
421
|
|
|
417
|
* IPython/Magic.py (magic_edit): Add print statement to %edit so
|
|
422
|
* IPython/Magic.py (magic_edit): Add print statement to %edit so
|
|
418
|
it informs the user of the name of the temp. file used. This can
|
|
423
|
it informs the user of the name of the temp. file used. This can
|
|
419
|
help if you decide later to reuse that same file, so you know
|
|
424
|
help if you decide later to reuse that same file, so you know
|
|
420
|
where to copy the info from.
|
|
425
|
where to copy the info from.
|
|
421
|
|
|
426
|
|
|
422
|
2006-01-09 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
427
|
2006-01-09 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
423
|
|
|
428
|
|
|
424
|
* setup_bdist_egg.py: little script to build an egg. Added
|
|
429
|
* setup_bdist_egg.py: little script to build an egg. Added
|
|
425
|
support in the release tools as well.
|
|
430
|
support in the release tools as well.
|
|
426
|
|
|
431
|
|
|
427
|
2006-01-08 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
432
|
2006-01-08 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
428
|
|
|
433
|
|
|
429
|
* IPython/Shell.py (IPShellWX.__init__): add support for WXPython
|
|
434
|
* IPython/Shell.py (IPShellWX.__init__): add support for WXPython
|
|
430
|
version selection (new -wxversion command line and ipythonrc
|
|
435
|
version selection (new -wxversion command line and ipythonrc
|
|
431
|
parameter). Patch contributed by Arnd Baecker
|
|
436
|
parameter). Patch contributed by Arnd Baecker
|
|
432
|
<arnd.baecker-AT-web.de>.
|
|
437
|
<arnd.baecker-AT-web.de>.
|
|
433
|
|
|
438
|
|
|
434
|
* IPython/iplib.py (embed_mainloop): fix tab-completion in
|
|
439
|
* IPython/iplib.py (embed_mainloop): fix tab-completion in
|
|
435
|
embedded instances, for variables defined at the interactive
|
|
440
|
embedded instances, for variables defined at the interactive
|
|
436
|
prompt of the embedded ipython. Reported by Arnd.
|
|
441
|
prompt of the embedded ipython. Reported by Arnd.
|
|
437
|
|
|
442
|
|
|
438
|
* IPython/Magic.py (magic_autocall): Fix %autocall magic. Now
|
|
443
|
* IPython/Magic.py (magic_autocall): Fix %autocall magic. Now
|
|
439
|
it can be used as a (stateful) toggle, or with a direct parameter.
|
|
444
|
it can be used as a (stateful) toggle, or with a direct parameter.
|
|
440
|
|
|
445
|
|
|
441
|
* IPython/ultraTB.py (_fixed_getinnerframes): remove debug assert which
|
|
446
|
* IPython/ultraTB.py (_fixed_getinnerframes): remove debug assert which
|
|
442
|
could be triggered in certain cases and cause the traceback
|
|
447
|
could be triggered in certain cases and cause the traceback
|
|
443
|
printer not to work.
|
|
448
|
printer not to work.
|
|
444
|
|
|
449
|
|
|
445
|
2006-01-07 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
450
|
2006-01-07 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
446
|
|
|
451
|
|
|
447
|
* IPython/iplib.py (_should_recompile): Small fix, closes
|
|
452
|
* IPython/iplib.py (_should_recompile): Small fix, closes
|
|
448
|
http://www.scipy.net/roundup/ipython/issue48. Patch by Scott.
|
|
453
|
http://www.scipy.net/roundup/ipython/issue48. Patch by Scott.
|
|
449
|
|
|
454
|
|
|
450
|
2006-01-04 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
455
|
2006-01-04 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
451
|
|
|
456
|
|
|
452
|
* IPython/Shell.py (IPShellGTK.mainloop): fix bug in the GTK
|
|
457
|
* IPython/Shell.py (IPShellGTK.mainloop): fix bug in the GTK
|
|
453
|
backend for matplotlib (100% cpu utiliziation). Thanks to Charlie
|
|
458
|
backend for matplotlib (100% cpu utiliziation). Thanks to Charlie
|
|
454
|
Moad for help with tracking it down.
|
|
459
|
Moad for help with tracking it down.
|
|
455
|
|
|
460
|
|
|
456
|
* IPython/iplib.py (handle_auto): fix autocall handling for
|
|
461
|
* IPython/iplib.py (handle_auto): fix autocall handling for
|
|
457
|
objects which support BOTH __getitem__ and __call__ (so that f [x]
|
|
462
|
objects which support BOTH __getitem__ and __call__ (so that f [x]
|
|
458
|
is left alone, instead of becoming f([x]) automatically).
|
|
463
|
is left alone, instead of becoming f([x]) automatically).
|
|
459
|
|
|
464
|
|
|
460
|
* IPython/Magic.py (magic_cd): fix crash when cd -b was used.
|
|
465
|
* IPython/Magic.py (magic_cd): fix crash when cd -b was used.
|
|
461
|
Ville's patch.
|
|
466
|
Ville's patch.
|
|
462
|
|
|
467
|
|
|
463
|
2006-01-03 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
468
|
2006-01-03 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
464
|
|
|
469
|
|
|
465
|
* IPython/iplib.py (handle_auto): changed autocall semantics to
|
|
470
|
* IPython/iplib.py (handle_auto): changed autocall semantics to
|
|
466
|
include 'smart' mode, where the autocall transformation is NOT
|
|
471
|
include 'smart' mode, where the autocall transformation is NOT
|
|
467
|
applied if there are no arguments on the line. This allows you to
|
|
472
|
applied if there are no arguments on the line. This allows you to
|
|
468
|
just type 'foo' if foo is a callable to see its internal form,
|
|
473
|
just type 'foo' if foo is a callable to see its internal form,
|
|
469
|
instead of having it called with no arguments (typically a
|
|
474
|
instead of having it called with no arguments (typically a
|
|
470
|
mistake). The old 'full' autocall still exists: for that, you
|
|
475
|
mistake). The old 'full' autocall still exists: for that, you
|
|
471
|
need to set the 'autocall' parameter to 2 in your ipythonrc file.
|
|
476
|
need to set the 'autocall' parameter to 2 in your ipythonrc file.
|
|
472
|
|
|
477
|
|
|
473
|
* IPython/completer.py (Completer.attr_matches): add
|
|
478
|
* IPython/completer.py (Completer.attr_matches): add
|
|
474
|
tab-completion support for Enthoughts' traits. After a report by
|
|
479
|
tab-completion support for Enthoughts' traits. After a report by
|
|
475
|
Arnd and a patch by Prabhu.
|
|
480
|
Arnd and a patch by Prabhu.
|
|
476
|
|
|
481
|
|
|
477
|
2006-01-02 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
482
|
2006-01-02 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
478
|
|
|
483
|
|
|
479
|
* IPython/ultraTB.py (_fixed_getinnerframes): added Alex
|
|
484
|
* IPython/ultraTB.py (_fixed_getinnerframes): added Alex
|
|
480
|
Schmolck's patch to fix inspect.getinnerframes().
|
|
485
|
Schmolck's patch to fix inspect.getinnerframes().
|
|
481
|
|
|
486
|
|
|
482
|
* IPython/iplib.py (InteractiveShell.__init__): significant fixes
|
|
487
|
* IPython/iplib.py (InteractiveShell.__init__): significant fixes
|
|
483
|
for embedded instances, regarding handling of namespaces and items
|
|
488
|
for embedded instances, regarding handling of namespaces and items
|
|
484
|
added to the __builtin__ one. Multiple embedded instances and
|
|
489
|
added to the __builtin__ one. Multiple embedded instances and
|
|
485
|
recursive embeddings should work better now (though I'm not sure
|
|
490
|
recursive embeddings should work better now (though I'm not sure
|
|
486
|
I've got all the corner cases fixed, that code is a bit of a brain
|
|
491
|
I've got all the corner cases fixed, that code is a bit of a brain
|
|
487
|
twister).
|
|
492
|
twister).
|
|
488
|
|
|
493
|
|
|
489
|
* IPython/Magic.py (magic_edit): added support to edit in-memory
|
|
494
|
* IPython/Magic.py (magic_edit): added support to edit in-memory
|
|
490
|
macros (automatically creates the necessary temp files). %edit
|
|
495
|
macros (automatically creates the necessary temp files). %edit
|
|
491
|
also doesn't return the file contents anymore, it's just noise.
|
|
496
|
also doesn't return the file contents anymore, it's just noise.
|
|
492
|
|
|
497
|
|
|
493
|
* IPython/completer.py (Completer.attr_matches): revert change to
|
|
498
|
* IPython/completer.py (Completer.attr_matches): revert change to
|
|
494
|
complete only on attributes listed in __all__. I realized it
|
|
499
|
complete only on attributes listed in __all__. I realized it
|
|
495
|
cripples the tab-completion system as a tool for exploring the
|
|
500
|
cripples the tab-completion system as a tool for exploring the
|
|
496
|
internals of unknown libraries (it renders any non-__all__
|
|
501
|
internals of unknown libraries (it renders any non-__all__
|
|
497
|
attribute off-limits). I got bit by this when trying to see
|
|
502
|
attribute off-limits). I got bit by this when trying to see
|
|
498
|
something inside the dis module.
|
|
503
|
something inside the dis module.
|
|
499
|
|
|
504
|
|
|
500
|
2005-12-31 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
505
|
2005-12-31 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
501
|
|
|
506
|
|
|
502
|
* IPython/iplib.py (InteractiveShell.__init__): add .meta
|
|
507
|
* IPython/iplib.py (InteractiveShell.__init__): add .meta
|
|
503
|
namespace for users and extension writers to hold data in. This
|
|
508
|
namespace for users and extension writers to hold data in. This
|
|
504
|
follows the discussion in
|
|
509
|
follows the discussion in
|
|
505
|
http://projects.scipy.org/ipython/ipython/wiki/RefactoringIPython.
|
|
510
|
http://projects.scipy.org/ipython/ipython/wiki/RefactoringIPython.
|
|
506
|
|
|
511
|
|
|
507
|
* IPython/completer.py (IPCompleter.complete): small patch to help
|
|
512
|
* IPython/completer.py (IPCompleter.complete): small patch to help
|
|
508
|
tab-completion under Emacs, after a suggestion by John Barnard
|
|
513
|
tab-completion under Emacs, after a suggestion by John Barnard
|
|
509
|
<barnarj-AT-ccf.org>.
|
|
514
|
<barnarj-AT-ccf.org>.
|
|
510
|
|
|
515
|
|
|
511
|
* IPython/Magic.py (Magic.extract_input_slices): added support for
|
|
516
|
* IPython/Magic.py (Magic.extract_input_slices): added support for
|
|
512
|
the slice notation in magics to use N-M to represent numbers N...M
|
|
517
|
the slice notation in magics to use N-M to represent numbers N...M
|
|
513
|
(closed endpoints). This is used by %macro and %save.
|
|
518
|
(closed endpoints). This is used by %macro and %save.
|
|
514
|
|
|
519
|
|
|
515
|
* IPython/completer.py (Completer.attr_matches): for modules which
|
|
520
|
* IPython/completer.py (Completer.attr_matches): for modules which
|
|
516
|
define __all__, complete only on those. After a patch by Jeffrey
|
|
521
|
define __all__, complete only on those. After a patch by Jeffrey
|
|
517
|
Collins <jcollins_boulder-AT-earthlink.net>. Also, clean up and
|
|
522
|
Collins <jcollins_boulder-AT-earthlink.net>. Also, clean up and
|
|
518
|
speed up this routine.
|
|
523
|
speed up this routine.
|
|
519
|
|
|
524
|
|
|
520
|
* IPython/Logger.py (Logger.log): fix a history handling bug. I
|
|
525
|
* IPython/Logger.py (Logger.log): fix a history handling bug. I
|
|
521
|
don't know if this is the end of it, but the behavior now is
|
|
526
|
don't know if this is the end of it, but the behavior now is
|
|
522
|
certainly much more correct. Note that coupled with macros,
|
|
527
|
certainly much more correct. Note that coupled with macros,
|
|
523
|
slightly surprising (at first) behavior may occur: a macro will in
|
|
528
|
slightly surprising (at first) behavior may occur: a macro will in
|
|
524
|
general expand to multiple lines of input, so upon exiting, the
|
|
529
|
general expand to multiple lines of input, so upon exiting, the
|
|
525
|
in/out counters will both be bumped by the corresponding amount
|
|
530
|
in/out counters will both be bumped by the corresponding amount
|
|
526
|
(as if the macro's contents had been typed interactively). Typing
|
|
531
|
(as if the macro's contents had been typed interactively). Typing
|
|
527
|
%hist will reveal the intermediate (silently processed) lines.
|
|
532
|
%hist will reveal the intermediate (silently processed) lines.
|
|
528
|
|
|
533
|
|
|
529
|
* IPython/Magic.py (magic_run): fix a subtle bug which could cause
|
|
534
|
* IPython/Magic.py (magic_run): fix a subtle bug which could cause
|
|
530
|
pickle to fail (%run was overwriting __main__ and not restoring
|
|
535
|
pickle to fail (%run was overwriting __main__ and not restoring
|
|
531
|
it, but pickle relies on __main__ to operate).
|
|
536
|
it, but pickle relies on __main__ to operate).
|
|
532
|
|
|
537
|
|
|
533
|
* IPython/iplib.py (InteractiveShell): fix pdb calling: I'm now
|
|
538
|
* IPython/iplib.py (InteractiveShell): fix pdb calling: I'm now
|
|
534
|
using properties, but forgot to make the main InteractiveShell
|
|
539
|
using properties, but forgot to make the main InteractiveShell
|
|
535
|
class a new-style class. Properties fail silently, and
|
|
540
|
class a new-style class. Properties fail silently, and
|
|
536
|
misteriously, with old-style class (getters work, but
|
|
541
|
misteriously, with old-style class (getters work, but
|
|
537
|
setters don't do anything).
|
|
542
|
setters don't do anything).
|
|
538
|
|
|
543
|
|
|
539
|
2005-12-30 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
544
|
2005-12-30 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
540
|
|
|
545
|
|
|
541
|
* IPython/Magic.py (magic_history): fix history reporting bug (I
|
|
546
|
* IPython/Magic.py (magic_history): fix history reporting bug (I
|
|
542
|
know some nasties are still there, I just can't seem to find a
|
|
547
|
know some nasties are still there, I just can't seem to find a
|
|
543
|
reproducible test case to track them down; the input history is
|
|
548
|
reproducible test case to track them down; the input history is
|
|
544
|
falling out of sync...)
|
|
549
|
falling out of sync...)
|
|
545
|
|
|
550
|
|
|
546
|
* IPython/iplib.py (handle_shell_escape): fix bug where both
|
|
551
|
* IPython/iplib.py (handle_shell_escape): fix bug where both
|
|
547
|
aliases and system accesses where broken for indented code (such
|
|
552
|
aliases and system accesses where broken for indented code (such
|
|
548
|
as loops).
|
|
553
|
as loops).
|
|
549
|
|
|
554
|
|
|
550
|
* IPython/genutils.py (shell): fix small but critical bug for
|
|
555
|
* IPython/genutils.py (shell): fix small but critical bug for
|
|
551
|
win32 system access.
|
|
556
|
win32 system access.
|
|
552
|
|
|
557
|
|
|
553
|
2005-12-29 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
558
|
2005-12-29 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
554
|
|
|
559
|
|
|
555
|
* IPython/iplib.py (showtraceback): remove use of the
|
|
560
|
* IPython/iplib.py (showtraceback): remove use of the
|
|
556
|
sys.last_{type/value/traceback} structures, which are non
|
|
561
|
sys.last_{type/value/traceback} structures, which are non
|
|
557
|
thread-safe.
|
|
562
|
thread-safe.
|
|
558
|
(_prefilter): change control flow to ensure that we NEVER
|
|
563
|
(_prefilter): change control flow to ensure that we NEVER
|
|
559
|
introspect objects when autocall is off. This will guarantee that
|
|
564
|
introspect objects when autocall is off. This will guarantee that
|
|
560
|
having an input line of the form 'x.y', where access to attribute
|
|
565
|
having an input line of the form 'x.y', where access to attribute
|
|
561
|
'y' has side effects, doesn't trigger the side effect TWICE. It
|
|
566
|
'y' has side effects, doesn't trigger the side effect TWICE. It
|
|
562
|
is important to note that, with autocall on, these side effects
|
|
567
|
is important to note that, with autocall on, these side effects
|
|
563
|
can still happen.
|
|
568
|
can still happen.
|
|
564
|
(ipsystem): new builtin, to complete the ip{magic/alias/system}
|
|
569
|
(ipsystem): new builtin, to complete the ip{magic/alias/system}
|
|
565
|
trio. IPython offers these three kinds of special calls which are
|
|
570
|
trio. IPython offers these three kinds of special calls which are
|
|
566
|
not python code, and it's a good thing to have their call method
|
|
571
|
not python code, and it's a good thing to have their call method
|
|
567
|
be accessible as pure python functions (not just special syntax at
|
|
572
|
be accessible as pure python functions (not just special syntax at
|
|
568
|
the command line). It gives us a better internal implementation
|
|
573
|
the command line). It gives us a better internal implementation
|
|
569
|
structure, as well as exposing these for user scripting more
|
|
574
|
structure, as well as exposing these for user scripting more
|
|
570
|
cleanly.
|
|
575
|
cleanly.
|
|
571
|
|
|
576
|
|
|
572
|
* IPython/macro.py (Macro.__init__): moved macros to a standalone
|
|
577
|
* IPython/macro.py (Macro.__init__): moved macros to a standalone
|
|
573
|
file. Now that they'll be more likely to be used with the
|
|
578
|
file. Now that they'll be more likely to be used with the
|
|
574
|
persistance system (%store), I want to make sure their module path
|
|
579
|
persistance system (%store), I want to make sure their module path
|
|
575
|
doesn't change in the future, so that we don't break things for
|
|
580
|
doesn't change in the future, so that we don't break things for
|
|
576
|
users' persisted data.
|
|
581
|
users' persisted data.
|
|
577
|
|
|
582
|
|
|
578
|
* IPython/iplib.py (autoindent_update): move indentation
|
|
583
|
* IPython/iplib.py (autoindent_update): move indentation
|
|
579
|
management into the _text_ processing loop, not the keyboard
|
|
584
|
management into the _text_ processing loop, not the keyboard
|
|
580
|
interactive one. This is necessary to correctly process non-typed
|
|
585
|
interactive one. This is necessary to correctly process non-typed
|
|
581
|
multiline input (such as macros).
|
|
586
|
multiline input (such as macros).
|
|
582
|
|
|
587
|
|
|
583
|
* IPython/Magic.py (Magic.format_latex): patch by Stefan van der
|
|
588
|
* IPython/Magic.py (Magic.format_latex): patch by Stefan van der
|
|
584
|
Walt <stefan-AT-sun.ac.za> to fix latex formatting of docstrings,
|
|
589
|
Walt <stefan-AT-sun.ac.za> to fix latex formatting of docstrings,
|
|
585
|
which was producing problems in the resulting manual.
|
|
590
|
which was producing problems in the resulting manual.
|
|
586
|
(magic_whos): improve reporting of instances (show their class,
|
|
591
|
(magic_whos): improve reporting of instances (show their class,
|
|
587
|
instead of simply printing 'instance' which isn't terribly
|
|
592
|
instead of simply printing 'instance' which isn't terribly
|
|
588
|
informative).
|
|
593
|
informative).
|
|
589
|
|
|
594
|
|
|
590
|
* IPython/genutils.py (shell): commit Jorgen Stenarson's patch
|
|
595
|
* IPython/genutils.py (shell): commit Jorgen Stenarson's patch
|
|
591
|
(minor mods) to support network shares under win32.
|
|
596
|
(minor mods) to support network shares under win32.
|
|
592
|
|
|
597
|
|
|
593
|
* IPython/winconsole.py (get_console_size): add new winconsole
|
|
598
|
* IPython/winconsole.py (get_console_size): add new winconsole
|
|
594
|
module and fixes to page_dumb() to improve its behavior under
|
|
599
|
module and fixes to page_dumb() to improve its behavior under
|
|
595
|
win32. Contributed by Alexander Belchenko <bialix-AT-ukr.net>.
|
|
600
|
win32. Contributed by Alexander Belchenko <bialix-AT-ukr.net>.
|
|
596
|
|
|
601
|
|
|
597
|
* IPython/Magic.py (Macro): simplified Macro class to just
|
|
602
|
* IPython/Magic.py (Macro): simplified Macro class to just
|
|
598
|
subclass list. We've had only 2.2 compatibility for a very long
|
|
603
|
subclass list. We've had only 2.2 compatibility for a very long
|
|
599
|
time, yet I was still avoiding subclassing the builtin types. No
|
|
604
|
time, yet I was still avoiding subclassing the builtin types. No
|
|
600
|
more (I'm also starting to use properties, though I won't shift to
|
|
605
|
more (I'm also starting to use properties, though I won't shift to
|
|
601
|
2.3-specific features quite yet).
|
|
606
|
2.3-specific features quite yet).
|
|
602
|
(magic_store): added Ville's patch for lightweight variable
|
|
607
|
(magic_store): added Ville's patch for lightweight variable
|
|
603
|
persistence, after a request on the user list by Matt Wilkie
|
|
608
|
persistence, after a request on the user list by Matt Wilkie
|
|
604
|
<maphew-AT-gmail.com>. The new %store magic's docstring has full
|
|
609
|
<maphew-AT-gmail.com>. The new %store magic's docstring has full
|
|
605
|
details.
|
|
610
|
details.
|
|
606
|
|
|
611
|
|
|
607
|
* IPython/iplib.py (InteractiveShell.post_config_initialization):
|
|
612
|
* IPython/iplib.py (InteractiveShell.post_config_initialization):
|
|
608
|
changed the default logfile name from 'ipython.log' to
|
|
613
|
changed the default logfile name from 'ipython.log' to
|
|
609
|
'ipython_log.py'. These logs are real python files, and now that
|
|
614
|
'ipython_log.py'. These logs are real python files, and now that
|
|
610
|
we have much better multiline support, people are more likely to
|
|
615
|
we have much better multiline support, people are more likely to
|
|
611
|
want to use them as such. Might as well name them correctly.
|
|
616
|
want to use them as such. Might as well name them correctly.
|
|
612
|
|
|
617
|
|
|
613
|
* IPython/Magic.py: substantial cleanup. While we can't stop
|
|
618
|
* IPython/Magic.py: substantial cleanup. While we can't stop
|
|
614
|
using magics as mixins, due to the existing customizations 'out
|
|
619
|
using magics as mixins, due to the existing customizations 'out
|
|
615
|
there' which rely on the mixin naming conventions, at least I
|
|
620
|
there' which rely on the mixin naming conventions, at least I
|
|
616
|
cleaned out all cross-class name usage. So once we are OK with
|
|
621
|
cleaned out all cross-class name usage. So once we are OK with
|
|
617
|
breaking compatibility, the two systems can be separated.
|
|
622
|
breaking compatibility, the two systems can be separated.
|
|
618
|
|
|
623
|
|
|
619
|
* IPython/Logger.py: major cleanup. This one is NOT a mixin
|
|
624
|
* IPython/Logger.py: major cleanup. This one is NOT a mixin
|
|
620
|
anymore, and the class is a fair bit less hideous as well. New
|
|
625
|
anymore, and the class is a fair bit less hideous as well. New
|
|
621
|
features were also introduced: timestamping of input, and logging
|
|
626
|
features were also introduced: timestamping of input, and logging
|
|
622
|
of output results. These are user-visible with the -t and -o
|
|
627
|
of output results. These are user-visible with the -t and -o
|
|
623
|
options to %logstart. Closes
|
|
628
|
options to %logstart. Closes
|
|
624
|
http://www.scipy.net/roundup/ipython/issue11 and a request by
|
|
629
|
http://www.scipy.net/roundup/ipython/issue11 and a request by
|
|
625
|
William Stein (SAGE developer - http://modular.ucsd.edu/sage).
|
|
630
|
William Stein (SAGE developer - http://modular.ucsd.edu/sage).
|
|
626
|
|
|
631
|
|
|
627
|
2005-12-28 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
632
|
2005-12-28 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
628
|
|
|
633
|
|
|
629
|
* IPython/iplib.py (handle_shell_escape): add Ville's patch to
|
|
634
|
* IPython/iplib.py (handle_shell_escape): add Ville's patch to
|
|
630
|
better hadnle backslashes in paths. See the thread 'More Windows
|
|
635
|
better hadnle backslashes in paths. See the thread 'More Windows
|
|
631
|
questions part 2 - \/ characters revisited' on the iypthon user
|
|
636
|
questions part 2 - \/ characters revisited' on the iypthon user
|
|
632
|
list:
|
|
637
|
list:
|
|
633
|
http://scipy.net/pipermail/ipython-user/2005-June/000907.html
|
|
638
|
http://scipy.net/pipermail/ipython-user/2005-June/000907.html
|
|
634
|
|
|
639
|
|
|
635
|
(InteractiveShell.__init__): fix tab-completion bug in threaded shells.
|
|
640
|
(InteractiveShell.__init__): fix tab-completion bug in threaded shells.
|
|
636
|
|
|
641
|
|
|
637
|
(InteractiveShell.__init__): change threaded shells to not use the
|
|
642
|
(InteractiveShell.__init__): change threaded shells to not use the
|
|
638
|
ipython crash handler. This was causing more problems than not,
|
|
643
|
ipython crash handler. This was causing more problems than not,
|
|
639
|
as exceptions in the main thread (GUI code, typically) would
|
|
644
|
as exceptions in the main thread (GUI code, typically) would
|
|
640
|
always show up as a 'crash', when they really weren't.
|
|
645
|
always show up as a 'crash', when they really weren't.
|
|
641
|
|
|
646
|
|
|
642
|
The colors and exception mode commands (%colors/%xmode) have been
|
|
647
|
The colors and exception mode commands (%colors/%xmode) have been
|
|
643
|
synchronized to also take this into account, so users can get
|
|
648
|
synchronized to also take this into account, so users can get
|
|
644
|
verbose exceptions for their threaded code as well. I also added
|
|
649
|
verbose exceptions for their threaded code as well. I also added
|
|
645
|
support for activating pdb inside this exception handler as well,
|
|
650
|
support for activating pdb inside this exception handler as well,
|
|
646
|
so now GUI authors can use IPython's enhanced pdb at runtime.
|
|
651
|
so now GUI authors can use IPython's enhanced pdb at runtime.
|
|
647
|
|
|
652
|
|
|
648
|
* IPython/ipmaker.py (make_IPython): make the autoedit_syntax flag
|
|
653
|
* IPython/ipmaker.py (make_IPython): make the autoedit_syntax flag
|
|
649
|
true by default, and add it to the shipped ipythonrc file. Since
|
|
654
|
true by default, and add it to the shipped ipythonrc file. Since
|
|
650
|
this asks the user before proceeding, I think it's OK to make it
|
|
655
|
this asks the user before proceeding, I think it's OK to make it
|
|
651
|
true by default.
|
|
656
|
true by default.
|
|
652
|
|
|
657
|
|
|
653
|
* IPython/Magic.py (magic_exit): make new exit/quit magics instead
|
|
658
|
* IPython/Magic.py (magic_exit): make new exit/quit magics instead
|
|
654
|
of the previous special-casing of input in the eval loop. I think
|
|
659
|
of the previous special-casing of input in the eval loop. I think
|
|
655
|
this is cleaner, as they really are commands and shouldn't have
|
|
660
|
this is cleaner, as they really are commands and shouldn't have
|
|
656
|
a special role in the middle of the core code.
|
|
661
|
a special role in the middle of the core code.
|
|
657
|
|
|
662
|
|
|
658
|
2005-12-27 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
663
|
2005-12-27 Fernando Perez <Fernando.Perez@colorado.edu>
|
|
659
|
|
|
664
|
|
|
660
|
* IPython/iplib.py (edit_syntax_error): added support for
|
|
665
|
* IPython/iplib.py (edit_syntax_error): added support for
|
|
661
|
automatically reopening the editor if the file had a syntax error
|
|
666
|
automatically reopening the editor if the file had a syntax error
|
|
662
|
in it. Thanks to scottt who provided the patch at:
|
|
667
|
in it. Thanks to scottt who provided the patch at:
|
|
663
|
http://www.scipy.net/roundup/ipython/issue36 (slightly modified
|
|
668
|
http://www.scipy.net/roundup/ipython/issue36 (slightly modified
|
|
664
|
version committed).
|
|
669
|
version committed).
|
|
665
|
|
|
670
|
|
|
666
|
* IPython/iplib.py (handle_normal): add suport for multi-line
|
|
671
|
* IPython/iplib.py (handle_normal): add suport for multi-line
|
|
667
|
input with emtpy lines. This fixes
|
|
672
|
input with emtpy lines. This fixes
|
|
668
|
http://www.scipy.net/roundup/ipython/issue43 and a similar
|
|
673
|
http://www.scipy.net/roundup/ipython/issue43 and a similar
|
|
669
|
discussion on the user list.
|
|
674
|
discussion on the user list.
|
|
670
|
|
|
675
|
|
|
671
|
WARNING: a behavior change is necessarily introduced to support
|
|
676
|
WARNING: a behavior change is necessarily introduced to support
|
|
672
|
blank lines: now a single blank line with whitespace does NOT
|
|
677
|
blank lines: now a single blank line with whitespace does NOT
|
|
673
|
break the input loop, which means that when autoindent is on, by
|
|
678
|
break the input loop, which means that when autoindent is on, by
|
|
674
|
default hitting return on the next (indented) line does NOT exit.
|
|
679
|
default hitting return on the next (indented) line does NOT exit.
|
|
675
|
|
|
680
|
|
|
676
|
Instead, to exit a multiline input you can either have:
|
|
681
|
Instead, to exit a multiline input you can either have:
|
|
677
|
|
|
682
|
|
|
678
|
- TWO whitespace lines (just hit return again), or
|
|
683
|
- TWO whitespace lines (just hit return again), or
|
|
679
|
- a single whitespace line of a different length than provided
|
|
684
|
- a single whitespace line of a different length than provided
|
|
680
|
by the autoindent (add or remove a space).
|
|
685
|
by the autoindent (add or remove a space).
|
|
681
|
|
|
686
|
|
|
682
|
* IPython/completer.py (MagicCompleter.__init__): new 'completer'
|
|
687
|
* IPython/completer.py (MagicCompleter.__init__): new 'completer'
|
|
683
|
module to better organize all readline-related functionality.
|
|
688
|
module to better organize all readline-related functionality.
|
|
684
|
I've deleted FlexCompleter and put all completion clases here.
|
|
689
|
I've deleted FlexCompleter and put all completion clases here.
|
|
685
|
|
|
690
|
|
|
686
|
* IPython/iplib.py (raw_input): improve indentation management.
|
|
691
|
* IPython/iplib.py (raw_input): improve indentation management.
|
|
687
|
It is now possible to paste indented code with autoindent on, and
|
|
692
|
It is now possible to paste indented code with autoindent on, and
|
|
688
|
the code is interpreted correctly (though it still looks bad on
|
|
693
|
the code is interpreted correctly (though it still looks bad on
|
|
689
|
screen, due to the line-oriented nature of ipython).
|
|
694
|
screen, due to the line-oriented nature of ipython).
|
|
690
|
(MagicCompleter.complete): change behavior so that a TAB key on an
|
|
695
|
(MagicCompleter.complete): change behavior so that a TAB key on an
|
|
691
|
otherwise empty line actually inserts a tab, instead of completing
|
|
696
|
otherwise empty line actually inserts a tab, instead of completing
|
|
692
|