Replace @returns with @return.
authorZac Medico <zmedico@gentoo.org>
Tue, 27 Mar 2012 15:52:35 +0000 (08:52 -0700)
committerZac Medico <zmedico@gentoo.org>
Tue, 27 Mar 2012 15:52:35 +0000 (08:52 -0700)
32 files changed:
bin/repoman
pym/_emerge/BlockerCache.py
pym/_emerge/CompositeTask.py
pym/_emerge/JobStatusDisplay.py
pym/_emerge/Package.py
pym/_emerge/PollScheduler.py
pym/_emerge/QueueScheduler.py
pym/_emerge/Scheduler.py
pym/_emerge/_flush_elog_mod_echo.py
pym/_emerge/depgraph.py
pym/_emerge/resolver/output.py
pym/portage/cache/mappings.py
pym/portage/dbapi/bintree.py
pym/portage/dbapi/porttree.py
pym/portage/dbapi/vartree.py
pym/portage/dep/__init__.py
pym/portage/env/loaders.py
pym/portage/glsa.py
pym/portage/news.py
pym/portage/package/ebuild/_ipc/QueryCommand.py
pym/portage/package/ebuild/digestcheck.py
pym/portage/package/ebuild/digestgen.py
pym/portage/package/ebuild/doebuild.py
pym/portage/process.py
pym/portage/util/ExtractKernelVersion.py
pym/portage/util/__init__.py
pym/portage/util/_dyn_libs/PreservedLibsRegistry.py
pym/portage/util/_eventloop/EventLoop.py
pym/portage/util/_pty.py
pym/portage/util/lafilefixer.py
pym/portage/util/listdir.py
pym/repoman/utilities.py

index 8e19a4763027c6bed8a6e8f653ebf21097092d1f..54d864f1547833b41ff090b3f7594ff793ccc3ab 100755 (executable)
@@ -1026,7 +1026,7 @@ def fetch_metadata_dtd():
        Fetch metadata.dtd if it doesn't exist or the ctime is older than
        metadata_dtd_ctime_interval.
        @rtype: bool
-       @returns: True if successful, otherwise False
+       @return: True if successful, otherwise False
        """
 
        must_fetch = True
index 57e9d2cc5b6787863bba9d42ae00a56d27d0ddb7..06598a44ec150bac9908a50dc3bc6f3070260312 100644 (file)
@@ -180,7 +180,7 @@ class BlockerCache(portage.cache.mappings.MutableMapping):
        def __getitem__(self, cpv):
                """
                @rtype: BlockerData
-               @returns: An object with counter and atoms attributes.
+               @return: An object with counter and atoms attributes.
                """
                return self.BlockerData(*self._cache_data["blockers"][cpv])
 
index e56188db125e93c781a49135b092557a90a0d906..3e434780bef59b514d20da54c46a95cae8109637 100644 (file)
@@ -104,7 +104,7 @@ class CompositeTask(AsynchronousTask):
                Subclasses can use this as a generic task exit callback.
 
                @rtype: int
-               @returns: The task.returncode attribute.
+               @return: The task.returncode attribute.
                """
                self._assert_current(task)
                if task.returncode != os.EX_OK:
index d84d1b060aa59486b729150c244feb8c532f7565..5b9b2216f06a65bad66b72b8010ee3489b29963b 100644 (file)
@@ -97,7 +97,7 @@ class JobStatusDisplay(object):
                """
                Initialize term control codes.
                @rtype: bool
-               @returns: True if term codes were successfully initialized,
+               @return: True if term codes were successfully initialized,
                        False otherwise.
                """
 
index f87d5931289df0eff67c1f47af5816c620452cbf..e4d416c8c449d2397f2a52a9f15909b603716431 100644 (file)
@@ -491,7 +491,7 @@ class Package(Task):
 
                def is_valid_flag(self, flags):
                        """
-                       @returns: True if all flags are valid USE values which may
+                       @return: True if all flags are valid USE values which may
                                be specified in USE dependencies, False otherwise.
                        """
                        if isinstance(flags, basestring):
@@ -505,7 +505,7 @@ class Package(Task):
 
                def get_missing_iuse(self, flags):
                        """
-                       @returns: A list of flags missing from IUSE.
+                       @return: A list of flags missing from IUSE.
                        """
                        if isinstance(flags, basestring):
                                flags = [flags]
