In a saucepan, boil the stock until it reduces by about half.
Meanwhile, heat the oil and the butter in a large frying pan. When the butter has melted add the onions and cook over low heat until completely soft (about 25 minutes) but not brown.
When the onions are soft, sprinkle the sugar in, stir, turn up heat and cook for 5 minutes until onions brown a bit and are carmelized. Stir the flour in, cook for a minute, add the Guinness and the stock. Turn heat up for a minute or two, then reduce right down to a simmer.
While the gravy is simmering, brown the sausages on both sides however you wish -- broiling, grilling or frying.
Add the vinegar to the gravy, and season the gravy to taste. Add the browned sausages, and cook for another 15 to 20 minutes until the sausages are cooked through. If gravy gets too thick, add a bit of water. Serve hot.
For vinegar, use cider or white wine vinegar if possible.