unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
@ 2017-05-19 14:28 Aaron Jensen
  2017-05-19 15:30 ` Eli Zaretskii
  2022-04-17 19:50 ` Lars Ingebrigtsen
  0 siblings, 2 replies; 16+ messages in thread
From: Aaron Jensen @ 2017-05-19 14:28 UTC (permalink / raw)
  To: 26995


emacs -Q
M-x server-start
C-x C-f <pick some file with lots of text>

Back in terminal:

emacsclient --tty <some other file with different text>

Expected:

New frame is created in tty and it displays (immediately) the "other" file
without flashing the file from the other frame.

Actual:

The file from the first frame is displayed briefly before loading the "other"
file. With my full config, this "brief" display is roughly 2 seconds. With emacs
-Q it's a pretty quick flash.

I don't think this was happening when I was running 25.1 because I actually made
some changes to my config involving persp-mode to stop it from happening. After
upgrading to 26.0.50, it started happening again.




In GNU Emacs 26.0.50 (build 1, x86_64-apple-darwin16.6.0, NS appkit-1504.83 Version 10.12.5 (Build 16F71b))
 of 2017-05-16 built on aaronmbp.local
Repository revision: 712a5faa2c95596db2d4d94dada575ad16b317c5
Windowing system distributor 'Apple', version 10.3.1504
Recent messages:
Type "q" to delete help window.
nil
Error during redisplay: (eval (spaceline-ml-main)) signaled (wrong-type-argument hash-table-p nil)
When done with a buffer, type C-x #
Error during redisplay: (eval (spaceline-ml-main)) signaled (wrong-type-argument hash-table-p nil)
When done with a buffer, type C-x #
Error during redisplay: (eval (spaceline-ml-main)) signaled (wrong-type-argument hash-table-p nil)
When done with a buffer, type C-x #
Error during redisplay: (eval (spaceline-ml-main)) signaled (wrong-type-argument hash-table-p nil)
When done with a buffer, type C-x #
Quit
Configured using:
 'configure --disable-dependency-tracking --disable-silent-rules
 --enable-locallisppath=/usr/local/share/emacs/site-lisp
 --infodir=/usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/info/emacs
 --prefix=/usr/local/Cellar/emacs-plus/HEAD-712a5fa --with-xml2 --without-dbus
 --without-gnutls --with-imagemagick --with-modules --with-rsvg --with-ns
 --disable-ns-self-contained'
Configured features:
JPEG RSVG IMAGEMAGICK NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES
Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Emacs-Lisp

Minor modes in effect:
  auto-compile-mode: t
  elisp-slime-nav-mode: t
  eros-mode: t
  evil-cleverparens-mode: t
  nameless-mode: t
  org-mobile-sync-mode: t
  magit-auto-revert-mode: t
  company-mode: t
  goto-address-prog-mode: t
  bug-reference-prog-mode: t
  auto-highlight-symbol-mode: t
  highlight-numbers-mode: t
  highlight-parentheses-mode: t
  rainbow-delimiters-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  projectile-mode: t
  recentf-mode: t
  evil-mc-mode: t
  hl-todo-mode: t
  global-spacemacs-whitespace-cleanup-mode: t
  spacemacs-whitespace-cleanup-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  winum-mode: t
  winner-mode: t
  volatile-highlights-mode: t
  global-vi-tilde-fringe-mode: t
  vi-tilde-fringe-mode: t
  pupo-mode: t
  purpose-mode: t
  spaceline-info-mode: t
  spaceline-helm-mode: t
  save-place-mode: t
  savehist-mode: t
  popwin-mode: t
  persp-mode: t
  Info-breadcrumbs-in-mode-line-mode: t
  global-git-gutter+-mode: t
  git-gutter+-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  shell-dirtrack-mode: t
  flycheck-pos-tip-mode: t
  global-flycheck-mode: t
  flx-ido-mode: t
  eyebrowse-mode: t
  global-evil-surround-mode: t
  global-evil-search-highlight-persist: t
  evil-search-highlight-persist: t
  show-smartparens-global-mode: t
  show-smartparens-mode: t
  smartparens-mode: t
  evil-escape-mode: t
  global-anzu-mode: t
  anzu-mode: t
  eval-sexp-fu-flash-mode: t
  editorconfig-mode: t
  global-edit-server-edit-mode: t
  dtrt-indent-mode: t
  diff-auto-refine-mode: t
  counsel-mode: t
  ivy-mode: t
  clean-aindent-mode: t
  hybrid-mode: t
  which-key-mode: t
  override-global-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  evil-mode: t
  evil-local-mode: t
  spacemacs-leader-override-mode: t
  global-spacemacs-leader-override-mode: t
  global-hl-line-mode: t
  xterm-mouse-mode: t
  global-auto-revert-mode: t
  ido-vertical-mode: t
  global-page-break-lines-mode: t
  page-break-lines-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-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
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t
  hs-minor-mode: t