index 8f01838059651bedc1c4c6236858ebd3192b2979..1c631c3f27b45d70c9387408d4cc871cc6665c34 100644 (file)
@@ -97,7 +97,7 @@ class PollScheduler(object):
        def _keep_scheduling(self):
                """
                @rtype: bool
-               @returns: True if there may be remaining tasks to schedule,
+               @return: True if there may be remaining tasks to schedule,
                        False otherwise.
                """
                return False
index 730bd787d3a21836782a4d9c6404ee2457533bc7..9d73b782631a56a1c0c9aa180f2b5fac9a0f4866 100644 (file)
@@ -67,7 +67,7 @@ class QueueScheduler(PollScheduler):
        def _schedule_tasks(self):
                """
                @rtype: bool
-               @returns: True if there may be remaining tasks to schedule,
+               @return: True if there may be remaining tasks to schedule,
                        False otherwise.
                """
                if self._terminated_tasks:
index bde6cf36c88d136b80523b7922ce0ba69c3668b0..8d6ab9fb8c5a33278f804988021147a5881b72cc 100644 (file)
@@ -357,7 +357,7 @@ class Scheduler(PollScheduler):
                Check if background mode is enabled and adjust states as necessary.
 
                @rtype: bool
-               @returns: True if background mode is enabled, False otherwise.
+               @return: True if background mode is enabled, False otherwise.
                """
                background = (self._max_jobs is True or \
                        self._max_jobs > 1 or "--quiet" in self.myopts \
@@ -1435,7 +1435,7 @@ class Scheduler(PollScheduler):
                        merge order
                @type later: set
                @rtype: bool
-               @returns: True if the package is dependent, False otherwise.
+               @return: True if the package is dependent, False otherwise.
                """
 
                graph = self._digraph
@@ -1535,7 +1535,7 @@ class Scheduler(PollScheduler):
        def _job_delay(self):
                """
                @rtype: bool
-               @returns: True if job scheduling should be delayed, False otherwise.
+               @return: True if job scheduling should be delayed, False otherwise.
                """
 
                if self._jobs and self._max_load is not None:
@@ -1553,7 +1553,7 @@ class Scheduler(PollScheduler):
        def _schedule_tasks_imp(self):
                """
                @rtype: bool
-               @returns: True if state changed, False otherwise.
+               @return: True if state changed, False otherwise.
                """
 
                state_change = 0
@@ -1710,7 +1710,7 @@ class Scheduler(PollScheduler):
                Use the current resume list to calculate a new one,
                dropping any packages with unsatisfied deps.
                @rtype: bool
-               @returns: True if successful, False otherwise.
+               @return: True if successful, False otherwise.
                """
                print(colorize("GOOD", "*** Resuming merge..."))
 
index eab4168802d34ce1f9b3690c85722915075bddc3..9ac65b8ae6d9802c73758a5396582451c2b47ff8 100644 (file)
@@ -8,7 +8,7 @@ def _flush_elog_mod_echo():
        Dump the mod_echo output now so that our other
        notifications are shown last.
        @rtype: bool
-       @returns: True if messages were shown, False otherwise.
+       @return: True if messages were shown, False otherwise.
        """
        messages_shown = bool(mod_echo._items)
        mod_echo.finalize()
index e4310b480edcbd2767bc9b5a1976459069ca29ff..072a5ea6af5f270cf658965aef0550c798cb0a27 100644 (file)
@@ -886,7 +886,7 @@ class depgraph(object):
                        relationships from nested sets
                @type add_to_digraph: Boolean
                @rtype: Iterable
-               @returns: All args given in the input together with additional
+               @return: All args given in the input together with additional
                        SetArg instances that are generated from nested sets
                """
 
@@ -1901,7 +1901,7 @@ class depgraph(object):
                @param atom_without_category: an atom without a category component
                @type atom_without_category: String
                @rtype: list
-               @returns: a list of atoms containing categories (possibly empty)
+               @return: a list of atoms containing categories (possibly empty)
                """
                null_cp = portage.dep_getkey(insert_category_into_atom(
                        atom_without_category, "null"))
@@ -7029,7 +7029,7 @@ def _resume_depgraph(settings, trees, mtimedb, myopts, myparams, spinner):
        PackageNotFound or depgraph.UnsatisfiedResumeDep when necessary.
        TODO: Return reasons for dropped_tasks, for display/logging.
        @rtype: tuple
