惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Exploit Database - CXSecurity.com
V
Vulnerabilities – Threatpost
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
Webroot Blog
Webroot Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
TaoSecurity Blog
TaoSecurity Blog
I
Intezer
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
News | PayPal Newsroom
S
Security Affairs
T
Tor Project blog
P
Proofpoint News Feed
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Security @ Cisco Blogs
H
Heimdal Security Blog
Hacker News: Ask HN
Hacker News: Ask HN
Help Net Security
Help Net Security
U
Unit 42
云风的 BLOG
云风的 BLOG
The Hacker News
The Hacker News
Cisco Talos Blog
Cisco Talos Blog
量子位
F
Full Disclosure
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
有赞技术团队
有赞技术团队
T
Troy Hunt's Blog
P
Privacy & Cybersecurity Law Blog
Forbes - Security
Forbes - Security
人人都是产品经理
人人都是产品经理
L
Lohrmann on Cybersecurity
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Security Blog
Microsoft Security Blog
博客园 - Franky
腾讯CDC
AI
AI
Last Week in AI
Last Week in AI
Latest news
Latest news
Google Online Security Blog
Google Online Security Blog
N
Netflix TechBlog - Medium
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
Martin Fowler
Martin Fowler
Blog — PlanetScale
Blog — PlanetScale
V2EX - 技术
V2EX - 技术
酷 壳 – CoolShell
酷 壳 – CoolShell

elpa/gnu.git, branch externals/auctex

Fix 'syntax-propertize because of narrowing!' error - elpa/gnu.git elpa/gnu.git - GNU ELPA Activate new xref backend - elpa/gnu.git elpa/gnu.git - GNU ELPA elpa/gnu.git - GNU ELPA ; Fix description about `LaTeX-expl3-syntax-table' - elpa/gnu.git Delete compat function `TeX-always' - elpa/gnu.git Fix fontification of verb macros followed by space - elpa/gnu.git elpa/gnu.git - GNU ELPA elpa/gnu.git - GNU ELPA elpa/gnu.git - GNU ELPA Add new style/lineno.el - elpa/gnu.git Record workaround for autonum previews - elpa/gnu.git elpa/gnu.git - GNU ELPA Update style/eso-pic.el to package v3.0e ; * style/contract.el ("contract"): Speed up the additions. - elpa/gnu.git ; * style/contract.el ("contract"): Speed up the additions. ; * doc/faq.texi: Provide a more accessible Lisp form. (Bug#81034) - elpa/gnu.git ; * doc/faq.texi: Provide a more accessible Lisp form. (Bug#81034) ; * style/expl3.el (TeX-arg-expl3-macro): Fix docstring. - elpa/gnu.git ; * style/expl3.el (TeX-arg-expl3-macro): Fix docstring. Update style/simpleicons.el to package v16.17.0 - elpa/gnu.git Update style/simpleicons.el to package v16.17.0 elpa/gnu.git - GNU ELPA * style/contract.el ("contract"): Fix usage of \refParN. Improve matching of header end/trailer start in ConTeXt - elpa/gnu.git Improve matching of header end/trailer start in ConTeXt elpa/gnu.git - GNU ELPA Improve style/standalone.el elpa/gnu.git - GNU ELPA Update style/lua-unicode-math.el to package v0.8 Update style/babel.el to package v26.4 - elpa/gnu.git * style/babel-german.el ("babel-german"): Add missing macros. - elpa/gnu.git Update style/simpleicons.el to package v16.12.0 - elpa/gnu.git elpa/gnu.git - GNU ELPA elpa/gnu.git - GNU ELPA elpa/gnu.git - GNU ELPA Add compatibility shim for obsolete preview option
elpa/gnu.git - GNU ELPA
2026-03-21 · via elpa/gnu.git, branch externals/auctex

Lazily require buframe before use.

* preview.el (preview--buframe-error): New variable. (preview--update-buframe): Require buframe before use. (preview-visibility-style, preview-keep-stale-images, preview-at-point-placement): Add package-version. (preview-dvisvgm-command): Pass currentcolor by default.

diff --git a/preview.el b/preview.el
index b253ef889c..4d7817d12d 100644
--- a/preview.el
+++ b/preview.el

@@ -478,7 +478,8 @@ sync with the preview."

:type '(choice

(const :tag "Only at point with source" at-point)

(const :tag "Only away from point, hiding source" off-point)

- (const :tag "Both" always)))

+ (const :tag "Both" always))

+ :package-version '(auctex . "14.2.0"))

(defcustom preview-keep-stale-images nil

"Keep the last preview image visible even when the source changes.

@@ -489,7 +490,8 @@ icon. When nil, the icon appears until the refreshed image arrives.

The value of this variable is ignored when `preview-visibility-style' is

`off-point'. In that case, stale images are never retained."

:group 'preview-appearance

- :type 'boolean)

+ :type 'boolean

+ :package-version '(auctex . "14.2.0"))

(defcustom preview-at-point-placement 'before-string

"Placement of the at-point preview or icon relative to its source.

@@ -520,7 +522,8 @@ where:

(const :tag "Default" nil)

(function :tag "Position function"))

(alist :tag "Frame parameters")

- (alist :tag "Buffer parameters"))))

+ (alist :tag "Buffer parameters")))

+ :package-version '(auctex . "14.2.0"))

