Function: haskell-font-lock-fontify-block
haskell-font-lock-fontify-block is a natively compiled function
defined in haskell-font-lock.el.
Signature
(haskell-font-lock-fontify-block LANG-MODE START END)
Documentation
Fontify a block as LANG-MODE.
Source Code
;; Defined in /nix/store/9lz2mhw95f9fqxr9mnq46k3f6qz3aq83-emacs-packages-deps/share/emacs/site-lisp/elpa/haskell-mode-20260904.1042/haskell-font-lock.el
(defun haskell-font-lock-fontify-block (lang-mode start end)
"Fontify a block as LANG-MODE."
(let ((string (buffer-substring-no-properties start end))
(modified (buffer-modified-p))
(org-buffer (current-buffer)) pos next)
(remove-text-properties start end '(face nil))
(with-current-buffer
(get-buffer-create
(concat " haskell-font-lock-fontify-block:" (symbol-name lang-mode)))
(delete-region (point-min) (point-max))
(insert string " ") ;; so there's a final property change
(cl-letf (((symbol-function 'message)
(lambda (_fmt &rest _args))))
;; silence messages
(unless (eq major-mode lang-mode) (funcall lang-mode))
(font-lock-ensure))
(setq pos (point-min))
(while (setq next (next-single-property-change pos 'face))
(put-text-property
(+ start (1- pos)) (1- (+ start next)) 'face
(or (get-text-property pos 'face) 'default) org-buffer)
(setq pos next))
(unless (equal pos (point-max))
(put-text-property
(+ start (1- pos)) (1- (+ start (point-max))) 'face
'default org-buffer)))
(add-text-properties
start end
'(font-lock-fontified t fontified t font-lock-multiline t))
(set-buffer-modified-p modified)))