Thanks, pushed. Here's a fresh copy of my compatibility shim, which, if you agree, I can push next.
Paul
>From a480ca92058e6d6d8b61c2d1a36d12db9afe0397 Mon Sep 17 00:00:00 2001 From: Paul Nelson <[email protected]> Date: Wed, 11 Mar 2026 02:46:28 +0100 Subject: [PATCH] Add compatibility shim for obsolete preview option When 'preview-leave-open-previews-visible' is set, automatically configure 'preview-visibility-style' and 'preview-keep-stale-images' to match the old behavior (bug#79708). * preview.el (preview-leave-open-previews-visible): Update docstring. (preview--obsolete-leave-open-previews-visible-apply) (preview--obsolete-leave-open-previews-visible-watcher): New helper functions. Install watcher and apply any pre-load value. --- preview.el | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/preview.el b/preview.el index 4d7817d1..37da8f1d 100644 --- a/preview.el +++ b/preview.el @@ -1347,23 +1347,42 @@ is located." (cons 'image (cdr icon))) (defcustom preview-leave-open-previews-visible nil - "Whether to leave previews visible when they are opened. -If nil, then the TeX preview icon is used when the preview is opened. -If non-nil, then the preview image remains visible. In either case, the -TeX code appears either below or to the right of the displayed graphic. - -If you enable this option, the preview image doesn't turn into -construction sign temporarily when you edit the underlying LaTeX code -and regenerate the preview; it is just replaced by updated image when -ready. This behavior suppresses flicker in the appearance." + "Obsolete option; whether to leave previews visible when they are opened. +This option is obsolete. When set to non-nil, it configures +`preview-visibility-style' to \\='always and `preview-keep-stale-images' +to t. When set to nil, it does not change those variables." :group 'preview-appearance :type 'boolean) +(defun preview--obsolete-leave-open-previews-visible-apply (value) + "Apply obsolete `preview-leave-open-previews-visible' VALUE. +When VALUE is non-nil, configure `preview-visibility-style' and +`preview-keep-stale-images' to match the old behavior." + (when value + (set-default 'preview-visibility-style 'always) + (set-default 'preview-keep-stale-images t))) + +(defun preview--obsolete-leave-open-previews-visible-watcher + (_symbol newval operation where) + (when (and (eq operation 'set) + ;; Ignore buffer-local bindings. + (null where)) + (preview--obsolete-leave-open-previews-visible-apply newval))) + (make-obsolete-variable 'preview-leave-open-previews-visible "Use `preview-visibility-style' and `preview-keep-stale-images' instead." "14.2.0") +(add-variable-watcher + 'preview-leave-open-previews-visible + #'preview--obsolete-leave-open-previews-visible-watcher) + +;; Handle `setq' from before preview.el is loaded. +(when (default-value 'preview-leave-open-previews-visible) + (preview--obsolete-leave-open-previews-visible-apply + (default-value 'preview-leave-open-previews-visible))) + (defsubst preview-replace-active-icon (ov replacement) "Replace the active Icon in OV by REPLACEMENT, another icon." (let ((img (overlay-get ov 'preview-image))) -- 2.50.1 (Apple Git-155)
_______________________________________________ bug-auctex mailing list [email protected] https://lists.gnu.org/mailman/listinfo/bug-auctex
