@@ -253,13 +253,18 @@ process fn (RmProof n')
253 let ms = idris_metavars i
253 let ms = idris_metavars i
254 put $ i { idris_metavars = n : ms }
254 put $ i { idris_metavars = n : ms }
256−process fn (AddProof n')
256+process fn (AddProof prf)
257 = do let fb = fn ++ "~"
257 = do let fb = fn ++ "~"
258 liftIO $ copyFile fn fb -- make a backup in case something goes wrong!
258 liftIO $ copyFile fn fb -- make a backup in case something goes wrong!
259 prog <- liftIO $ readFile fb
259 prog <- liftIO $ readFile fb
261− n <- resolveProof n'
262 let proofs = proof_list i
261 let proofs = proof_list i
263+ Nothing -> case proofs of
264+ [] -> fail "No proof to add"
265+ ((x, p) : _) -> return x
266+ Just nm -> return nm
267+ n <- resolveProof n'
263 case lookup n proofs of
268 case lookup n proofs of
264 Nothing -> iputStrLn "No proof to add"
269 Nothing -> iputStrLn "No proof to add"
265 Just p -> do let prog' = insertScript (showProof (lit fn) n p) ls
270 Just p -> do let prog' = insertScript (showProof (lit fn) n p) ls