John almost set free (5)
I believe the answer is:
loose
'free' is the definition.
(I know that free can be written as loose)
'john almost set' is the wordplay.
'john' becomes 'loo' (both can mean a toilet).
'almost' means to remove the last letter (most of the word but not all of it).
'set' with its final letter taken off is 'se'.
'loo'+'se'='LOOSE'
(Other definitions for loose that I've seen before include "Showing fast behaviour" , "Liberal" , "Baggy" , "Not crammed" , "escaped!" .)