ipython/ipython — pull request #5125 by takluyver (2014-02-14 00:49:46+00:00)
Title: Fix the display of functions with keyword-only arguments on Python 3.

On Python 3, we need to use `getfullargspec` to get the necessary information. The extra 3 fields (kwonlyargs, kwonlydefaults, annotations) are also added to the 'argspec' field of an info dictionary, but those Python-specific fields are being dropped from the message spec soon anyway.

Before:

```
In [3]: def f(a, b=None, *, c):
...: pass
...:

In [4]: f?
...
Definition: f(a, b, c=None)
```

After:

```
...
Definition: f(a, b=None, *, c)
```