Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jupyter issue with tab completion and unicode #1994

Closed
williamstein opened this issue May 23, 2017 · 5 comments
Closed

jupyter issue with tab completion and unicode #1994

williamstein opened this issue May 23, 2017 · 5 comments

Comments

@williamstein
Copy link
Contributor

sagemath/cloud#207

@stevengj
Copy link

Note that this affects both complete_request and inspect_request.

@williamstein
Copy link
Contributor Author

It would be nice to have an example!

@stevengj
Copy link

Should be similar to the example in: nteract/hydrogen#807 (comment)

@stevengj
Copy link

stevengj commented Aug 16, 2019

As I commented in nteract/hydrogen#807 (comment), I think you used the wrong test case — you need to use non-BMP characters. That's why I suggested tab-completing 𝐚𝐚𝐚𝐚𝐚.

Also, don't look just at whether completion succeeds — you need to look at the actual messages you are sending under the Jupyter protocol. (It could be that even if you send an invalid cursor position that the IPython kernel can still compensate in some cases, e.g. by truncating cursor positions past the end of the text to the length of the text.)

If you need a non-BMP example that is a valid Python 3 identifier and which does not normalize to some other character, try 𨭎𨭎𨭎𨭎𨭎.

@williamstein
Copy link
Contributor Author

Thanks for an actual test case. My change does NOT work on 𨭎𨭎𨭎𨭎𨭎.

@williamstein williamstein reopened this Aug 16, 2019
clrpackages pushed a commit to clearlinux-pkgs/jupyter_client that referenced this issue Feb 25, 2020
…rsion 6.0.0

Aliaksei Urbanski (2):
      Reduce count of warnings
      Declare support for Python 2.7, 3.5, 3.6, and 3.7

Benjamin Ragan-Kelley (2):
      master is 6.0-dev
      eager upgrade strategy

Bo (1):
      Document the handling of error in do_execute

David Brochart (7):
      Add async API
      Remove leftover
      Fix docstring
      Drop python2
      Drop python2 fallback
      Drop more python2 stuff
      Async sleep

Dawid Manikowski (2):
      Migrate SSH tunneling from pyzmq
      Convert to relative import

Doug Blank (1):
      Allow third-party kernels to get additional args

Eric Dill (3):
      Remove ambiguity in the startup description
      Consider removing word for clarity
      Disambiguate client startup and kernel startup

Jason Grout (10):
      Clarify what “session” means in the kernel message headers from the client or the kernel.
      Clarify the implied required busy/idle messages.
      Deprecate sending the shutdown_request message on the shell channel.
      Clarify the status message.
      Send the shutdown message over the control channel in client.py.
      Clarify the session ids in message headers.
      Fix control channel copy/paste error.
      Move shutdown request to its own section to emphasize the message is on the control channel.
      Percolate a control connection throughout the code.
      Revert status message updates to revert back to exactly three status message states.

Johan Mabille (2):
      Exposes control channel in public API
      call _create_connected_socket to instantiate _control_socket in KernelManager

Kevin Bates (6):
      Wrap setting of kernel_id with method that can then be overridden in subclasses.
      Fix memory leak of kernel Popen object
      Fix leak of IOLoopKernelManager object
      Changed kernel_id generation method name and calling scenario
      Add support for templated env entries
      Update kernelspec env bullet in docs

Luciano Resende (1):
      Update gitignore configuration

M Pacer (2):
      make KernelManager configurable for all who inherit JupyterConsoleApp
      remove other places that are py3.3 specific, min py version is now py3.4

Matthew Seal (4):
      Cleaned up some of the python 2 code
      Added releasing document to follow for releases
      Added 6.0.0 release notes
      Bumped to 6.0 (non-dev) version

Matthias Bussonnier (3):
      Exclude build docs from sdist.
      Remove commented debug statement that used old API.
      Remove some warning in test, create all dates as UTC.

Philipp A (1):
      Harmonize “status” field

SpencerPark (1):
      Set the default connection_file such that it preserves an existing configuration.

Steven Silvester (1):
      update wrapper kernel docs

Sylvain Corlay (2):
      Document debug_[request|reply] and debug_event
      Python 3.8

Thomas Kluyver (3):
      Build docs with Python 3.7 on conda
      Clarify that iopub error message doesn't include execution_count
      Clarify that execute_reply messages have execution_count for any status

Todd (1):
      Include LICENSE file in wheels

Tom-Olav Bøyum (1):
      changed Session.msg_id() property to

Travis DePrato (2):
      don't include extra buffers in message signature
      Fix documentation error.

Vidar Tonaas Fauske (1):
      Remove pywin32 dependency

William Stein (2):
      CoCalc is no longer affected by the unicode offset issue (see sagemathinc/cocalc#1994)
      add an example of an astral plane unicode identifier

martinRenou (3):
      Add xeus to the documentation on how to write a kernel for Jupyter
      Prevent two kernels to have the same ports
      Only cache ports if the cache_ports flag is set to True
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants