all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#6239: Running htmlfontify in batch mode
@ 2010-05-21 14:30 Masatake YAMATO
  2010-06-27 18:25 ` Chong Yidong
  0 siblings, 1 reply; 2+ messages in thread
From: Masatake YAMATO @ 2010-05-21 14:30 UTC (permalink / raw)
  To: 6239

This is a bug report with a patch which fixes the bug. 
Please, include the patch to the official emacs tree if appreciated.


I'm trying to convert a source code to a html file with
htmlfontify.el. I'd like to do it in a batch job.

With the following script(CONVERTER) and command line I expect
I can convert a source code file into html format:

---------------------------------------------------------------
#!/home/yamato/var/emacs/src/emacs --script
; CONVERTER
(defun print-to-stderr (str)
  (mapcar 'external-debugging-output str))

(let ((input (car argv))
      (output (cadr argv)))
  (unless input
    (print-to-stderr "*** No INPUT is given\n")
    (kill-emacs 1)
    )
  (unless output
    (print-to-stderr "*** No OUTPUT is given\n")
    (kill-emacs 1)
    )
  (unless (file-readable-p input)
    (print-to-stderr (format "*** Cannot read %s\n" 
			     input))
    (kill-exit 1)
    )
  (unless (file-writable-p output)
    (print-to-stderr (format "*** Cannot write %s\n" 
			     output))
    (kill-emacs 1)
    )
  (let ((srcdir (or (file-name-directory input) "./"))
	(dstdir output)
	(file (file-name-nondirectory input)))
    (require 'htmlfontify)

    (htmlfontify-load-rgb-file)
    (let ((hfy-display-class '((type . x-toolkit)
			       (class . color)
			       (background . light))))
      (hfy-copy-and-fontify-file srcdir dstdir file))))
---------------------------------------------------------------

$ ./CONVERTER  emacs/src/epaths.h /tmp/

But, the command line is failed because htmlfontify.el tries to
modify data in pure storage.

With following patch it works as I expected.

2010-05-21  Masatake YAMATO  <yamato@redhat.com>

	* htmlfontify.el (hfy-face-attr-for-class): Use `append'
	instead of  `nconc'.

=== modified file 'lisp/htmlfontify.el'
*** lisp/htmlfontify.el	2010-04-24 02:36:43 +0000
--- lisp/htmlfontify.el	2010-05-21 14:18:31 +0000
***************
*** 926,932 ****
                 new-spec)))))
      (if (or (memq :inherit face-spec) (eq 'default face))
          face-spec
!       (nconc face-spec (list :inherit 'default))) ))
  
  ;; construct an assoc of (css-tag-name . css-tag-value) pairs
  ;; from a face or assoc of face attributes:
--- 926,936 ----
                 new-spec)))))
      (if (or (memq :inherit face-spec) (eq 'default face))
          face-spec
!       ;; We cannot use `nconc' here.
!       ;; As far as I inspected, (get face 'face-defface-spec) in
!       ;; `hfy-combined-face-spec' returns data at pure storage
!       ;; if noninteractive.
!       (append face-spec (list :inherit 'default))) ))
  
  ;; construct an assoc of (css-tag-name . css-tag-value) pairs
  ;; from a face or assoc of face attributes:






^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#6239: Running htmlfontify in batch mode
  2010-05-21 14:30 bug#6239: Running htmlfontify in batch mode Masatake YAMATO
@ 2010-06-27 18:25 ` Chong Yidong
  0 siblings, 0 replies; 2+ messages in thread
From: Chong Yidong @ 2010-06-27 18:25 UTC (permalink / raw)
  To: Masatake YAMATO; +Cc: 6239-done

> htmlfontify.el tries to modify data in pure storage.

Thanks, I've checked in your patch.





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-06-27 18:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-21 14:30 bug#6239: Running htmlfontify in batch mode Masatake YAMATO
2010-06-27 18:25 ` Chong Yidong

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.