From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Gustaf Waldemarson Newsgroups: gmane.emacs.bugs Subject: bug#36836: Tmux and Focus-In Events Date: Mon, 29 Jul 2019 15:50:48 +0200 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="150285"; mail-complaints-to="usenet@blaine.gmane.org" To: 36836@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jul 29 15:52:11 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hs64Q-000cyY-Rx for geb-bug-gnu-emacs@m.gmane.org; Mon, 29 Jul 2019 15:52:11 +0200 Original-Received: from localhost ([::1]:52366 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hs64P-00005h-TB for geb-bug-gnu-emacs@m.gmane.org; Mon, 29 Jul 2019 09:52:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47468) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hs64K-00005Z-KN for bug-gnu-emacs@gnu.org; Mon, 29 Jul 2019 09:52:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hs64I-0005Jk-WF for bug-gnu-emacs@gnu.org; Mon, 29 Jul 2019 09:52:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39082) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hs64I-0005Jf-T1 for bug-gnu-emacs@gnu.org; Mon, 29 Jul 2019 09:52:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hs64I-0006ow-Li for bug-gnu-emacs@gnu.org; Mon, 29 Jul 2019 09:52:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Gustaf Waldemarson Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 29 Jul 2019 13:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 36836 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.156440826726153 (code B ref -1); Mon, 29 Jul 2019 13:52:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 29 Jul 2019 13:51:07 +0000 Original-Received: from localhost ([127.0.0.1]:47903 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hs63O-0006nk-J4 for submit@debbugs.gnu.org; Mon, 29 Jul 2019 09:51:07 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:45847) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hs63N-0006nd-AA for submit@debbugs.gnu.org; Mon, 29 Jul 2019 09:51:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47256) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hs63L-0008EB-6p for bug-gnu-emacs@gnu.org; Mon, 29 Jul 2019 09:51:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hs63J-0004gd-F1 for bug-gnu-emacs@gnu.org; Mon, 29 Jul 2019 09:51:03 -0400 Original-Received: from mail-ot1-x343.google.com ([2607:f8b0:4864:20::343]:41588) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hs63J-0004gC-8v for bug-gnu-emacs@gnu.org; Mon, 29 Jul 2019 09:51:01 -0400 Original-Received: by mail-ot1-x343.google.com with SMTP id o101so62577647ota.8 for ; Mon, 29 Jul 2019 06:51:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=PdfsnEE8wZCM+JUe2DXU2R9ghTWbW2tQLbK/N+vkzX8=; b=eSbERdvdvO1SCOh8FuGAJ0sjXr+bPdeVBpaGDasB06mmI54ebhhaCKNsCnw5KLUXoN qSVAS0cX6jSlCp1/eyUU3sxg3llL01gJEcGp7RettjR7Sup0n4dDPNJQWvioZnptSlcZ ZrztLo0vsJ9uQB3GOtgyvdVsa3ZY19/7dc6nk74AUoF0jKOtFR82CjxXnsxVDXwn9esE MuqK+IjrKQoPGHL+qvOB2XwJUbHE5EjLOAHzqz1tSgvP8kCPHBalfDKWJ43CkjS0kDhL xbRTZNJDxwWlWeAZxkI2jk6o+oSjqAr70El8f7KDYqKiXeVFOEiOtiIb3juMeF+MhEx6 /9Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=PdfsnEE8wZCM+JUe2DXU2R9ghTWbW2tQLbK/N+vkzX8=; b=pJ06Y5kogTS0WI1g1MVZFPpbEdSH0xDjCXXKD+05CGoJNxCukODL2pNH6lbAgbeFmF lsItsPz5Fe5xyx7v2sUqekJQbSbfe1fQ385sjX3Eeu8BbJfTdaMghfeSYpeKKqfu1Vih RMCnufZnTzfFzj1QEmSD5y5J/5axZMijs091P92XbNQ/LTU73TAKEjM4zT1XWlrZTW+p iuXWertEOC112gvT5l66lejuKbNYLH6lFDNFgZ0O6bJe0U5XpOcju4uuk4oPLJ3VQ292 9GbK8zR7jm4OUsVmpbVlwNy0YpZvKj4xqI8SYhPcFWPP12miXIFSSj1x3EeJBUv/l7M1 I2zg== X-Gm-Message-State: APjAAAWQ2gsqOMH9Cj38dcXJiyl2uWOQF6nf05InUinIt3FB9v3YJtU+ 3RIJ41yQF4BTguujxO26JDORFbLaBR62CDyKjtKuMLI37XM= X-Google-Smtp-Source: APXvYqyrzK5uSRrl2mDuF6leSxUhL2XrBstB6h9jhRc3KSwC0v8ThII6qluMgd2yPs5WphxINZ63rE6djrSrbOdOVm4= X-Received: by 2002:a05:6830:95:: with SMTP id a21mr86042843oto.35.1564408259772; Mon, 29 Jul 2019 06:50:59 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:164030 Archived-At: Hello, I noticed a rather strange and somewhat hard to track down bug that's related to tmux and terminal focus-in events. Using Emacs 27 and tmux 2.1: If you start tmux with the option `tmux set-option -g focus-events on` enabled and then inside tmux start an emacsclient, e.g., via: ``` emacs -Q --daemon=test && emacsclient --socket-name=test ." ``` Then Emacs starts and unexpectedly inserts the characters "[I]" in the buffer that is opened. This only seem to happen the first time the client is started. A quick bisection on the Emacs code-base lead me to this commit: ``` commit 6fdc3fac5658a7ab142c358cddd90f3db5665ef5 Author: Daniel Colascione Date: Fri Jun 8 22:47:27 2018 -0700 Support terminal focus notifications * lisp/frame.el (handle-focus-in,handle-focus-out): Make event argument optional. (blink-cursor-check): Make sure that the current frame is a window-system frame before restarting the blink timer. TTY frames can get focus, but don't need a blink timer because the terminal will do the blinking. * lisp/term/xterm.el (xterm-handle-focus-in,xterm-handle-focus-out): New functions. (xterm-rxvt-function-map): Recognize focus notification sequences. (xterm--init-focus-tracking): New function. (terminal-init-xterm): Call it. ``` Apparently it seems like "\e[I" is the focus-in event, which is translated to "[I]" by `electric-pair-mode`. I'm not entirely sure where the bug is in this case however. Is it up to Emacs to handle focus-in events from the terminal or is that something tmux itself should handle in this case? Or is there some setting somewhere that should be toggled to prevent this kind of thing from happening? I originally observed this behavior in Konsole, but the same thing happen in xterm itself as well, and possibly other terminal emulators. In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.18.9) of 2019-07-29 built on E105888 Repository revision: a9593253e90aa58134833078ae1fc5505ae9f58c Repository branch: master System Description: Ubuntu 16.04.6 LTS Recent messages: Mark set Quit Mark set Detected language: English [9 times] Auto-saving...done Saving file /home/guswal01/test.md... Wrote /home/guswal01/test.md Mark set [2 times] (No changes need to be saved) [2 times] Making completion list... [3 times] Configured using: 'configure --prefix=/home/guswal01/.local '--program-transform-name=s/^ctags$/ctags.emacs/'' Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY GNUTLS LIBXML2 FREETYPE HARFBUZZ XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM THREADS PDUMPER LCMS2 GMP Important settings: value of $LC_MONETARY: sv_SE.UTF-8 value of $LC_NUMERIC: sv_SE.UTF-8 value of $LC_TIME: sv_SE.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Markdown Minor modes in effect: orgtbl-mode: t shell-dirtrack-mode: t orgstruct-mode: t guess-language-mode: t poly-markdown-mode: t beacon-mode: t flyspell-mode: t flycheck-pos-tip-mode: t projectile-mode: t hes-mode: t global-linum-mode: t yas-global-mode: t yas-minor-mode: t global-company-mode: t company-mode: t global-anzu-mode: t anzu-mode: t perspeen-mode: t global-atomic-chrome-edit-mode: t global-undo-tree-mode: t undo-tree-mode: t which-key-mode: t anyclip-mode: t override-global-mode: t electric-pair-mode: t save-place-mode: t global-subword-mode: t subword-mode: t show-paren-mode: t winner-mode: t global-auto-revert-mode: t xterm-mouse-mode: t savehist-mode: t ido-everywhere: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort bbdb-message mail-extr emacsbug sendmail echistory chistory ehelp ecb-compatibility ecb-layout ecb-create-layout ecb-compilation ecb-common-browser ecb-navigate eieio-compat ecb-cedet-wrapper semantic/db-mode semantic/db-find semantic/db-ref semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn semantic/db semantic/format ezimage semantic/tag-ls semantic/find semantic/ctxt semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet ecb-mode-line ecb-face tree-buffer ecb-util help-fns radix-tree term/tmux term/xterm xterm org-rmail org-mhe org-irc org-info org-gnus nnir gnus-sum url url-proxy url-privacy url-expand url-methods url-history mailcap shr svg xml dom gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message rfc822 mml mml-sec epa epg epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums text-property-search mail-utils mm-util mail-prsvr org-docview doc-view jka-compr image-mode dired dired-loaddefs org-bibtex bibtex org-bbdb org-w3m org-table ob-latex ob-plantuml ob-org ob-shell shell ob-gnuplot ob-python ob-ditaa ob-dot org-element avl-tree org org-macro org-footnote org-pcomplete pcomplete org-list org-faces org-entities time-date org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs guess-language poly-markdown polymode derived poly-lock polymode-base polymode-weave polymode-export polymode-compat polymode-methods polymode-core format-spec polymode-classes eieio-custom eieio-base smart-mode-line-dark-theme smart-mode-line rich-minority beacon server auto-complete-config auto-complete popup form-feed paredit nameless lisp-mnt flyspell ispell whitespace flycheck-pos-tip pos-tip flycheck find-func rainbow-delimiters projectile grep ibuf-ext ibuffer ibuffer-loaddefs highlight-escape-sequences linum yasnippet-snippets yasnippet company-oddmuse company-keywords company-etags etags fileloop generator company-gtags company-dabbrev-code company-dabbrev company-files company-capf company-cmake company-xcode company-clang company-semantic company-eclim company-template company-bbdb company anzu perspeen perspeen-tab powerline powerline-separators powerline-themes atomic-chrome websocket url-cookie url-domsuf bindat let-alist color-theme-approximate delim-col hydra-examples windmove rect hydra lv dap-mode dap-overlays lsp lsp-mode ewoc markdown-mode edit-indirect color noutline outline tree-widget xref url-util spinner pcase network-stream puny nsm rmc inline imenu ht f s em-glob esh-util dash-functional dash flymake-proc flymake compile warnings thingatpt project bbdb bbdb-site timezone cus-edit cus-start cus-load wid-edit ace-link avy undo-tree diff which-key advice anyclip-mode diminish use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key use-package-core finder-inf local-autoloads cwarn cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs elec-pair saveplace cap-words superword subword paren winner autorevert filenotify xt-mouse tango-dark-theme savehist ido gud easy-mmode comint ansi-color ring keybinds terminals autoinsert tex-site rx cl-extra help-mode slime-autoloads edmacro kmacro info package easymenu browse-url url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 478739 54790) (symbols 48 43732 1) (strings 32 147104 5075) (string-bytes 1 5423337) (vectors 16 61266) (vector-slots 8 737765 36386) (floats 8 541 96) (intervals 56 2393 2891) (buffers 992 16) (heap 1024 31120 2033))