[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/htmlize f7cc2af 051/134: Display a buffer portion with a s
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/htmlize f7cc2af 051/134: Display a buffer portion with a single `display' property as a single |
Date: |
Sat, 7 Aug 2021 09:17:05 -0400 (EDT) |
branch: elpa/htmlize
commit f7cc2af98d4da66438757d9c165f32f4d70c552c
Author: Hrvoje Niksic <hniksic@gmail.com>
Commit: Hrvoje Niksic <hniksic@gmail.com>
Display a buffer portion with a single `display' property as a single
region despite the face changes in the region.
---
htmlize.el | 27 +++++++++++++++++++--------
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/htmlize.el b/htmlize.el
index 6c38382..6cb6d6d 100644
--- a/htmlize.el
+++ b/htmlize.el
@@ -327,7 +327,12 @@ output.")
(setq pos (next-overlay-change pos))
(and (< pos next-prop)
(equal overlay-faces (htmlize-overlay-faces-at pos)))))
- (min pos next-prop))))
+ (setq pos (min pos next-prop))
+ ;; Additionally, we include the entire region that specifies the
+ ;; `display' property with a value that we're going to use.
+ (when (htmlize-usable-display-prop (get-char-property pos 'display))
+ (setq pos (next-single-char-property-change pos 'display nil limit)))
+ pos)))
(t
(error "htmlize requires next-single-property-change or \
next-single-char-property-change")))
@@ -407,19 +412,25 @@ next-single-char-property-change")))
(char-to-string char)))))
string "")))
+(defun htmlize-usable-display-prop (display)
+ (or (stringp display)
+ (eq (car-safe display) 'image)))
+
+(defun htmlize-decode-display-prop (display)
+ (if (stringp display)
+ (htmlize-protect-string display)
+ (htmlize-generate-image (cdr display))))
+
(defun htmlize-string-to-html (string)
(let ((pos 0) (end (length string))
display output next-change)
(while (< pos end)
(setq display (get-char-property pos 'display string)
next-change (next-single-property-change pos 'display string end))
- (cond ((stringp display)
- (push (htmlize-protect-string display) output))
- ((eq (car-safe display) 'image)
- (push (htmlize-generate-image (cdr display)) output))
- (t
- (push (htmlize-protect-string (substring string pos next-change))
- output)))
+ (if (htmlize-usable-display-prop display)
+ (push (htmlize-decode-display-prop display) output)
+ (push (htmlize-protect-string (substring string pos next-change))
+ output))
(setq pos next-change))
(apply #'concat (nreverse output))))
- [nongnu] elpa/htmlize 06e9a88 037/134: Make the header package.el compatible, (continued)
- [nongnu] elpa/htmlize 06e9a88 037/134: Make the header package.el compatible, ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize aa7969b 038/134: Bump version., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize c0bea5b 040/134: Don't use the old name x-color-values., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize 11e675b 041/134: Get rid of a silly warning., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize 3dfd7c9 044/134: Insert multiple runs having the same fstruct-list with the same HTML markup., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize cbbbc47 045/134: Kill htmlbuf in case of error., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize 98c2c97 046/134: Update the copyright year., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize b95dd46 047/134: Fix docstring and indent., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize 143baca 048/134: Fix the `font' method., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize 11fec7b 050/134: Recognize the `display' property and render it into the HTML, including images., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize f7cc2af 051/134: Display a buffer portion with a single `display' property as a single,
ELPA Syncer <=
- [nongnu] elpa/htmlize c34b364 053/134: Create an image with a data: URI for image data descriptors., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize c13175c 058/134: Don't use CL's lexical-let if lexical binding is in use., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize 97b6b8d 078/134: Escape link text., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize 5ce4c6e 083/134: Support XEmacs again., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize aa6e2f6 096/134: Removed support for GNU Emacs 21., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize 29f3960 104/134: Nicer readme., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize fb85e84 005/134: Version 0.45., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize 94faffa 056/134: Just use `locate-file'., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize 3551c6b 063/134: Respect `before-string' and `after-string' overlay properties., ELPA Syncer, 2021/08/07
- [nongnu] elpa/htmlize 3ed76d8 065/134: Use find-image to find the actual location of the image file in image-load-path., ELPA Syncer, 2021/08/07