-       @returns: (success, depgraph, dropped_tasks)
+       @return: (success, depgraph, dropped_tasks)
        """
        skip_masked = True
        skip_unsatisfied = True
index a97658afbe5069983c15253c61fdbd866ef6df0c..1208bf99b662e5d2311f1d07e802bf113d35335b 100644 (file)
@@ -514,8 +514,8 @@ class Display(object):
        def _insert_slot(self, pkg, pkg_info, myinslotlist):
                """Adds slot info to the message
 
-               @returns addl: formatted slot info
-               @returns myoldbest: installed version list
+               @return addl: formatted slot info
+               @return myoldbest: installed version list
                Modifies self.counters.downgrades, self.counters.upgrades,
                        self.counters.binary
                """
@@ -541,8 +541,8 @@ class Display(object):
        def _new_slot(self, pkg, pkg_info):
                """New slot, mark it new.
 
-               @returns addl: formatted slot info
-               @returns myoldbest: installed version list
+               @return addl: formatted slot info
+               @return myoldbest: installed version list
                Modifies self.counters.newslot, self.counters.binary
                """
                addl = " " + green("NS") + pkg_info.fetch_symbol + "  "
index 60a918e010ce98a6dbfe4f04ce8ded9f5b654cd7..bc8ce9af80170b5a94bb866a1bb35601363b1b72 100644 (file)
@@ -316,7 +316,7 @@ def slot_dict_class(keys, prefix="_val_"):
                attribute names from keys
        @type prefix: String
        @rtype: SlotDict
-       @returns: A class that constructs SlotDict instances
+       @return: A class that constructs SlotDict instances
                having the specified keys.
        """
        if isinstance(keys, frozenset):
index 31ba364a465b7b23f6d14ab30670efca4b24e6a3..2295b9f59f93ddc4c86a6cbd370508f5135470d1 100644 (file)
@@ -214,7 +214,7 @@ def _pkgindex_cpv_map_latest_build(pkgindex):
        @param pkgindex: A PackageIndex instance.
        @type pkgindex: PackageIndex
        @rtype: dict
-       @returns: a dict containing entry for the give cpv.
+       @return: a dict containing entry for the give cpv.
        """
        cpv_map = {}
 
@@ -1157,7 +1157,7 @@ class binarytree(object):
                Performs checksums and evaluates USE flag conditionals.
                Raises InvalidDependString if necessary.
                @rtype: dict
-               @returns: a dict containing entry for the give cpv.
+               @return: a dict containing entry for the give cpv.
                """
 
                pkg_path = self.getname(cpv)
@@ -1363,7 +1363,7 @@ class binarytree(object):
                Verify digests for the given package and raise DigestException
                if verification fails.
                @rtype: bool
-               @returns: True if digests could be located, False otherwise.
+               @return: True if digests could be located, False otherwise.
                """
                cpv = pkg
                if not isinstance(cpv, basestring):
index 233a2c1d1592642e4f7050bd43fc56187c44ebfc..382bcda4363107716a3e4748720516d22ab136ec 100644 (file)
@@ -254,7 +254,7 @@ class portdbapi(dbapi):
                @param canonical_repo_path: the canonical path of a repository, as
                        resolved by os.path.realpath()
                @type canonical_repo_path: String
-               @returns: The repo_name for the corresponding repository, or None
+               @return: The repo_name for the corresponding repository, or None
                        if the path does not correspond a known repository
                @rtype: String or None
                """
@@ -331,7 +331,7 @@ class portdbapi(dbapi):
                Create an EbuildMetadataPhase instance to generate metadata for the
                give ebuild.
                @rtype: EbuildMetadataPhase
-               @returns: A new EbuildMetadataPhase instance, or None if the
+               @return: A new EbuildMetadataPhase instance, or None if the
                        metadata cache is already valid.
                """
                metadata, ebuild_hash = self._pull_valid_cache(cpv, ebuild_path, repo_path)
@@ -551,7 +551,7 @@ class portdbapi(dbapi):
                @param mytree: The canonical path of the tree in which the ebuild
                        is located, or None for automatic lookup
                @type mypkg: String
-               @returns: A dict which maps each file name to a set of alternative
+               @return: A dict which maps each file name to a set of alternative
                        URIs.
                @rtype: dict
                """
