From 3258a23b517ab5130c151af5e96ec6445ca97174 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 28 Apr 2011 09:10:02 -0700 Subject: [PATCH] emerge: add --misspell-suggestions=n option This will fix bug #363137. --- man/emerge.1 | 8 +++++++- pym/_emerge/depgraph.py | 4 +++- pym/_emerge/help.py | 9 +++++++++ pym/_emerge/main.py | 6 ++++++ 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/man/emerge.1 b/man/emerge.1 index 0be6e2993..5441b0fb2 100644 --- a/man/emerge.1 +++ b/man/emerge.1 @@ -1,4 +1,4 @@ -.TH "EMERGE" "1" "Mar 2011" "Portage VERSION" "Portage" +.TH "EMERGE" "1" "Apr 2011" "Portage VERSION" "Portage" .SH "NAME" emerge \- Command\-line interface to the Portage system .SH "SYNOPSIS" @@ -428,6 +428,12 @@ order to avoid excess load. See \fBmake\fR(1) for information about analogous options that should be configured via \fBMAKEOPTS\fR in \fBmake.conf\fR(5). .TP +.BR "\-\-misspell\-suggestions < y | n >" +Enable or disable misspell suggestions. By default, emerge will show +a list of packages with similar names when a package doesn't exist. +The \fIEMERGE_DEFAULT_OPTS\fR variable may be used to disable this +option by default. +.TP .BR "\-\-newuse " (\fB\-N\fR) Tells emerge to include installed packages where USE flags have changed since compilation. This option diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index fabc2df10..e0c3e22c6 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2746,7 +2746,9 @@ class depgraph(object): mask_docs = True else: writemsg_stdout("\nemerge: there are no ebuilds to satisfy "+green(xinfo)+".\n", noiselevel=-1) - if isinstance(myparent, AtomArg): + if isinstance(myparent, AtomArg) and \ + self._frozen_config.myopts.get( + "--misspell-suggestions", "y") != "n": cp = myparent.atom.cp.lower() cat, pkg = portage.catsplit(cp) if cat == "null": diff --git a/pym/_emerge/help.py b/pym/_emerge/help.py index bc7811d91..9ba7892e5 100644 --- a/pym/_emerge/help.py +++ b/pym/_emerge/help.py @@ -512,6 +512,15 @@ def help(myopts, havecolor=1): for line in wrap(desc, desc_width): print(desc_indent + line) print() + print(" " + green("--misspell-suggestions") + " < %s | %s >" % \ + (turquoise("y"), turquoise("n"))) + desc = "Enable or disable misspell suggestions. By default, " + \ + "emerge will show a list of packages with similar names " + \ + "when a package doesn't exist. The EMERGE_DEFAULT_OPTS " + \ + "variable may be used to disable this option by default" + for line in wrap(desc, desc_width): + print(desc_indent + line) + print() print(" "+green("--newuse")+" ("+green("-N")+" short option)") desc = "Tells emerge to include installed packages where USE " + \ "flags have changed since compilation. This option " + \ diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index e89e8bbf1..fa8355616 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -669,6 +669,12 @@ def parse_opts(tmpcmdline, silent=False): "action" : "store" }, + "--misspell-suggestions": { + "help" : "enable package name misspell suggestions", + "type" : "choice", + "choices" : ("y", "n") + }, + "--with-bdeps": { "help":"include unnecessary build time dependencies", "type":"choice", -- 2.26.2