)]}'
{
  "commit": "aabc4fa83bbae994c27eba2453ece13242e23025",
  "tree": "fc5d89bd0989681e5414c2cce08bbae284f499f9",
  "parents": [
    "9474ac9fcaf43da27e0061645ed9ed721aa0fda0"
  ],
  "author": {
    "name": "Guillaume Nodet",
    "email": "gnodet@gmail.com",
    "time": "Tue Apr 29 22:49:46 2025 +0200"
  },
  "committer": {
    "name": "Guillaume Nodet",
    "email": "gnodet@gmail.com",
    "time": "Tue Apr 29 22:49:46 2025 +0200"
  },
  "message": "Make Pipe.setCurrentPipe public to fix interruption handling in nested shells\n\nThis change makes the setCurrentPipe method in the Pipe class public to allow proper handling of interruption signals in nested shells. This is needed to fix an issue in JLine where Ctrl+C doesn\u0027t properly interrupt commands running in a nested shell.\n\nThe issue occurs when a user starts a shell session, then runs the \u0027sh\u0027 command to create a nested shell, and then runs a command like \u0027ttop\u0027 in that nested shell. When the user presses Ctrl+C to interrupt the \u0027ttop\u0027 command, the interruption signal is caught by the parent shell but not properly propagated to the child shell.\n\nBy making setCurrentPipe public, we allow the nested shell to clear the current pipe before creating a child shell and restore it afterward, ensuring that interruption signals are properly propagated.\n\nSee: https://github.com/jline/jline3/issues/1143\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7912064443178a3cda757a84949f35c8f7522e9c",
      "old_mode": 33188,
      "old_path": "gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java",
      "new_id": "ff7046f3e5c4c40d51bc78af6cfa960891f9c557",
      "new_mode": 33188,
      "new_path": "gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java"
    }
  ]
}
