Skip to content

Conversation

mwageringel
Copy link
Contributor

This rewrites some of the regular expressions that are used to match Python identifiers, so that they are unicode compatible. In Python 3, identifiers can contain unicode characters as long as the first character is not numeric.

Examples for the changes:

• inputtransformer:

In [1]: π = 3.14
In [2]: π.is_integer?
Object `is_integer` not found.

• namespace:

π.is_integ*?

or

In [1]: %psearch π.is_integ
Python identifiers can only contain ascii characters.

• prefilter:

%autocall 1
φ = float
get_ipython().prefilter("φ 3")  # should be 'φ(3)', but returns 'φ 3'

• completerlib:

If there is a file e.g. named π.py in the current directory, then

import IPython
IPython.core.completerlib.module_list('.')  # should contain module 'π'

This rewrites some of the regular expressions that are used to match
Python identifiers, so that they are unicode compatible. In Python 3,
identifiers can contain unicode characters as long as the first
character is not numeric.

Examples for the changes:

• inputtransformer:

```
In [1]: π = 3.14
In [2]: π.is_integer?
Object `is_integer` not found.
```

----------
• namespace:

```
π.is_integ*?
```
or
```
In [1]: %psearch π.is_integ
Python identifiers can only contain ascii characters.
```

----------
• prefilter:

```
%autocall 1
φ = float
get_ipython().prefilter("φ 3")  # should be 'φ(3)', but returns 'φ 3'
```

----------
• completerlib:

If there is a file e.g. named `π.py` in the current directory, then

```
import IPython
IPython.core.completerlib.module_list('.')  # should contain module 'π'
```
@Carreau Carreau added this to the 7.14 milestone Mar 28, 2020
@Carreau
Copy link
Member

Carreau commented Mar 28, 2020

Oh ! Nice catch ! Thanks !

@Carreau Carreau merged commit 4b3670e into ipython:master Mar 28, 2020
meeseeksmachine pushed a commit to meeseeksmachine/ipython that referenced this pull request Mar 28, 2020
Carreau added a commit that referenced this pull request Mar 29, 2020
…208-on-7.x

Backport PR #12208 on branch 7.x (support for unicode identifiers)
@Carreau Carreau changed the title support for unicode identifiers support for unicode identifiers in ?, ?? Apr 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants