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

tmux eating unicode multibyte characters #324

Closed
tidux opened this issue Feb 22, 2016 · 4 comments
Closed

tmux eating unicode multibyte characters #324

tidux opened this issue Feb 22, 2016 · 4 comments
Assignees

Comments

@tidux
Copy link

tidux commented Feb 22, 2016

Hello,

Please rebuild or relink tmux to allow for the proper display of UTF-8. The lack of high-multibyte support causes garbled control characters or vanished characters instead of the desired output. You can see this by splitting a tmux window horizontally - you'll see a row of x's instead of the unicode characters that allow for cleaner splits. Programs that can otherwise handle high-unicode characters properly like bash and vim exhibit similar problems when run inside tmux. The GNU Screen package is built correctly to allow the display of such characters.

@tidux
Copy link
Author

tidux commented Feb 22, 2016

Weechat is also displaying similar unicode problems inside of screen, even though it links against libncursesw.

@jperkin jperkin self-assigned this Feb 23, 2016
@jperkin
Copy link
Collaborator

jperkin commented Feb 23, 2016

I can't reproduce this with a 15.4.0 zone. See attached screenshot with weechat running inside tmux, both the split pane characters and the UTF-8 I posted to myself in the IRC session display as expected.

Check your LC_* and LANG environment variables? You can see mine in the screenshot.

tmux-utf8

@tidux
Copy link
Author

tidux commented Feb 23, 2016

After setting LC_ALL manually to en_US.UTF-8 the only packages still displaying problems are weechat and mosh. Irssi and tmux do not display this problem with LC_ALL set.

jperkin pushed a commit that referenced this issue Apr 11, 2016
Patch #324 - 2016/03/10

    updated configure macro CF_LD_RPATH_OPT from ncurses changes.
    provide alternate fix for Juha Nurmela's report by turning on POSIX signals if _POSIX_C_SOURCE is at least one. This is done to improve the behavior if a direct child process receives a STOP signal.
    revert change to CF_POSIX_C_SOURCE from patch #323 (reports by Ashish Shukla, Christian Weisgerber).

Patch #323 - 2016/03/07

    updated appdata and desktop files to add keywords (report by Richard Hughes).
    modify configure macro CF_POSIX_C_SOURCE to accommodate some systems, e.g., FreeBSD, which have separated their implementation specific preprocessor symbols from the POSIX ones, requiring both to be defined (report by Juha Nurmela).
    change the directory to the current working dir of the child process in exec-formatted and exec-selectable actions (patch by Alexander Pohoyda).
    correct typo in xterm.man (patch by Larry Hynes).
    correct typo in ctlseqs.ms (report by Shriramana Sharma).
    add feature to support XHTML and SVG screen dumps (patch by Jens Schweikhardt).
    correct response to DECRQSS when terminal id is less than 400 (patch by Iwamoto Kouichi).
@mamash
Copy link

mamash commented Jun 20, 2016

I just tried with the current Darwin trunk package set, and I'm sorry to say can't replicate this with mosh and a UTF-8 locale (which mosh requires anyway). Please re-open with steps to reproduce, if you feel this is still a problem.

@mamash mamash closed this as completed Jun 20, 2016
jperkin pushed a commit that referenced this issue Oct 22, 2016
version 1.11.1: 2016-06-14

    * new guesser infrastructure, support for emacs and vim modelines (#489)
    * javascript bugfix for nested objects with quoted keys (#496)
    * new theme: Gruvbox (thanks @jamietanna!)
    * praat: lots of improvements (thanks @jjatria)
    * fix for rougify error when highlighting from stdin (#493)
    * new lexer: kotlin (thanks @meleyal!)
    * new lexer: cfscript (thanks @mjclemente!)

version 1.11.0: 2016-06-06

    * groovy:
	o remove pathological regexes and add basic support for
	  triple-quoted strings (#485)
	o add the "trait" keyword and fix project url (thanks @glaforge! #378)
    * new lexer: coq (thanks @gmalecha! #389)
    * gemspec license now more accurate (thanks @connorshea! #484)
    * swift:
	o properly support nested comments (thanks @dblessing! #479)
	o support swift 2.2 features (thanks @radex #376 and @wokalski #442)
	o add indirect declaration (thanks @nRewik! #326)
    * new lexer: verilog (thanks @Razer6! #317)
    * new lexer: typescript (thanks @Seikho! #400)
    * new lexers: jinja and twig (thanks @robin850! #402)
    * new lexer: pascal (thanks @alexcu!)
    * css: support attribute selectors (thanks @skoji! #426)
    * new lexer: shell session (thanks @sio4! #481)
    * ruby: add support for <<~ heredocs (thanks @tinci! #362)
    * recognize comments at EOF in SQL, Apache, and CMake (thanks @julp! #360)
    * new lexer: phtml (thanks @Igloczek #366)
    * recognize comments at EOF in CoffeeScript (thanks @rdavila! #370)
    * c/c++:
	o support c11/c++11 features (thanks @Tosainu! #371)
	o Allow underscores in identifiers (thanks @coverify! #333)
    * rust: add more builtin types (thanks @RalfJung! #372)
    * ini: allow hyphen keys (thanks @KrzysiekJ! #380)
    * r: massively improve lexing quality (thanks @klmr! #383)
    * c#:
	o add missing keywords (thanks @BenVlodgi #384 and @SLaks #447)
    * diff: do not require newlines at the ends (thanks @AaronLasseigne! #387)
    * new lexer: ceylon (thanks @bjansen! #414)
    * new lexer: biml (thanks @japj! #415)
    * new lexer: TAP - the test anything protocol (thanks @mblayman! #409)
    * rougify bugfix: treat input as utf8 (thanks @japj! #417)
    * new lexer: jsonnet (thanks @davidzchen! #420)
    * clojure: associate *.cljc for cross-platform clojure (thanks @alesguzik! #423)
    * new lexer: D (thanks @nikibobi! #435)
    * new lexer: smarty (thanks @tringenbach! #427)
    * apache:
	o add directives for v2.4 (thanks @stanhu!)
	o various improvements (thanks @julp! #301)
	    - faster keyword lookups
	    - fix nil error on unknown directive (cf #246, #300)
	    - properly manage case-insensitive names (cf #246)
	    - properly handle windows CRLF
    * objective-c:
	o support literal dictionaries and block arguments (thanks @BenV!
	  #443 and #444)
	o Fix error tokens when defining interfaces (thanks @meleyal! #477)
    * new lexer: NASM (thanks @sraboy! #457)
    * new lexer: gradle (thanks @nerro! #468)
    * new lexer: API Blueprint (thanks @kylef! #261)
    * new lexer: ActionScript (thanks @honzabrecka! #241)
    * terminal256 formatter: stop confusing token names (thanks @julp! #367)
    * new lexer: julia (thanks @mpeteuil! #331)
    * new lexer: cmake (thanks @julp! #302)
    * new lexer: eiffel (thanks @Conaclos! #323)
    * new lexer: protobuf (thanks @fqqb! #327)
    * new lexer: fortran (thanks @CruzR! #328)
    * php: associate *.phpt files (thanks @Razer6!)
    * python: support raise from and yield from (thanks @mordervomubel! #324)
    * new VimL example (thanks @tpope! #315)
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

No branches or pull requests

3 participants