Load-path shadows:
/Users/aaronjensen/.emacs.d/elpa/26.0/org-bullets-20140918.1137/org-bullets hides /Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-bullets
/Users/aaronjensen/.emacs.d/elpa/26.0/ht-20161015.1945/ht hides /Users/aaronjensen/.emacs.d/core/libs/ht
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ox hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ox
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ox-texinfo hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ox-texinfo
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ox-publish hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ox-publish
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ox-org hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ox-org
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ox-odt hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ox-odt
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ox-md hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ox-md
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ox-man hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ox-man
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ox-latex hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ox-latex
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ox-icalendar hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ox-icalendar
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ox-html hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ox-html
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ox-beamer hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ox-beamer
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ox-ascii hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ox-ascii
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-w3m hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-w3m
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-version hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-version
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-timer hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-timer
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-table hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-table
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-src hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-src
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-rmail hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-rmail
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-protocol hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-protocol
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-plot hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-plot
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-pcomplete hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-pcomplete
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-mouse hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-mouse
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-mobile hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-mobile
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-mhe hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-mhe
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-macs hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-macs
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-macro hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-macro
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-loaddefs hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-loaddefs
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-list hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-list
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-irc hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-irc
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-install hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-install
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-inlinetask hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-inlinetask
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-info hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-info
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-indent hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-indent
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-id hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-id
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-habit hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-habit
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-gnus hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-gnus
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-footnote hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-footnote
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-feed hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-feed
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-faces hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-faces
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-eshell hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-eshell
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-entities hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-entities
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-element hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-element
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-docview hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-docview
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-datetree hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-datetree
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-ctags hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-ctags
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-crypt hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-crypt
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-compat hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-compat
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-colview hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-colview
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-clock hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-clock
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-capture hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-capture
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-bibtex hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-bibtex
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-bbdb hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-bbdb
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-attach hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-attach
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-archive hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-archive
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/org-agenda hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/org-agenda
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-tangle hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-tangle
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-table hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-table
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-sqlite hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-sqlite
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-sql hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-sql
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-shen hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-shen
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-screen hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-screen
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-scheme hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-scheme
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-scala hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-scala
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-sass hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-sass
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-ruby hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-ruby
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-ref hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-ref
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-R hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-R
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-python hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-python
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-plantuml hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-plantuml
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-picolisp hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-picolisp
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-perl hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-perl
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-org hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-org
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-octave hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-octave
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-ocaml hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-ocaml
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-mscgen hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-mscgen
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-maxima hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-maxima
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-matlab hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-matlab
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-makefile hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-makefile
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-lob hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-lob
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-lisp hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-lisp
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-lilypond hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-lilypond
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-ledger hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-ledger
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-latex hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-latex
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-keys hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-keys
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-js hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-js
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-java hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-java
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-io hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-io
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-haskell hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-haskell
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-gnuplot hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-gnuplot
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-fortran hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-fortran
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-exp hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-exp
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-eval hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-eval
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-emacs-lisp hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-emacs-lisp
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-dot hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-dot
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-ditaa hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-ditaa
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-css hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-css
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-core hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-core
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-comint hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-comint
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-clojure hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-clojure
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-calc hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-calc
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-C hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-C
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-awk hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-awk
/Users/aaronjensen/.emacs.d/elpa/26.0/org-plus-contrib-20170515/ob-asymptote hides /usr/local/Cellar/emacs-plus/HEAD-712a5fa/share/emacs/26.0.50/lisp/org/ob-asymptote

