git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Update bash completions to prevent unbound variable errors.

From
Adeodato Simó <dato@net.com.org.es>
Date
Jan 12, 2009, 21:25 UTC
Message-ID
<20090112212544.GA24941@chistera.yi.org>
In-Reply-To
<496BB204.2040109@tedpavlic.com>
* Ted Pavlic [Mon, 12 Jan 2009 16:11:32 -0500]:
>> That looks ugly to me.  Any reason we shouldn't just "set +u" at the top of
>> the script?
> As already discussed, because the script must be sourced, then the "set  
> +u" has global scope.
> I suppose that the option could be tested and then reset as appropriate  
> at the end of the script.

That does not help, because appart from being global, it of course takes effect at run time. In other words, it doesn't matter if set -u is active or not at function definition time, but at function invoation time.

> (note: for some reason Mercurial's bash completion script does not have  
> this problem; they use $1 directly without bash complaining)

Because (from a quick look) their completion script never expands a variable which is not known to be set.

-- 
Adeodato Simó                                     dato at net.com.org.es
Debian Developer                                  adeodato at debian.org
 
A hacker does for love what other would not do for money.
Previous: Ted PavlicNext: Ted Pavlic
Message 11 of 14 in “Update bash completions to prevent unbound variable errors.”
  1. Update bash completions to prevent unbound variable errors.Ted Pavlic, Jan 12, 2009
  2. Boyd Stephen Smith Jr.Jan 12, 2009
  3. Adeodato SimóJan 12, 2009
  4. Boyd Stephen Smith Jr.Jan 12, 2009
  5. Shawn O. PearceJan 12, 2009
  6. Boyd Stephen Smith Jr.Jan 12, 2009
  7. Ted PavlicJan 12, 2009
  8. Ted PavlicJan 12, 2009
  9. Shawn O. PearceJan 12, 2009
  10. Ted PavlicJan 12, 2009
  11. Adeodato SimóJan 12, 2009
  12. Ted PavlicJan 12, 2009
  13. Adeodato SimóJan 12, 2009
  14. Adeodato SimóJan 12, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.