Misc small fixes.
[bpt/emacs.git] / lisp / textmodes / ispell.el
index 94b184d..5cdae22 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ispell.el --- interface to International Ispell Versions 3.1 and 3.2
 
-;; Copyright (C) 1994-1995, 1997-2013 Free Software Foundation, Inc.
+;; Copyright (C) 1994-1995, 1997-2014 Free Software Foundation, Inc.
 
 ;; Author:           Ken Stevens <k.stevens@ieee.org>
 ;; Maintainer:       Ken Stevens <k.stevens@ieee.org>
@@ -2218,7 +2218,7 @@ Global `ispell-quit' set to start location to continue spell session."
        (window-min-height (min window-min-height
                                ispell-choices-win-default-height))
        (command-characters '( ?  ?i ?a ?A ?r ?R ?? ?x ?X ?q ?l ?u ?m ))
-       (dedicated (window-dedicated-p (selected-window)))
+       (dedicated (window-dedicated-p))
        (skipped 0)
        char num result textwin dedicated-win)
 
@@ -2407,7 +2407,7 @@ Global `ispell-quit' set to start location to continue spell session."
                                            "  --  word-list: "
                                            (or ispell-complete-word-dict
                                                ispell-alternate-dictionary))
-                                   miss (lookup-words new-word)
+                                   miss (ispell-lookup-words new-word)
                                    choices miss
                                    line ispell-choices-win-default-height)
                              (while (and choices ; adjust choices window.
@@ -2613,8 +2613,9 @@ SPC:   Accept word this time.
                (sit-for 5))
            (erase-buffer)))))))
 
+(define-obsolete-function-alias 'lookup-words 'ispell-lookup-words "24.4")
 
-(defun lookup-words (word &optional lookup-dict)
+(defun ispell-lookup-words (word &optional lookup-dict)
   "Look up WORD in optional word-list dictionary LOOKUP-DICT.
 A `*' serves as a wild card.  If no wild cards, `look' is used if it exists.
 Otherwise the variable `ispell-grep-command' contains the command used to
@@ -2648,8 +2649,12 @@ if defined."
       (message "Starting \"%s\" process..." (file-name-nondirectory prog))
       (if look-p
           nil
+        (insert "^" word)
+        ;; When there are no wildcards, append one, for consistency
+        ;; with `look' behavior.
+        (unless wild-p (insert "*"))
+        (insert "$")
         ;; Convert * to .*
-        (insert "^" word "$")
         (while (search-backward "*" nil t) (insert "."))
         (setq word (buffer-string))
         (erase-buffer))
@@ -3020,7 +3025,7 @@ Keeps argument list for future Ispell invocations for no async support."
        (setq ispell-filter nil ispell-filter-continue nil)
       ;; may need to restart to select new personal dictionary.
       (ispell-kill-ispell t)
-      (message "Starting new Ispell process [%s::%s] ..."
+      (message "Starting new Ispell process %s with %s dictionary..."
               ispell-program-name
               (or ispell-local-dictionary ispell-dictionary "default"))
       (sit-for 0)
@@ -3300,7 +3305,8 @@ ispell-region: Search for first region to skip after (ispell-begin-skip-region-r
                    ispell-start ispell-end (point-at-eol) in-comment add-comment string)
                  (if add-comment               ; account for comment chars added
                      (setq ispell-start (- ispell-start (length add-comment))
-                           add-comment nil))
+                           ;; Reset `in-comment' (and indirectly `add-comment') for new line
+                           in-comment nil))
                  (setq ispell-end (point)) ; "end" tracks region retrieved.
                  (if string            ; there is something to spell check!
                      ;; (special start end)
@@ -3766,7 +3772,7 @@ Use APPEND to append the info to previous buffer if exists."
 
 ;;;###autoload
 (defun ispell-complete-word (&optional interior-frag)
-  "Try to complete the word before or under point (see `lookup-words').
+  "Try to complete the word before or under point.
 If optional INTERIOR-FRAG is non-nil then the word may be a character
 sequence inside of a word.
 
@@ -3782,11 +3788,11 @@ Standard ispell choices are then available."
          word (car word)
          possibilities
          (or (string= word "")         ; Will give you every word
-             (lookup-words (concat (and interior-frag "*") word
-                                   (if (or interior-frag (null ispell-look-p))
-                                       "*"))
-                           (or ispell-complete-word-dict
-                               ispell-alternate-dictionary))))
+             (ispell-lookup-words
+              (concat (and interior-frag "*") word
+                      (and interior-frag "*"))
+              (or ispell-complete-word-dict
+                  ispell-alternate-dictionary))))
     (cond ((eq possibilities t)
           (message "No word to complete"))
          ((null possibilities)