diff --git a/doc/gdoc b/doc/gdoc
index d109399..7be36e7 100755
--- a/doc/gdoc
+++ b/doc/gdoc
@@ -23,7 +23,7 @@
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # This will read a C source code file and scan for embedded comments
 # in the style of gnome comments (+minor extensions - see below).
@@ -97,7 +97,7 @@
 #  * my_function
 #  **/
 #
-# If the Description: header tag is ommitted, then there must be a blank line
+# If the Description: header tag is omitted, then there must be a blank line
 # after the last parameter specification.
 # e.g.
 # /**
@@ -302,7 +302,7 @@
 #  parameterlist => @list of parameters
 #  parameters => %parameter descriptions
 #  sectionlist => @list of sections
-#  sections => %descriont descriptions
+#  sections => %section descriptions
 #
 
 sub just_highlight {
@@ -704,11 +704,11 @@
 	print ".SH \"REPORTING BUGS\"\n";
 	print "Report bugs to <". $args{'bugsto'} . ">.\n";
         print ".br\n";
-	print "General guidelines for reporting bugs: http://www.gnu.org/gethelp/\n";
+	print "General guidelines for reporting bugs: https://www.gnu.org/gethelp/\n";
         print ".br\n";
 	if ($args{'pkgname'}) {
 	    print $args{'pkgname'} . " home page: " .
-		"http://www.gnu.org/software/" . $args{'module'} . "/\n";
+		"https://www.gnu.org/software/" . $args{'module'} . "/\n";
 	}
 	print "\n";
     }
@@ -739,7 +739,7 @@
 	print "should give you access to the complete manual.\n";
 	print "As an alternative you may obtain the manual from:\n";
 	print ".IP\n";
-	print ".B http://www.gnu.org/software/" . $args{'module'} . "/manual/\n";
+	print ".B https://www.gnu.org/software/" . $args{'module'} . "/manual/\n";
 	print ".PP\n";
     }
 }
@@ -1006,7 +1006,7 @@
 		    $contents .= $1."\n";
 		}
 	    } else {
-		# i dont know - bad line?  ignore.
+		# i don't know - bad line?  ignore.
 		print STDERR "warning: $lineno: Bad line: $_";
 	    }
 	} elsif ($state == 3) {	# scanning for function { (end of prototype)
