about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--Completion/BSD/Command/_bsd_pkg2
-rw-r--r--Completion/Base/Utility/_sep_parts2
-rw-r--r--Completion/Unix/Command/_git2
-rw-r--r--Completion/Unix/Command/_osc2
-rw-r--r--Completion/Unix/Command/_perforce2
-rw-r--r--Completion/compinit2
-rw-r--r--Completion/openSUSE/Command/_osc2
-rw-r--r--Completion/openSUSE/Command/_zypper2
-rw-r--r--Doc/Zsh/builtins.yo2
-rw-r--r--Doc/Zsh/calsys.yo2
-rw-r--r--Doc/Zsh/compctl.yo2
-rw-r--r--Doc/Zsh/compsys.yo4
-rw-r--r--Doc/Zsh/compwid.yo2
-rw-r--r--Doc/Zsh/contrib.yo10
-rw-r--r--Doc/Zsh/expn.yo2
-rw-r--r--Doc/Zsh/zle.yo6
-rw-r--r--Etc/CONTRIBUTORS2
-rw-r--r--Etc/ChangeLog-3.02
-rw-r--r--Functions/Calendar/calendar_parse2
-rw-r--r--Functions/Misc/sticky-note2
-rw-r--r--Functions/TCP/tcp_read2
-rw-r--r--Functions/Zftp/zfcput2
-rw-r--r--Src/Zle/compctl.c2
-rw-r--r--Src/Zle/zle_hist.c2
-rw-r--r--Src/exec.c2
-rw-r--r--Src/hist.c2
-rw-r--r--Src/jobs.c2
-rw-r--r--Src/lex.c2
-rw-r--r--Src/math.c2
-rw-r--r--Src/params.c2
-rw-r--r--Src/subst.c4
32 files changed, 45 insertions, 40 deletions
diff --git a/ChangeLog b/ChangeLog
index 34b5a3bbd..c59967ba7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-05-19  Mikael Magnusson <mikachu@gmail.com>
+
+	* 29307, 29308 + replies: Fix some doubled words in docs and
+	comments.
+
 2011-05-18  Wayne Davison  <wayned@users.sourceforge.net>
 
 	* Valentin Haenel: 29315: Completion/Unix/Command/_git: add a
@@ -14747,5 +14752,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.5311 $
+* $Revision: 1.5312 $
 *****************************************************
diff --git a/Completion/BSD/Command/_bsd_pkg b/Completion/BSD/Command/_bsd_pkg
index 8cc1a6230..9f4b0f11a 100644
--- a/Completion/BSD/Command/_bsd_pkg
+++ b/Completion/BSD/Command/_bsd_pkg
@@ -178,7 +178,7 @@ _bsd_pkg() {
       '-m[show mtree files]'
       '-p[show installation prefixes]'
       '-q[be quiet]'
-      '-R[show list list of installed requiring packages]'
+      '-R[show list of installed requiring packages]'
       '-r[show requirements scripts]'
       '-v[be verbose]'
     )
