From: Yaroslav K. <kav...@je...> - 2005-10-19 13:46:01
|
Yaroslav Kavenchuk wrote: > I have read manuals and source codes. > IMHO, it is necessary write own functions "write-history" and > "read-history" or replace \n by a blank (IMHO bad idea). > for example: (in-package "READLINE") (default-foreign-language :stdc) (eval-when (compile) (setq ffi:*foreign-guard* t)) (def-c-struct HIST_ENTRY (line c-string) (timestamp c-string) (data c-pointer)) (def-call-out history-get (:name "history_get") (:library "readline5.dll") (:arguments (offset int)) (:return-type (c-ptr HIST_ENTRY))) (defun write-format-history (fname) (with-open-file (f fname :direction :output :if-exists :overwrite :if-does-not-exist :create) (loop for i upfrom 1 for e = (history-get i) while e do (prin1 (HIST_ENTRY-LINE e) f) (terpri f)))) (defun read-format-history (fname) (with-open-file (f fname :direction :input :if-does-not-exist nil) (when f (loop for e = (read f nil nil) while e do (add-history e))))) Thanks! -- WBR, Yaroslav Kavenchuk. |