New function ispell-comments-and-strings.
authorGerd Moellmann <gerd@gnu.org>
Wed, 3 Dec 1997 17:20:13 +0000 (17:20 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 3 Dec 1997 17:20:13 +0000 (17:20 +0000)
lisp/textmodes/ispell.el

index be445f2..60cf46d 100644 (file)
@@ -80,6 +80,7 @@
 ;;   ispell-region
 ;;   ispell-buffer
 ;;   ispell-message
+;;   ispell-comments-and-strings
 ;;   ispell-continue
 ;;   ispell-complete-word
 ;;   ispell-complete-word-interior-frag
@@ -1981,6 +1982,25 @@ With prefix argument, set the default directory."
       (message "Spell-checking done"))))
 
 
+;;;###autoload
+(defun ispell-comments-and-strings ()
+  "Check comments and strings in the current buffer for spelling errors."
+  (interactive)
+  (goto-char (point-min))
+  (let (state done)
+    (while (not done)
+      (setq done t)
+      (setq state (parse-partial-sexp (point) (point-max)
+                                     nil nil state 'syntax-table))
+      (when (or (nth 3 state) (nth 4 state))
+       (let ((start (point)))
+         (setq state (parse-partial-sexp start (point-max)
+                                         nil nil state 'syntax-table))
+         (when (or (nth 3 state) (nth 4 state))
+           (error "Unterminated string or comment."))
+         (save-excursion
+           (setq done (not (ispell-region start (point))))))))))
+
 
 ;;;###autoload
 (defun ispell-buffer ()