GNU bug report logs - #53662
29.0.50; Cannot use tab-new from side window

Previous Next

Package: emacs;

Reported by: Aaron Jensen <aaronjensen <at> gmail.com>

Date: Mon, 31 Jan 2022 15:26:01 UTC

Severity: normal

Fixed in version 29.0.50

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 53662 in the body.
You can then email your comments to 53662 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#53662; Package emacs. (Mon, 31 Jan 2022 15:26:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Aaron Jensen <aaronjensen <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 31 Jan 2022 15:26:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Aaron Jensen <aaronjensen <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; Cannot use tab-new from side window
Date: Mon, 31 Jan 2022 10:25:10 -0500
If you attempt to tab-bar-new-tab while in a side window you get:

split-window: Cannot split side window or parent of side window

It also deletes other windows and leaves you in a very awkward
side-window-only state.

To repro:

emacs -Q
M-x tab-bar-mode
M-: (display-buffer-in-side-window (get-buffer "*Messages*") '((side . bottom)))
C-x o
M-x tab-new




In GNU Emacs 29.0.50 (build 1, aarch64-apple-darwin21.2.0, NS appkit-2113.20 Version 12.1 (Build 21C52))
 of 2022-01-04 built on aaron-m1.local
Windowing system distributor 'Apple', version 10.3.2113
System Description:  macOS 12.1

Configured using:
 'configure --disable-dependency-tracking --disable-silent-rules
 --enable-locallisppath=/opt/homebrew/share/emacs/site-lisp
 --infodir=/opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/info/emacs
 --prefix=/opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50 --with-xml2
 --with-gnutls --with-native-compilation --without-dbus
 --without-imagemagick --with-modules --with-rsvg --with-ns
 --disable-ns-self-contained 'CFLAGS=-I/opt/homebrew/opt/gcc/include
 -I/opt/homebrew/opt/libgccjit/include -I/opt/homebrew/opt/gmp/include
 -I/opt/homebrew/opt/jpeg/include' 'LDFLAGS=-L/opt/homebrew/lib/gcc/11
 -I/opt/homebrew/opt/gcc/include -I/opt/homebrew/opt/libgccjit/include
 -I/opt/homebrew/opt/gmp/include -I/opt/homebrew/opt/jpeg/include''

Configured features:
ACL GIF GLIB GMP GNUTLS JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP
NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS XIM ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: ELisp/l

Minor modes in effect:
  bug-reference-prog-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  pdf-occur-global-minor-mode: t
  global-git-commit-mode: t
  transient-posframe-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  global-auto-revert-mode: t
  projectile-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  which-key-posframe-mode: t
  which-key-mode: t
  winner-mode: t
  org-roam-db-autosync-mode: t
  form-feed-mode: t
  company-posframe-mode: t
  company-prescient-mode: t
  company-tng-mode: t
  company-mode: t
  eval-sexp-fu-flash-mode: t
  eros-mode: t
  lispyville-mode: t
  lispy-mode: t
  elisp-def-mode: t
  sotlisp-mode: t
  speed-of-thought-mode: t
  evil-vimish-fold-mode: t
  vimish-fold-mode: t
  dtrt-indent-mode: t
  electric-pair-mode: t
  recentf-mode: t
  better-jumper-mode: t
  better-jumper-local-mode: t
  repeat-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-evil-collection-unimpaired-mode: t
  evil-collection-unimpaired-mode: t
  global-evil-mc-mode: t
  evil-mc-mode: t
  evil-snipe-override-mode: t
  evil-snipe-mode: t
  evil-snipe-override-local-mode: t
  evil-snipe-local-mode: t
  global-evil-matchit-mode: t
  evil-matchit-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  shell-dirtrack-mode: t
  evil-mode: t
  evil-local-mode: t
  windmove-mode: t
  gcmh-mode: t
  mini-frame-mode: t
  vertico-mouse-mode: t
  vertico-mode: t
  prescient-persist-mode: t
  +popup-mode: t
  ws-butler-global-mode: t
  ws-butler-mode: t
  save-place-mode: t
  ns-auto-titlebar-mode: t
  nano-modeline-mode: t
  envrc-global-mode: t
  envrc-mode: t
  leader-key-leader-override-mode: t
  global-leader-key-leader-override-mode: t
  delete-selection-mode: t
  savehist-mode: t
  pixel-scroll-precision-mode: t
  xterm-mouse-mode: t
  override-global-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  window-divider-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  auto-fill-function: yas--auto-fill
  transient-mark-mode: t
  abbrev-mode: t

Load-path shadows:
/Users/aaronjensen/.emacs.d/straight/build/ivy/elpa hides /Users/aaronjensen/.emacs.d/straight/build/lispy/elpa
/Users/aaronjensen/.emacs.d/straight/build/transient/transient hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/transient
/Users/aaronjensen/.emacs.d/straight/build/org/ob-exp hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-exp
/Users/aaronjensen/.emacs.d/straight/build/org/ob-emacs-lisp hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-emacs-lisp
/Users/aaronjensen/.emacs.d/straight/build/org/oc hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/oc
/Users/aaronjensen/.emacs.d/straight/build/org/ob-css hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-css
/Users/aaronjensen/.emacs.d/straight/build/org/ob-lob hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-lob
/Users/aaronjensen/.emacs.d/straight/build/org/ol-irc hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-irc
/Users/aaronjensen/.emacs.d/straight/build/org/ob-forth hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-forth
/Users/aaronjensen/.emacs.d/straight/build/org/org-macs hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-macs
/Users/aaronjensen/.emacs.d/straight/build/org/ob hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob
/Users/aaronjensen/.emacs.d/straight/build/org/org-version hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-version
/Users/aaronjensen/.emacs.d/straight/build/org/ob-scheme hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-scheme
/Users/aaronjensen/.emacs.d/straight/build/org/ox hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox
/Users/aaronjensen/.emacs.d/straight/build/org/ob-C hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-C
/Users/aaronjensen/.emacs.d/straight/build/org/org-capture hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-capture
/Users/aaronjensen/.emacs.d/straight/build/org/ob-ref hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-ref
/Users/aaronjensen/.emacs.d/straight/build/org/ob-clojure hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-clojure
/Users/aaronjensen/.emacs.d/straight/build/org/org-mouse hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-mouse
/Users/aaronjensen/.emacs.d/straight/build/org/org-ctags hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-ctags
/Users/aaronjensen/.emacs.d/straight/build/org/org-entities hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-entities
/Users/aaronjensen/.emacs.d/straight/build/org/org-archive hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-archive
/Users/aaronjensen/.emacs.d/straight/build/org/ob-screen hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-screen
/Users/aaronjensen/.emacs.d/straight/build/org/ol-bibtex hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-bibtex
/Users/aaronjensen/.emacs.d/straight/build/org/ob-haskell hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-haskell
/Users/aaronjensen/.emacs.d/straight/build/org/org-table hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-table
/Users/aaronjensen/.emacs.d/straight/build/org/ol-eww hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-eww
/Users/aaronjensen/.emacs.d/straight/build/org/ol-man hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-man
/Users/aaronjensen/.emacs.d/straight/build/org/ox-org hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox-org
/Users/aaronjensen/.emacs.d/straight/build/org/org-num hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-num
/Users/aaronjensen/.emacs.d/straight/build/org/org-plot hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-plot
/Users/aaronjensen/.emacs.d/straight/build/org/ol-rmail hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-rmail
/Users/aaronjensen/.emacs.d/straight/build/org/ob-awk hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-awk
/Users/aaronjensen/.emacs.d/straight/build/org/ob-groovy hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-groovy
/Users/aaronjensen/.emacs.d/straight/build/org/ob-octave hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-octave
/Users/aaronjensen/.emacs.d/straight/build/org/org-faces hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-faces
/Users/aaronjensen/.emacs.d/straight/build/org/oc-biblatex hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/oc-biblatex
/Users/aaronjensen/.emacs.d/straight/build/org/org-colview hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-colview
/Users/aaronjensen/.emacs.d/straight/build/org/ob-R hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-R
/Users/aaronjensen/.emacs.d/straight/build/org/org-refile hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-refile
/Users/aaronjensen/.emacs.d/straight/build/org/org-timer hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-timer
/Users/aaronjensen/.emacs.d/straight/build/org/org-mobile hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-mobile
/Users/aaronjensen/.emacs.d/straight/build/org/ob-fortran hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-fortran
/Users/aaronjensen/.emacs.d/straight/build/org/ob-shell hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-shell
/Users/aaronjensen/.emacs.d/straight/build/org/ob-perl hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-perl
/Users/aaronjensen/.emacs.d/straight/build/org/ob-sqlite hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-sqlite
/Users/aaronjensen/.emacs.d/straight/build/org/oc-basic hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/oc-basic
/Users/aaronjensen/.emacs.d/straight/build/org/ob-sed hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-sed
/Users/aaronjensen/.emacs.d/straight/build/org/org-list hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-list
/Users/aaronjensen/.emacs.d/straight/build/org/ob-ruby hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-ruby
/Users/aaronjensen/.emacs.d/straight/build/org/ob-eval hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-eval
/Users/aaronjensen/.emacs.d/straight/build/org/org-habit hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-habit
/Users/aaronjensen/.emacs.d/straight/build/org/org-clock hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-clock
/Users/aaronjensen/.emacs.d/straight/build/org/org-goto hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-goto
/Users/aaronjensen/.emacs.d/straight/build/org/ox-html hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox-html
/Users/aaronjensen/.emacs.d/straight/build/org/org-src hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-src
/Users/aaronjensen/.emacs.d/straight/build/org/ob-lisp hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-lisp
/Users/aaronjensen/.emacs.d/straight/build/org/ol-eshell hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-eshell
/Users/aaronjensen/.emacs.d/straight/build/org/ob-ditaa hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-ditaa
/Users/aaronjensen/.emacs.d/straight/build/org/org-pcomplete hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-pcomplete
/Users/aaronjensen/.emacs.d/straight/build/org/org-lint hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-lint
/Users/aaronjensen/.emacs.d/straight/build/org/ox-latex hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox-latex
/Users/aaronjensen/.emacs.d/straight/build/org/ob-sass hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-sass
/Users/aaronjensen/.emacs.d/straight/build/org/ob-tangle hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-tangle
/Users/aaronjensen/.emacs.d/straight/build/org/ob-calc hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-calc
/Users/aaronjensen/.emacs.d/straight/build/org/ob-java hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-java
/Users/aaronjensen/.emacs.d/straight/build/org/ox-icalendar hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox-icalendar
/Users/aaronjensen/.emacs.d/straight/build/org/ol-mhe hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-mhe
/Users/aaronjensen/.emacs.d/straight/build/org/org-attach-git hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-attach-git
/Users/aaronjensen/.emacs.d/straight/build/org/ox-md hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox-md
/Users/aaronjensen/.emacs.d/straight/build/org/ox-beamer hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox-beamer
/Users/aaronjensen/.emacs.d/straight/build/org/org-element hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-element
/Users/aaronjensen/.emacs.d/straight/build/org/oc-natbib hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/oc-natbib
/Users/aaronjensen/.emacs.d/straight/build/org/org-protocol hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-protocol
/Users/aaronjensen/.emacs.d/straight/build/org/ob-gnuplot hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-gnuplot
/Users/aaronjensen/.emacs.d/straight/build/org/org-tempo hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-tempo
/Users/aaronjensen/.emacs.d/straight/build/org/ob-latex hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-latex
/Users/aaronjensen/.emacs.d/straight/build/org/ol-w3m hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-w3m
/Users/aaronjensen/.emacs.d/straight/build/org/org-id hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-id
/Users/aaronjensen/.emacs.d/straight/build/org/ox-man hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox-man
/Users/aaronjensen/.emacs.d/straight/build/org/ol-doi hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-doi
/Users/aaronjensen/.emacs.d/straight/build/org/org-feed hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-feed
/Users/aaronjensen/.emacs.d/straight/build/org/ob-julia hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-julia
/Users/aaronjensen/.emacs.d/straight/build/org/ob-lua hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-lua
/Users/aaronjensen/.emacs.d/straight/build/org/ob-table hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-table
/Users/aaronjensen/.emacs.d/straight/build/org/ob-ocaml hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-ocaml
/Users/aaronjensen/.emacs.d/straight/build/org/oc-csl hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/oc-csl
/Users/aaronjensen/.emacs.d/straight/build/org/ol-gnus hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-gnus
/Users/aaronjensen/.emacs.d/straight/build/org/org-indent hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-indent
/Users/aaronjensen/.emacs.d/straight/build/org/ob-lilypond hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-lilypond
/Users/aaronjensen/.emacs.d/straight/build/org/ob-matlab hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-matlab
/Users/aaronjensen/.emacs.d/straight/build/org/org-datetree hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-datetree
/Users/aaronjensen/.emacs.d/straight/build/org/ol-docview hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-docview
/Users/aaronjensen/.emacs.d/straight/build/org/ob-python hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-python
/Users/aaronjensen/.emacs.d/straight/build/org/ob-makefile hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-makefile
/Users/aaronjensen/.emacs.d/straight/build/org/org-duration hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-duration
/Users/aaronjensen/.emacs.d/straight/build/org/org-agenda hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-agenda
/Users/aaronjensen/.emacs.d/straight/build/org/ob-dot hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-dot
/Users/aaronjensen/.emacs.d/straight/build/org/ob-js hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-js
/Users/aaronjensen/.emacs.d/straight/build/org/ox-publish hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox-publish
/Users/aaronjensen/.emacs.d/straight/build/org/org-inlinetask hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-inlinetask
/Users/aaronjensen/.emacs.d/straight/build/org/ob-org hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-org
/Users/aaronjensen/.emacs.d/straight/build/org/org-keys hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-keys
/Users/aaronjensen/.emacs.d/straight/build/org/ob-core hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-core
/Users/aaronjensen/.emacs.d/straight/build/org/org-compat hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-compat
/Users/aaronjensen/.emacs.d/straight/build/org/ol hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol
/Users/aaronjensen/.emacs.d/straight/build/org/ox-odt hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox-odt
/Users/aaronjensen/.emacs.d/straight/build/org/ol-info hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-info
/Users/aaronjensen/.emacs.d/straight/build/org/ob-plantuml hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-plantuml
/Users/aaronjensen/.emacs.d/straight/build/org/ob-eshell hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-eshell
/Users/aaronjensen/.emacs.d/straight/build/org/ox-ascii hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox-ascii
/Users/aaronjensen/.emacs.d/straight/build/org/org-loaddefs hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-loaddefs
/Users/aaronjensen/.emacs.d/straight/build/org/ox-koma-letter hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox-koma-letter
/Users/aaronjensen/.emacs.d/straight/build/org/ob-maxima hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-maxima
/Users/aaronjensen/.emacs.d/straight/build/org/org hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org
/Users/aaronjensen/.emacs.d/straight/build/org/ol-bbdb hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ol-bbdb
/Users/aaronjensen/.emacs.d/straight/build/org/org-macro hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-macro
/Users/aaronjensen/.emacs.d/straight/build/org/ob-sql hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-sql
/Users/aaronjensen/.emacs.d/straight/build/org/org-attach hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-attach
/Users/aaronjensen/.emacs.d/straight/build/org/ob-processing hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-processing
/Users/aaronjensen/.emacs.d/straight/build/org/ox-texinfo hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ox-texinfo
/Users/aaronjensen/.emacs.d/straight/build/org/org-crypt hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-crypt
/Users/aaronjensen/.emacs.d/straight/build/org/org-footnote hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-footnote
/Users/aaronjensen/.emacs.d/straight/build/org/org-install hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/org-install
/Users/aaronjensen/.emacs.d/straight/build/org/ob-comint hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/org/ob-comint
/Users/aaronjensen/.emacs.d/straight/build/let-alist/let-alist hides /opt/homebrew/Cellar/emacs-plus <at> 29/29.0.50/share/emacs/29.0.50/lisp/emacs-lisp/let-alist

Features:
(shadow mail-extr emacsbug sendmail treemacs-tab-bar treemacs-hydras
hippie-exp view org-journal org-crypt cal-iso cl-print whitespace
shortdoc tramp-cmds tramp-cache prettier tramp tramp-loaddefs trampver
tramp-integration files-x tramp-compat ls-lisp nvm iter2 markdown-mode
goto-addr dumb-jump popup semantic/ia semantic/analyze/refs
semantic/db-find semantic/db-ref semantic/senator semantic/decorate
semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn
semantic/db eieio-base semantic/ctxt semantic/format semantic/tag-ls
semantic/find vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc
bug-reference restart-emacs desktop frameset magit-delta deft executable
evil-terminal-cursor-changer flycheck ace-window buffer-move rotate
embark-consult embark ffap consult-xref consult-vertico consult
vertico-repeat evil-collection-pdf pdf-occur tablist tablist-filter
semantic/wisent/comp semantic/wisent semantic/wisent/wisent
semantic/util-modes semantic/util semantic semantic/tag cedet
pdf-isearch let-alist pdf-misc pdf-loader pdf-tools pdf-view
magit-bookmark treemacs-bookmarks bookmark pdf-cache pdf-info tq
pdf-util pdf-macs titlecase titlecase-data wgrep sort drag-stuff
speeddating evil-nerd-commenter evil-nerd-commenter-operator
evil-nerd-commenter-sdk sgml-mode facemenu evil-visualstar
evil-collection-magit treemacs-magit magit-submodule magit-obsolete
magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull
magit-fetch magit-clone magit-remote magit-commit magit-sequence
magit-notes magit-worktree magit-tag magit-merge magit-branch
magit-reset magit-files magit-refs magit-status magit package
url-handlers magit-repos magit-apply magit-wip magit-log which-func
magit-diff smerge-mode git-commit log-edit pcvs-util add-log magit-core
magit-autorevert magit-margin magit-transient magit-process with-editor
magit-mode transient-posframe transient magit-git magit-utils crm
org-eldoc org-appear orgonomic org-indent org-superstar oc-basic ol-eww
eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect
gnus-search eieio-opt speedbar ezimage dframe gnus-art mm-uu mml2015
mm-view mml-smime smime dig gnus-sum shr pixel-fill kinsoku svg dom
browse-url gnus-group gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud
nnimap nnmail mail-source utf7 netrc nnoo parse-time gnus-spec gnus-int
gnus-range message yank-media rfc822 mml mml-sec epa epg rfc6068
epg-config mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader
gnus-win gnus nnheader gnus-util mail-utils ol-docview doc-view
jka-compr image-mode exif ol-bibtex bibtex iso8601 ol-bbdb ol-w3m ol-doi
org-link-doi treemacs-projectile treemacs-evil treemacs-all-the-icons
all-the-icons all-the-icons-faces data-material data-weathericons
data-octicons data-fileicons data-faicons data-alltheicons treemacs
treemacs-header-line treemacs-compatibility treemacs-mode
treemacs-interface treemacs-extensions treemacs-mouse-interface
treemacs-tags treemacs-persistence treemacs-filewatch-mode
treemacs-follow-mode treemacs-rendering treemacs-async
treemacs-workspaces treemacs-dom treemacs-visuals hide-mode-line
popup-mode-core treemacs-fringe-indicator treemacs-scope pulse
treemacs-faces treemacs-icons treemacs-themes treemacs-core-utils
pfuture inline hl-line ht treemacs-logging treemacs-customization
treemacs-macros autorevert filenotify projectile grep compile
text-property-search ibuf-ext evil-collection-ibuffer ibuffer
ibuffer-loaddefs dired-aux rainbow-mode color xterm-color vc-git
diff-mode vc-dispatcher 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 org-agenda ox-ascii ox-gfm ox-md ox-html table
ox-publish ox org-download org-attach async vulpea vulpea-meta
vulpea-select vulpea-buffer vulpea-db vulpea-utils vulpea-note yasnippet
popup-mode-hacks evil-collection-which-key which-key-posframe which-key
winner org-roam-migrate org-roam-mode org-roam-capture org-roam-node
org-roam-db org-roam-utils org-roam-compat org-roam org-mac-link
org-capture org-tempo tempo evil-org-agenda evil-org org-element
org-persist xdg org-id org-refile avl-tree ob-shell org ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint
org-pcomplete org-list org-faces org-entities time-date org-version
ob-emacs-lisp ob-core ob-eval org-table ol org-keys oc org-compat
org-macs org-loaddefs format-spec cal-menu calendar cal-loaddefs
emacsql-sqlite emacsql emacsql-compiler magit-section form-feed
company-files company-capf company-posframe posframe company-prescient
company-tng company eval-sexp-fu eros lispyville lispy hydra lv pcase
lispy-inline avy noutline outline etags fileloop generator lispy-tags
elisp-def ert ewoc evil-collection-debug debug evil-collection-xref xref
project sotlisp skeleton evil-vimish-fold vimish-fold dtrt-indent
elec-pair vertico-directory evil-collection-helpful helpful imenu trace
evil-collection-edebug edebug backtrace info-look f help-fns elisp-refs
s dired-subtree dired-hacks-utils evil-collection-dired dired
dired-loaddefs dash evil-collection-profiler profiler url-http url
url-proxy url-privacy url-expand url-methods url-history mailcap
url-auth url-cookie url-domsuf url-util cursor-sensor url-gw url-parse
auth-source password-cache url-vars nsm rmc puny recentf tree-widget
better-jumper repeat undo-tree diff queue evil-collection-unimpaired
evil-collection-help evil-collection-custom evil-collection-process-menu
evil-collection annalist 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 evil-numbers evil-snipe evil-matchit evil-matchit-sdk
semantic/lex semantic/fw eieio eieio-core eieio-loaddefs mode-local
find-func evil-surround cus-edit pp cus-start cus-load wid-edit evil
evil-integration evil-maps evil-commands reveal flyspell ispell
evil-jumps evil-command-window evil-search evil-ex shell pcomplete
comint evil-types evil-macros evil-repeat evil-states evil-core advice
evil-common windmove calc calc-loaddefs calc-macs thingatpt rect
evil-digraphs evil-vars gcmh server gcmh-autoloads
explain-pause-mode-autoloads pdf-tools-autoloads tablist-autoloads
restclient-autoloads vterm-toggle-autoloads vterm-autoloads
dumb-jump-autoloads popup-autoloads emmet-mode-autoloads
terraform-mode-autoloads hcl-mode-autoloads dockerfile-mode-autoloads
yaml-mode-autoloads json-snatcher-autoloads lua-mode-autoloads
ruby-electric-autoloads bundler-autoloads inf-ruby-autoloads
ruby-refactor-autoloads rspec-mode-autoloads
evil-ruby-text-objects-autoloads enh-ruby-mode-autoloads
sotlisp-autoloads elisp-def-autoloads lispyville-autoloads
lispy-autoloads zoutline-autoloads swiper-autoloads ivy-autoloads
iedit-autoloads eros-autoloads eval-sexp-fu-autoloads
eslintd-fix-autoloads web-mode-autoloads typescript-mode-autoloads
company-rg-autoloads company-posframe-autoloads
company-prescient-autoloads company-autoloads git-link-autoloads
git-timemachine-autoloads magit-delta-autoloads xterm-color-autoloads
prettier-autoloads nvm-autoloads iter2-autoloads flycheck-autoloads
let-alist-autoloads pkg-info-autoloads epl-autoloads
tree-sitter-langs-autoloads tree-sitter-autoloads tsc-autoloads
lsp-ui-autoloads lsp-mode-autoloads markdown-mode-autoloads
spinner-autoloads org-superstar-autoloads ox-gfm-autoloads
org-pandoc-import-autoloads gnuplot-autoloads org-download-autoloads
async-autoloads org-journal-autoloads deft-autoloads vulpea-autoloads
org-roam-autoloads emacsql-sqlite-autoloads emacsql-autoloads
orgonomic-autoloads org-drill-autoloads persist-autoloads
org-appear-autoloads org-contrib-autoloads evil-org-autoloads
evil-terminal-cursor-changer-autoloads transient-posframe-autoloads
restart-emacs-autoloads better-jumper-autoloads buffer-move-autoloads
rotate-autoloads mini-frame mini-frame-autoloads
embark-consult-autoloads embark-autoloads consult-autoloads orderless
orderless-autoloads vertico-mouse vertico vertico-autoloads prescient
prescient-autoloads which-key-posframe-autoloads which-key-autoloads
popup-mode popup-mode-settings popup-mode-autoloads
hide-mode-line-autoloads titlecase-autoloads wgrep-autoloads
yasnippet-autoloads form-feed-autoloads drag-stuff-autoloads
dtrt-indent-autoloads ws-butler ws-butler-autoloads
evil-vimish-fold-autoloads vimish-fold-autoloads
evil-collection-autoloads annalist-autoloads evil-mc-autoloads
evil-numbers-autoloads speeddating-autoloads evil-snipe-autoloads
evil-matchit-autoloads evil-nerd-commenter-autoloads
evil-visualstar-autoloads evil-surround-autoloads undo-tree-autoloads
queue-autoloads treemacs-magit-autoloads magit-autoloads
magit-section-autoloads git-commit-autoloads with-editor-autoloads
transient-autoloads treemacs-all-the-icons-autoloads
all-the-icons-autoloads treemacs-projectile-autoloads
treemacs-evil-autoloads evil-autoloads goto-chg-autoloads
treemacs-autoloads comp comp-cstr warnings rx autoload radix-tree
lisp-mnt mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr cfrs-autoloads ht-autoloads pfuture-autoloads
ace-window-autoloads avy-autoloads projectile-autoloads saveplace
rainbow-mode-autoloads posframe-autoloads ns-auto-titlebar
ns-auto-titlebar-autoloads nano-modeline memoize nano-modeline-autoloads
memoize-autoloads nano-light-theme face-remap nano-theme disp-table
nano-theme-autoloads envrc inheritenv ansi-color json map
envrc-autoloads inheritenv-autoloads compdef derived compdef-autoloads
edmacro kmacro helpful-autoloads elisp-refs-autoloads f-autoloads
s-autoloads dired-subtree-autoloads dired-hacks-utils-autoloads
dash-autoloads hydra-autoloads lv-autoloads leader-key bind-map
leader-key-autoloads bind-map-autoloads delsel savehist pixel-scroll
ring xt-mouse no-littering no-littering-autoloads finder-inf bind-key
easy-mmode compat-autoloads compat compat-28.1 compat-27.1 compat-26.1
compat-25.1 compat-24.4 use-package-autoloads bind-key-autoloads
straight-autoloads info cl-seq cl-extra help-mode seq byte-opt straight
subr-x cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cconv
display-line-numbers iso-transl tooltip eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode 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 lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer 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 emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice
button loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads kqueue cocoa ns lcms2
multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 1064583 719137)
 (symbols 48 63691 119)
 (strings 32 258037 142979)
 (string-bytes 1 9598074)
 (vectors 16 125307)
 (vector-slots 8 3021024 1342733)
 (floats 8 2078 6432)
 (intervals 56 28233 2804)
 (buffers 992 40))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#53662; Package emacs. (Mon, 31 Jan 2022 18:39:02 GMT) Full text and rfc822 format available.

