diff options
Diffstat (limited to 'lisp/frameset.el')
-rw-r--r-- | lisp/frameset.el | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/lisp/frameset.el b/lisp/frameset.el index 5fdcc0d2c8a..3bc73751c0e 100644 --- a/lisp/frameset.el +++ b/lisp/frameset.el @@ -675,7 +675,7 @@ nil while the filtering is done to restore it." ;; of a frameset, so we must copy parameters to avoid inadvertent ;; modifications. (pcase (cdr (assq (car current) filter-alist)) - (`nil + ('nil (push (if saving current (copy-tree current)) filtered)) (:never nil) @@ -800,22 +800,17 @@ Internal use only." (cons nil (and mb-frame (frameset-frame-id mb-frame))))))))) - ;; Now store text-pixel width and height if it differs from the calculated - ;; width and height and the frame is not fullscreen. + ;; Now store text-pixel width and height if `frame-resize-pixelwise' + ;; is set. (Bug#30141) (dolist (frame frame-list) - (unless (frame-parameter frame 'fullscreen) - (unless (eq (* (frame-parameter frame 'width) - (frame-char-width frame)) - (frame-text-width frame)) - (set-frame-parameter - frame 'frameset--text-pixel-width - (frame-text-width frame))) - (unless (eq (* (frame-parameter frame 'height) - (frame-char-height frame)) - (frame-text-height frame)) - (set-frame-parameter - frame 'frameset--text-pixel-height - (frame-text-height frame)))))) + (when (and frame-resize-pixelwise + (not (frame-parameter frame 'fullscreen))) + (set-frame-parameter + frame 'frameset--text-pixel-width + (frame-text-width frame)) + (set-frame-parameter + frame 'frameset--text-pixel-height + (frame-text-height frame))))) ;;;###autoload (cl-defun frameset-save (frame-list @@ -908,7 +903,7 @@ NOTE: This only works for non-iconified frames." (< fr-right left) (> fr-right right) (< fr-top top) (> fr-top bottom))) ;; Displaced to the left, right, above or below the screen. - (`t (or (> fr-left right) + ('t (or (> fr-left right) (< fr-right left) (> fr-top bottom) (< fr-bottom top))) @@ -1200,11 +1195,11 @@ All keyword parameters default to nil." ;; will decide which ones can be reused, and how to deal with any leftover. (frameset--reuse-list (pcase reuse-frames - (`t + ('t frames) - (`nil + ('nil nil) - (`match + ('match (cl-loop for (state) in (frameset-states frameset) when (frameset-frame-with-id (frameset-cfg-id state) frames) collect it)) @@ -1369,11 +1364,11 @@ Called from `jump-to-register'. Internal use only." ;; iconify frames (lambda (frame action) (pcase action - (`rejected (iconify-frame frame)) + ('rejected (iconify-frame frame)) ;; In the unexpected case that a frame was a candidate ;; (matching frame id) and yet not restored, remove it ;; because it is in fact a duplicate. - (`ignored (delete-frame frame)))))) + ('ignored (delete-frame frame)))))) ;; Restore selected frame, buffer and point. (let ((frame (frameset-frame-with-id (aref data 1))) |