##// END OF EJS Templates
add do_where
Matthias Bussonnier -
Show More
@@ -0,0 +1,47 b''
1 IPython debugger (IPdb) now supports the number of context lines for the
2 ``where`` (and ``w``) commands. The `context` keyword is also available in various APIs.
3
4 .. code::
5
6 In [2]: def foo():
7 ...: 1
8 ...: 2
9 ...: 3
10 ...: 4
11 ...: 5
12 ...: raise ValueError('6 is not acceptable')
13 ...: 7
14 ...: 8
15 ...: 9
16 ...: 10
17 ...:
18
19 In [3]: foo()
20 ----------------------------------------------------
21 ValueError Traceback (most recent call last)
22 <ipython-input-3> in <module>()
23 ----> 1 foo()
24
25 <ipython-input-2> in foo()
26 5 4
27 6 5
28 ----> 7 raise ValueError('6 is not acceptable')
29 8 7
30 9 8
31
32 ValueError: 6 is not acceptable
33
34 In [4]: debug
35 > <ipython-input-2>(7)foo()
36 5 4
37 6 5
38 ----> 7 raise ValueError('6 is not acceptable')
39 8 7
40 9 8
41
42 ipdb> where 1
43 <ipython-input-3>(1)<module>()
44 ----> 1 foo()
45
46 > <ipython-input-2>(7)foo()
47 ----> 7 raise ValueError('6 is not acceptable')
@@ -10,6 +10,7 b' This document describes in-flight development work.'
10 10 conflicts for other Pull Requests). Instead, create a new file in the
11 11 `docs/source/whatsnew/pr` folder
12 12
13
13 14 .. DO NOT EDIT THIS LINE BEFORE RELEASE. FEATURE INSERTION POINT.
14 15
15 16
@@ -18,4 +19,3 b' Backwards incompatible changes'
18 19
19 20
20 21 .. DO NOT EDIT THIS LINE BEFORE RELEASE. INCOMPAT INSERTION POINT.
21
@@ -7,6 +7,7 b' whatsnew/development.rst (chronologically ordered), and deletes the snippets.'
7 7
8 8 import io
9 9 import os
10 from glob import glob
10 11 from os.path import dirname, basename, abspath, join as pjoin
11 12 from subprocess import check_call, check_output
12 13
@@ -20,15 +21,15 b' INCOMPAT_MARK = ".. DO NOT EDIT THIS LINE BEFORE RELEASE. INCOMPAT INSERTION POI'
20 21
21 22 # 1. Collect the whatsnew snippet files ---------------------------------------
22 23
23 files = set(os.listdir(pr_dir))
24 files = set()
25 for f in glob(pjoin(pr_dir, '*.rst')):
26 files.add(f)
24 27 # Ignore explanatory and example files
25 files.difference_update({'README.md',
28 files.difference_update({pjoin(pr_dir, f) for f in {'README.md',
26 29 'incompat-switching-to-perl.rst',
27 30 'antigravity-feature.rst'}
28 )
31 })
29 32
30 # Absolute paths
31 files = {pjoin(pr_dir, f) for f in files}
32 33
33 34 def getmtime(f):
34 35 return check_output(['git', 'log', '-1', '--format="%ai"', '--', f])
@@ -38,7 +39,11 b' files = sorted(files, key=getmtime)'
38 39 features, incompats = [], []
39 40 for path in files:
40 41 with io.open(path, encoding='utf-8') as f:
41 content = f.read().rstrip()
42 try:
43 content = f.read().rstrip()
44 except Exception as e:
45 raise Exception('Error reading "{}"'.format(f))
46
42 47 if basename(path).startswith('incompat-'):
43 48 incompats.append(content)
44 49 else:
@@ -72,4 +77,4 b' for file in files:'
72 77
73 78 check_call(['git', 'add', target])
74 79
75 print("Merged what's new changes. Check the diff and commit the change.") No newline at end of file
80 print("Merged what's new changes. Check the diff and commit the change.")
General Comments 0
You need to be logged in to leave comments. Login now