Features:
(shadow emacsbug term/xterm xterm calc-menu calc-aent calc calc-loaddefs
calc-macs org-clock bookmark shift-number tabify cal-move org-projectile
helm-source helm-lib org-category-capture org-capture gravatar epa-file
mailalias mail-extr sort debug cl-print edebug eieio-opt face-remap two-column
iso-transl git-timemachine smex company-web-html company-web company-css
web-completion-data emmet-mode web-mode cal-iso company-robe evil-matchit robe
inf-ruby rubocop ruby-tools mmm-mode mmm-univ mmm-class mmm-region mmm-auto
mmm-vars mmm-utils mmm-compat smartparens-markdown markdown-mode eslintd-fix
company-flow js-doc iswitchb js2-imenu-extras js2-refactor js2r-paredit
js2r-conveniences js2r-conditionals js2r-wrapping js2r-functions js2r-vars
multiple-cursors-core js2r-iife js2r-formatting js2r-helpers skewer-mode
cache-table simple-httpd cursor-sensor rjsx-mode smartparens-javascript js2-mode
appt diary-lib diary-loaddefs auto-compile packed elisp-slime-nav eros
evil-cleverparens evil-cleverparens-text-objects evil-cleverparens-util paredit
flycheck-package package-lint finder nameless alchemist alchemist-macroexpand
alchemist-company alchemist-help alchemist-complete alchemist-refcard
alchemist-phoenix alchemist-compile alchemist-iex alchemist-message
alchemist-hooks alchemist-hex alchemist-mix alchemist-info alchemist-goto
alchemist-scope alchemist-eval alchemist-interact alchemist-server
alchemist-execute alchemist-report alchemist-test-mode alchemist-project
alchemist-file alchemist-key alchemist-utils smartparens-elixir
flycheck-dialyxir flycheck-dogma elixir-mode pkg-info epl elixir-smie sh-script
executable org-table pp org-gcal org-archive request-deferred deferred request
alert log4e notifications dbus xml gntp misearch multi-isearch drupal-mode
drupal/emacs-drush drupal/flycheck drupal/phpcs drupal/ispell drupal/etags
drupal/eldoc sql view php-mode flymake json-mode json-reformat json-snatcher js
smartparens-html sgml-mode dom avy hippie-exp fill-column-indicator
evil-nerd-commenter evil-nerd-commenter-operator evil-nerd-commenter-sdk
network-stream starttls url-cache magit-gitflow mwim mu4e-maildirs-extension
company-capf org-eldoc evil-org ob-clojure ob-ruby ob-shell org-bullets
org-download toc-org org-indent image-file org-rmail org-mhe org-irc org-info
org-gnus org-docview org-bibtex bibtex org-bbdb org-w3m org-mobile-sync
org-mobile org-agenda org-inlinetask org-mu4e ob-elixir ob-http ob-http-mode
ob-restclient restclient ox-gfm ox-md ox-reveal ox-odt rng-loc rng-uri rng-parse
rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util
ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox orgit org-element
avl-tree magithub magithub-issue-tricks magithub-issue-post
magithub-issue-status magithub-label magithub-proxy magithub-ci magithub-cache
magithub-issue ghub+ apiwrap magithub-core ghub git-rebase magit-gh-pulls gh
gh-users gh-issues gh-pulls gh-repos gh-comments gh-gist gh-oauth gh-api logito
gh-cache pcache eieio-base gh-auth gh-url url-http tls gnutls url url-proxy
url-privacy url-expand url-methods url-history mailcap url-auth url-cookie
url-domsuf url-util url-gw nsm evil-magit magit-obsolete magit-blame magit-stash
magit-bisect magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-branch magit-files magit-refs magit-status magit magit-repos magit-apply
magit-wip magit-log magit-diff smerge-mode magit-core magit-autorevert
magit-process magit-margin magit-mode magit-git magit-section magit-popup org
org-macro org-footnote org-pcomplete org-list org-faces org-entities 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 mu4e desktop frameset
mu4e-speedbar speedbar sb-image ezimage dframe mu4e-main mu4e-context mu4e-view
cal-menu calendar cal-loaddefs browse-url mu4e-headers mu4e-compose mu4e-draft
mu4e-actions rfc2368 smtpmail sendmail mu4e-mark mu4e-message html2text
mu4e-proc mu4e-utils doc-view mu4e-lists mu4e-vars mu4e-meta vc-git
open-junk-file company-files company-keywords company-etags company-gtags
company-template company-dabbrev-code company-dabbrev php-extras company
add-node-modules-path tide goto-addr bug-reference auto-highlight-symbol
highlight-numbers parent-mode highlight-parentheses hideshow rainbow-delimiters
clojure-snippets yasnippet flycheck-elm flycheck-credo typescript-mode cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
editorconfig-core editorconfig-core-handle editorconfig-fnmatch
counsel-projectile colir projectile grep compile recentf tree-widget flyspell
ispell quiet-emacs fill-or-unfill company-simple-complete init-mail init-xclip
init-typescript init-flyspell init-terminal-cursor evil-terminal-cursor-changer
init-org init-magit evil-mc evil-mc-command-execute evil-mc-command-record
evil-mc-cursor-make evil-mc-region evil-mc-cursor-state evil-mc-undo
evil-mc-vars evil-mc-known-commands evil-mc-common hl-todo zone xterm-color
spacemacs-whitespace-cleanup ws-butler winum winner window-purpose-x imenu-list
imenu ibuf-ext ibuffer ibuffer-loaddefs volatile-highlights vi-tilde-fringe tmux
string-inflection spacemacs-purpose-popwin window-purpose window-purpose-fixes
window-purpose-prefix-overload window-purpose-switch let-alist
window-purpose-layout window-purpose-core window-purpose-configuration
window-purpose-utils spaceline-config spaceline-segments spaceline powerline
powerline-separators color powerline-themes smartparens-config smartparens-ruby
saveplace savehist ruby-test-mode pcre2el rxt re-builder ruby-mode smie popwin
persp-mode osx-trash linum ivy-hydra info+ image-mode git-gutter-fringe+
fringe-helper git-gutter+ git-commit with-editor async-bytecomp async tramp-sh
server magit-utils crm log-edit message puny dired dired-loaddefs rfc822 mml
mml-sec epa epg gnus-util rmail rmail-loaddefs mailabbrev mail-utils gmm-utils
mailheader pcvs-util add-log docker-tramp tramp-cache tramp tramp-compat
tramp-loaddefs trampver shell drupal/pcomplete pcomplete comint ansi-color
parse-time gh-common gh-profile marshal flycheck-pos-tip pos-tip flycheck-flow
flycheck find-func flx-ido eyebrowse evil-unimpaired f s evil-surround
evil-search-highlight-persist evil-numbers evil-lisp-state smartparens dash
evil-indent-plus evil-exchange evil-escape evil-args evil-anzu anzu
cider-eval-sexp-fu eval-sexp-fu highlight editorconfig edit-server noutline
outline dtrt-indent rx diff-hl vc-dir ewoc vc vc-dispatcher diff-mode counsel
jka-compr esh-util etags xref project swiper ivy flx delsel ivy-overlay ffap
clean-aindent-mode adaptive-wrap hybrid-mode exec-path-from-shell
evil-evilified-state which-key use-package diminish bind-key hydra lv cus-edit
cus-start cus-load evil evil-integration undo-tree diff evil-maps evil-commands
evil-jumps evil-command-window evil-types evil-search evil-ex evil-macros
evil-repeat evil-states evil-core evil-common windmove thingatpt rect
evil-digraphs evil-vars ring info bind-map quelpa help-fns radix-tree
package-build mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
mm-util ietf-drums mail-prsvr json map lisp-mnt hl-line xt-mouse autorevert
filenotify cl-extra disp-table wid-edit monokai-theme format-spec finder-inf
init-sass init-php init-html init-evil core-configuration-layer eieio-compat ht
cl help-mode warnings package epg-config url-handlers url-parse auth-source
cl-seq password-cache url-vars eieio eieio-core eieio-loaddefs ido-vertical-mode
ido seq byte-opt bytecomp byte-compile cconv core-spacemacs core-use-package-ext
core-transient-state core-micro-state core-toggle core-keybindings
core-fonts-support core-spacemacs-buffer core-funcs cl-macs gv
core-themes-support core-display-init core-jump core-release-management
core-custom-settings core-dotspacemacs core-command-line pcase core-debug
edmacro kmacro derived advice profiler easymenu cl-loaddefs cl-lib
page-break-lines easy-mmode subr-x time-date tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize
mule-util term/common-win 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 kqueue cocoa ns multi-tty make-network-process emacs)

