From: Zac Medico <zmedico@gentoo.org>
Date: Thu, 28 Apr 2011 16:10:02 +0000 (-0700)
Subject: emerge: add --misspell-suggestions=n option
X-Git-Tag: v2.1.9.47~25
X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=3258a23b517ab5130c151af5e96ec6445ca97174;p=portage.git

emerge: add --misspell-suggestions=n option

This will fix bug #363137.
---

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",