{"thread":{"id":"58781","subject":"[PATCH] Makefile: fix cygwin build failure","startedAt":"2022-11-09T22:46:13Z","lastAt":"2022-11-22T02:02:59Z","messageCount":9,"participants":["Ramsay Jones","Taylor Blau","Ævar Arnfjörð Bjarmason","Adam Dinwoodie","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"466997","messageId":"0dec6e1e-207c-be13-ae95-294d9b1e8831@ramsayjones.plus.com","threadId":"58781","inReplyTo":null,"subject":"[PATCH] Makefile: fix cygwin build failure","fromName":"Ramsay Jones","fromEmail":"ramsay@ramsayjones.plus.com","sentAt":"2022-11-09T22:46:05Z","receivedAt":"2022-11-09T22:46:13Z","isPatch":true,"sender":{"key":"ramsay@ramsayjones.plus.com","avatar":"https://avatars.githubusercontent.com/u/33702710?v=4"},"body":"\nCommit 1c97a5043f (Makefile: define \"TEST_{PROGRAM,OBJS}\" variables\nearlier, 2022-10-31) breaks the cygwin build, like so:\n\n    $ make\n    GIT_VERSION = 2.38.1.674.gca75de31c9\n        * new build flags\n        CC oss-fuzz/fuzz-commit-graph.o\n        CC oss-fuzz/fuzz-pack-headers.o\n        CC oss-fuzz/fuzz-pack-idx.o\n    make: *** No rule to make target 't/helper/test-fake-ssh', needed by 'all'.  Stop.\n    $\n\nThis is caused by moving an 'all::' target higher in the Makefile,\nbefore the 'include' of the config.mak.* files. This results in\nthe $X make variable having the default value (empty) rather than\na value suitable for cygwin (ie. '.exe'). Although the value of\nthis variable is lazily evaluated, the 'all::' target forces an\nevaluation prior to it being correctly set.\n\nIn order to fix the build, move the 'all::' target lower in the\nMakefile (close to where it was originally placed). Although it\ncould come anywhere after the 'include's, placing it here makes\nthe diff of the build outputs smaller (placing it directly after\nthe 'include's causes a change in the order of build products).\n\nSigned-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>\n---\n\nHi Taylor, Ævar,\n\nI decided to spend some time tonight cleaning up my cygwin git repo (I\nhave _far_ too many branches scattered across history, some _very_ old,\nsome half done, some with no commit message etc., etc.). So, before\nlooking to rebase/re-work some old commits on the current version of\ngit, I thought it might be an idea to peek at the latest work; I have\nnot seen any updates to my origin repo, for the last couple of weeks,\nsince Junio took a break (as you may recall :) ).\n\nSo, I set up a 'git' remote:\n\n    $ git remote get-url git\n    git@github.com:git/git.git\n    $ \n\n.. to have a peek at the updates to the 'master', 'next' and 'seen'\nbranches. Also, out of habit, I decided to build all three branches in\nthe usual way (well, apart from being on a detached HEAD, of course).\n\nFirst 'git/master' failed to build! ;) It turned out that I had updated\ncygwin and installed a bad update to the gettext-devel package, in\nparticular '/usr/bin/msgfmt.exe' was completely broken. :( (Adam, if you\nhaven't already run into this, you may appreciate the solution given\nat [1] below).\n\nHaving fixed my cygwin installation, 'git/master' and 'git/next' built\njust fine, 'git/seen' however failed to build (see commit message\nabove).\n\nI'm not sure what the plans are for the 'ab/make-bin-wrappers' branch,\nbut if it is going to be re-rolled, could you please squash this into\nthe patch corresponding to commit 1c97a5043f. (Otherwise, could you\nmaybe add this to the tip of that branch?).\n\nNote: this patch was created directly on top of 'git/seen'@ca75de31c9,\nbut I wouldn't anticipate any problem adding it to that branch.\n\nI am a little surprised that it has taken this long to spot this build\nfailure, since this should also affect a (vanilla) MSYS2 build, along\nwith a Git-For-Windows Makefile build. Hmm, I have no way of knowing,\nbut this seems to indicate that nobody builds GFW using the Makefile\nthese days! :D\n\nIf anything in the commit message is unclear, please let me know.\n\nThanks!\n\nATB,\nRamsay Jones\n\n[1] After a cygwin update, '/usr/bin/msgfmt.exe' refused to run, saying\nthat it could not locate the 'cygunistring-5.dll' file. Using cygcheck,\nI found that this dll is provided by the 'libunistring5 1.1-1' package.\nAfter installing this package, everything works just fine.\n\nI don't know how package dependencies are specified/updated, but it\nwould seem the 'gettext-devel' package has a direct or indirect\ndependency on the 'libunistring5' package. Looking at my setup.log file\nI would guess one-or-more of the following packages needs an update to\nnote this dependency: 'gettext-devel 0.21.1-1', 'gettext 0.21.1-1',\n'libgettextpo0 0.21.1-1', 'libintl-devel 0.21.1-1', 'libintl8 0.21.1-1',\nor 'libasprintf0 0.21.1-1'.\n\nUnfortunately, I am not subscribed to the cygwin mailinglist :(\n\n Makefile | 3 +--\n 1 file changed, 1 insertion(+), 2 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex acb02f3882..03ceaf3e79 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -869,7 +869,6 @@ TEST_PROGRAMS_NEED_X += test-fake-ssh\n TEST_PROGRAMS_NEED_X += test-tool\n \n TEST_PROGRAMS = $(patsubst %,t/helper/%$X,$(TEST_PROGRAMS_NEED_X))\n-all:: $(TEST_PROGRAMS)\n TEST_PROGRAM_OBJS += $(patsubst %,t/helper/%.o,$(TEST_PROGRAMS_NEED_X))\n .PRECIOUS: $(TEST_PROGRAM_OBJS)\n \n@@ -3208,7 +3207,7 @@ $(call bin_wrappers_template,TEST_PROGRAMS_NEED_X,'$$(@F)',t/helper/,$$X)\n endef\n $(eval $(call bin_wrappers_templates))\n \n-all:: $(BIN_WRAPPERS)\n+all:: $(TEST_PROGRAMS) $(BIN_WRAPPERS)\n \n # GNU make supports exporting all variables by \"export\" without parameters.\n # However, the environment gets quite big, and some programs have problems\n-- \n2.38.0\n"},{"id":"466999","messageId":"Y2wwfQWrs+KYpWNv@nand.local","threadId":"58781","inReplyTo":"0dec6e1e-207c-be13-ae95-294d9b1e8831@ramsayjones.plus.com","subject":"Re: [PATCH] Makefile: fix cygwin build failure","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2022-11-09T22:58:05Z","receivedAt":"2022-11-09T22:58:11Z","isPatch":true,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"Hi Ramsay,\n\nOn Wed, Nov 09, 2022 at 10:46:05PM +0000, Ramsay Jones wrote:\n> Commit 1c97a5043f (Makefile: define \"TEST_{PROGRAM,OBJS}\" variables\n> earlier, 2022-10-31) breaks the cygwin build, like so:\n\nIt seems reasonable to me, and I'd like to pick it up rather quickly (on\ntop of Ævar's branch), especially if this is going to break things\ndownstream in Git for Windows.\n\nÆvar: this sort of change is a little tricky to review without more diff\ncontext ;-). Do you have any objections to me slotting this on top of\nyour branch?\n\nThanks,\nTaylor\n"},{"id":"467008","messageId":"221110.868rkjpty3.gmgdl@evledraar.gmail.com","threadId":"58781","inReplyTo":"Y2wwfQWrs+KYpWNv@nand.local","subject":"Re: [PATCH] Makefile: fix cygwin build failure","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2022-11-09T23:18:01Z","receivedAt":"2022-11-09T23:52:11Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Wed, Nov 09 2022, Taylor Blau wrote:\n\n> Hi Ramsay,\n>\n> On Wed, Nov 09, 2022 at 10:46:05PM +0000, Ramsay Jones wrote:\n>> Commit 1c97a5043f (Makefile: define \"TEST_{PROGRAM,OBJS}\" variables\n>> earlier, 2022-10-31) breaks the cygwin build, like so:\n>\n> It seems reasonable to me, and I'd like to pick it up rather quickly (on\n> top of Ævar's branch), especially if this is going to break things\n> downstream in Git for Windows.\n>\n> Ævar: this sort of change is a little tricky to review without more diff\n> context ;-). Do you have any objections to me slotting this on top of\n> your branch?\n\nYes, I've reviewed this, sorry about missing this edge case. This fix &\nanalysis looks solid to me (it's still just in \"seen\", right?)\n\nFWIW I think a more thorough fix for it would be to future-proof this\nsort of IMMEDIATE expansion by defining such core variables earlier:\n\n-- >8 --\nSubject: [PATCH] Makefile & make \"uname\" and \"$X\" available earlier\n\nIn [1] I broke the build on Cygwin, because by moving \"all::\n$(TEST_PROGRAMS)\" earlier in the file (around line 800) it was\ndeclared before around line ~1300, where we include\n\"config.mak.uname\", and that's where we'll set \"X = .exe\" on Cygwin\nand Windows.\n\nMoving the \"all\" line down[2] is a more narrow fix for this, but this\nattempts to make this sort of thing safer in the future. We'll now\nload a \"config.mak.uname-early\" (really within the first 100 lines of\ncode, but there's a giant comment at the top).\n\nThis ensures that in the future any Makefile rules that have\n\"IMMEDIATE\" expansion (e.g. the RHS of a \"rule\" will work as expected\nif they use $(X), not just if they use the \"DEFERRED\" expansion (which\ne.g. \"=\" assignment uses). See [3] in the GNU make documentation for\ndetails.\n\n1. 1c97a5043f8 (Makefile: define \"TEST_{PROGRAM,OBJS}\" variables\n   earlier, 2022-10-31)\n2. https://lore.kernel.org/git/0dec6e1e-207c-be13-ae95-294d9b1e8831@ramsayjones.plus.com/\n3. https://www.gnu.org/software/make/manual/html_node/Reading-Makefiles.html\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n Makefile               |  9 ++++++---\n config.mak.uname       |  7 -------\n config.mak.uname-early | 33 +++++++++++++++++++++++++++++++++\n 3 files changed, 39 insertions(+), 10 deletions(-)\n create mode 100644 config.mak.uname-early\n\ndiff --git a/Makefile b/Makefile\nindex 4927379184c..e31678e0547 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -621,6 +621,12 @@ TEST_OBJS =\n TEST_PROGRAMS_NEED_X =\n THIRD_PARTY_SOURCES =\n \n+# Binary suffix, set to .exe for Windows builds\n+X =\n+# Make $(uname_*) variables available, and possibly change $X to\n+# \".exe\" (on Windows)\n+include config.mak.uname-early\n+\n # Having this variable in your environment would break pipelines because\n # you cause \"cd\" to echo its destination to stdout.  It can also take\n # scripts to unexpected places.  If you like CDPATH, define it for your\n@@ -714,9 +720,6 @@ PROGRAM_OBJS += shell.o\n .PHONY: program-objs\n program-objs: $(PROGRAM_OBJS)\n \n-# Binary suffix, set to .exe for Windows builds\n-X =\n-\n PROGRAMS += $(patsubst %.o,git-%$X,$(PROGRAM_OBJS))\n \n TEST_BUILTINS_OBJS += test-advise.o\ndiff --git a/config.mak.uname b/config.mak.uname\nindex d63629fe807..616fa9052e2 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -16,10 +16,6 @@ ifneq ($(findstring MINGW,$(uname_S)),)\n endif\n \n ifdef MSVC\n-\t# avoid the MingW and Cygwin configuration sections\n-\tuname_S := Windows\n-\tuname_O := Windows\n-\n \t# Generate and include makefile variables that point to the\n \t# currently installed set of MSVC command line tools.\n compat/vcbuild/MSVC-DEFS-GEN: compat/vcbuild/find_vs_env.bat\n@@ -238,7 +234,6 @@ ifeq ($(uname_O),Cygwin)\n \tNEEDS_LIBICONV = YesPlease\n \tNO_FAST_WORKING_DIRECTORY = UnfortunatelyYes\n \tNO_ST_BLOCKS_IN_STRUCT_STAT = YesPlease\n-\tX = .exe\n \tUNRELIABLE_FSTAT = UnfortunatelyYes\n \tOBJECT_CREATION_USES_RENAMES = UnfortunatelyNeedsTo\n \tMMAP_PREVENTS_DELETE = UnfortunatelyYes\n@@ -523,7 +518,6 @@ ifndef DEBUG\n else\n \tBASIC_CFLAGS += -MDd -DDEBUG -D_DEBUG\n endif\n-\tX = .exe\n \n compat/msvc.o: compat/msvc.c compat/mingw.c GIT-CFLAGS\n endif\n@@ -676,7 +670,6 @@ ifeq ($(uname_S),MINGW)\n \tPTHREAD_LIBS =\n \tRC = windres -O coff\n \tNATIVE_CRLF = YesPlease\n-\tX = .exe\n ifneq (,$(wildcard ../THIS_IS_MSYSGIT))\n \thtmldir = doc/git/html/\n \tprefix =\ndiff --git a/config.mak.uname-early b/config.mak.uname-early\nnew file mode 100644\nindex 00000000000..000d490a506\n--- /dev/null\n+++ b/config.mak.uname-early\n@@ -0,0 +1,33 @@\n+# This is mainly used by config.mak.uname-early, but we load it much\n+# earlier to get access to $(X).\n+\n+uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')\n+uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')\n+uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')\n+uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')\n+uname_P := $(shell sh -c 'uname -p 2>/dev/null || echo not')\n+uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not')\n+\n+ifneq ($(findstring MINGW,$(uname_S)),)\n+\tuname_S := MINGW\n+endif\n+\n+ifdef MSVC\n+\t# avoid the MingW and Cygwin configuration sections in\n+\t# config.mak.uname\n+\tuname_S := Windows\n+\tuname_O := Windows\n+endif\n+\n+\n+ifeq ($(uname_S),MINGW)\n+\tX = .exe\n+else\n+ifeq ($(uname_S),Windows)\n+\tX = .exe\n+else\n+ifeq ($(uname_O),Cygwin)\n+\tX = .exe\n+endif\n+endif\n+endif\n-- \n2.38.0.1467.g709fbdff1a9\n\n"},{"id":"467021","messageId":"Y2xf7HbAdqXOmgR3@nand.local","threadId":"58781","inReplyTo":"221110.868rkjpty3.gmgdl@evledraar.gmail.com","subject":"Re: [PATCH] Makefile: fix cygwin build failure","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2022-11-10T02:20:28Z","receivedAt":"2022-11-10T02:20:33Z","isPatch":true,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Thu, Nov 10, 2022 at 12:18:01AM +0100, Ævar Arnfjörð Bjarmason wrote:\n>\n> On Wed, Nov 09 2022, Taylor Blau wrote:\n>\n> > Hi Ramsay,\n> >\n> > On Wed, Nov 09, 2022 at 10:46:05PM +0000, Ramsay Jones wrote:\n> >> Commit 1c97a5043f (Makefile: define \"TEST_{PROGRAM,OBJS}\" variables\n> >> earlier, 2022-10-31) breaks the cygwin build, like so:\n> >\n> > It seems reasonable to me, and I'd like to pick it up rather quickly (on\n> > top of Ævar's branch), especially if this is going to break things\n> > downstream in Git for Windows.\n> >\n> > Ævar: this sort of change is a little tricky to review without more diff\n> > context ;-). Do you have any objections to me slotting this on top of\n> > your branch?\n>\n> Yes, I've reviewed this, sorry about missing this edge case. This fix &\n> analysis looks solid to me (it's still just in \"seen\", right?)\n\nYes, 'ab/remove--super-prefix' is only in seen for now. So that we don't\nbreak the Cygwin build in the middle of history, could you send a reroll\nof that topic that incorporates this patch squashed into the right\nlocation so that each step builds independently?\n\nThanks,\nTaylor\n"},{"id":"467022","messageId":"Y2xgI30EFZisqpRG@nand.local","threadId":"58781","inReplyTo":"Y2xf7HbAdqXOmgR3@nand.local","subject":"Re: [PATCH] Makefile: fix cygwin build failure","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2022-11-10T02:21:23Z","receivedAt":"2022-11-10T02:22:07Z","isPatch":true,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Wed, Nov 09, 2022 at 09:20:28PM -0500, Taylor Blau wrote:\n> Yes, 'ab/remove--super-prefix' is only in seen for now.\n\nOops, I clearly meant 'ab/make-bin-wrappers' here. Sorry about that.\n\nThanks,\nTaylor\n"},{"id":"467023","messageId":"Y2xgef6IvBHnnfE/@nand.local","threadId":"58781","inReplyTo":"Y2xgI30EFZisqpRG@nand.local","subject":"Re: [PATCH] Makefile: fix cygwin build failure","fromName":"Taylor Blau","fromEmail":"me@ttaylorr.com","sentAt":"2022-11-10T02:22:49Z","receivedAt":"2022-11-10T02:23:13Z","isPatch":true,"sender":{"key":"me@ttaylorr.com","avatar":"https://avatars.githubusercontent.com/u/301000140?v=4"},"body":"On Wed, Nov 09, 2022 at 09:21:23PM -0500, Taylor Blau wrote:\n> On Wed, Nov 09, 2022 at 09:20:28PM -0500, Taylor Blau wrote:\n> > Yes, 'ab/remove--super-prefix' is only in seen for now.\n>\n> Oops, I clearly meant 'ab/make-bin-wrappers' here. Sorry about that.\n\n...Double oops. Now that I think about it, my notes show that we were\nplanning on dropping this topic per the discussion beginning at [1].\n\nIf that's not the case and you were planning on resending this topic,\nthen incorporating these changes in would be appreciated. If not, I\nthink we can drop both of these.\n\nThanks,\nTaylor\n\n[1]: https://lore.kernel.org/git/Y2rPrNz6BD6DlRcO@nand.local/\n"},{"id":"467084","messageId":"CA+kUOan=Dj4T7J57yJSg2Qh4+SQuCV0MOLKxQrZC6s1=ciOdNw@mail.gmail.com","threadId":"58781","inReplyTo":"0dec6e1e-207c-be13-ae95-294d9b1e8831@ramsayjones.plus.com","subject":"Re: [PATCH] Makefile: fix cygwin build failure","fromName":"Adam Dinwoodie","fromEmail":"adam@dinwoodie.org","sentAt":"2022-11-10T20:35:56Z","receivedAt":"2022-11-10T20:36:41Z","isPatch":true,"sender":{"key":"adam@dinwoodie.org","avatar":"https://avatars.githubusercontent.com/u/1397507?v=4"},"body":"On Wed, 9 Nov 2022 at 22:46, Ramsay Jones wrote:\n> <snip>\n> [1] After a cygwin update, '/usr/bin/msgfmt.exe' refused to run, saying\n> that it could not locate the 'cygunistring-5.dll' file. Using cygcheck,\n> I found that this dll is provided by the 'libunistring5 1.1-1' package.\n> After installing this package, everything works just fine.\n>\n> I don't know how package dependencies are specified/updated, but it\n> would seem the 'gettext-devel' package has a direct or indirect\n> dependency on the 'libunistring5' package. Looking at my setup.log file\n> I would guess one-or-more of the following packages needs an update to\n> note this dependency: 'gettext-devel 0.21.1-1', 'gettext 0.21.1-1',\n> 'libgettextpo0 0.21.1-1', 'libintl-devel 0.21.1-1', 'libintl8 0.21.1-1',\n> or 'libasprintf0 0.21.1-1'.\n>\n> Unfortunately, I am not subscribed to the cygwin mailinglist :(\n\nIt looks like this was broken by an update to some of these packages a\ncouple of weeks ago[0]; I've reproduced the problem and reported it to\nthe mailing list[1], so the package maintainer should be able to\nupdate the dependency information :)\n\n[0]: https://cygwin.com/pipermail/cygwin-announce/2022-October/010764.html\n[1]: https://cygwin.com/pipermail/cygwin/2022-November/252445.html\n"},{"id":"467740","messageId":"5d4206a4-c15a-7483-e059-e1b93ec320e2@ramsayjones.plus.com","threadId":"58781","inReplyTo":"Y2xgef6IvBHnnfE/@nand.local","subject":"Re: [PATCH] Makefile: fix cygwin build failure","fromName":"Ramsay Jones","fromEmail":"ramsay@ramsayjones.plus.com","sentAt":"2022-11-22T01:54:31Z","receivedAt":"2022-11-22T01:54:40Z","isPatch":true,"sender":{"key":"ramsay@ramsayjones.plus.com","avatar":"https://avatars.githubusercontent.com/u/33702710?v=4"},"body":"\n\nOn 10/11/2022 02:22, Taylor Blau wrote:\n> On Wed, Nov 09, 2022 at 09:21:23PM -0500, Taylor Blau wrote:\n>> On Wed, Nov 09, 2022 at 09:20:28PM -0500, Taylor Blau wrote:\n>>> Yes, 'ab/remove--super-prefix' is only in seen for now.\n>>\n>> Oops, I clearly meant 'ab/make-bin-wrappers' here. Sorry about that.\n> \n> ...Double oops. Now that I think about it, my notes show that we were\n> planning on dropping this topic per the discussion beginning at [1].\n> \n> If that's not the case and you were planning on resending this topic,\n> then incorporating these changes in would be appreciated. If not, I\n> think we can drop both of these.\n> \n> Thanks,\n> Taylor\n> \n> [1]: https://lore.kernel.org/git/Y2rPrNz6BD6DlRcO@nand.local/\n\nI noticed my origin server:\n\n    $ git config remote.origin.url\n    git://git.kernel.org/pub/scm/git/git.git\n    $ \n\n.. updated tonight, so I fetched, built, and noticed cygwin is\nstill broken! :(\n\nIf the 'ab/make-bin-wrappers' branch is going to stay, could you\nplease squash my patch[1] into (or put it on top of) this branch.\n\nThanks!\n\nATB,\nRamsay Jones\n\n[1] https://lore.kernel.org/git/0dec6e1e-207c-be13-ae95-294d9b1e8831@ramsayjones.plus.com/\n\n"},{"id":"467741","messageId":"xmqqwn7nsq43.fsf@gitster.g","threadId":"58781","inReplyTo":"Y2xgef6IvBHnnfE/@nand.local","subject":"Re: [PATCH] Makefile: fix cygwin build failure","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-11-22T02:02:52Z","receivedAt":"2022-11-22T02:02:59Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Taylor Blau <me@ttaylorr.com> writes:\n\n> On Wed, Nov 09, 2022 at 09:21:23PM -0500, Taylor Blau wrote:\n>> On Wed, Nov 09, 2022 at 09:20:28PM -0500, Taylor Blau wrote:\n>> > Yes, 'ab/remove--super-prefix' is only in seen for now.\n>>\n>> Oops, I clearly meant 'ab/make-bin-wrappers' here. Sorry about that.\n>\n> ...Double oops. Now that I think about it, my notes show that we were\n> planning on dropping this topic per the discussion beginning at [1].\n\nOK, let's discard it for now.\n"}]}