)]}'
{
  "commit": "a382ac6cd17eedf535407d29bcfc3cef04bbc3bc",
  "tree": "9b4a582ae300bf902db65207ec6773c6918275b4",
  "parents": [
    "63b602e74f8e2235191d7dee4dd05f82b1869fdb"
  ],
  "author": {
    "name": "Dmitry Goncharov",
    "email": "dgoncharov@users.sf.net",
    "time": "Sun Feb 04 11:16:40 2024 -0500"
  },
  "committer": {
    "name": "Paul Smith",
    "email": "psmith@gnu.org",
    "time": "Sun Feb 04 11:34:49 2024 -0500"
  },
  "message": "[SV 64803] Set origin for unmodified variables after -e\n\nEnsure the origin of all variables inherited from the environment is\n\"environment override\" if -e is given.  Previously only variables\nthat were set in the makefile had this origin.\n\nPDS: Most of these changes are from Dmitry but I slightly modified\nthe algorithm: instead of rearranging the way in which MAKEFLAGS is\nparsed we reset the env_override value to the default before we\nre-parse MAKEFLAGS, then we set the origin of all env vars to the\ncorrect value based on the new setting.\n\n* NEWS: Mention the change for backward-compatibility.\n* src/main.c (main): Ensure MAKEFLAGS is always marked special.\n(reset_makeflags): Set env_overrides back to default before parsing\nMAKEFLAGS.\n(decode_switches): Call reset_env_override() to check for changes.\n* src/variable.h (reset_env_override): Declare a new function.\n* src/variable.c (reset_env_override): Go through all env variables\nand ensure the origin is correct based on env_overrides.\n(set_env_override): Helper function for the hash.\n* tests/scripts/functions/foreach: Fix tests.\n* tests/scripts/functions/let: Ditto.\n* tests/scripts/functions/origin: Ditto.\n* tests/scripts/options/dash-e: Add tests.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "676794d6c6177957f0c02f17f5f20a64784d73f1",
      "old_mode": 33188,
      "old_path": "NEWS",
      "new_id": "96d8ce3370525e2b0545312e5d9d764928beb755",
      "new_mode": 33188,
      "new_path": "NEWS"
    },
    {
      "type": "modify",
      "old_id": "99011d9e8d2eca3bb0bdb3ea174f80cdf729fece",
      "old_mode": 33188,
      "old_path": "src/main.c",
      "new_id": "15104212511884952fe7bde7386679017be310d9",
      "new_mode": 33188,
      "new_path": "src/main.c"
    },
    {
      "type": "modify",
      "old_id": "9d44cd4ad6da43976dacb69f3708294ba8f0db2b",
      "old_mode": 33188,
      "old_path": "src/variable.c",
      "new_id": "2026e987b7e1fc62e6d4078a445d624290cb4b48",
      "new_mode": 33188,
      "new_path": "src/variable.c"
    },
    {
      "type": "modify",
      "old_id": "f6f0cb32088e052771bd6d0ed445079eb74760ab",
      "old_mode": 33188,
      "old_path": "src/variable.h",
      "new_id": "9cedebcdbc68df49f5afbe7ce19f614f3e5ec9f6",
      "new_mode": 33188,
      "new_path": "src/variable.h"
    },
    {
      "type": "modify",
      "old_id": "27dae15abf8cdba4c518d10b806bd9f73d69f8fc",
      "old_mode": 33188,
      "old_path": "tests/scripts/functions/foreach",
      "new_id": "3af37a2308061834acec345d89394cf769d35107",
      "new_mode": 33188,
      "new_path": "tests/scripts/functions/foreach"
    },
    {
      "type": "modify",
      "old_id": "d2e4d8227d3e407627c81c32bc7de5d5b78e96ca",
      "old_mode": 33188,
      "old_path": "tests/scripts/functions/let",
      "new_id": "8c6c1bcb86d292df48a5983f5118dc80bf984c04",
      "new_mode": 33188,
      "new_path": "tests/scripts/functions/let"
    },
    {
      "type": "modify",
      "old_id": "9b9fd56a16c18bf5af3f9ac3d12d704d12890a8c",
      "old_mode": 33188,
      "old_path": "tests/scripts/functions/origin",
      "new_id": "78e0e6f08cef583200c06728152065156a0278f3",
      "new_mode": 33188,
      "new_path": "tests/scripts/functions/origin"
    },
    {
      "type": "modify",
      "old_id": "e4659fb2b2a6955456e0ff2cad739aaec4b08deb",
      "old_mode": 33188,
      "old_path": "tests/scripts/options/dash-e",
      "new_id": "423081e3ce6da32c7a66d6ca34c0d7290d7d286f",
      "new_mode": 33188,
      "new_path": "tests/scripts/options/dash-e"
    }
  ]
}
