Comments (5)
Funny story.
I observed several different strange problems with Unicode input. It took me a combined total of around 7 hours of debugging through low level details of Readline and Clink UTF8 processing for the various problems to finally track down the root cause:
Clink forgot to tell the C runtime that it wanted to use UTF8.
Readline asks the C runtime what locale to use, and the C runtime defaults to using the "minimal ANSI conforming environment for C translation", which is essentially an extended-ASCII pseudo-locale. So Clink was trying to talk UTF8, and Readline was trying to talk pseudo-ASCII.
A one line change seems to fix everything (I'm testing further to confirm). Plus I get to delete a bunch of code that had been unsuccessfully trying to compensate for not having this line:
// Readline needs to know it should use UTF8.
setlocale(LC_ALL, ".utf8");
from clink.
@chrisant996 thanks a lot for your efforts, all works fine now
from clink.
Thanks! Yes, I haven't worked on that yet. My intent is to include a fix in the first Beta build, provided a fix doesn't prove too invasive (in which case it might get deferred a little bit).
from clink.
I'm working on it now, but I'm running into a number of issues with the GNU Readline library along the way. This could take a while to get working properly, but it will get there eventually.
from clink.
Fixed by 004c691.
Binaries available here.
from clink.
Related Issues (20)
- Injecting Clink from shim HOT 5
- Unexpected tab completion fills HOT 3
- How about adding an automatic update mechanism? HOT 7
- Alias?? HOT 3
- Documentation for `globpattern` missing HOT 2
- Does installscripts search subdirectories? HOT 2
- Completions not working HOT 4
- Prompt auto_answer display blank lines if prompt have new line for answering HOT 3
- Tab completion messes up ..\ in partial path when no matches found HOT 3
- Enable previous tab completion behaviour (wait on clarification instead of cycling through choices) HOT 1
- How can I cycle through matching command lines in the command history? HOT 4
- Documentation Clarification HOT 9
- history delete doesn't work HOT 11
- Newbie question about window background HOT 4
- Ctrl + D functionality missing HOT 3
- ERROR: Clink initilization has failed with error code: 0 HOT 4
- FinalTerm escape sequences are stripped from prompt filter HOT 5
- How to start clink quiet in new Windows Terminal? HOT 2
- Startup time significantly slower in 1.4.25.e0d48c HOT 4
- Double click on Clink.bat to flash back HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clink.