JOHANNESBURG: Former South African President Nelson Mandela has recovered from a lung infection and surgery to remove gallstones that kept him in hospital for nearly three weeks.

Mr Mandela, 94, spent most of December in a Pretoria hospital – his longest stay for medical care since his release from prison in 1990.