Memory information:
((conses 16 2365616 2061669)
 (symbols 48 95306 1)
 (miscs 40 11961 24102)
 (strings 32 335674 315667)
 (string-bytes 1 11464420)
 (vectors 16 160803)
 (vector-slots 8 3522705 1595666)
 (floats 8 1116 7676)
 (intervals 56 192359 44472)
 (buffers 976 341))

--
Aaron





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2017-05-19 14:28 bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE Aaron Jensen
@ 2017-05-19 15:30 ` Eli Zaretskii
  2017-05-19 15:44   ` Aaron Jensen
  2022-04-17 19:50 ` Lars Ingebrigtsen
  1 sibling, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2017-05-19 15:30 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 26995

> From: Aaron Jensen <aaronjensen@gmail.com>
> Date: Fri, 19 May 2017 07:28:06 -0700
> 
> emacs -Q
> M-x server-start
> C-x C-f <pick some file with lots of text>
> 
> Back in terminal:
> 
> emacsclient --tty <some other file with different text>
> 
> Expected:
> 
> New frame is created in tty and it displays (immediately) the "other" file
> without flashing the file from the other frame.
> 
> Actual:
> 
> The file from the first frame is displayed briefly before loading the "other"
> file. With my full config, this "brief" display is roughly 2 seconds. With emacs
> -Q it's a pretty quick flash.
> 
> I don't think this was happening when I was running 25.1 because I actually made
> some changes to my config involving persp-mode to stop it from happening. After
> upgrading to 26.0.50, it started happening again.

I can indeed reproduce the described behavior, but I see the same in
Emacs 25.2 and in Emacs 24.5.  The reason is simple: the way server.el
is written, we first create the client frame, and only then show the
file there.  So the frame is created with no file to visit, and Emacs
always shows the last buffer in the new frame in those cases.

Maybe your workaround worked for Emacs 25, but no longer works with
Emacs 26?





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2017-05-19 15:30 ` Eli Zaretskii
@ 2017-05-19 15:44   ` Aaron Jensen
  2017-05-19 17:27     ` Eli Zaretskii
  0 siblings, 1 reply; 16+ messages in thread
From: Aaron Jensen @ 2017-05-19 15:44 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26995


Eli Zaretskii writes:

> I can indeed reproduce the described behavior, but I see the same in
> Emacs 25.2 and in Emacs 24.5.  The reason is simple: the way server.el
> is written, we first create the client frame, and only then show the
> file there.  So the frame is created with no file to visit, and Emacs
> always shows the last buffer in the new frame in those cases.

I see, so not a bug then. Is it possible to (easily) improve its behavior? It's not a big enough deal to warrant spending a lot of time on, I don't think.

>
> Maybe your workaround worked for Emacs 25, but no longer works with
> Emacs 26?

Perhaps, or maybe I was seeing an even bigger flash because persp-mode was restoring an entire perspective before. For reference, here is the original issue and the fix/workaround I ended up on:

https://github.com/Bad-ptr/persp-mode.el/issues/64

