(woman-decode-buffer): Signal error for alien macro sets. Suggested
authorChong Yidong <cyd@stupidchicken.com>
Sun, 24 Dec 2006 03:15:53 +0000 (03:15 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Sun, 24 Dec 2006 03:15:53 +0000 (03:15 +0000)
by James Cloos.

lisp/woman.el

index e838758..2d3513f 100644 (file)
@@ -2102,6 +2102,18 @@ No external programs are used."
   (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)