diff --git a/Completion/Base/Utility/_sep_parts b/Completion/Base/Utility/_sep_parts
index 6e6c1beed..de836a696 100644
--- a/Completion/Base/Utility/_sep_parts
+++ b/Completion/Base/Utility/_sep_parts
@@ -96,7 +96,7 @@ suffixes=("")
 autosuffix=()
 
 while [[ $# -gt 0 && "$str" == *${1}* ]]; do
-  # Remove anything up to the the suffix.
+  # Remove anything up to the suffix.
 
   str="${str#*${1}}"
 
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index 2ebeef094..2f6188824 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -131,7 +131,7 @@ _git-archive () {
     '--format=-[format of the resulting archive]:archive format:__git_archive_formats' \
     '(- :)'{-l,--list}'[list available archive formats]' \
     '(-v --verbose)'{-v,--verbose}'[report progress to stderr]' \
-    '--prefix=-[prepend the given path prefix to to each filename]:path prefix:_directories -r ""' \
+    '--prefix=-[prepend the given path prefix to each filename]:path prefix:_directories -r ""' \
     '--output=[write archive to argument instead of stdout]:archive:_files' \
     '--worktree-attributes[look for attributes in .gitattributes in working directory too]' \
     $backend_args \
diff --git a/Completion/Unix/Command/_osc b/Completion/Unix/Command/_osc
index 2808f92ee..c15b40af2 100644
--- a/Completion/Unix/Command/_osc
+++ b/Completion/Unix/Command/_osc
@@ -4,7 +4,7 @@
 #
 # This file is released under the GPLv2.
 #
-# Based on the the zsh guide from http://zsh.dotsrc.org/Guide/zshguide06.html
+# Based on the zsh guide from http://zsh.dotsrc.org/Guide/zshguide06.html
 #
 # Toggle verbose completions: zstyle ':completion:*:osc:*' verbose no
 #                             zstyle ':completion:*:osc-subcommand:*' verbose no
diff --git a/Completion/Unix/Command/_perforce b/Completion/Unix/Command/_perforce
index 0cef1f7da..08c42cbce 100644
--- a/Completion/Unix/Command/_perforce
+++ b/Completion/Unix/Command/_perforce
@@ -2605,7 +2605,7 @@ _perforce_cmd_tickets() {
 _perforce_cmd_triggers() {
   _arguments -s : \
     '-o[output form to stdout]' \
-    '-i[read from from stdin]'
+    '-i[read from stdin]'
 }
 
 
diff --git a/Completion/compinit b/Completion/compinit
index fc3625fc7..d3c5e28b5 100644
--- a/Completion/compinit
+++ b/Completion/compinit
@@ -26,7 +26,7 @@
 #     expand-or-complete, expand-or-complete-prefix, list-choices,
 #     menu-complete, menu-expand-or-complete, or reverse-menu-complete).
 #     This creates a widget behaving like <style> so that the
-#     completions are chosen as given in the the rest of the file,
+#     completions are chosen as given in the rest of the file,
 #     rather than by the context.  The widget has the same name as
 #     the autoload file and can be bound using bindkey in the normal way.
 #
diff --git a/Completion/openSUSE/Command/_osc b/Completion/openSUSE/Command/_osc
index 2808f92ee..c15b40af2 100644
--- a/Completion/openSUSE/Command/_osc
+++ b/Completion/openSUSE/Command/_osc
@@ -4,7 +4,7 @@
 #
 # This file is released under the GPLv2.
 #
-# Based on the the zsh guide from http://zsh.dotsrc.org/Guide/zshguide06.html
+# Based on the zsh guide from http://zsh.dotsrc.org/Guide/zshguide06.html
 #
 # Toggle verbose completions: zstyle ':completion:*:osc:*' verbose no
 #                             zstyle ':completion:*:osc-subcommand:*' verbose no
diff --git a/Completion/openSUSE/Command/_zypper b/Completion/openSUSE/Command/_zypper
index 57f942de4..03818eaa5 100644
--- a/Completion/openSUSE/Command/_zypper
+++ b/Completion/openSUSE/Command/_zypper
@@ -4,7 +4,7 @@
 #
 # This file is released under the GPLv2.
 #
-# Based on the the zsh guide from http://zsh.dotsrc.org/Guide/zshguide06.html
+# Based on the zsh guide from http://zsh.dotsrc.org/Guide/zshguide06.html
 #
 # Toggle verbose completions: zstyle ':completion:*:zypper:*' verbose no
 #                             zstyle ':completion:*:zypper-subcommand:*' verbose no
diff --git a/Doc/Zsh/builtins.yo b/Doc/Zsh/builtins.yo
index 34150e319..7170b13b9 100644
--- a/Doc/Zsh/builtins.yo
+++ b/Doc/Zsh/builtins.yo
@@ -621,7 +621,7 @@ ifnzman(noderef(Arithmetic Evaluation))\
 .  By default var(mathfn) may take
 any number of comma-separated arguments.  If var(min) is given,
 it must have exactly var(min) args; if var(min) and var(max) are
-both given, it must have at least var(min) and and at most var(max)
+both given, it must have at least var(min) and at most var(max)
 args.  var(max) may be -1 to indicate that there is no upper limit.
 
 By default the function is implemented by a shell function of the same
diff --git a/Doc/Zsh/calsys.yo b/Doc/Zsh/calsys.yo
index f4bd4eaa4..259eb23b3 100644
--- a/Doc/Zsh/calsys.yo
+++ b/Doc/Zsh/calsys.yo
@@ -363,7 +363,7 @@ entry.  `tt(-B 1)' is equivalent to `tt(-b)'.
 )
 item(tt(-C) var(calfile))(
 Explicitly specify a calendar file instead of the value of
-the tt(calendar-file) style or the the default tt(~/calendar).
+the tt(calendar-file) style or the default tt(~/calendar).
 )
 item(tt(-d))(
 Move any events that have passed from the calendar file to the
diff --git a/Doc/Zsh/compctl.yo b/Doc/Zsh/compctl.yo
index 2c84f853f..fa13a747e 100644
--- a/Doc/Zsh/compctl.yo
+++ b/Doc/Zsh/compctl.yo
@@ -69,7 +69,7 @@ search is retried with the last pathname component. If the command starts
 with a tt(=), completion is tried with the pathname of the command.
 
 Any of the var(command) strings may be patterns of the form normally
-used for filename generation.  These should be be quoted to protect them
+used for filename generation.  These should be quoted to protect them
 from immediate expansion; for example the command string tt('foo*')
 arranges for completion of the words of any command beginning with
 tt(foo).  When completion is attempted, all pattern completions are
diff --git a/Doc/Zsh/compsys.yo b/Doc/Zsh/compsys.yo
index 35b200bd2..27bd675a0 100644
--- a/Doc/Zsh/compsys.yo
+++ b/Doc/Zsh/compsys.yo
@@ -1934,7 +1934,7 @@ changing the foreground background colour, are also available, as is the form
 (or, with a numeric argument, some other) width.
 
 After deleting this prompt the variable tt(LISTPROMPT) should be unset for
-the the removal to take effect.
+the removal to take effect.
 )
 kindex(list-rows-first, completion style)
 item(tt(list-rows-first))(
@@ -2665,7 +2665,7 @@ most commands.
 )
 kindex(urls, completion style)
 item(tt(urls))(
-This is used together with the the tt(urls) tag by
+This is used together with the tt(urls) tag by
 functions completing URLs.
 
 If the value consists of more than one string, or if the only string
diff --git a/Doc/Zsh/compwid.yo b/Doc/Zsh/compwid.yo
index 06689746c..3042fa373 100644
--- a/Doc/Zsh/compwid.yo
+++ b/Doc/Zsh/compwid.yo
@@ -239,7 +239,7 @@ one more than the maximum selects the first. Unless the value of this
 key ends in a space, the match is inserted as in a menu completion,
 i.e. without automatically appending a space.
 
-Both tt(menu) and tt(automenu) may also specify the the number of the
+Both tt(menu) and tt(automenu) may also specify the number of the
 match to insert, given after a colon.  For example, `tt(menu:2)' says
 to start menu completion, beginning with the second match.
 
diff --git a/Doc/Zsh/contrib.yo b/Doc/Zsh/contrib.yo
index 31f41942f..cf42e28a9 100644
--- a/Doc/Zsh/contrib.yo
+++ b/Doc/Zsh/contrib.yo
@@ -1333,7 +1333,7 @@ The `tt(hook_com)' keys considered are `tt(branch)' and `tt(revision)'.
 They are set to the values figured out so far by var(vcs_info) and any
 change will be used directly when the actual replacement is done.
 
-If tt(ret) is set to to non-zero, the string in
+If tt(ret) is set to non-zero, the string in
 tt(${hook_com[branch-replace]}) will be used unchanged as the
 `tt(%b)' replacement in the variables set by var(vcs_info).
 )
@@ -1345,7 +1345,7 @@ The `tt(hook_com)' keys considered are `tt(hash)' and `tt(localrev)'.
 They are set to the values figured out so far by var(vcs_info) and any
 change will be used directly when the actual replacement is done.
 
-If tt(ret) is set to to non-zero, the string in
+If tt(ret) is set to non-zero, the string in
 tt(${hook_com[rev-replace]}) will be used unchanged as the
 `tt(%i)' replacement in the variables set by var(vcs_info).
 )
@@ -1370,7 +1370,7 @@ so even if you changed a value to your liking you can still get the
 original value in the next run. Changing the `tt(_orig)' values is
 probably not a good idea.
 
-If tt(ret) is set to to non-zero, the string in
+If tt(ret) is set to non-zero, the string in
 tt(${hook_com[message]}) will be used unchanged as the message by
 var(vcs_info).
 )
@@ -1988,7 +1988,7 @@ See tt(insert-unicode-char) for an alternative way of inserting Unicode
 characters using their hexadecimal character number.
 
 The set of accented characters is reasonably complete up to Unicode
-character U+0180, the set of special characters less so.  However, it it
+character U+0180, the set of special characters less so.  However, it
 is very sporadic from that point.  Adding new characters is easy,
 however; see the function tt(define-composed-chars).  Please send any
 additions to tt(zsh-workers@zsh.org).
@@ -3043,7 +3043,7 @@ tt(firefox mozilla netscape opera konqueror).
 )
 item(tt(tty-browsers))(
 An array similar to tt(x-browsers), except that it gives browsers to
-use use when no X Window display is available.  The default is
+use when no X Window display is available.  The default is
 tt(elinks links lynx).
 )
 item(tt(command))(
diff --git a/Doc/Zsh/expn.yo b/Doc/Zsh/expn.yo
index 1bace49c3..6ac348605 100644
--- a/Doc/Zsh/expn.yo
+++ b/Doc/Zsh/expn.yo
@@ -809,7 +809,7 @@ item(tt(@))(
 In double quotes, array elements are put into separate words.
 E.g., `tt("${(@)foo}")' is equivalent to `tt("${foo[@]}")' and
 `tt("${(@)foo[1,2]}")' is the same as `tt("$foo[1]" "$foo[2]")'.
-This is distinct from em(field splitting) by the the tt(f), tt(s)
+This is distinct from em(field splitting) by the tt(f), tt(s)
 or tt(z) flags, which still applies within each array element.
 )
 item(tt(A))(
diff --git a/Doc/Zsh/zle.yo b/Doc/Zsh/zle.yo
index f09dd8303..857e8c693 100644
--- a/Doc/Zsh/zle.yo
+++ b/Doc/Zsh/zle.yo
@@ -854,7 +854,7 @@ The name of the shell function that implements a widget defined with
 either tt(zle -N) or tt(zle -C).  In the former case, this is the second
 argument to the tt(zle -N) command that defined the widget, or
 the first argument if there was no second argument.  In the latter case
-this is the the third argument to the tt(zle -C) command that defined the
+this is the third argument to the tt(zle -C) command that defined the
 widget.  Read-only.
 )
 vindex(WIDGETSTYLE)
@@ -1866,7 +1866,7 @@ executed as a shell command.
 tindex(accept-line-and-down-history)
 item(tt(accept-line-and-down-history) (^O) (unbound) (unbound))(
 Execute the current line, and push the next history
-event on the the buffer stack.
+event on the buffer stack.
 )
 tindex(auto-suffix-remove)
 item(tt(auto-suffix-remove))(
@@ -2150,7 +2150,7 @@ column of the cursor in the current line.
 )
 tindex(where-is)
 item(tt(where-is))(
-Read the name of an editor command and and print the listing of key
+Read the name of an editor command and print the listing of key
 sequences that invoke the specified command.
 A restricted set of editing functions is available in the
 mini-buffer.  Keys are looked up in the special
diff --git a/Etc/CONTRIBUTORS b/Etc/CONTRIBUTORS
index c3b80d7f9..f95a36f79 100644
--- a/Etc/CONTRIBUTORS
+++ b/Etc/CONTRIBUTORS
@@ -271,7 +271,7 @@ Version 3.0
   including further texinfo documentation updates and maintained the zsh
   web pages during their tenure at www.mal.com.
 
-* Wayne Davison <wayne@clari.net> improved the the zle search functions
+* Wayne Davison <wayne@clari.net> improved the zle search functions
   and made them 8-bit clean.  Some other little bugfixes.
 
 * Bart Schaefer <schaefer@zsh.org> submitted several bugfixes, reported
diff --git a/Etc/ChangeLog-3.0 b/Etc/ChangeLog-3.0
index c53b2fb38..b55186822 100644
--- a/Etc/ChangeLog-3.0
+++ b/Etc/ChangeLog-3.0
@@ -2557,7 +2557,7 @@ Fri Jul 12 17:19:02 1996  Zoltán Hidvégi  <hzoli@cs.elte.hu>
 	  noshortloops.  If CSHJUNKIELOOPS is set accept repeat word list
 	  end.
 
-	* Doc/zshmisc.man: more precise definition the the syntax of
+	* Doc/zshmisc.man: more precise definition the syntax of
  	  complex commands
 
 	* Src/parse.c: the repeat word sublist syntax does not work if
diff --git a/Functions/Calendar/calendar_parse b/Functions/Calendar/calendar_parse
index 1025a9a25..fabaf7413 100644
--- a/Functions/Calendar/calendar_parse
+++ b/Functions/Calendar/calendar_parse
@@ -1,7 +1,7 @@
 # Parse the line passed down in the first argument as a calendar entry.
 # Sets the values parsed into the associative array reply, consisting of:
 # time  The time as an integer (as per EPOCHSECONDS) of the (next) event.
-# text1 The text from the the line not including the date/time, but
+# text1 The text from the line not including the date/time, but
 #       including any WARN or RPT text.  This is useful for rescheduling
 #       events, since the keywords need to be retained in this case.
 # warntime  Any warning time (WARN keyword) as an integer, else an empty
diff --git a/Functions/Misc/sticky-note b/Functions/Misc/sticky-note
index cfe9ea684..efe5ec1eb 100644
--- a/Functions/Misc/sticky-note
+++ b/Functions/Misc/sticky-note
@@ -19,7 +19,7 @@
 #
 # Otherwise, invoke the line editor with the previous notes available
 # as an editor history.  Two quick taps on the return/enter key finish
-# the note, or you can use use ^X^W as usual (ZZ in vicmd mode).
+# the note, or you can use ^X^W as usual (ZZ in vicmd mode).
 
 # The application is configured by three zstyles, all using the context
 # ":sticky-note".  The first two styles are "notefile" and "maxnotes"
diff --git a/Functions/TCP/tcp_read b/Functions/TCP/tcp_read
index 7d8acf865..f880395dd 100644
--- a/Functions/TCP/tcp_read
+++ b/Functions/TCP/tcp_read
@@ -1,7 +1,7 @@
 # Helper function for reading input from a TCP connection.
 # Actually, the input doesn't need to be a TCP connection at all, it
 # is simply an input file descriptor.  However, it must be contained
-# in ${tcp_by_fd[$TCP_SESS]}.  This is set set by tcp_open, but may be
+# in ${tcp_by_fd[$TCP_SESS]}.  This is set by tcp_open, but may be
 # set by hand.  (Note, however, the blocking/timeout behaviour is usually
 # not implemented for reading from regular files.)
 #
diff --git a/Functions/Zftp/zfcput b/Functions/Zftp/zfcput
index d8a8a60a3..85141b68d 100644
--- a/Functions/Zftp/zfcput
+++ b/Functions/Zftp/zfcput
@@ -23,7 +23,7 @@ if [[ $(echo abcd | tail +2c) = bcd ]]; then
 elif [[ $(echo abcd | tail --bytes=+2) = bcd ]]; then
   tailtype=b
 else
-  print "I can't get your \`tail' to start from from arbitrary characters.\n" \
+  print "I can't get your \`tail' to start from arbitrary characters.\n" \
   "If you know how to do this, let me know." 2>&1
   return 1
 fi
diff --git a/Src/Zle/compctl.c b/Src/Zle/compctl.c
index 170efff3f..0143370c7 100644
--- a/Src/Zle/compctl.c
+++ b/Src/Zle/compctl.c
@@ -1896,7 +1896,7 @@ cccleanuphookfn(UNUSED(Hookdef dummy), UNUSED(void *dat))
 
 /* This adds a match to the list of matches.  The string to add is given   *
  * in s, the type of match is given in the global variable addwhat and     *
- * the parameter t (if not NULL) is a pointer to a hash node node which    *
+ * the parameter t (if not NULL) is a pointer to a hash node which         *
  * may be used to give other information to this function.                 *
  *                                                                         *
  * addwhat contains either one of the special values (negative, see below) *
diff --git a/Src/Zle/zle_hist.c b/Src/Zle/zle_hist.c
index 347116fd5..bd5bc36d5 100644
--- a/Src/Zle/zle_hist.c
+++ b/Src/Zle/zle_hist.c
@@ -470,7 +470,7 @@ historysearchbackward(char **args)
 		histpos++;
 	    /* ensure we're not on a combining character */
 	    CCRIGHTPOS(histpos);
-	    /* histpos from now on on is an index into the metafied string */
+	    /* histpos from now on is an index into the metafied string */
 	    srch_str = zlelineasstring(zleline, histpos, 0, NULL, NULL, 0);
 	}
 	free(line);
diff --git a/Src/exec.c b/Src/exec.c
index df0101853..0e1a6c81f 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -2757,7 +2757,7 @@ execcmd(Estate state, int input, int output, int how, int last1)
      * A `fake exec' is possible if we have all the following conditions:     *
      * 1) last1 flag is 1.  This indicates that the current shell will not    *
      *    be needed after the current command.  This is typically the case    *
-     *    when when the command is the last stage in a subshell, or is the    *
+     *    when the command is the last stage in a subshell, or is the         *
      *    last command after the option `-c'.                                 *
      * 2) We don't have any traps set.                                        *
      * 3) We don't have any files to delete.                                  *
