Use text-pixels values only when saving framesets (Bug#30141)

* lisp/frameset.el (frameset-persistent-filter-alist): Specify
that text-pixels values are by default only saved by framesets
so the parameter is not set when restoring (Bug#30141).
This commit is contained in:
Aaron Jensen 2018-01-22 10:52:32 +01:00 committed by Martin Rudalics
parent 6b01b9475d
commit fa582153f7

View file

@ -230,11 +230,10 @@ Properties can be set with
;; filtering functions) is copied to FILTERED as is. Keyword values :save, ;; filtering functions) is copied to FILTERED as is. Keyword values :save,
;; :restore and :never tell the function to copy CURRENT to FILTERED in the ;; :restore and :never tell the function to copy CURRENT to FILTERED in the
;; respective situations, that is, when saving, restoring, or never at all. ;; respective situations, that is, when saving, restoring, or never at all.
;; Values :save and :restore are not used in this package, because usually if ;; Values :save and :restore can be useful, for example, if you already
;; you don't want to save a parameter, you don't want to restore it either. ;; have a saved frameset created with some intent, and want to reuse it for
;; But they can be useful, for example, if you already have a saved frameset ;; a different objective where the expected parameter list has different
;; created with some intent, and want to reuse it for a different objective ;; requirements.
;; where the expected parameter list has different requirements.
;; ;;
;; Finally, the value can also be a filtering function, or a filtering ;; Finally, the value can also be a filtering function, or a filtering
;; function plus some arguments. The function is called for each matching ;; function plus some arguments. The function is called for each matching
@ -291,6 +290,11 @@ Properties can be set with
;; So, in general, not saving `name' is the right thing to do, though ;; So, in general, not saving `name' is the right thing to do, though
;; surely there are applications that will want to override this filter. ;; surely there are applications that will want to override this filter.
;; ;;
;; - `frameset--text-pixel-height', `frameset--text-pixel-width': These are used to
;; save the pixel width and height of a frame. They are necessary
;; during restore, but should not be set on the actual frame after
;; restoring, so `:save' is used to ensure they are only saved.
;;
;; - `font', `fullscreen', `height' and `width': These parameters suffer ;; - `font', `fullscreen', `height' and `width': These parameters suffer
;; from the fact that they are badly mangled when going through a ;; from the fact that they are badly mangled when going through a
;; tty session, though not all in the same way. When saving a GUI frame ;; tty session, though not all in the same way. When saving a GUI frame
@ -442,32 +446,34 @@ DO NOT MODIFY. See `frameset-filter-alist' for a full description.")
;;;###autoload ;;;###autoload
(defvar frameset-persistent-filter-alist (defvar frameset-persistent-filter-alist
(nconc (nconc
'((background-color . frameset-filter-sanitize-color) '((background-color . frameset-filter-sanitize-color)
(buffer-list . :never) (buffer-list . :never)
(buffer-predicate . :never) (buffer-predicate . :never)
(buried-buffer-list . :never) (buried-buffer-list . :never)
;; Don't save the 'client' parameter to avoid that a subsequent ;; Don't save the 'client' parameter to avoid that a subsequent
;; `save-buffers-kill-terminal' in a non-client session barks at ;; `save-buffers-kill-terminal' in a non-client session barks at
;; the user (Bug#29067). ;; the user (Bug#29067).
(client . :never) (client . :never)
(delete-before . :never) (delete-before . :never)
(font . frameset-filter-font-param) (font . frameset-filter-font-param)
(foreground-color . frameset-filter-sanitize-color) (foreground-color . frameset-filter-sanitize-color)
(fullscreen . frameset-filter-shelve-param) (frameset--text-pixel-height . :save)
(GUI:font . frameset-filter-unshelve-param) (frameset--text-pixel-width . :save)
(GUI:fullscreen . frameset-filter-unshelve-param) (fullscreen . frameset-filter-shelve-param)
(GUI:height . frameset-filter-unshelve-param) (GUI:font . frameset-filter-unshelve-param)
(GUI:width . frameset-filter-unshelve-param) (GUI:fullscreen . frameset-filter-unshelve-param)
(height . frameset-filter-shelve-param) (GUI:height . frameset-filter-unshelve-param)
(outer-window-id . :never) (GUI:width . frameset-filter-unshelve-param)
(parent-frame . :never) (height . frameset-filter-shelve-param)
(parent-id . :never) (outer-window-id . :never)
(mouse-wheel-frame . :never) (parent-frame . :never)
(tty . frameset-filter-tty-to-GUI) (parent-id . :never)
(tty-type . frameset-filter-tty-to-GUI) (mouse-wheel-frame . :never)
(width . frameset-filter-shelve-param) (tty . frameset-filter-tty-to-GUI)
(window-id . :never) (tty-type . frameset-filter-tty-to-GUI)
(window-system . :never)) (width . frameset-filter-shelve-param)
(window-id . :never)
(window-system . :never))
frameset-session-filter-alist) frameset-session-filter-alist)
"Parameters to filter for persistent framesets. "Parameters to filter for persistent framesets.
DO NOT MODIFY. See `frameset-filter-alist' for a full description.") DO NOT MODIFY. See `frameset-filter-alist' for a full description.")