(defun preview-string-expand (arg &optional separator)

"Expand ARG as a string.

@@ -644,7 +647,8 @@ You may set the variable `preview-dvi*-command' to

(concat

(TeX-command-expand

(or cmd

- "dvisvgm --no-fonts %d --page=- --output=\"%m/prev%%3p.svg\""))

+ "dvisvgm --no-fonts --currentcolor --page=- %d \

+ --output=\"%m/prev%%3p.svg\""))

(format " --scale=%g " scale)))))

(defcustom preview-dvips-command

@@ -4571,10 +4575,7 @@ If not a regular release, the date of the last change.")

(insert "\n")))

(error nil)))

-;;; buframe specific

-

-;; Buframe functions, it will be assumed that buframe is installed so

-;; that it can be required.

+;;; buframe-specific functions.

(declare-function buframe-position-right-of-overlay "ext:buframe"

(frame ov &optional location))

(declare-function buframe-make-buffer "ext:buframe" (name &optional locals))

@@ -4586,61 +4587,74 @@ If not a regular release, the date of the last change.")

(declare-function buframe-find "ext:buframe"

(&optional frame-or-name buffer parent noerror))

+(defvar preview--buframe-error t

+ "When non-nil, issue a one-time error if loading buframe fails.")

+

(defun preview--update-buframe (&optional force)

"Show or hide a buframe popup depending on overlays at point.

The frame is not updated if the `buframe' property has not changed,

unless FORCE is non-nil."

- (when (featurep 'buframe)

- (let* ((frame-name "auctex-preview")

- (buf-name " *auctex-preview-buffer*")

- (old-frame (buframe-find frame-name nil nil t)))

- (if-let* ((ov (cl-find-if

- (lambda (ov) (when (overlay-get ov 'buframe) ov))

- (overlays-at (point))))

- (str (overlay-get ov 'buframe)))

- (unless (and (not force)

- old-frame

- (pcase (frame-parameter old-frame 'auctex-preview)

- (`(,o . ,s) (and (eq o ov) (eq s str)))))

- (let* ((buf (buframe-make-buffer buf-name

- (car-safe

- (cddr (cdr-safe

- preview-at-point-placement)))))

- (max-image-size

- (if (integerp max-image-size)

- max-image-size

- ;; Set the size max-image-size using the current frame

- ;; since the popup frame will be small to begin with

- (* max-image-size (frame-width)))))

- (with-current-buffer buf

- (let (buffer-read-only)

- (with-silent-modifications

- (erase-buffer)

- (insert (propertize str

- ;; Remove unnecessary properties

- 'help-echo nil

- 'keymap nil

- 'mouse-face nil))

- (goto-char (point-min)))))

- (setq old-frame

- (buframe-make

- frame-name

- (lambda (frame)

- (funcall

- (or (car-safe (cdr-safe preview-at-point-placement))

- #'buframe-position-right-of-overlay)

- frame

- ov))

- buf

- (overlay-buffer ov)

- (window-frame)

- (car-safe (cdr (cdr-safe preview-at-point-placement)))))

- (set-frame-parameter old-frame 'auctex-preview

- (cons ov str))))

- (when old-frame

- (set-frame-parameter old-frame 'auctex-preview nil)

- (buframe-disable old-frame))))))

+ (let* ((frame-name "auctex-preview")

+ (buf-name " *auctex-preview-buffer*")

+ (old-frame (and (featurep 'buframe)

+ ;; Do not autoload buframe if it is not already

+ ;; loaded.

+ (buframe-find frame-name nil nil t))))

+ (if-let* ((ov (cl-find-if

+ (lambda (ov) (when (overlay-get ov 'buframe) ov))

+ (overlays-at (point))))

+ (str (overlay-get ov 'buframe)))

+ (unless (and (not force)

+ old-frame

+ (pcase (frame-parameter old-frame 'auctex-preview)

+ (`(,o . ,s) (and (eq o ov) (eq s str)))))

+ (if (require 'buframe nil t)

+ (let* ((buf (buframe-make-buffer

+ buf-name

+ (car-safe

+ (cddr (cdr-safe

+ preview-at-point-placement)))))

+ (max-image-size

+ (if (integerp max-image-size)

+ max-image-size

+ ;; Set the size max-image-size using the current

+ ;; frame, since the popup frame will be small to

+ ;; begin with.

+ (* max-image-size (frame-width)))))

+ (with-current-buffer buf

+ (let (buffer-read-only)

+ (with-silent-modifications

+ (erase-buffer)

+ (insert (propertize str

+ ;; Remove unnecessary properties

+ 'help-echo nil

+ 'keymap nil

+ 'mouse-face nil))

+ (goto-char (point-min)))))

+ (setq old-frame

+ (buframe-make

+ frame-name

+ (lambda (frame)

+ (funcall

+ (or (car-safe (cdr-safe preview-at-point-placement))

+ #'buframe-position-right-of-overlay)

+ frame

+ ov))

+ buf

+ (overlay-buffer ov)

+ (window-frame)

+ (car-safe (cdr (cdr-safe

+ preview-at-point-placement)))))

+ (set-frame-parameter old-frame 'auctex-preview

+ (cons ov str)))

+ (when preview--buframe-error

+ (setq preview--buframe-error nil)

+ (error "buframe is unavailable for use with preview. \

+See `preview-at-point-placement'."))))

+ (when old-frame

+ (set-frame-parameter old-frame 'auctex-preview nil)

+ (buframe-disable old-frame)))))

;;;###autoload

(defun preview-report-bug () "Report a bug in the preview-latex package."