diff --git a/Src/hist.c b/Src/hist.c
index c94d3e4aa..c368b5f4b 100644
--- a/Src/hist.c
+++ b/Src/hist.c
@@ -303,7 +303,7 @@ ihgetc(void)
 	/* If the result is a bangchar which came from history or alias  *
 	 * expansion, we treat it as an escaped bangchar, unless history *
 	 * is disabled. If stophist == 1 it only means that history is   *
-	 * temporarily disabled by a !" which won't appear in in the     *
+	 * temporarily disabled by a !" which won't appear in the        *
 	 * history, so we still have an escaped bang. stophist > 1 if    *
 	 * history is disabled with NOBANGHIST or by someone else (e.g.  *
 	 * when the lexer scans single quoted text).                     */
diff --git a/Src/jobs.c b/Src/jobs.c
index 951f06d6e..b3ec0008c 100644
--- a/Src/jobs.c
+++ b/Src/jobs.c
@@ -531,7 +531,7 @@ update_job(Job jn)
 
     /* When MONITOR is set, the foreground process runs in a different *
      * process group from the shell, so the shell will not receive     *
-     * terminal signals, therefore we we pretend that the shell got    *
+     * terminal signals, therefore we pretend that the shell got       *
      * the signal too.                                                 */
     if (inforeground == 2 && isset(MONITOR) && WIFSIGNALED(status)) {
 	int sig = WTERMSIG(status);
diff --git a/Src/lex.c b/Src/lex.c
index f4b22370b..fdd05efff 100644
--- a/Src/lex.c
+++ b/Src/lex.c
@@ -1755,7 +1755,7 @@ parse_subst_string(char *s)
 	     * additional memory should come off the heap or
 	     * otherwise.  So we cheat by copying the unquoted string
 	     * into place, unless it's too long.  That's not the
-	     * normal case, but I'm worried there are are pathological
+	     * normal case, but I'm worried there are pathological
 	     * cases with converting metafied multibyte strings.
 	     * If someone can prove there aren't I will be very happy.
 	     */
diff --git a/Src/math.c b/Src/math.c
index caff06de9..377d1ac9c 100644
--- a/Src/math.c
+++ b/Src/math.c
@@ -46,7 +46,7 @@ mod_export mnumber zero_mnumber;
 
 /*
  * The last value we computed:  note this isn't cleared
- * until the next computation, unlike unlike yyval.
+ * until the next computation, unlike yyval.
  * Everything else is saved and returned to allow recursive calls.
  */
 /**/
diff --git a/Src/params.c b/Src/params.c
index f13401793..a59c51767 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -978,7 +978,7 @@ copyparam(Param tpm, Param pm, int fakecopy)
      * called from inside an associative array), we need the gets and sets
      * functions to be useful.
      *
-     * In this case we assume the the saved parameter is not itself special,
+     * In this case we assume the saved parameter is not itself special,
      * so we just use the standard functions.  This is also why we switch off
      * PM_SPECIAL.
      */
diff --git a/Src/subst.c b/Src/subst.c
index efa3c34fc..244c066d4 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -1594,7 +1594,7 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int ssub)
     int arrasg = 0;
     /*
      * The (e) flag.  As we need to do extra work not quite
-     * at the end, the effect of this is kludged in in several places.
+     * at the end, the effect of this is kludged in several places.
      */
     int eval = 0;
     /*
@@ -2987,7 +2987,7 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int ssub)
      * TODO: again. one might naively have thought this had the
      * same sort of effect as the ${(t)...} flag and the ${+...}
      * test, although in this case we do need the value rather
-     * the the parameter, so maybe it's a bit different.
+     * the parameter, so maybe it's a bit different.
      */
     if (getlen) {
 	long len = 0;