index 3e603e233e3eb4220de2f2dc68e2c38785a25458..25ea4c189cb388dd321e682a905e1f430aff8d19 100644 (file)
@@ -921,7 +921,7 @@ class vardbapi(dbapi):
                @param myroot: ignored, self._eroot is used instead
                @param mycpv: ignored
                @rtype: int
-               @returns: new counter value
+               @return: new counter value
                """
                myroot = None
                mycpv = None
@@ -1732,7 +1732,7 @@ class dblink(object):
                        PreservedLibsRegistry yet.
                @type preserve_paths: set
                @rtype: Integer
-               @returns:
+               @return:
                1. os.EX_OK if everything went well.
                2. return code of the failed phase (for prerm, postrm, cleanrm)
                """
@@ -2546,7 +2546,7 @@ class dblink(object):
                @param destroot:
                @type destroot:
                @rtype: Boolean
-               @returns:
+               @return:
                1. True if this package owns the file.
                2. False if this package does not own the file.
                """
@@ -3376,7 +3376,7 @@ class dblink(object):
                @param prev_mtimes: { Filename:mtime } mapping for env_update
                @type prev_mtimes: Dictionary
                @rtype: Boolean
-               @returns:
+               @return:
                1. 0 on success
                2. 1 on failure
                
@@ -4193,7 +4193,7 @@ class dblink(object):
                @param thismtime: The current time (typically long(time.time())
                @type thismtime: Long
                @rtype: None or Boolean
-               @returns:
+               @return:
                1. True on failure
                2. None otherwise
                
index 389916f8e3198a6ed16301f40d84744bf71c9323..3832b0bdeecb3ca5b922580eda2f3376a9c2c971 100644 (file)
@@ -62,7 +62,7 @@ def cpvequal(cpv1, cpv2):
        @param cpv2: CategoryPackageVersion (no operators) Example: "sys-apps/portage-2.1"
        @type cpv2: String
        @rtype: Boolean
-       @returns:
+       @return:
        1.  True if cpv1 = cpv2
        2.  False Otherwise
        3.  Throws PortageException if cpv1 or cpv2 is not a CPV
index b540fbbd3a54d3bcb70e4ab55d2d0c3fddd3632a..372bc12fafe4fdc134c8dd16550449a923089c2f 100644 (file)
@@ -40,7 +40,7 @@ def RecursiveFileLoader(filename):
 
        @param filename: name of a file/directory to traverse
        @rtype: list
-       @returns: List of files to process
+       @return: List of files to process
        """
 
        try:
@@ -139,7 +139,7 @@ class FileLoader(DataLoader):
                        load all files in self.fname
                @type: Boolean
                @rtype: tuple
-               @returns:
+               @return:
                Returns (data,errors), both may be empty dicts or populated.
                """
                data = {}
index a784d14e1082a47e71184dd304f753165f570768..2df7ec3a7dd3bca834fbdf3496158b002ce9686b 100644 (file)
@@ -488,7 +488,7 @@ class Glsa:
                @type   myfile: String
                @param  myfile: Filename to grab the XML data from
                @rtype:         None
-               @returns:       None
+               @return       None
                """
                self.DOM = xml.dom.minidom.parse(myfile)
                if not self.DOM.doctype:
@@ -634,7 +634,7 @@ class Glsa:
                architectures.
                
                @rtype:         Boolean
-               @returns:       True if the system is affected, False if not
+               @return       True if the system is affected, False if not
                """
                rValue = False
                for k in self.packages:
@@ -654,7 +654,7 @@ class Glsa:
                GLSA was already applied.
                
                @rtype:         Boolean
-               @returns:       True if the GLSA was applied, False if not
+               @return       True if the GLSA was applied, False if not
                """
                return (self.nr in get_applied_glsas(self.config))
 
@@ -665,7 +665,7 @@ class Glsa:
                applied or on explicit user request.
 
                @rtype:         None
-               @returns:       None
+               @return       None
                """
                if not self.isApplied():
                        checkfile = io.open(
index f34fd6ff80cbc3608e2a1319444312c848d64d58..bbd93257ac49478b5188a2265457aa2e85046592 100644 (file)
@@ -370,7 +370,7 @@ def count_unread_news(portdb, vardb, repos=None, update=True):
        @param update: check for new items (default is True)
        @type update: boolean
        @rtype: dict
-       @returns: dictionary mapping repos to integer counts of unread news items
+       @return: dictionary mapping repos to integer counts of unread news items
        """
 
        NEWS_PATH = os.path.join("metadata", "news")