Message #8 received at 53662 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 53662 <at> debbugs.gnu.org, Aaron Jensen <aaronjensen <at> gmail.com>
Subject: Re: bug#53662: 29.0.50; Cannot use tab-new from side window
Date: Mon, 31 Jan 2022 20:15:29 +0200
> If you attempt to tab-bar-new-tab while in a side window you get:
>
> split-window: Cannot split side window or parent of side window
>
> It also deletes other windows and leaves you in a very awkward
> side-window-only state.
>
> To repro:
>
> emacs -Q
> M-x tab-bar-mode
> M-: (display-buffer-in-side-window (get-buffer "*Messages*") '((side . bottom)))
> C-x o
> M-x tab-new

Thanks for the bug report.

Martin, could you suggest how to ignore window-sideness
while splitting the side window?  'tab-bar-new-tab-to'
currently uses such trick to create a new window:

      (let ((ignore-window-parameters t))
        (delete-other-windows))
      (unless (eq tab-bar-new-tab-choice 'window)
        ;; Create a new window to get rid of old window parameters
        ;; (e.g. prev/next buffers) of old window.
        (split-window) (delete-window))

but this fails in side windows.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#53662; Package emacs. (Tue, 01 Feb 2022 08:11:01 GMT) Full text and rfc822 format available.

Message #11 received at 53662 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Juri Linkov <juri <at> linkov.net>
Cc: 53662 <at> debbugs.gnu.org, Aaron Jensen <aaronjensen <at> gmail.com>
Subject: Re: bug#53662: 29.0.50; Cannot use tab-new from side window
Date: Tue, 1 Feb 2022 09:09:54 +0100
> Martin, could you suggest how to ignore window-sideness
> while splitting the side window?  'tab-bar-new-tab-to'
> currently uses such trick to create a new window:
>
>        (let ((ignore-window-parameters t))
>          (delete-other-windows))

Usually, you can't make a side window the only window on its frame - the
main window has to stay.  If you ignore window parameters, you have to
clean the state of windows yourself afterwards - for example, by giving
the sole remaining window a 'window-side' parameter of nil.  If you do
not do that, the windows state of the frame is broken already before you
try splitting the window below.

>        (unless (eq tab-bar-new-tab-choice 'window)
>          ;; Create a new window to get rid of old window parameters
>          ;; (e.g. prev/next buffers) of old window.
>          (split-window) (delete-window))
>
> but this fails in side windows.

This is a hack and would fail in the case at hand since 'split-window'
would set the 'window-side' parameter for the new window.  I'd rather
set all parameters of the selected window to nil instead.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#53662; Package emacs. (Tue, 01 Feb 2022 19:45:02 GMT) Full text and rfc822 format available.

Message #14 received at 53662 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 53662 <at> debbugs.gnu.org, Aaron Jensen <aaronjensen <at> gmail.com>
Subject: Re: bug#53662: 29.0.50; Cannot use tab-new from side window
Date: Tue, 01 Feb 2022 21:31:56 +0200
[Message part 1 (text/plain, inline)]
>> Martin, could you suggest how to ignore window-sideness
>> while splitting the side window?  'tab-bar-new-tab-to'
>> currently uses such trick to create a new window:
>>
>>        (let ((ignore-window-parameters t))
>>          (delete-other-windows))
>
> Usually, you can't make a side window the only window on its frame - the
> main window has to stay.  If you ignore window parameters, you have to
> clean the state of windows yourself afterwards - for example, by giving
> the sole remaining window a 'window-side' parameter of nil.  If you do
> not do that, the windows state of the frame is broken already before you
> try splitting the window below.
>
>>        (unless (eq tab-bar-new-tab-choice 'window)
>>          ;; Create a new window to get rid of old window parameters
>>          ;; (e.g. prev/next buffers) of old window.
>>          (split-window) (delete-window))
>>
>> but this fails in side windows.
>
> This is a hack and would fail in the case at hand since 'split-window'
> would set the 'window-side' parameter for the new window.  I'd rather
> set all parameters of the selected window to nil instead.

Thanks, I confirm this fixes the problem with this patch.
Also ‘split-window’ and ‘delete-window’ were moved
inside ‘(ignore-window-parameters t)’ for more safety:

[tab-new-window-parameters.patch (text/x-diff, inline)]
diff --git a/lisp/tab-bar.el b/lisp/tab-bar.el
index 06ad8f60af..43a56c806b 100644
--- a/lisp/tab-bar.el
+++ b/lisp/tab-bar.el
@@ -1361,12 +1361,17 @@ tab-bar-new-tab-to
       ;; Handle the case when it's called in the active minibuffer.
       (when (minibuffer-selected-window)
         (select-window (minibuffer-selected-window)))
+      ;; Remove all window parameters to prevent the case
+      ;; when e.g. `window-side' gets in the way.
+      (dolist (parameter (window-parameters))
+        (set-window-parameter nil (car parameter) nil))
       (let ((ignore-window-parameters t))
-        (delete-other-windows))
-      (unless (eq tab-bar-new-tab-choice 'window)
-        ;; Create a new window to get rid of old window parameters
-        ;; (e.g. prev/next buffers) of old window.
-        (split-window) (delete-window))
+        (delete-other-windows)
+        (unless (eq tab-bar-new-tab-choice 'window)
+          ;; Create a new window to get rid of old window parameters
+          ;; (e.g. prev/next buffers) of old window.
+          (split-window) (delete-window)))
+
       (let ((buffer
              (if (functionp tab-bar-new-tab-choice)
                  (funcall tab-bar-new-tab-choice)

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#53662; Package emacs. (Wed, 02 Feb 2022 07:48:01 GMT) Full text and rfc822 format available.

Message #17 received at 53662 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Juri Linkov <juri <at> linkov.net>
Cc: 53662 <at> debbugs.gnu.org, Aaron Jensen <aaronjensen <at> gmail.com>
Subject: Re: bug#53662: 29.0.50; Cannot use tab-new from side window
Date: Wed, 2 Feb 2022 08:47:18 +0100
Two caveats:

+      (dolist (parameter (window-parameters))
+        (set-window-parameter nil (car parameter) nil))

Maybe you should remove the 'window-side' and the 'window-atom'
parameters only - users can assign arbitrary parameters to windows.

+        (unless (eq tab-bar-new-tab-choice 'window)
+          ;; Create a new window to get rid of old window parameters
+          ;; (e.g. prev/next buffers) of old window.
+          (split-window) (delete-window)))

Note that this will lose other settings as well like the window's
dedicated status.  If this is the intended behavior, you should at least
tell so in the doc-string.

martin




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#53662; Package emacs. (Wed, 02 Feb 2022 19:54:02 GMT) Full text and rfc822 format available.

Message #20 received at 53662 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 53662 <at> debbugs.gnu.org, Aaron Jensen <aaronjensen <at> gmail.com>
Subject: Re: bug#53662: 29.0.50; Cannot use tab-new from side window
Date: Wed, 02 Feb 2022 21:37:09 +0200
[Message part 1 (text/plain, inline)]
> Two caveats:
>
> +      (dolist (parameter (window-parameters))
> +        (set-window-parameter nil (car parameter) nil))
>
> Maybe you should remove the 'window-side' and the 'window-atom'
> parameters only - users can assign arbitrary parameters to windows.

If other window parameters are harmless, then only these two could be
removed.

> +        (unless (eq tab-bar-new-tab-choice 'window)
> +          ;; Create a new window to get rid of old window parameters
> +          ;; (e.g. prev/next buffers) of old window.
> +          (split-window) (delete-window)))
>
> Note that this will lose other settings as well like the window's
> dedicated status.  If this is the intended behavior, you should at least
> tell so in the doc-string.

If you mean the case when tab-bar-new-tab-choice is 'window',
then it will lose only 'window-atom' and 'window-side', because
the value 'window' is intended to keep a single window on the tab.

In other cases at this point, all windows were already saved to
window-configuration, so this window is disposable and can be modified
before immediately deleting it.  After saving windows to
window-configuration, the task here is just to create a new window.

So now a new patch with the updated doc-string:

[tab-new-window-side.patch (text/x-diff, inline)]
diff --git a/lisp/tab-bar.el b/lisp/tab-bar.el
index 06ad8f60af..e611711092 100644
--- a/lisp/tab-bar.el
+++ b/lisp/tab-bar.el
@@ -474,6 +474,9 @@ tab-bar-new-tab-choice
 If t, start a new tab with the current buffer, i.e. the buffer
 that was current before calling the command that adds a new tab
 (this is the same what `make-frame' does by default).
+If the value is the symbol `window', then keep the selected
+window as a single window on the new tab, and keep all its
+window parameters except 'window-atom' and 'window-side'.
 If the value is a string, use it as a buffer name to switch to
 if such buffer exists, or switch to a buffer visiting the file or
 directory that the string specifies.  If the value is a function,
@@ -481,6 +484,7 @@ tab-bar-new-tab-choice
 If nil, duplicate the contents of the tab that was active
 before calling the command that adds a new tab."
   :type '(choice (const     :tag "Current buffer" t)
+                 (const     :tag "Current window" window)
                  (string    :tag "Buffer" "*scratch*")
                  (directory :tag "Directory" :value "~/")
                  (file      :tag "File" :value "~/.emacs")
@@ -1361,12 +1365,17 @@ tab-bar-new-tab-to
       ;; Handle the case when it's called in the active minibuffer.
       (when (minibuffer-selected-window)
         (select-window (minibuffer-selected-window)))
+      ;; Remove window parameters that can cause problems
+      ;; with `delete-other-windows' and `split-window'.
+      (set-window-parameter nil 'window-atom nil)
+      (set-window-parameter nil 'window-side nil)
       (let ((ignore-window-parameters t))
-        (delete-other-windows))
-      (unless (eq tab-bar-new-tab-choice 'window)
-        ;; Create a new window to get rid of old window parameters
-        ;; (e.g. prev/next buffers) of old window.
-        (split-window) (delete-window))
+        (delete-other-windows)
+        (unless (eq tab-bar-new-tab-choice 'window)
+          ;; Create a new window to get rid of old window parameters
+          ;; (e.g. prev/next buffers) of old window.
+          (split-window) (delete-window)))
+
       (let ((buffer
              (if (functionp tab-bar-new-tab-choice)
                  (funcall tab-bar-new-tab-choice)

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#53662; Package emacs. (Sun, 06 Feb 2022 18:01:01 GMT) Full text and rfc822 format available.

Message #23 received at 53662 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 53662 <at> debbugs.gnu.org, Aaron Jensen <aaronjensen <at> gmail.com>
Subject: Re: bug#53662: 29.0.50; Cannot use tab-new from side window
Date: Sun, 06 Feb 2022 19:55:17 +0200
close 53662 29.0.50
thanks

>> Maybe you should remove the 'window-side' and the 'window-atom'
>> parameters only - users can assign arbitrary parameters to windows.
>
> If other window parameters are harmless, then only these two could be
> removed.

> So now a new patch with the updated doc-string:

Now this is pushed to master and closed.




bug marked as fixed in version 29.0.50, send any further explanations to 53662 <at> debbugs.gnu.org and Aaron Jensen <aaronjensen <at> gmail.com> Request was from Juri Linkov <juri <at> linkov.net> to control <at> debbugs.gnu.org. (Sun, 06 Feb 2022 18:01:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#53662; Package emacs. (Sun, 06 Feb 2022 19:04:01 GMT) Full text and rfc822 format available.

Message #28 received at 53662 <at> debbugs.gnu.org (full text, mbox):

From: Aaron Jensen <aaronjensen <at> gmail.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: martin rudalics <rudalics <at> gmx.at>, 53662 <at> debbugs.gnu.org
Subject: Re: bug#53662: 29.0.50; Cannot use tab-new from side window
Date: Sun, 6 Feb 2022 14:03:34 -0500
On Sun, Feb 6, 2022 at 1:00 PM Juri Linkov <juri <at> linkov.net> wrote:
>
> close 53662 29.0.50
> thanks
>
> >> Maybe you should remove the 'window-side' and the 'window-atom'
> >> parameters only - users can assign arbitrary parameters to windows.
> >
> > If other window parameters are harmless, then only these two could be
> > removed.
>
> > So now a new patch with the updated doc-string:
>
> Now this is pushed to master and closed.

Thank you for the quick fix. I have confirmed that this no longer
errors for my original use-case.

Best,

Aaron




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 07 Mar 2022 12:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 159 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.