HO MY GAH

Never again will I have ediff window-related problems
This commit is contained in:
Benson Chu 2023-05-13 08:46:24 -05:00
parent a69d6a1278
commit a90fb11c2d
2 changed files with 25 additions and 14 deletions

View file

@ -469,6 +469,19 @@
(setq ediff-window-setup-function 'ediff-setup-windows-plain
ediff-split-window-function 'split-window-horizontally)
(defun ediff-clear-up-windows (&rest optional)
(let ((tab-name (alist-get 'name (tab-bar--current-tab))))
(unless (string-match-p "-ediff$" tab-name)
(switch-or-create-tab (concat tab-name "-ediff"))))
(when (window-parameter (selected-window) 'window-side)
(window-toggle-side-windows))
(let ((ignore-window-parameters t))
(delete-other-windows)))
(advice-add #'ediff-setup
:before
#'ediff-clear-up-windows)
(require 'ediff-transition)
(defun ediff-copy-both-to-C ()

View file

@ -78,20 +78,18 @@
(defun ediff-transition-llvm-print-after-all (buffer)
(interactive
(list (current-buffer)))
(let ((window--sides-inhibit-check t))
(set-window-parameter (selected-window) 'window-side nil)
(save-excursion
(goto-char (point-min))
(let ((r (rx line-start (optional "# ") "*** "))
flist)
(re-search-forward r)
(let ((previous-index (match-beginning 0)))
(while (re-search-forward r nil t)
(let ((file (make-temp-file "llvm-print-after-all-" nil ".ll")))
(write-region previous-index (match-beginning 0) file)
(push file flist))
(setq previous-index (match-beginning 0))))
(ediff-transition (reverse flist))))))
(save-excursion
(goto-char (point-min))
(let ((r (rx line-start (optional "# ") "*** "))
flist)
(re-search-forward r)
(let ((previous-index (match-beginning 0)))
(while (re-search-forward r nil t)
(let ((file (make-temp-file "llvm-print-after-all-" nil ".ll")))
(write-region previous-index (match-beginning 0) file)
(push file flist))
(setq previous-index (match-beginning 0))))
(ediff-transition (reverse flist)))))
;; (ediff-transition
;; (mapcar #'(lambda (x)