changeset 74875:26507757f962

(woman-decode-buffer): Signal error for alien macro sets. Suggested by James Cloos.
author Chong Yidong <cyd@stupidchicken.com>
date Sun, 24 Dec 2006 03:15:53 +0000
parents 874a9a6de425
children 631249352a9c
files lisp/woman.el
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/woman.el	Sun Dec 24 03:15:41 2006 +0000
+++ b/lisp/woman.el	Sun Dec 24 03:15:53 2006 +0000
@@ -2102,6 +2102,18 @@
   (interactive)				; mainly for testing
   (WoMan-log-begin)
   (run-hooks 'woman-pre-format-hook)
+
+  ;; look for macro sets that woman cannot handle:
+  (goto-char (point-min))
+  (let ((case-fold-search nil))
+    (unless (and (re-search-forward "^\\.SH[ \n]" (point-max) t)
+		 (progn (goto-char (point-min))
+			(re-search-forward "^\\.TH[ \n]" (point-max) t))
+		 (progn (goto-char (point-min))
+			(not (re-search-forward "^\\.\\([pnil]p\\|sh\\)[ \n]"
+						(point-max) t))))
+      (error "WoMan can only format manpages written in the an format")))
+
   (and (boundp 'font-lock-mode) font-lock-mode (font-lock-mode -1))
   ;; (fundamental-mode)
   (let ((start-time (current-time))	; (HIGH LOW MICROSEC)