aboutsummaryrefslogtreecommitdiff
path: root/src/flag
AgeCommit message (Collapse)Author
2021-04-05flag: use strings.Builder instead of concatenating stringsJames Fennell
There is a single function in the flag package whose implementation uses string concatenation instead of the recommended strings.Builder. The function was last touched before strings.Builder was introduced in Go 1.10, which explains the old style code. This PR updates the implementation. Fixes #45392 Change-Id: Id2d8f1788765a0c4faaeb1e6870914f72b3c8442 GitHub-Last-Rev: 0e12fe304593afc627fc4f1597670efd354809b0 GitHub-Pull-Request: golang/go#45393 Reviewed-on: https://go-review.googlesource.com/c/go/+/307329 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Trust: Josh Bleecher Snyder <josharian@gmail.com>
2021-03-10flag: panic if flag name begins with - or contains =KimMachineGun
Fixes #41792 Change-Id: I9b4aae8a899e3c3ac9532d27932d275cfb1fab48 GitHub-Last-Rev: f06b1e17674bf77bdc2d3e798df4c4379748c8d2 GitHub-Pull-Request: golang/go#42737 Reviewed-on: https://go-review.googlesource.com/c/go/+/271788 Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com> Reviewed-by: Rob Pike <r@golang.org> Run-TryBot: Emmanuel Odeke <emmanuel@orijtech.com> TryBot-Result: Go Bot <gobot@golang.org> Trust: Rob Pike <r@golang.org>
2020-10-20all: update references to symbols moved from io/ioutil to ioRuss Cox
The old ioutil references are still valid, but update our code to reflect best practices and get used to the new locations. Code compiled with the bootstrap toolchain (cmd/asm, cmd/dist, cmd/compile, debug/elf) must remain Go 1.4-compatible and is excluded. Also excluded vendored code. For #41190. Change-Id: I6d86f2bf7bc37a9d904b6cee3fe0c7af6d94d5b1 Reviewed-on: https://go-review.googlesource.com/c/go/+/263142 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
2020-09-16flag: add FuncCarl Johnson
Fixes #39557 Change-Id: Ida578f7484335e8c6bf927255f75377eda63b563 GitHub-Last-Rev: b97294f7669c24011e5b093179d65636512a84cd GitHub-Pull-Request: golang/go#39880 Reviewed-on: https://go-review.googlesource.com/c/go/+/240014 Reviewed-by: Russ Cox <rsc@golang.org> Trust: Ian Lance Taylor <iant@golang.org>
2020-04-03flag: fix TestExitCode on Plan 9David du Colombier
CL 221427 added TestExitCode. This test is failing on Plan 9 because ExitCode is always equal to 1 on error since Plan 9 use error strings. This change fixes TestExitCode by checking that ExitCode is equal to 1 on error instead of the specific value. Fixes #38237. Change-Id: Ie269722e731e275e5bfc51644c1fa6be76525f1f Reviewed-on: https://go-review.googlesource.com/c/go/+/227158 Run-TryBot: David du Colombier <0intro@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
2020-04-03flag: exit 0 when -h or -help invoked but undefinedShang Jian Ding
flag treats -h or -help as a special case to print a nice help message, but exit with a status code of 2. This update makes that status code 0. Fixes #37533 Change-Id: I7e0bd29944ce46607fb7cfc6740734f7444a151a GitHub-Last-Rev: 83f64d757bc3a9957c49caa5de74d05a96724771 GitHub-Pull-Request: golang/go#37530 Reviewed-on: https://go-review.googlesource.com/c/go/+/221427 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2020-03-03flag: changed flag variable name in package doc, for clarityyuz
Changed the flag variable name to nFlag instead of flagname, because flagname was confusing. Change-Id: I20dd4c4b4f605395d427a125ba4fd14580e5d766 Reviewed-on: https://go-review.googlesource.com/c/go/+/221678 Reviewed-by: Rob Pike <r@golang.org>
2020-02-27flag: update comment to refer to Output, not outIan Lance Taylor
The out method was renamed to Output in CL 70391 for #17628 and #21888. Fixes #37514 Change-Id: I99be47b5030ccbbf10a056df9fcc3c97cb99b015 Reviewed-on: https://go-review.googlesource.com/c/go/+/221383 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
2019-11-11flag: clarify that a flag cannot be re-definedAgniva De Sarker
Fixes #31694 Change-Id: Ifb2ad2dc41c449668c0f6a4d4cfb9b583e5591f2 Reviewed-on: https://go-review.googlesource.com/c/go/+/206126 Reviewed-by: Rob Pike <r@golang.org>
2019-03-31cmd/go: further reduce init workDaniel Martí
The first biggest offender was crypto/des.init at ~1%. It's cryptographically broken and the init function is relatively expensive, which is unfortunate as both crypto/tls and crypto/x509 (and by extension, cmd/go) import it. Hide the work behind sync.Once. The second biggest offender was flag.sortFlags at just under 1%, used by the Visit flagset methods. It allocated two slices, which made a difference as cmd/go iterates over multiple flagsets during init. Use a single slice with a direct sort.Interface implementation. Another big offender is initializing global maps. Reducing this work in cmd/go/internal/imports and net/textproto gives us close to another whole 1% in saved work. The former can use map literals, and the latter can hide the work behind sync.Once. Finally, compress/flate used newHuffmanBitWriter as part of init, which allocates many objects and slices. Yet it only used one of the slice fields. Allocating just that slice saves a surprising ~0.3%, since we generated a lot of unnecessary garbage. All in all, these little pieces amount to just over 3% saved CPU time. name old time/op new time/op delta ExecGoEnv-8 3.61ms ± 1% 3.50ms ± 0% -3.02% (p=0.000 n=10+10) Updates #26775. Updates #29382. Change-Id: I915416e88a874c63235ba512617c8aef35c0ca8b Reviewed-on: https://go-review.googlesource.com/c/go/+/166459 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-01-21flag: improve docs for PrintDefaults; clarify how to change output destinationAaron Cannon
The existing docs only mention that it is possible to change the output destination of PrintDefaults from the default of standard error, but fail to mention how to actually do so. This change fixes this lack by directing users to CommandLine.SetOutput. Fixes #15024 Change-Id: Ieaa7edbebd23d4ea6fa7e53d97a87143d590bdb3 Reviewed-on: https://go-review.googlesource.com/c/145203 Reviewed-by: Rob Pike <r@golang.org>
2018-10-19flag: return a consistent parse error if the flag value is invalidRob Pike
Return a consistently formatted error string that reports either a parse error or a range error. Before: invalid boolean value "3" for -debug: strconv.ParseBool: parsing "3": invalid syntax After: invalid boolean value "3" for -debug: parse error Fixes #26822 Change-Id: I60992bf23da32a4c0cf32472a8af486a3c9674ad Reviewed-on: https://go-review.googlesource.com/c/143257 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-09-26all: use strings.ReplaceAll and bytes.ReplaceAll where applicableBrad Fitzpatrick
I omitted vendor directories and anything necessary for bootstrapping. (Tested by bootstrapping with Go 1.4) Updates #27864 Change-Id: I7d9b68d0372d3a34dee22966cca323513ece7e8a Reviewed-on: https://go-review.googlesource.com/137856 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-06-21flag: add a Value exampleTerin Stock
Change-Id: I579cc9f4f8e5be5fd6447a99614797ab7bc53611 Reviewed-on: https://go-review.googlesource.com/120175 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-06-14flag: fix headers in documentation, againDominik Honnef
Godoc expects text after a header, not code. Change-Id: I99f412ad15e10bf9cea0dbd19019ed6ce477736c Reviewed-on: https://go-review.googlesource.com/117595 Reviewed-by: Rob Pike <r@golang.org>
2018-06-07flag: removed the colon after "Usage" in the documentationhellozee
Removing the colon will make the "Usage" and "Command line flag syntax" in the docs, a header when interpreted by godoc. Fixes #25749 Change-Id: Ifc5572e171db1aaef9775b1d6c86091a8f2528fd GitHub-Last-Rev: 1b579734308cbcb96f17d945b9c7af70e259cb5b GitHub-Pull-Request: golang/go#25750 Reviewed-on: https://go-review.googlesource.com/116555 Reviewed-by: Rob Pike <r@golang.org>
2018-04-01flag: correct zero values when printing defaultsjimmyfrasche
When the flag package first begin printing nonzero defaults, the test was against a fixed set of string representations of zero values. This worked until the string representation of a time.Duration changed from "0" to "0s", causing the zero Duration to register as nonzero. The flag package then added reflect-based code that fell back to the old test. This failed to work when a nonzero default for a flag happened to be the string representation of one the original fixed set of zero values in the original test. This change removes the original test, allowing the reflect-based code to be the only deciding factor. Fixes #23543 Change-Id: I582ce554d6729e336fdd96fb27340674c15350d8 Reviewed-on: https://go-review.googlesource.com/103867 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2018-03-28flag: document use of FlagSet name parameterIan Lance Taylor
Fixes #24225 Change-Id: I876ac1b9d3615283f7b88cfa0b965ef81a57f056 Reviewed-on: https://go-review.googlesource.com/102955 Reviewed-by: Rob Pike <r@golang.org>
2017-12-06flag: clarify comment to avoid shell syntax confusionIan Lance Taylor
Updates #22961 Change-Id: Ib2f41aefb4f6470598d8637611da5491156ea840 Reviewed-on: https://go-review.googlesource.com/82015 Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-10-31flag: add (*FlagSet).Name, (*FlagSet).ErrorHandling, export (*FlagSet).OutputTim Cooper
Allows code that operates on a FlagSet to know the name and error handling behavior of the FlagSet without having to call FlagSet.Init. Fixes #17628 Fixes #21888 Change-Id: Ib0fe4c8885f9ccdacf5a7fb761d5ecb23f3bb055 Reviewed-on: https://go-review.googlesource.com/70391 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-10-17flag: simplify switch-case in isZeroValueGabriel Aszalos
Simplifies the switch statement in the isZeroValue function by merging the case branches. Change-Id: I5b27939b62808dadac0cef632567b17e0e2b9a1d Reviewed-on: https://go-review.googlesource.com/71390 Run-TryBot: Gabriel Aszalos <gabriel.aszalos@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-09-28flag: align multi-line usage stringsTim Cooper
Previously, a multi-line flag usage string would not be indented with the rest of the usage strings. This made long usage strings difficult to read. For example, the usage for flag.String("A", "", "1\n2\n3") would be printed as: -A 1 2 3 But will now be printed as: -A 1 2 3 Also fixes a slight error in the FlagSet.PrintDefaults documentation. Fixes #20799 Change-Id: I4379c6b7590fdb93a2809a01046a0f6ae32c3e5d Reviewed-on: https://go-review.googlesource.com/66711 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
2017-09-05flag: simplify arg logic in parseOnealexpantyukhin
Fixes #21763. Change-Id: I59ee4f24c8064df64d9ede11aac02bc7ce4995b3 Reviewed-on: https://go-review.googlesource.com/61491 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-08-29flag: document that custom usage functions are free to call os.ExitRob Pike
Some custom usage functions call it for clarity; others rely on the default behavior, which makes an explicit call redundant. Document that it's safe to be explicit. Fixes #21671. Change-Id: I08e9f47265582821cfd35995dff0c589cd85809d Reviewed-on: https://go-review.googlesource.com/59792 Reviewed-by: Dominik Honnef <dominik@honnef.co> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2017-08-26all: remove some double spaces from commentsDaniel Martí
Went mainly for the ones that make no sense, such as the ones mid-sentence or after commas. Change-Id: Ie245d2c19cc7428a06295635cf6a9482ade25ff0 Reviewed-on: https://go-review.googlesource.com/57293 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-08-08flag: make default Usage prefer CommandLine's output over just os.StderrBrad Fitzpatrick
CommandLine (exported in Go 1.2) has default output of os.Stderr. Before it was exported, it made sense to have the global Usage func (the implicit usage func if CommandLine.Usage is nil) hard-code os.Stderr has its output. But once CommandLine was exported, Usage should use it if provided. Fixes #20998 Change-Id: I9e1c0415a563a982634b9808199c9ee175d72f4c Reviewed-on: https://go-review.googlesource.com/48390 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
2017-03-21flag: validate Int and Uint values to be in rangeBrad Fitzpatrick
Fixes #19230 Change-Id: I38df9732b88f0328506e74f1a46f52adf47db1e5 Reviewed-on: https://go-review.googlesource.com/38419 Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-10-26flag: arrange for FlagSet.Usage to be non-nil by defaultRuss Cox
This allows callers to invoke f.Usage() themselves and get the default usage handler instead of a panic (from calling a nil function). Fixes #16955. Change-Id: Ie337fd9e1f85daf78c5eae7b5c41d5ad8c1f89bf Reviewed-on: https://go-review.googlesource.com/31576 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Rob Pike <r@golang.org>
2016-09-10flag: use strconv instead of fmt in values' String funcsbogem
The existing implementation of flag values with fmt package uses more memory and works slower than the implementation with strconv package. Change-Id: I9e749179f66d5c50cafe98186641bcdbc546d2db Reviewed-on: https://go-review.googlesource.com/28914 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-08-23flag: improve comment for calling String with zero valueIan Lance Taylor
Update #16694. Change-Id: Id6be1535d8a146b3dac3bee429ce407a51272032 Reviewed-on: https://go-review.googlesource.com/27634 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
2016-08-23flag: document that Value.String must work on the zero valueIan Lance Taylor
Otherwise flag.PrintDefaults will fail when it tries to determine whether the default is the zero value. Fixes #16694. Change-Id: I253fbf11ffc0a9069fd48c2c3cf3074df53e3a03 Reviewed-on: https://go-review.googlesource.com/27003 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-05-31flag: recognize "0s" as the zero value for a flag.DurationIan Lance Taylor
Implemented by using a reflect-based approach to recognize the zero value of any non-interface type that implements flag.Value. Interface types will fall back to the old code. Fixes #15904. Change-Id: I594c3bfb30e9ab1aca3e008ef7f70be20aa41a0b Reviewed-on: https://go-review.googlesource.com/23581 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
2016-04-21flag: update test case (fix build)Robert Griesemer
Change-Id: I2275dc703be4fda3feedf76483148eab853b43b8 Reviewed-on: https://go-review.googlesource.com/22360 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Rob Pike <r@golang.org>
2016-03-02all: single space after period.Brad Fitzpatrick
The tree's pretty inconsistent about single space vs double space after a period in documentation. Make it consistently a single space, per earlier decisions. This means contributors won't be confused by misleading precedence. This CL doesn't use go/doc to parse. It only addresses // comments. It was generated with: $ perl -i -npe 's,^(\s*// .+[a-z]\.) +([A-Z]),$1 $2,' $(git grep -l -E '^\s*//(.+\.) +([A-Z])') $ go test go/doc -update Change-Id: Iccdb99c37c797ef1f804a94b22ba5ee4b500c4f7 Reviewed-on: https://go-review.googlesource.com/20022 Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Dave Day <djd@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2016-03-01all: make copyright headers consistent with one space after periodBrad Fitzpatrick
This is a subset of https://golang.org/cl/20022 with only the copyright header lines, so the next CL will be smaller and more reviewable. Go policy has been single space after periods in comments for some time. The copyright header template at: https://golang.org/doc/contribute.html#copyright also uses a single space. Make them all consistent. Change-Id: Icc26c6b8495c3820da6b171ca96a74701b4a01b0 Reviewed-on: https://go-review.googlesource.com/20111 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
2015-07-16flag: add comment stating that Set is called in sequence across the command lineRob Pike
No code changes. Change-Id: I3b78b1048318a4b80747fde8cab919282fc444a8 Reviewed-on: https://go-review.googlesource.com/12285 Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-07-12flag: Clarifies docs for Arg(int) and FlagSet.Arg(int)Hariharan Srinath
Adds the clarification that these functions return empty string if the requested element is not available Added fullstops Fixes #11664 Change-Id: I84173862bc785240f7d3ee75a5023673264d172b Reviewed-on: https://go-review.googlesource.com/12061 Reviewed-by: Rob Pike <r@golang.org>
2015-06-05flag: Describe the ErrorHandling enum values.Aaron Jacobs
ContinueOnError is particularly confusing, because it causes FlagSet.Parse to return as soon as it sees an error. I gather that the intent is "continue the program" rather than "continue parsing", compared to exiting or panicking. Change-Id: I27370ce1f321ea4debcee5b03faff3532495c71a Reviewed-on: https://go-review.googlesource.com/10740 Reviewed-by: Rob Pike <r@golang.org>
2015-05-19flag: Fix up a package comment a bit.Aaron Jacobs
I think "the flag" was a typo, and the word "after" was repetitive. Change-Id: I81c034ca11a3a778ff1eb4b3af5b96bc525ab985 Reviewed-on: https://go-review.googlesource.com/10195 Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-03-18all: use "reports whether" in place of "returns true if(f)"Josh Bleecher Snyder
Comment changes only. Change-Id: I56848814564c4aa0988b451df18bebdfc88d6d94 Reviewed-on: https://go-review.googlesource.com/7721 Reviewed-by: Rob Pike <r@golang.org>
2015-03-12flag: use four spaces before tab, not threeRuss Cox
Four spaces is what works well for both 4- and 8-space tab stops. Screen with fixed-width font and 4-space tab stops: http://imgur.com/lps5Lbb Change-Id: I7d2b813d674c3e0a68f79d63bc5d5ec5bd4f87bb Reviewed-on: https://go-review.googlesource.com/7503 Reviewed-by: Rob Pike <r@golang.org>
2015-03-12flag: nicer usage messagesRob Pike
Make PrintDefaults print an easier-to-read format, and allow the user to control it a bit by putting a hint into the usage string. Here is the new doc comment for PrintDefaults, which does the work: PrintDefaults prints, to standard error unless configured otherwise, a usage message showing the default settings of all defined command-line flags. For an integer valued flag x, the default output has the form -x int usage-message-for-x (default 7) The usage message will appear on a separate line except for single- letter boolean flags. Boolean flags omit the type, since they can be used without an actual value, and the parenthetical default is omitted if the default is the zero value for the type. The type, here int, can be replaced by a string of the user's choosing by placing in the usage string for the flag a back-quoted name; the first such item in the message is taken to be a parameter name to show in the message and the back quotes are stripped from the message when displayed. For instance, given flag.String("I", "", "search `directory` for include files") the output will be -I directory search directory for include files. Given A = flag.Bool("A", false, "for bootstrapping, allow 'any' type") B = flag.Bool("Alongflagname", false, "disable bounds checking") C = flag.Bool("C", true, "a boolean defaulting to true") D = flag.String("D", "", "set relative `path` for local imports") F = flag.Float64("F", 2.7, "a non-zero float") G = flag.Float64("G", 0, "a float that defaults to zero") N = flag.Int("N", 27, "a non-zero int") Z = flag.Int("Z", 0, "an int that defaults to zero") T = flag.Duration("deltaT", 0, "a duration") the old output was -A=false: for bootstrapping, allow 'any' type -Alongflagname=false: disable bounds checking -C=true: a boolean defaulting to true -D="": set relative `path` for local imports -F=2.7: a non-zero float -G=0: a float that defaults to zero -N=27: a non-zero int -Z=0: an int that defaults to zero -deltaT=0: a duration and the new output is -A for bootstrapping, allow 'any' type -Alongflagname disable bounds checking -C a boolean defaulting to true (default true) -D path set relative path for local imports -F float a non-zero float (default 2.7) -G float a float that defaults to zero -N int a non-zero int (default 27) -Z int an int that defaults to zero -deltaT duration a duration Change-Id: I54ab3cd5610d551422b004d95ab78305e06a395d Reviewed-on: https://go-review.googlesource.com/7330 Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
2014-12-22flag: Check for Set errorMichalis Kargakis
Check for Set error when a boolean flag isn't explicitly given a value. Fixes #9345 Change-Id: I97a1289f8cf27567d1a726ebe5ef167c800f357c Reviewed-on: https://go-review.googlesource.com/1897 Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Rob Pike <r@golang.org>
2014-12-21flag: Some idiomatic fixesMichalis Kargakis
Make golint a bit happier Change-Id: I8a14342f3e492e92bf5efa611f9ef91176624031 Reviewed-on: https://go-review.googlesource.com/1891 Reviewed-by: Minux Ma <minux@golang.org>
2014-10-20flag: roll back 156390043 (flag setting)Rob Pike
Shell scripts depend on the old behavior too often. It's too late to make this change. LGTM=bradfitz R=rsc, bradfitz CC=golang-codereviews https://golang.org/cl/161890044
2014-10-19flag: disallow setting flags multiple timesRob Pike
This is a day 1 error in the flag package: It did not check that a flag was set at most once on the command line. Because user-defined flags may have more general properties, the check applies only to the standard flag types in this package: bool, string, etc. Fixes #8960. LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/156390043
2014-09-26flag: allow CommandLine's Usage function to be setRob Pike
Fixes #7779. LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/147210043
2014-09-08build: move package sources from src/pkg to srcRuss Cox
Preparation was in CL 134570043. This CL contains only the effect of 'hg mv src/pkg/* src'. For more about the move, see golang.org/s/go14nopkg.