diff lisp/mh-e/mh-index.el @ 67758:6b063593fdad

Follow Emacs coding conventions. Use default setting of emacs-lisp-docstring-fill-column which is 65.
author Bill Wohler <wohler@newt.com>
date Fri, 23 Dec 2005 07:40:40 +0000
parents 3a8785724cca
children 9c3504ae6060
line wrap: on
line diff
--- a/lisp/mh-e/mh-index.el	Fri Dec 23 05:40:21 2005 +0000
+++ b/lisp/mh-e/mh-index.el	Fri Dec 23 07:40:40 2005 +0000
@@ -158,9 +158,10 @@
 
 (defun mh-index-execute (cmd &rest args)
   "Partial imitation of xargs.
-The current buffer contains a list of strings, one on each line. The function
-will execute CMD with ARGS and pass the first `mh-index-max-cmdline-args'
-strings to it. This is repeated till all the strings have been used."
+The current buffer contains a list of strings, one on each line.
+The function will execute CMD with ARGS and pass the first
+`mh-index-max-cmdline-args' strings to it. This is repeated till
+all the strings have been used."
   (goto-char (point-min))
   (let ((current-buffer (current-buffer)))
     (with-temp-buffer
@@ -183,12 +184,14 @@
 
 (defun mh-index-update-single-msg (msg checksum origin-map)
   "Update various maps for one message.
-MSG is a index folder message, CHECKSUM its MD5 hash and ORIGIN-MAP, if
-non-nil, a hashtable containing which maps each message in the index folder to
-the folder and message that it was copied from. The function updates the hash
-tables `mh-index-msg-checksum-map' and `mh-index-checksum-origin-map'.
+MSG is a index folder message, CHECKSUM its MD5 hash and
+ORIGIN-MAP, if non-nil, a hashtable containing which maps each
+message in the index folder to the folder and message that it was
+copied from. The function updates the hash tables
+`mh-index-msg-checksum-map' and `mh-index-checksum-origin-map'.
 
-This function should only be called in the appropriate index folder buffer."
+This function should only be called in the appropriate index
+folder buffer."
   (cond ((and origin-map (gethash checksum mh-index-checksum-origin-map))
          (let* ((intermediate (gethash msg origin-map))
                 (ofolder (car intermediate))
@@ -208,10 +211,11 @@
 ;;;###mh-autoload
 (defun mh-index-update-maps (folder &optional origin-map)
   "Annotate all as yet unannotated messages in FOLDER with their MD5 hash.
-As a side effect msg -> checksum map is updated. Optional argument ORIGIN-MAP
-is a hashtable which maps each message in the index folder to the original
-folder and message from whence it was copied. If present the
-checksum -> (origin-folder, origin-index) map is updated too."
+As a side effect msg -> checksum map is updated. Optional
+argument ORIGIN-MAP is a hashtable which maps each message in the
+index folder to the original folder and message from whence it
+was copied. If present the checksum -> (origin-folder,
+origin-index) map is updated too."
   (clrhash mh-index-msg-checksum-map)
   (save-excursion
     ;; Clear temp buffer
@@ -266,8 +270,9 @@
 
 (defun mh-unpropagated-sequences ()
   "Return a list of sequences that aren't propagated to the source folders.
-It is just the sequences in the variable `mh-unpropagated-sequences' in
-addition to the Previous-Sequence (see mh-profile 5)."
+It is just the sequences in the variable
+`mh-unpropagated-sequences' in addition to the
+Previous-Sequence (see mh-profile 5)."
   (if mh-previous-seq
       (cons mh-previous-seq mh-unpropagated-sequences)
     mh-unpropagated-sequences))
@@ -275,8 +280,8 @@
 ;;;###mh-autoload
 (defun mh-create-sequence-map (seq-list)
   "Return a map from msg number to list of sequences in which it is present.
-SEQ-LIST is an assoc list whose keys are sequence names and whose cdr is the
-list of messages in that sequence."
+SEQ-LIST is an assoc list whose keys are sequence names and whose
+cdr is the list of messages in that sequence."
   (loop with map = (make-hash-table)
         for seq in seq-list
         when (and (not (memq (car seq) (mh-unpropagated-sequences)))
@@ -316,10 +321,11 @@
 
 (defun mh-index-generate-pretty-name (string)
   "Given STRING generate a name which is suitable for use as a folder name.
-White space from the beginning and end are removed. All spaces in the name are
-replaced with underscores and all / are replaced with $. If STRING is longer
-than 20 it is truncated too. STRING could be a list of strings in which case
-they are concatenated to construct the base name."
+White space from the beginning and end are removed. All spaces in
+the name are replaced with underscores and all / are replaced
+with $. If STRING is longer than 20 it is truncated too. STRING
+could be a list of strings in which case they are concatenated to
+construct the base name."
   (with-temp-buffer
     (if (stringp string)
         (insert string)
@@ -352,60 +358,66 @@
 (defun* mh-index-search (redo-search-flag folder search-regexp
                         &optional window-config)
   "Perform an indexed search in an MH mail folder.
+
 Use a prefix argument to repeat the search.
 
-Unlike regular searches, the prompt for the folder to search can be `all' to
-search all folders; in addition, the search works recursively on the listed
-folder. The search criteria are entered in an MH-Pick buffer as described in
-`mh-search-folder'.
+Unlike regular searches, the prompt for the folder to search can be
+`all' to search all folders; in addition, the search works recursively
+on the listed folder. The search criteria are entered in an MH-Pick
+buffer as described in `mh-search-folder'.
 
-To perform the search, type \\<mh-pick-mode-map>\\[mh-do-search]. Another
-difference from the regular searches is that because the search operates on
-more than one folder, the messages that are found are put in a temporary
-sub-folder of `+mhe-index' and are displayed in an MH-Folder buffer. This
-buffer is special because it displays messages from multiple folders; each set
-of messages from a given folder has a heading with the folder name.
+To perform the search, type \\<mh-pick-mode-map>\\[mh-do-search].
+Another difference from the regular searches is that because the
+search operates on more than one folder, the messages that are found
+are put in a temporary sub-folder of `+mhe-index' and are displayed in
+an MH-Folder buffer. This buffer is special because it displays
+messages from multiple folders; each set of messages from a given
+folder has a heading with the folder name.
 
-In addition, the \\<mh-folder-mode-map>\\[mh-index-visit-folder] command can
-be used to visit the folder of the message at point. Initially, only the
-messages that matched the search criteria are displayed in the folder. While
-the temporary buffer has its own set of message numbers, the actual messages
-numbers are shown in the visited folder. Thus, the \\[mh-index-visit-folder]
-command is useful to find the actual message number of an interesting message,
-or to view surrounding messages with the \\[mh-rescan-folder] command.
+In addition, the \\<mh-folder-mode-map>\\[mh-index-visit-folder]
+command can be used to visit the folder of the message at point.
+Initially, only the messages that matched the search criteria are
+displayed in the folder. While the temporary buffer has its own set of
+message numbers, the actual messages numbers are shown in the visited
+folder. Thus, the \\[mh-index-visit-folder] command is useful to find
+the actual message number of an interesting message, or to view
+surrounding messages with the \\[mh-rescan-folder] command.
 
-Because this folder is temporary, you'll probably get in the habit of killing
-it when you're done with \\[mh-kill-folder].
+Because this folder is temporary, you'll probably get in the habit of
+killing it when you're done with \\[mh-kill-folder].
 
-If you have run the \\[mh-search-folder] command, but change your mind while
-entering the search criteria and actually want to run an indexed search, then
-you can use the \\<mh-pick-mode-map>\\[mh-index-do-search] command in the
-MH-Pick buffer.
+If you have run the \\[mh-search-folder] command, but change your mind
+while entering the search criteria and actually want to run an indexed
+search, then you can use the
+\\<mh-pick-mode-map>\\[mh-index-do-search] command in the MH-Pick
+buffer.
 
-The \\<mh-folder-mode-map>\\[mh-index-search] command runs the command defined
-by the `mh-index-program' option. The default value is \"Auto-detect\" which
-means that MH-E will automatically choose one of \"swish++\", \"swish-e\",
-\"mairix\", \"namazu\", \"pick\" and \"grep\" in that order. If, for example,
-you have both \"swish++\" and \"mairix\" installed and you want to use
-\"mairix\", then you can set this option to \"mairix\".
+The \\<mh-folder-mode-map>\\[mh-index-search] command runs the command
+defined by the `mh-index-program' option. The default value is
+\"Auto-detect\" which means that MH-E will automatically choose one of
+\"swish++\", \"swish-e\", \"mairix\", \"namazu\", \"pick\" and
+\"grep\" in that order. If, for example, you have both \"swish++\" and
+\"mairix\" installed and you want to use \"mairix\", then you can set
+this option to \"mairix\".
 
                                 *NOTE*
 
-     The \"pick\" and \"grep\" commands do not perform a recursive search on
-     the given folder.
+     The \"pick\" and \"grep\" commands do not perform a
+     recursive search on the given folder.
 
-This command uses an \"X-MHE-Checksum:\" header field to cache the MD5
-checksum of a message. This means that if an incoming message already contains
-an \"X-MHE-Checksum:\" field, that message might not be found by this command.
-The following \"procmail\" recipe avoids this problem by renaming the existing
+This command uses an \"X-MHE-Checksum:\" header field to cache
+the MD5 checksum of a message. This means that if an incoming
+message already contains an \"X-MHE-Checksum:\" field, that
+message might not be found by this command. The following
+\"procmail\" recipe avoids this problem by renaming the existing
 header field:
 
      :0 wf
      | formail -R \"X-MHE-Checksum\" \"X-Old-MHE-Checksum\"
 
-The documentation for the following commands describe how to set up the
-various indexing programs to use with MH-E. The \"pick\" and \"grep\" commands
-do not require additional configuration.
+The documentation for the following commands describe how to set
+up the various indexing programs to use with MH-E. The \"pick\"
+and \"grep\" commands do not require additional configuration.
 
     - `mh-swish++-execute-search'
     - `mh-swish-execute-search'
@@ -414,12 +426,14 @@
     - `mh-pick-execute-search'
     - `mh-grep-execute-search'
 
-In a program, if REDO-SEARCH-FLAG is non-nil and the current folder buffer was
-generated by a index search, then the search is repeated. Otherwise, FOLDER is
-searched with SEARCH-REGEXP and the results are presented in an MH-E folder.
-If FOLDER is \"+\" then mail in all folders are searched. Optional argument
-WINDOW-CONFIG stores the window configuration that will be restored after the
-user quits the folder containing the index search results."
+In a program, if REDO-SEARCH-FLAG is non-nil and the current
+folder buffer was generated by a index search, then the search is
+repeated. Otherwise, FOLDER is searched with SEARCH-REGEXP and
+the results are presented in an MH-E folder. If FOLDER is \"+\"
+then mail in all folders are searched. Optional argument
+WINDOW-CONFIG stores the window configuration that will be
+restored after the user quits the folder containing the index
+search results."
   (interactive
    (list current-prefix-arg
          (progn
@@ -585,7 +599,8 @@
 
 (defun mh-index-write-hashtable (table proc)
   "Write TABLE to `current-buffer'.
-PROC is used to serialize the values corresponding to the hash table keys."
+PROC is used to serialize the values corresponding to the hash
+table keys."
   (pp (loop for x being the hash-keys of table
             collect (cons x (funcall proc (gethash x table))))
       (current-buffer))
@@ -619,8 +634,9 @@
 ;;;###mh-autoload
 (defun mh-index-parse-search-regexp (input-string)
   "Construct parse tree for INPUT-STRING.
-All occurrences of &, |, ! and ~ in INPUT-STRING are replaced by AND, OR and
-NOT as appropriate. Then the resulting string is parsed."
+All occurrences of &, |, ! and ~ in INPUT-STRING are replaced by
+AND, OR and NOT as appropriate. Then the resulting string is
+parsed."
   (let (input)
     (with-temp-buffer
       (insert input-string)
@@ -720,9 +736,10 @@
 ;;;###mh-autoload
 (defun mh-index-next-folder (&optional backward-flag)
   "Jump to the next folder marker.
-The function is only applicable to folders displaying index search results.
-With non-nil optional argument BACKWARD-FLAG, jump to the previous group of
-results."
+The function is only applicable to folders displaying index search
+results.
+With non-nil optional argument BACKWARD-FLAG, jump to the previous
+group of results."
   (interactive "P")
   (if (null mh-index-data)
       (message "Only applicable in an MH-E index search buffer")
@@ -764,12 +781,12 @@
 (defun mh-index-new-folder (name search-regexp)
   "Return a folder name based on NAME for search results of SEARCH-REGEXP.
 
-If folder NAME already exists and was generated for the same SEARCH-REGEXP
-then it is reused.
+If folder NAME already exists and was generated for the same
+SEARCH-REGEXP then it is reused.
 
-Otherwise if the folder NAME was generated from a different search then check
-if NAME<2> can be used. Otherwise try NAME<3>. This is repeated till we find a
-new folder name.
+Otherwise if the folder NAME was generated from a different
+search then check if NAME<2> can be used. Otherwise try NAME<3>.
+This is repeated till we find a new folder name.
 
 If the folder returned doesn't exist then it is created."
   (unless (mh-folder-name-p name)
@@ -794,7 +811,8 @@
 
 (defun mh-index-folder-search-regexp (folder)
   "If FOLDER was created by a index search, return the search regexp.
-Return nil if FOLDER doesn't exist or the .mhe_index file is garbled."
+Return nil if FOLDER doesn't exist or the .mhe_index file is
+garbled."
   (ignore-errors
     (with-temp-buffer
       (insert-file-contents
@@ -844,8 +862,8 @@
 ;;;###mh-autoload
 (defun mh-index-group-by-folder ()
   "Partition the messages based on source folder.
-Returns an alist with the the folder names in the car and the cdr being the
-list of messages originally from that folder."
+Returns an alist with the the folder names in the car and the cdr
+being the list of messages originally from that folder."
   (save-excursion
     (goto-char (point-min))
     (let ((result-table (make-hash-table :test #'equal)))
@@ -909,9 +927,9 @@
 
 (defun mh-index-matching-source-msgs (msgs &optional delete-from-index-data)
   "Return a table of original messages and folders for messages in MSGS.
-If optional argument DELETE-FROM-INDEX-DATA is non-nil, then each of the
-messages, whose counter-part is found in some source folder, is removed from
-`mh-index-data'."
+If optional argument DELETE-FROM-INDEX-DATA is non-nil, then each
+of the messages, whose counter-part is found in some source
+folder, is removed from `mh-index-data'."
   (let ((table (make-hash-table :test #'equal)))
     (dolist (msg msgs)
       (let* ((checksum (gethash msg mh-index-msg-checksum-map))
@@ -926,9 +944,10 @@
 ;;;###mh-autoload
 (defun mh-index-execute-commands ()
   "Delete/refile the actual messages.
-The copies in the searched folder are then deleted/refiled to get the desired
-result. Before deleting the messages we make sure that the message being
-deleted is identical to the one that the user has marked in the index buffer."
+The copies in the searched folder are then deleted/refiled to get
+the desired result. Before deleting the messages we make sure
+that the message being deleted is identical to the one that the
+user has marked in the index buffer."
   (save-excursion
     (let ((folders ())
           (mh-speed-flists-inhibit-flag t))
@@ -967,8 +986,8 @@
 ;;;###mh-autoload
 (defun mh-index-add-to-sequence (seq msgs)
   "Add to SEQ the messages in the list MSGS.
-This function updates the source folder sequences. Also makes an attempt to
-update the source folder buffer if we have it open."
+This function updates the source folder sequences. Also makes an
+attempt to update the source folder buffer if we have it open."
   ;; Don't need to do anything for cur
   (save-excursion
     (when (and (not (memq seq (mh-unpropagated-sequences)))
@@ -993,8 +1012,8 @@
 ;;;###mh-autoload
 (defun mh-index-delete-from-sequence (seq msgs)
   "Delete from SEQ the messages in MSGS.
-This function updates the source folder sequences. Also makes an attempt to
-update the source folder buffer if present."
+This function updates the source folder sequences. Also makes an
+attempt to update the source folder buffer if present."
   (save-excursion
     (when (and (not (memq seq (mh-unpropagated-sequences)))
                (mh-valid-seq-p seq))
@@ -1025,12 +1044,12 @@
 (defun mh-pick-execute-search (folder-path search-regexp)
   "Execute pick.
 
-Unlike the other index search programs \"pick\" only searches messages present
-in the folder itself and does not descend into any sub-folders that may be
-present.
+Unlike the other index search programs \"pick\" only searches
+messages present in the folder itself and does not descend into
+any sub-folders that may be present.
 
-In a program, FOLDER-PATH is the directory in which SEARCH-REGEXP is used
-to search."
+In a program, FOLDER-PATH is the directory in which SEARCH-REGEXP
+is used to search."
   (set-buffer (get-buffer-create mh-index-temp-buffer))
   (erase-buffer)
   (setq mh-index-pick-folder
@@ -1061,12 +1080,12 @@
 (defun mh-grep-execute-search (folder-path search-regexp)
   "Execute grep and read the results.
 
-Unlike the other index search programs \"grep\" only searches messages present
-in the folder itself and does not descend into any sub-folders that may be
-present.
+Unlike the other index search programs \"grep\" only searches
+messages present in the folder itself and does not descend into
+any sub-folders that may be present.
 
-In a program, FOLDER-PATH is the directory in which SEARCH-REGEXP is used
-to search."
+In a program, FOLDER-PATH is the directory in which SEARCH-REGEXP
+is used to search."
   (set-buffer (get-buffer-create mh-index-temp-buffer))
   (erase-buffer)
   (call-process mh-grep-binary nil '(t nil) nil
@@ -1075,9 +1094,9 @@
 
 (defun mh-grep-next-result ()
   "Read the next result.
-Parse it and return the message folder, message index and the match. If no
-other matches left then return nil. If the current record is invalid return
-'error."
+Parse it and return the message folder, message index and the
+match. If no other matches left then return nil. If the current
+record is invalid return 'error."
   (prog1
       (block nil
         (when (eobp)
@@ -1118,11 +1137,12 @@
 (defun mh-mairix-execute-search (folder-path search-regexp-list)
   "Execute mairix and read the results.
 
-In the examples below, replace \"/home/user/Mail\" with the path to your MH
-directory.
+In the examples below, replace \"/home/user/Mail\" with the path
+to your MH directory.
 
-First create the directory \"/home/user/Mail/.mairix\". Then create the file
-\"/home/user/Mail/.mairix/config\" with the following contents:
+First create the directory \"/home/user/Mail/.mairix\". Then
+create the file \"/home/user/Mail/.mairix/config\" with the
+following contents:
 
      base=/home/user/Mail
 
@@ -1133,13 +1153,13 @@
      vfolder_format=raw
      database=/home/user/Mail/mairix/database
 
-Use the following command line to generate the mairix index. Run this daily
-from cron:
+Use the following command line to generate the mairix index. Run
+this daily from cron:
 
      mairix -f /home/user/Mail/.mairix/config
 
-In a program, FOLDER-PATH is the directory in which SEARCH-REGEXP-LIST is used
-to search."
+In a program, FOLDER-PATH is the directory in which
+SEARCH-REGEXP-LIST is used to search."
   (set-buffer (get-buffer-create mh-index-temp-buffer))
   (erase-buffer)
   (unless mh-mairix-binary
@@ -1258,9 +1278,10 @@
 
 (defun mh-flists-execute (&rest args)
   "Execute flists.
-Search for messages belonging to `mh-flists-sequence' in the folders
-specified by `mh-flists-search-folders'. If `mh-recursive-folders-flag' is t,
-then the folders are searched recursively. All parameters ARGS are ignored."
+Search for messages belonging to `mh-flists-sequence' in the
+folders specified by `mh-flists-search-folders'. If
+`mh-recursive-folders-flag' is t, then the folders are searched
+recursively. All parameters ARGS are ignored."
   (set-buffer (get-buffer-create mh-index-temp-buffer))
   (erase-buffer)
   (unless (executable-find "sh")
@@ -1286,8 +1307,9 @@
 (defun mh-index-sequenced-messages (folders sequence)
   "Display messages from FOLDERS in SEQUENCE.
 All messages in the sequence you provide from the folders in
-`mh-new-messages-folders' are listed. With a prefix argument, enter a
-space-separated list of folders, or nothing to search all folders."
+`mh-new-messages-folders' are listed. With a prefix argument,
+enter a space-separated list of folders, or nothing to search all
+folders."
   (interactive
    (list (if current-prefix-arg
              (split-string (read-string "Search folder(s) (default all): "))
@@ -1330,13 +1352,14 @@
 (defun mh-index-new-messages (folders)
   "Display unseen messages.
 
-If you use a program such as `procmail' to use `rcvstore' to file your
-incoming mail automatically, you can display new, unseen, messages using this
-command. All messages in the `unseen' sequence from the folders in
-`mh-new-messages-folders' are listed.
+If you use a program such as `procmail' to use `rcvstore' to file
+your incoming mail automatically, you can display new, unseen,
+messages using this command. All messages in the `unseen'
+sequence from the folders in `mh-new-messages-folders' are
+listed.
 
-With a prefix argument, enter a space-separated list of FOLDERS, or nothing to
-search all folders."
+With a prefix argument, enter a space-separated list of FOLDERS,
+or nothing to search all folders."
   (interactive
    (list (if current-prefix-arg
              (split-string (read-string "Search folder(s) (default all): "))
@@ -1347,11 +1370,11 @@
 (defun mh-index-ticked-messages (folders)
   "Display ticked messages.
 
-All messages in `mh-tick-seq' from the folders in `mh-ticked-messages-folders'
-are listed.
+All messages in `mh-tick-seq' from the folders in
+`mh-ticked-messages-folders' are listed.
 
-With a prefix argument, enter a space-separated list of FOLDERS, or nothing to
-search all folders."
+With a prefix argument, enter a space-separated list of FOLDERS,
+or nothing to search all folders."
   (interactive
    (list (if current-prefix-arg
              (split-string (read-string "Search folder(s) (default all): "))
@@ -1370,11 +1393,12 @@
 (defun mh-swish-execute-search (folder-path search-regexp)
   "Execute swish-e and read the results.
 
-In the examples below, replace \"/home/user/Mail\" with the path to your
-MH directory.
+In the examples below, replace \"/home/user/Mail\" with the path
+to your MH directory.
 
-First create the directory \"/home/user/Mail/.swish\". Then create the file
-\"/home/user/Mail/.swish/config\" with the following contents:
+First create the directory \"/home/user/Mail/.swish\". Then
+create the file \"/home/user/Mail/.swish/config\" with the
+following contents:
 
      DefaultContents TXT*
      IndexDir /home/user/Mail
@@ -1397,22 +1421,22 @@
      FileRules pathname contains /home/user/Mail/.swish
      FileRules pathname contains /home/user/Mail/mhe-index
 
-This configuration does not index the folders that hold the results of your
-searches in \"+mhe-index\" since they tend to be ephemeral and the original
-messages are indexed anyway.
+This configuration does not index the folders that hold the
+results of your searches in \"+mhe-index\" since they tend to be
+ephemeral and the original messages are indexed anyway.
 
-If there are any directories you would like to ignore, append lines like the
-following to \"config\":
+If there are any directories you would like to ignore, append
+lines like the following to \"config\":
 
      FileRules pathname contains /home/user/Mail/scripts
 
-Use the following command line to generate the swish index. Run this daily
-from cron:
+Use the following command line to generate the swish index. Run
+this daily from cron:
 
          swish-e -c /home/user/Mail/.swish/config
 
-In a program, FOLDER-PATH is the directory in which SEARCH-REGEXP is used to
-search."
+In a program, FOLDER-PATH is the directory in which SEARCH-REGEXP
+is used to search."
   (set-buffer (get-buffer-create mh-index-temp-buffer))
   (erase-buffer)
   (unless mh-swish-binary
@@ -1472,11 +1496,12 @@
 (defun mh-swish++-execute-search (folder-path search-regexp)
   "Execute swish++ and read the results.
 
-In the examples below, replace \"/home/user/Mail\" with the path to your MH
-directory.
+In the examples below, replace \"/home/user/Mail\" with the path to
+your MH directory.
 
-First create the directory \"/home/user/Mail/.swish++\". Then create the file
-\"/home/user/Mail/.swish++/swish++.conf\" with the following contents:
+First create the directory \"/home/user/Mail/.swish++\". Then create
+the file \"/home/user/Mail/.swish++/swish++.conf\" with the following
+contents:
 
      IncludeMeta         Bcc Cc Comments Content-Description From Keywords
      IncludeMeta         Newsgroups Resent-To Subject To
@@ -1484,23 +1509,23 @@
      IncludeFile         Mail    *
      IndexFile           /home/user/Mail/.swish++/swish++.index
 
-Use the following command line to generate the swish index. Run this daily
-from cron:
+Use the following command line to generate the swish index. Run
+this daily from cron:
 
      find /home/user/Mail -path /home/user/Mail/mhe-index -prune \\
                           -o -path /home/user/Mail/.swish++ -prune \\
                           -o -name \"[0-9]*\" -print \\
          | index -c /home/user/Mail/.swish++/swish++.conf -
 
-This command does not index the folders that hold the results of your searches
-in \"+mhe-index\" since they tend to be ephemeral and the original messages
-are indexed anyway.
+This command does not index the folders that hold the results of your
+searches in \"+mhe-index\" since they tend to be ephemeral and the
+original messages are indexed anyway.
 
-On some systems (Debian GNU/Linux, for example), use \"index++\" instead of
-\"index\".
+On some systems (Debian GNU/Linux, for example), use \"index++\"
+instead of \"index\".
 
-In a program, FOLDER-PATH is the directory in which SEARCH-REGEXP is used to
-search."
+In a program, FOLDER-PATH is the directory in which SEARCH-REGEXP is
+used to search."
   (set-buffer (get-buffer-create mh-index-temp-buffer))
   (erase-buffer)
   (unless mh-swish++-binary
@@ -1554,29 +1579,30 @@
 (defun mh-namazu-execute-search (folder-path search-regexp)
   "Execute namazu and read the results.
 
-In the examples below, replace \"/home/user/Mail\" with the path to your MH
-directory.
+In the examples below, replace \"/home/user/Mail\" with the path to
+your MH directory.
 
-First create the directory \"/home/user/Mail/.namazu\". Then create the file
-\"/home/user/Mail/.namazu/mknmzrc\" with the following contents:
+First create the directory \"/home/user/Mail/.namazu\". Then create
+the file \"/home/user/Mail/.namazu/mknmzrc\" with the following
+contents:
 
      package conf;  # Don't remove this line!
      $ADDRESS = 'user@localhost';
      $ALLOW_FILE = \"[0-9]*\";
      $EXCLUDE_PATH = \"^/home/user/Mail/(mhe-index|spam)\";
 
-This configuration does not index the folders that hold the results of your
-searches in \"+mhe-index\" since they tend to be ephemeral and the original
-messages are indexed anyway.
+This configuration does not index the folders that hold the results of
+your searches in \"+mhe-index\" since they tend to be ephemeral and
+the original messages are indexed anyway.
 
-Use the following command line to generate the namazu index. Run this daily
-from cron:
+Use the following command line to generate the namazu index. Run this
+daily from cron:
 
      mknmz -f /home/user/Mail/.namazu/mknmzrc -O /home/user/Mail/.namazu \\
               /home/user/Mail
 
-In a program, FOLDER-PATH is the directory in which SEARCH-REGEXP is used to
-search."
+In a program, FOLDER-PATH is the directory in which SEARCH-REGEXP
+is used to search."
   (let ((namazu-index-directory
          (format "%s%s" mh-user-path mh-namazu-directory)))
     (unless (file-exists-p namazu-index-directory)
@@ -1623,10 +1649,10 @@
 ;;;###mh-autoload
 (defun mh-index-choose ()
   "Choose an indexing function.
-The side-effects of this function are that the variables `mh-indexer',
-`mh-index-execute-search-function', and `mh-index-next-result-function' are
-set according to the first indexer in `mh-indexer-choices' present on the
-system."
+The side-effects of this function are that the variables
+`mh-indexer', `mh-index-execute-search-function', and
+`mh-index-next-result-function' are set according to the first
+indexer in `mh-indexer-choices' present on the system."
   (block nil
     ;; The following favors the user's preference; otherwise, the last
     ;; automatically chosen indexer is used for efficiency rather than going