fork download
  1. #!/usr/bin/picolisp /usr/lib/picolisp/lib.l
  2.  
  3.  
  4. (load "@lib/misc.l")
  5.  
  6. (de GetFullPath (Parent L Full)
  7. (cond
  8. ((=0 (length L))
  9. (println "=0" Full)
  10. (Full)) # return Subdir list
  11. (T
  12. #(println "****" (car L))
  13. (setq Full (cons (pack Parent "/" (car L)) Full))
  14. #(println ">>>>" Full)
  15. (GetFullPath Parent (cdr L) Full)) ) )
  16.  
  17.  
  18. (de ffiles (Dir_list)
  19. # 1st time, no argument, present working directory
  20. (let Item (car Dir_list)
  21.  
  22. (cond
  23. ((=0 (length Dir_list))
  24. (bye))
  25.  
  26. ((nT (car (info Item)))
  27. (println " ")
  28. (println Dir_list)
  29. (println (pack Item " is not a directory"))
  30. #(println "dirname: " (dirname Item))
  31. #(println "path: " (path Item))
  32. (PrintInfo Item)
  33. (ffiles (cdr Dir_list)) )
  34.  
  35. (T (println " ")
  36. (println "Dir_list: " Dir_list)
  37. (println (pack Item " is a directory"))
  38. (lst? (GetFullPath Item (dir Item)))
  39. (ffiles (cdr (append Dir_list (GetFullPath Item (dir Item))))) )
  40. ) )
  41. )
  42.  
  43.  
  44. (de PrintInfo (Item)
  45. (println Item 'size: (getSize Item) 'modified: (getDateTime Item) 'path: (path Item) 'dirname: (dirname Item) 'basename: (basename Item)) )
  46.  
  47.  
  48. (de getSize (Item)
  49. (car (info Item)))
  50.  
  51.  
  52. (de getDateTime (Item)
  53. (stamp (cadr (info Item)) (cddr (info Item)) ) )
  54.  
  55.  
  56. (de main ()
  57. (setq FullList ())
  58. (println (dir) )
  59. (ffiles (dir))
  60. (bye)
  61. )
  62.  
Runtime error #stdin #stdout #stderr 0.03s 10832KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
*** - LOAD: A file with name @lib/misc.l does not exist