--
Aaron





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2017-05-19 15:44   ` Aaron Jensen
@ 2017-05-19 17:27     ` Eli Zaretskii
  2018-02-05  6:56       ` Aaron Jensen
  0 siblings, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2017-05-19 17:27 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 26995

> From: Aaron Jensen <aaronjensen@gmail.com>
> Cc: 26995@debbugs.gnu.org
> Date: Fri, 19 May 2017 08:44:03 -0700
> 
> > I can indeed reproduce the described behavior, but I see the same in
> > Emacs 25.2 and in Emacs 24.5.  The reason is simple: the way server.el
> > is written, we first create the client frame, and only then show the
> > file there.  So the frame is created with no file to visit, and Emacs
> > always shows the last buffer in the new frame in those cases.
> 
> I see, so not a bug then. Is it possible to (easily) improve its behavior?

It should be possible, but AFAICT it would need restructuring
server-process-filter works.





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2017-05-19 17:27     ` Eli Zaretskii
@ 2018-02-05  6:56       ` Aaron Jensen
  2018-02-09 21:06         ` Aaron Jensen
  2018-02-10 10:35         ` Eli Zaretskii
  0 siblings, 2 replies; 16+ messages in thread
From: Aaron Jensen @ 2018-02-05  6:56 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26995

[-- Attachment #1: Type: text/plain, Size: 951 bytes --]

From: Eli Zaretskii (mailto:eliz@gnu.org)
> > From: Aaron Jensen
> > > I can indeed reproduce the described behavior, but I see the same in
> > > Emacs 25.2 and in Emacs 24.5. The reason is simple: the way server.el
> > > is written, we first create the client frame, and only then show the
> > > file there. So the frame is created with no file to visit, and Emacs
> > > always shows the last buffer in the new frame in those cases.
> >
> > I see, so not a bug then. Is it possible to (easily) improve its behavior?
>
> It should be possible, but AFAICT it would need restructuring
> server-process-filter works.

Please see attached patch and let me know if this method is
acceptable. It’s perhaps a little kludgy because sometimes a frame is
created and sometimes it isn’t so we need both methods of ensuring the
initial frame is set properly. This does appear to work for all
scenarios I tested, however.

Thanks,

Aaron

[-- Attachment #2: 0001-Show-initial-buffer-immediately-upon-frame-creation-.patch --]
[-- Type: application/octet-stream, Size: 5488 bytes --]

From e1a8f19c5ec119202a2df934bf3175e2a4fdd4a8 Mon Sep 17 00:00:00 2001
From: Aaron Jensen <aaronjensen@gmail.com>
Date: Sun, 4 Feb 2018 22:52:48 -0800
Subject: [PATCH] Show initial buffer immediately upon frame creation from
 server

---
 lisp/server.el | 85 ++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 47 insertions(+), 38 deletions(-)

diff --git a/lisp/server.el b/lisp/server.el
index ac0d701851..f7766a0253 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -1229,28 +1229,29 @@ server-execute-continuation
 		 (or files commands)
 		 (setq use-current-frame t))
 
-	    (setq frame
-		  (cond
-		   ((and use-current-frame
-			 (or (eq use-current-frame 'always)
-			     ;; We can't use the Emacs daemon's
-			     ;; terminal frame.
-			     (not (and (daemonp)
-				       (null (cdr (frame-list)))
-				       (eq (selected-frame)
-					   terminal-frame)))))
-		    (setq tty-name nil tty-type nil)
-		    (if display (server-select-display display)))
-		   ((or (and (eq system-type 'windows-nt)
-			     (daemonp)
-			     (setq display "w32"))
-		        (eq tty-name 'window-system))
-		    (server-create-window-system-frame display nowait proc
-						       parent-id
-						       frame-parameters))
-		   ;; When resuming on a tty, tty-name is nil.
-		   (tty-name
-		    (server-create-tty-frame tty-name tty-type proc))))
+	    (setq create-frame
+                  (lambda ()
+		    (cond
+		     ((and use-current-frame
+			   (or (eq use-current-frame 'always)
+			       ;; We can't use the Emacs daemon's
+			       ;; terminal frame.
+			       (not (and (daemonp)
+				         (null (cdr (frame-list)))
+				         (eq (selected-frame)
+					     terminal-frame)))))
+		      (setq tty-name nil tty-type nil)
+		      (if display (server-select-display display)))
+		     ((or (and (eq system-type 'windows-nt)
+			       (daemonp)
+			       (setq display "w32"))
+		          (eq tty-name 'window-system))
+		      (server-create-window-system-frame display nowait proc
+						    parent-id
+						    frame-parameters))
+		     ;; When resuming on a tty, tty-name is nil.
+		     (tty-name
+		      (server-create-tty-frame tty-name tty-type proc)))))
 
             (process-put
              proc 'continuation
@@ -1262,7 +1263,7 @@ server-execute-continuation
                          (if (and dir (file-directory-p dir))
                              dir default-directory)))
                    (server-execute proc files nowait commands
-                                   dontkill frame tty-name)))))
+                                   dontkill create-frame tty-name)))))
 
             (when (or frame files)
               (server-goto-toplevel proc))
@@ -1271,7 +1272,7 @@ server-execute-continuation
     ;; condition-case
     (error (server-return-error proc err))))
 
-(defun server-execute (proc files nowait commands dontkill frame tty-name)
+(defun server-execute (proc files nowait commands dontkill create-frame tty-name)
   ;; This is run from timers and process-filters, i.e. "asynchronously".
   ;; But w.r.t the user, this is not really asynchronous since the timer
   ;; is run after 0s and the process-filter is run in response to the
@@ -1281,21 +1282,29 @@ server-execute
   ;; including code that needs to wait.
   (with-local-quit
     (condition-case err
-        (let ((buffers (server-visit-files files proc nowait)))
-          (mapc 'funcall (nreverse commands))
+        (let* ((buffers (server-visit-files files proc nowait))
+               ;; If we were told only to open a new client, obey
+               ;; `initial-buffer-choice' if it specifies a file
+               ;; or a function.
+               (initial-buffer (unless (or files commands)
+                                 (let ((buf
+                                        (cond ((stringp initial-buffer-choice)
+                                               (find-file-noselect initial-buffer-choice))
+                                              ((functionp initial-buffer-choice)
+                                               (funcall initial-buffer-choice)))))
+                                   (if (buffer-live-p buf) buf (get-buffer-create "*scratch*")))))
+               ;; Set current buffer so that newly created tty frames
+               ;; show the correct buffer initially.
+               (frame (with-current-buffer (or (car buffers)
+                                               initial-buffer
+                                               (current-buffer))
+                        (prog1
+                            (funcall create-frame)
+                          ;; Switch to initial buffer in case the frame was reused.
+                          (when initial-buffer
+                            (switch-to-buffer initial-buffer 'norecord))))))
 
-	  ;; If we were told only to open a new client, obey
-	  ;; `initial-buffer-choice' if it specifies a file
-          ;; or a function.
-          (unless (or files commands)
-            (let ((buf
-                   (cond ((stringp initial-buffer-choice)
-			  (find-file-noselect initial-buffer-choice))
-			 ((functionp initial-buffer-choice)
-			  (funcall initial-buffer-choice)))))
-	      (switch-to-buffer
-	       (if (buffer-live-p buf) buf (get-buffer-create "*scratch*"))
-	       'norecord)))
+          (mapc 'funcall (nreverse commands))
 
           ;; Delete the client if necessary.
           (cond
-- 
2.15.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2018-02-05  6:56       ` Aaron Jensen
@ 2018-02-09 21:06         ` Aaron Jensen
  2018-02-10 10:35         ` Eli Zaretskii
  1 sibling, 0 replies; 16+ messages in thread
From: Aaron Jensen @ 2018-02-09 21:06 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26995

On Sun, Feb 4, 2018 at 10:56 PM, Aaron Jensen <aaronjensen@gmail.com> wrote:
> Please see attached patch and let me know if this method is acceptable. It’s perhaps a little kludgy because sometimes a frame is created and sometimes it isn’t so we need both methods of ensuring the initial frame is set properly. This does appear to work for all scenarios I tested, however.

Hi all,

I just wanted to ping on this to see if anyone has had a chance to take a look.

Thanks!

Aaron





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2018-02-05  6:56       ` Aaron Jensen
  2018-02-09 21:06         ` Aaron Jensen
@ 2018-02-10 10:35         ` Eli Zaretskii
  2018-02-10 16:56           ` Aaron Jensen
  1 sibling, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2018-02-10 10:35 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 26995

> From: Aaron Jensen <aaronjensen@gmail.com>
> Date: Mon, 5 Feb 2018 01:56:22 -0500
> Cc: 26995@debbugs.gnu.org
> 
> Please see attached patch and let me know if this method is
> acceptable. It’s perhaps a little kludgy because sometimes a frame is
> created and sometimes it isn’t so we need both methods of ensuring the
> initial frame is set properly. This does appear to work for all
> scenarios I tested, however.

Thanks, this LGTM.  Please add ChangeLog-style commit log message for
the changes, and I will then push this to the master branch.





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2018-02-10 10:35         ` Eli Zaretskii
@ 2018-02-10 16:56           ` Aaron Jensen
  2018-02-16 15:45             ` Eli Zaretskii
  0 siblings, 1 reply; 16+ messages in thread
From: Aaron Jensen @ 2018-02-10 16:56 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26995

[-- Attachment #1: Type: text/plain, Size: 206 bytes --]

From: Eli Zaretskii (mailto:eliz@gnu.org)
> Thanks, this LGTM. Please add ChangeLog-style commit log message for
> the changes, and I will then push this to the master branch.

Thank you, attached.


Aaron

[-- Attachment #2: 0001-Show-initial-buffer-immediately-upon-frame-creation-.patch --]
[-- Type: application/octet-stream, Size: 5716 bytes --]

From bc8882a33bba37a37af6bfe435ea48b04eab6782 Mon Sep 17 00:00:00 2001
From: Aaron Jensen <aaronjensen@gmail.com>
Date: Sun, 4 Feb 2018 22:52:48 -0800
Subject: [PATCH] Show initial buffer immediately upon frame creation from
 server

* lisp/server.el (server-execute): Accept lambda for creating frame
rather than frame. Ensure newly created tty frame initially shows the
correct buffer.
(server-process-filter): Pass a lambda to server-execute to create
frame.
---
 lisp/server.el | 85 ++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 47 insertions(+), 38 deletions(-)

diff --git a/lisp/server.el b/lisp/server.el
index ac0d701851..f7766a0253 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -1229,28 +1229,29 @@ server-execute-continuation
 		 (or files commands)
 		 (setq use-current-frame t))
 
-	    (setq frame
-		  (cond
-		   ((and use-current-frame
-			 (or (eq use-current-frame 'always)
-			     ;; We can't use the Emacs daemon's
-			     ;; terminal frame.
-			     (not (and (daemonp)
-				       (null (cdr (frame-list)))
-				       (eq (selected-frame)
-					   terminal-frame)))))
-		    (setq tty-name nil tty-type nil)
-		    (if display (server-select-display display)))
-		   ((or (and (eq system-type 'windows-nt)
-			     (daemonp)
-			     (setq display "w32"))
-		        (eq tty-name 'window-system))
-		    (server-create-window-system-frame display nowait proc
-						       parent-id
-						       frame-parameters))
-		   ;; When resuming on a tty, tty-name is nil.
-		   (tty-name
-		    (server-create-tty-frame tty-name tty-type proc))))
+	    (setq create-frame
+                  (lambda ()
+		    (cond
+		     ((and use-current-frame
+			   (or (eq use-current-frame 'always)
+			       ;; We can't use the Emacs daemon's
+			       ;; terminal frame.
+			       (not (and (daemonp)
+				         (null (cdr (frame-list)))
+				         (eq (selected-frame)
+					     terminal-frame)))))
+		      (setq tty-name nil tty-type nil)
+		      (if display (server-select-display display)))
+		     ((or (and (eq system-type 'windows-nt)
+			       (daemonp)
+			       (setq display "w32"))
+		          (eq tty-name 'window-system))
+		      (server-create-window-system-frame display nowait proc
+						    parent-id
+						    frame-parameters))
+		     ;; When resuming on a tty, tty-name is nil.
+		     (tty-name
+		      (server-create-tty-frame tty-name tty-type proc)))))
 
             (process-put
              proc 'continuation
@@ -1262,7 +1263,7 @@ server-execute-continuation
                          (if (and dir (file-directory-p dir))
                              dir default-directory)))
                    (server-execute proc files nowait commands
-                                   dontkill frame tty-name)))))
+                                   dontkill create-frame tty-name)))))
 
             (when (or frame files)
               (server-goto-toplevel proc))
@@ -1271,7 +1272,7 @@ server-execute-continuation
     ;; condition-case
     (error (server-return-error proc err))))
 
-(defun server-execute (proc files nowait commands dontkill frame tty-name)
+(defun server-execute (proc files nowait commands dontkill create-frame tty-name)
   ;; This is run from timers and process-filters, i.e. "asynchronously".
   ;; But w.r.t the user, this is not really asynchronous since the timer
   ;; is run after 0s and the process-filter is run in response to the
@@ -1281,21 +1282,29 @@ server-execute
   ;; including code that needs to wait.
   (with-local-quit
     (condition-case err
-        (let ((buffers (server-visit-files files proc nowait)))
-          (mapc 'funcall (nreverse commands))
+        (let* ((buffers (server-visit-files files proc nowait))
+               ;; If we were told only to open a new client, obey
+               ;; `initial-buffer-choice' if it specifies a file
+               ;; or a function.
+               (initial-buffer (unless (or files commands)
+                                 (let ((buf
+                                        (cond ((stringp initial-buffer-choice)
+                                               (find-file-noselect initial-buffer-choice))
+                                              ((functionp initial-buffer-choice)
+                                               (funcall initial-buffer-choice)))))
+                                   (if (buffer-live-p buf) buf (get-buffer-create "*scratch*")))))
+               ;; Set current buffer so that newly created tty frames
+               ;; show the correct buffer initially.
+               (frame (with-current-buffer (or (car buffers)
+                                               initial-buffer
+                                               (current-buffer))
+                        (prog1
+                            (funcall create-frame)
+                          ;; Switch to initial buffer in case the frame was reused.
+                          (when initial-buffer
+                            (switch-to-buffer initial-buffer 'norecord))))))
 
-	  ;; If we were told only to open a new client, obey
-	  ;; `initial-buffer-choice' if it specifies a file
-          ;; or a function.
-          (unless (or files commands)
-            (let ((buf
-                   (cond ((stringp initial-buffer-choice)
-			  (find-file-noselect initial-buffer-choice))
-			 ((functionp initial-buffer-choice)
-			  (funcall initial-buffer-choice)))))
-	      (switch-to-buffer
-	       (if (buffer-live-p buf) buf (get-buffer-create "*scratch*"))
-	       'norecord)))
+          (mapc 'funcall (nreverse commands))
 
           ;; Delete the client if necessary.
           (cond
-- 
2.15.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2018-02-10 16:56           ` Aaron Jensen
@ 2018-02-16 15:45             ` Eli Zaretskii
  2019-11-01 13:56               ` Eli Zaretskii
  0 siblings, 1 reply; 16+ messages in thread
From: Eli Zaretskii @ 2018-02-16 15:45 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 26995-done

> From: Aaron Jensen <aaronjensen@gmail.com>
> Date: Sat, 10 Feb 2018 08:56:56 -0800
> Cc: 26995@debbugs.gnu.org
> 
> From: Eli Zaretskii (mailto:eliz@gnu.org)
> > Thanks, this LGTM. Please add ChangeLog-style commit log message for
> > the changes, and I will then push this to the master branch.
> 
> Thank you, attached.

Thanks, pushed to the master branch.





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2018-02-16 15:45             ` Eli Zaretskii
@ 2019-11-01 13:56               ` Eli Zaretskii
  2019-11-01 16:27                 ` Aaron Jensen
  2019-11-07 17:15                 ` Eli Zaretskii
  0 siblings, 2 replies; 16+ messages in thread
From: Eli Zaretskii @ 2019-11-01 13:56 UTC (permalink / raw)
  To: aaronjensen; +Cc: 26995

> Date: Fri, 16 Feb 2018 17:45:25 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 26995-done@debbugs.gnu.org
> 
> > From: Aaron Jensen <aaronjensen@gmail.com>
> > Date: Sat, 10 Feb 2018 08:56:56 -0800
> > Cc: 26995@debbugs.gnu.org
> > 
> > From: Eli Zaretskii (mailto:eliz@gnu.org)
> > > Thanks, this LGTM. Please add ChangeLog-style commit log message for
> > > the changes, and I will then push this to the master branch.
> > 
> > Thank you, attached.
> 
> Thanks, pushed to the master branch.

I'm sorry, but based on a year and a half of experience, I'm afraid
I'll have to revert the changeset which fixed this bug.  It fixed a
minor aesthetic annoyance, but caused more serious problems, see bugs
31038, 35726, 37097, and 37826.

I will reopen this bug after reverting the changes.





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2019-11-01 13:56               ` Eli Zaretskii
@ 2019-11-01 16:27                 ` Aaron Jensen
  2019-11-01 17:00                   ` Eli Zaretskii
  2019-11-07 17:15                 ` Eli Zaretskii
  1 sibling, 1 reply; 16+ messages in thread
From: Aaron Jensen @ 2019-11-01 16:27 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26995

On Fri, Nov 1, 2019 at 6:56 AM Eli Zaretskii <eliz@gnu.org> wrote:
> I'm sorry, but based on a year and a half of experience, I'm afraid
> I'll have to revert the changeset which fixed this bug.  It fixed a
> minor aesthetic annoyance, but caused more serious problems, see bugs
> 31038, 35726, 37097, and 37826.
>
> I will reopen this bug after reverting the changes.

Yikes, sorry about that. FWIW, 31038 doesn't look related (or even in
Emacs). Sounds good.





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2019-11-01 16:27                 ` Aaron Jensen
@ 2019-11-01 17:00                   ` Eli Zaretskii
  0 siblings, 0 replies; 16+ messages in thread
From: Eli Zaretskii @ 2019-11-01 17:00 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 26995

> From: Aaron Jensen <aaronjensen@gmail.com>
> Date: Fri, 1 Nov 2019 09:27:02 -0700
> Cc: 26995@debbugs.gnu.org
> 
> On Fri, Nov 1, 2019 at 6:56 AM Eli Zaretskii <eliz@gnu.org> wrote:
> > I'm sorry, but based on a year and a half of experience, I'm afraid
> > I'll have to revert the changeset which fixed this bug.  It fixed a
> > minor aesthetic annoyance, but caused more serious problems, see bugs
> > 31038, 35726, 37097, and 37826.
> >
> > I will reopen this bug after reverting the changes.
> 
> Yikes, sorry about that.

No need to be sorry, the consequences weren't anticipated back then.

> FWIW, 31038 doesn't look related (or even in Emacs).

Sorry, a typo: I meant 31048.





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2019-11-01 13:56               ` Eli Zaretskii
  2019-11-01 16:27                 ` Aaron Jensen
@ 2019-11-07 17:15                 ` Eli Zaretskii
  1 sibling, 0 replies; 16+ messages in thread
From: Eli Zaretskii @ 2019-11-07 17:15 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 26995, aaronjensen

reopen 26995
thanks

> Date: Fri, 01 Nov 2019 15:56:45 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 26995@debbugs.gnu.org
> 
> I'm sorry, but based on a year and a half of experience, I'm afraid
> I'll have to revert the changeset which fixed this bug.  It fixed a
> minor aesthetic annoyance, but caused more serious problems, see bugs
> 31038, 35726, 37097, and 37826.
> 
> I will reopen this bug after reverting the changes.

Done.





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2017-05-19 14:28 bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE Aaron Jensen
  2017-05-19 15:30 ` Eli Zaretskii
@ 2022-04-17 19:50 ` Lars Ingebrigtsen
  2022-04-17 22:55   ` Aaron Jensen
  1 sibling, 1 reply; 16+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-17 19:50 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 26995

Aaron Jensen <aaronjensen@gmail.com> writes:

> emacs -Q
> M-x server-start
> C-x C-f <pick some file with lots of text>
>
> Back in terminal:
>
> emacsclient --tty <some other file with different text>
>
> Expected:
>
> New frame is created in tty and it displays (immediately) the "other" file
> without flashing the file from the other frame.
>
> Actual:
>
> The file from the first frame is displayed briefly before loading the
> "other" file. With my full config, this "brief" display is roughly 2
> seconds. With emacs -Q it's a pretty quick flash.

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

I'm unable to reproduce this with Emacs 29 (on Debian/bookworm).  Are
you still seeing this problem in recent Emacs versions?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2022-04-17 19:50 ` Lars Ingebrigtsen
@ 2022-04-17 22:55   ` Aaron Jensen
  2022-04-18  9:07     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 16+ messages in thread
From: Aaron Jensen @ 2022-04-17 22:55 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 26995

On Sun, Apr 17, 2022 at 3:50 PM Lars Ingebrigtsen <larsi@gnus.org> wrote:
>
> Aaron Jensen <aaronjensen@gmail.com> writes:
>
> > emacs -Q
> > M-x server-start
> > C-x C-f <pick some file with lots of text>
> >
> > Back in terminal:
> >
> > emacsclient --tty <some other file with different text>
> >
> > Expected:
> >
> > New frame is created in tty and it displays (immediately) the "other" file
> > without flashing the file from the other frame.
> >
> > Actual:
> >
> > The file from the first frame is displayed briefly before loading the
> > "other" file. With my full config, this "brief" display is roughly 2
> > seconds. With emacs -Q it's a pretty quick flash.
>
> (I'm going through old bug reports that unfortunately weren't resolved
> at the time.)
>
> I'm unable to reproduce this with Emacs 29 (on Debian/bookworm).  Are
> you still seeing this problem in recent Emacs versions?

Same, please close, and thank you.

Aaron





^ permalink raw reply	[flat|nested] 16+ messages in thread

* bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE
  2022-04-17 22:55   ` Aaron Jensen
@ 2022-04-18  9:07     ` Lars Ingebrigtsen
  0 siblings, 0 replies; 16+ messages in thread
From: Lars Ingebrigtsen @ 2022-04-18  9:07 UTC (permalink / raw)
  To: Aaron Jensen; +Cc: 26995

Aaron Jensen <aaronjensen@gmail.com> writes:

>> I'm unable to reproduce this with Emacs 29 (on Debian/bookworm).  Are
>> you still seeing this problem in recent Emacs versions?
>
> Same, please close, and thank you.

Thanks for checking; closing the report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-04-18  9:07 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-19 14:28 bug#26995: 26.0.50; emacsclient --tty FILE flashes previous frame's buffer before loading FILE Aaron Jensen
2017-05-19 15:30 ` Eli Zaretskii
2017-05-19 15:44   ` Aaron Jensen
2017-05-19 17:27     ` Eli Zaretskii
2018-02-05  6:56       ` Aaron Jensen
2018-02-09 21:06         ` Aaron Jensen
2018-02-10 10:35         ` Eli Zaretskii
2018-02-10 16:56           ` Aaron Jensen
2018-02-16 15:45             ` Eli Zaretskii
2019-11-01 13:56               ` Eli Zaretskii
2019-11-01 16:27                 ` Aaron Jensen
2019-11-01 17:00                   ` Eli Zaretskii
2019-11-07 17:15                 ` Eli Zaretskii
2022-04-17 19:50 ` Lars Ingebrigtsen
2022-04-17 22:55   ` Aaron Jensen
2022-04-18  9:07     ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).