index 949a148015b5bb1bf494033d17b68aabe1e52249..7bbb0e83bdc7c1e522805894a5a5188f9b91db82 100644 (file)
@@ -27,7 +27,7 @@ class QueryCommand(IpcCommand):
 
        def __call__(self, argv):
                """
-               @returns: tuple of (stdout, stderr, returncode)
+               @return: tuple of (stdout, stderr, returncode)
                """
 
                cmd, root, atom_str = argv
index c8d168e0f93c5c971daa82ab516aec0f6e7d0ce4..8705639d19bf2293bdd117dcff7a62224cf47325 100644 (file)
@@ -15,7 +15,7 @@ def digestcheck(myfiles, mysettings, strict=False, justmanifest=None, mf=None):
        """
        Verifies checksums. Assumes all files have been downloaded.
        @rtype: int
-       @returns: 1 on success and 0 on failure
+       @return: 1 on success and 0 on failure
        """
 
        if justmanifest is not None:
index 38e9991bd7f50cb225dea8c9de0a6b696976ec4f..6ad339737fa24bf6b6d5bcbb6f823368410616e4 100644 (file)
@@ -33,7 +33,7 @@ def digestgen(myarchives=None, mysettings=None, myportdb=None):
        @param myportdb: a portdbapi instance
        @type myportdb: portdbapi
        @rtype: int
-       @returns: 1 on success and 0 on failure
+       @return: 1 on success and 0 on failure
        """
        if mysettings is None or myportdb is None:
                raise TypeError("portage.digestgen(): 'mysettings' and 'myportdb' parameter are required.")
index ffad4563f0278245bf7737b056f4c0e0709988bf..49672e1079224af8cb65a454533d08b4f2a5cd89 100644 (file)
@@ -480,7 +480,7 @@ def doebuild(myebuild, mydo, _unused=None, settings=None, debug=0, listonly=0,
                caller clean up all returned PIDs.
        @type returnpid: Boolean
        @rtype: Boolean
-       @returns:
+       @return:
        1. 0 for success
        2. 1 for error
        
@@ -1368,7 +1368,7 @@ def spawn(mystring, mysettings, debug=0, free=0, droppriv=0, sesandbox=0, fakero
        @param keywords: Extra options encoded as a dict, to be passed to spawn
        @type keywords: Dictionary
        @rtype: Integer
-       @returns:
+       @return:
        1. The return code of the spawned process.
        """
 
