[21.5] Fix bug in htmlize.el

Stephen J. Turnbull stephen at xemacs.org
Mon Oct 18 11:18:28 EDT 2010


Marcus,

Thanks for the patch.  Would you please check that it works after
removing the dummy value (the hunk at 1440)?  I suppose I could leave
it, but the incorrect comment has to go.  Please also check the
ChangeLog for correct attribution.  We don't obfuscate emails in the
logs; if that bothers you, something can be worked out.

BTW, this turns out to be a fairly recent change due to a sync
(January '09).  Maybe plist-put doesn't need a setq in recent GNU
Emacs?


Index: ChangeLog
===================================================================
RCS file: /cvsroot/xemacs/XEmacs/packages/xemacs-packages/text-modes/ChangeLog,v
retrieving revision 1.178
diff -u -r1.178 ChangeLog
--- ChangeLog	6 Sep 2010 19:34:38 -0000	1.178
+++ ChangeLog	18 Oct 2010 15:06:22 -0000
@@ -0,0 +1,4 @@
+2010-10-19  Marcus Harnisch  <marcus.harnisch at gmx.net>
+
+	* htmlize.el (htmlize-buffer-1): Must setq plist after plist-put.
+

Index: htmlize.el
===================================================================
RCS file: /cvsroot/xemacs/XEmacs/packages/xemacs-packages/text-modes/htmlize.el,v
retrieving revision 1.15
diff -u -r1.15 htmlize.el
--- htmlize.el	6 Jan 2009 08:30:26 -0000	1.15
+++ htmlize.el	18 Oct 2010 15:06:22 -0000
@@ -1440,9 +1440,8 @@
 					      (file-name-nondirectory
 					       (buffer-file-name)))
 					   "*html*")))
-	   ;; Having a dummy value in the plist allows writing simply
-	   ;; (plist-put places foo bar).
-	   (places '(nil nil))
+	   ;; XEmacs change; also, all plist-puts below are setq'd.
+	   (places nil)
 	   (title (if (buffer-file-name)
 		      (file-name-nondirectory (buffer-file-name))
 		    (buffer-name))))
@@ -1453,7 +1451,7 @@
 		(format "<!-- Created by htmlize-%s in %s mode. -->\n"
 			htmlize-version htmlize-output-type)
 		"<html>\n  ")
-	(plist-put places 'head-start (point-marker))
+	(setq places (plist-put places 'head-start (point-marker)))
 	(insert "<head>\n"
 		"    <title>" (htmlize-protect-string title) "</title>\n"
 		(if htmlize-html-charset
@@ -1464,12 +1463,12 @@
 		htmlize-head-tags)
 	(htmlize-method insert-head buffer-faces face-map)
 	(insert "  </head>")
-	(plist-put places 'head-end (point-marker))
+	(setq places (plist-put places 'head-end (point-marker)))
 	(insert "\n  ")
-	(plist-put places 'body-start (point-marker))
+	(setq places (plist-put places 'body-start (point-marker)))
 	(insert (htmlize-method body-tag face-map)
 		"\n    ")
-	(plist-put places 'content-start (point-marker))
+	(setq places (plist-put places 'content-start (point-marker)))
 	(insert "<pre>\n"))
       (let ((insert-text-method
 	     ;; Get the inserter method, so we can funcall it inside
@@ -1519,9 +1518,9 @@
       ;; Insert the epilog and post-process the buffer.
       (with-current-buffer htmlbuf
 	(insert "</pre>")
-	(plist-put places 'content-end (point-marker))
+	(setq places (plist-put places 'content-end (point-marker)))
 	(insert "\n  </body>")
-	(plist-put places 'body-end (point-marker))
+	(setq places (plist-put places 'body-end (point-marker)))
 	(insert "\n</html>\n")
 	(when htmlize-generate-hyperlinks
 	  (htmlize-make-hyperlinks))



More information about the XEmacs-Patches mailing list