Melt the butter in a large pot over low heat. Add the onions; cook, stirring occasionally for 1 1/2 hours.
When the onions are ready, add the pepper, salt, bay leaf and flour. Stir over low heat for 10 minutes. Pour in the beef stock and white wine. Simmer for 2 hours over low heat. Adjust the coloring to a rich brown with the browning sauce. Taste, and adjust salt if needed.
Preheat your oven's broiler. Ladle the soup into oven-proof bowls, and place them on a baking tray. Float a slice of French bread in each bowl, and top with some Swiss cheese. Broil until cheese is browned. Serve immediately.