index febaf662edfbd8f996f18adc1d412a57825ac71b..94687eaa0cc999aab86cfacf78a3ee3422170934 100644 (file)
@@ -354,7 +354,7 @@ def _exec(binary, mycommand, opt_name, fd_pipes, env, gid, groups, uid, umask,
        @param pre_exec: A function to be called with no arguments just prior to the exec call.
        @type pre_exec: callable
        @rtype: None
-       @returns: Never returns (calls os.execve)
+       @return: Never returns (calls os.execve)
        """
        
        # If the process we're creating hasn't been given a name
@@ -429,7 +429,7 @@ def find_binary(binary):
        @param binary: Name of the binary to find
        @type string
        @rtype: None or string
-       @returns: full path to binary or None if the binary could not be located.
+       @return: full path to binary or None if the binary could not be located.
        """
        for path in os.environ.get("PATH", "").split(":"):
                filename = "%s/%s" % (path, binary)
index 49957f5fb03fbc81fd197f2e8febb1641ab2a9a8..69bd58a68761d1e6bde98ffeccbaa21e37cfe391 100644 (file)
@@ -14,7 +14,7 @@ def ExtractKernelVersion(base_dir):
        @param base_dir: Path to sources (usually /usr/src/linux)
        @type base_dir: string
        @rtype: tuple( version[string], error[string])
-       @returns:
+       @return:
        1. tuple( version[string], error[string])
        Either version or error is populated (but never both)
 
index 02fb75dfdcf4b516187d3c18de80c463aec6f167..dd692a13a36bc00b96ecd6e89c37116c0dc2c8ee 100644 (file)
@@ -346,7 +346,7 @@ def grabdict(myfilename, juststrings=0, empty=0, recursive=0, incremental=1):
        @param incremental: Append to the return list, don't overwrite
        @type incremental: Boolean (integer)
        @rtype: Dictionary
-       @returns:
+       @return:
        1.  Returns the lines in a file in a dictionary, for example:
                'sys-apps/portage x86 amd64 ppc'
                would return
index 26da0cf20c48995ecd609ec80a6058ccda048dd9..4bc64dbfed850124a9cbfa7c69c44f0f26dace16 100644 (file)
@@ -242,7 +242,7 @@ class PreservedLibsRegistry(object):
        
        def getPreservedLibs(self):
                """ Return a mapping of packages->preserved objects.
-                       @returns mapping of package instances to preserved objects
+                       @return mapping of package instances to preserved objects
                        @rtype Dict cpv->list-of-paths
                """
                if self._data is None:
index a2d4cd40ba0418c9e3107a23d6346d755d452607..ef20ce40106737323bc84e111bc9137afbab5bbc 100644 (file)
@@ -435,7 +435,7 @@ def can_poll_device():
        Test if it's possible to use poll() on a device such as a pty. This
        is known to fail on Darwin.
        @rtype: bool
-       @returns: True if poll() on a device succeeds, False otherwise.
+       @return: True if poll() on a device succeeds, False otherwise.
        """
 
        global _can_poll_device
index 95082cf5b3c47f080501af3fdab453d3f3f75ba3..11c8b92afbaf40044248e65ae1cd6fcf6f1ff447 100644 (file)
@@ -27,7 +27,7 @@ def _create_pty_or_pipe(copy_term_size=None):
                then the term size will be copied to the pty.
        @type copy_term_size: int
        @rtype: tuple
-       @returns: A tuple of (is_pty, master_fd, slave_fd) where
+       @return: A tuple of (is_pty, master_fd, slave_fd) where
                is_pty is True if a pty was successfully allocated, and
                False if a normal pipe was allocated.
        """
index 2b093d87b22c6fbf4d2e17df914b94b0b7cbf904..54ff20de5be46b8d7d2a56966af6cf1511d75fe9 100644 (file)
@@ -80,7 +80,7 @@ def rewrite_lafile(contents):
        @param contents: the contents of a libtool archive file
        @type contents: bytes
        @rtype: tuple
-       @returns: (True, fixed_contents) if something needed to be
+       @return: (True, fixed_contents) if something needed to be
                fixed, (False, None) otherwise.
        """
        #Parse the 'dependency_libs' and 'inherited_linker_flags' lines.
index 5753d2f97e26548303f1cf6eab0350b520e7b8aa..c2628cbfe510a7441da7f7fb6d4be9691bfe637d 100644 (file)
@@ -109,7 +109,7 @@ def listdir(mypath, recursive=False, filesonly=False, ignorecvs=False, ignorelis
        @param dirsonly: Only return directories.
        @type dirsonly: Boolean
        @rtype: List
-       @returns: A list of files and directories (or just files or just directories) or an empty list.
+       @return: A list of files and directories (or just files or just directories) or an empty list.
        """
 
        list, ftype = cacheddir(mypath, ignorecvs, ignorelist, EmptyOnError, followSymlinks)
index 34d649414e51db35ca2aa62b2947cb63af0f54b6..bee67aaa6b7a913edf83af0211610e6fcbf1553a 100644 (file)
@@ -327,7 +327,7 @@ def editor_is_executable(editor):
        @param editor: An EDITOR value from the environment.
        @type: string
        @rtype: bool
-       @returns: True if an executable is found, False otherwise.
+       @return: True if an executable is found, False otherwise.
        """
        editor_split = util.shlex_split(editor)
        if not editor_split:
@@ -348,7 +348,7 @@ def get_commit_message_with_editor(editor, message=None):
        @param message: An iterable of lines to show in the editor.
        @type: iterable
        @rtype: string or None
-       @returns: A string on success or None if an error occurs.
+       @return: A string on success or None if an error occurs.
        """
        fd, filename = mkstemp()
        try:
@@ -389,7 +389,7 @@ def get_commit_message_with_stdin():
        Read a commit message from the user and return it.
 
        @rtype: string or None
-       @returns: A string on success or None if an error occurs.
+       @return: A string on success or None if an error occurs.
        """
        print("Please enter a commit message. Use Ctrl-d to finish or Ctrl-c to abort.")
        commitmessage = []