[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/corfu e23a750231 7/8: corfu-popupinfo--get-location: Ki
From: |
ELPA Syncer |
Subject: |
[elpa] externals/corfu e23a750231 7/8: corfu-popupinfo--get-location: Kill new buffers |
Date: |
Sat, 19 Nov 2022 22:57:32 -0500 (EST) |
branch: externals/corfu
commit e23a750231917106ba8ff3c6c7a01510c5f36c59
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
corfu-popupinfo--get-location: Kill new buffers
---
extensions/corfu-popupinfo.el | 35 +++++++++++++++++++----------------
1 file changed, 19 insertions(+), 16 deletions(-)
diff --git a/extensions/corfu-popupinfo.el b/extensions/corfu-popupinfo.el
index 36e90bc9d9..e5e1a38d07 100644
--- a/extensions/corfu-popupinfo.el
+++ b/extensions/corfu-popupinfo.el
@@ -156,23 +156,26 @@ all values are in pixels relative to the origin. See
(when-let* ((fun (plist-get corfu--extra :company-location))
;; BUG: company-location may throw errors if location is not
found
(loc (ignore-errors (funcall fun candidate)))
- (res (or (and (bufferp (car loc)) (car loc))
+ (buf (or (and (bufferp (car loc)) (car loc))
(find-file-noselect (car loc) t))))
- (with-current-buffer res
- (save-excursion
- (save-restriction
- (widen)
- (if (bufferp (car loc))
- (goto-char (cdr loc))
- (goto-char (point-min))
- (forward-line (1- (cdr loc))))
- (let ((beg (point)))
- ;; Support a little bit of scrolling.
- (forward-line (* 10 corfu-popupinfo-max-height))
- (when jit-lock-mode
- (jit-lock-fontify-now beg (point)))
- (setq res (buffer-substring beg (point)))
- (and (not (string-blank-p res)) res))))))))
+ (unwind-protect
+ (with-current-buffer buf
+ (save-excursion
+ (save-restriction
+ (widen)
+ (if (bufferp (car loc))
+ (goto-char (cdr loc))
+ (goto-char (point-min))
+ (forward-line (1- (cdr loc))))
+ (let ((beg (point)))
+ ;; Support a little bit of scrolling.
+ (forward-line (* 10 corfu-popupinfo-max-height))
+ (when jit-lock-mode
+ (jit-lock-fontify-now beg (point)))
+ (let ((res (buffer-substring beg (point))))
+ (and (not (string-blank-p res)) res))))))
+ (unless (bufferp (car loc))
+ (kill-buffer buf))))))
(defun corfu-popupinfo--get-documentation (candidate)
"Get the documentation for CANDIDATE."
- [elpa] externals/corfu updated (971de05df4 -> ec6d21a939), ELPA Syncer, 2022/11/19
- [elpa] externals/corfu ec6d21a939 8/8: corfu-popupinfo: Delay mode hooks for file preview, ELPA Syncer, 2022/11/19
- [elpa] externals/corfu 5b34b26c7e 1/8: Update changelog, ELPA Syncer, 2022/11/19
- [elpa] externals/corfu 7739f8e39a 3/8: corfu-popupinfo: Indentation, ELPA Syncer, 2022/11/19
- [elpa] externals/corfu 01ddb3b13e 6/8: Version 0.31, ELPA Syncer, 2022/11/19
- [elpa] externals/corfu e23a750231 7/8: corfu-popupinfo--get-location: Kill new buffers,
ELPA Syncer <=
- [elpa] externals/corfu c735db62c2 4/8: README: Add more screenshots, ELPA Syncer, 2022/11/19
- [elpa] externals/corfu 352d719a1f 5/8: Expand docstrings, ELPA Syncer, 2022/11/19
- [elpa] externals/corfu 633ecfb003 2/8: Update readme, ELPA Syncer, 2022/11/19