Re: How to solve: module 'syscalls' requires package OS

Jean Louis <[email protected]> Mon, 27 Mar 2017 15:29:19 +0300
Newsgroups gmane.lisp.clisp.general
Message-ID <[email protected]>
On Mon, Mar 27, 2017 at 08:20:27AM -0400, Sam Steingold wrote:
> > * Jean Louis <[email protected]> [2017-03-24 23:41:51 +0300]:
> >
> > Now, the problem is that in this version it works if I launch it with
> > lisp (CLISP), yet if I launch it as saved memory image, I get stack
> > overflow with RESET.  Do you know why the saved memory image is giving
> > me stack overflow?
> 
> I think I already said that this is a known bug
> https://sourceforge.net/p/clisp/bugs/695/
> with a know work-around (see the bug).

I am not sure if that is the same bug. Here is the program, and now it
is just working well, it accepts Org file on standard input, and spits
out the HTML.

If I make memory image with this one, it is heating the CPU, and I get
stack overflow. After researching the bug 695, I could not find
pointers and I don't know what can I do to make the work around.

(defparameter memdir "/run/shm/")
(defparameter tmp-file "rcd-wrs-XXXXXX")
(defparameter tmp-org (format nil "~a~a.org" memdir tmp-file))
(defparameter tmp-md (format nil "~a~a.md" memdir tmp-file))
(load "/home/data1/protected/Programming/git/RCDBusiness/lib/lisp/streamtools.lisp")
;; (require "syscalls")

(defun main ()
  (let ((input '())
        (output '()))
    (loop :for line = (read-line *standard-input* nil nil)
       :while line
       :do (push line input))  
    (setf input (format nil "~{~a~^~%~}" (reverse input)))
    (with-open-file (stream tmp-org :direction :output :if-exists :supersede :if-does-not-exist :create :external-format "utf-8")
      (princ input stream))
    (shell (format nil "emacs -Q -l ~~/.emacs.d/elpa/org-20170210/org-autoloads.el \"~a\" --batch -f org-mode -f org-md-export-to-markdown --kill" tmp-org))
    (with-open-file (stream tmp-md :direction :input :external-format "utf-8")
      (loop :for line = (read-line stream nil nil)
         :while line
         :do (push line output)))
    (setf output (format nil "~{~a~^~%~}" (reverse output)))
    (setf output (slurp-stream-io-command "/usr/bin/discount_markdown -F 0x4" output))
    (princ output))
  (exit))

;; (saveinitmem "org2html" :quiet t :init-function 'main :verbose nil :norc t :documentation "Converts Org standard input into markdown" :executable t)

(main)

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
clisp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/clisp-list