Page 1 of 1

newLISP stable release 10.6.2

PostPosted: Tue Jan 20, 2015 12:52 am
by Lutz
This stable release adds minor new functionality and fixes bugs.

Thanks to everybody who participated in developing this release with suggestions, bug reports and fixes.


Downloads page: http://www.newlisp.org/index.cgi?Downloads

Downloads directory: http://www.newlisp.org/downloads

Re: newLISP stable release 10.6.2

PostPosted: Tue Jan 20, 2015 1:45 am
by rickyboy
Thanks, Lutz!

BTW, when you make a release like this, do you ping the port maintainers of newlisp on the BSDs, or do they have to keep up with the releases by keeping their own eye out for them? Just curious. I've always meant to ask you this.

Re: newLISP stable release 10.6.2

PostPosted: Tue Jan 20, 2015 5:13 pm
by Lutz
In the past it worked pretty well without pinging package maintainers. I guess most of them watch either http://www.newlisp.org/rss.cgi or https://twitter.com/newlisp

But if anyone wants to be pinged for new versions, contact me in a private message with your email.

In case of BSDs, I always test on OpenBSD (64-bit and v.5.4 this time) and FreeBSD (64-bit and v.9.3 this time). They are not always updated to the latest but I guess it helps. For this release, I changed from 'CC = gcc' to 'CC = cc' to make it work for the Clang compiler. My FreeBSD installation on https://www.nearlyfreespeech.net now works with 64-bit and libffi stuff installed. On OpenBSD, I have to work without libffi, but of course the simple ffi works.

I don't have access to any Red-Hat/Fedora system, but people seem to be happy compiling on it without problems.

Re: newLISP stable release 10.6.2

PostPosted: Tue Jan 20, 2015 9:27 pm
by jef
Thanks a lot for this new release Lutz!

Re: newLISP stable release 10.6.2

PostPosted: Wed Jan 21, 2015 11:01 pm
by protozen
Thanks a lot for the update Lutz, can I send you a development donation as a thank you?

Re: newLISP stable release 10.6.2

PostPosted: Thu Jan 22, 2015 1:04 am
by Lutz
Your "Thanks" is all what is needed :)

Re: newLISP stable release 10.6.2

PostPosted: Thu Jan 22, 2015 9:30 am
by johu
Hello, Lutz.

I am translating the manual to Japanese and have some suggestions.

line 23636 in newlisp_manual v10.6.2
Setting the option bit to <tt>0x8000</tt> in <em>int-option</em> will force

Setting the option bit to <tt>0x8000</tt> in <em>regex-option</em> will force

And, no problem but
line 23405
<h4>syntax: (regex-comp <em>str-pattern</em> [<em>int-option</em>])</h4>

<h4>syntax: (regex-comp <em>str-pattern</em> [<em>regex-option</em>])</h4>

Also, following is no problem
There are both regex-option and regex-options.
For example, regex-options are in directory and search.

Regards,

Re: newLISP stable release 10.6.2

PostPosted: Thu Jan 22, 2015 3:27 pm
by Lutz
Thanks Johu, all updated to regex-option:

http://www.newlisp.org/downloads/newlisp_manual.html

Re: newLISP stable release 10.6.2

PostPosted: Fri Jan 23, 2015 5:09 am
by hilti
Thank You Lutz from Germany :-)

Re: newLISP stable release 10.6.2

PostPosted: Fri Jan 23, 2015 8:56 am
by johu
Thanks Lutz.

I finished translartions of manuals.

newlisp_manual-10602
CodePatterns-10602

There are in here.

Re: newLISP stable release 10.6.2

PostPosted: Fri Jan 23, 2015 2:43 pm
by Lutz
Many thanks Johu, all Japanese translations are online here:

Users Manual and Reference: http://www.newlisp.org/newlisp_manual-jp.html

Code Patterns: http://www.newlisp.org/CodePatterns-jp.html

Guiserver: http://www.newlisp.org/guiserver-jp/

Re: newLISP stable release 10.6.2

PostPosted: Sun Jan 25, 2015 5:44 pm
by jopython
The links for "UBUNTU Linux Debian 64-bit installers v.10.6.2" are not working at the time of writing.
Thank you,

Re: newLISP stable release 10.6.2

PostPosted: Sun Jan 25, 2015 5:52 pm
by Lutz
Thanks, I missed the name change from i386 to amd64. Now corrected.

Re: newLISP stable release 10.6.2

PostPosted: Tue Jan 27, 2015 7:29 pm
by Lutz
Regarding the gethostbyname() buffer overflow announced here:

http://marc.info/?l=bugtraq&m=142237866420639&w=2

Since version 10.2.9, released in May 2010, newLISP does not use this API and is not affected by this.

Re: newLISP stable release 10.6.2

PostPosted: Wed Jan 28, 2015 12:37 am
by bairui
Excellent, Lutz. Kudos for the quick announcement.

Re: newLISP stable release 10.6.2

PostPosted: Mon Mar 30, 2015 4:55 pm
by TedWalther
Lutz, fix for the website:

In the manual section for the "replace" function, you have this:

Code: Select all
(set 'str "ZZZZZxZZZZyy")     → "ZZZZZxZZZZyy"
(replace "[x|y]" str "PP" 0)  → "ZZZZZPPZZZZPPPP"
str                           → "ZZZZZPPZZZZPPPP"


The regex [x|y] should be (x|y). Although your example works, the use of the pipe '|' character is an idiom that goes with parens (), not needed inside a character class [].

I made the following function for printing strings so newLisp can read them back in:

Code: Select all
(define (nl-esc a) (replace {(\\|")} a (string {\} $it) 0))


For reasons I didn't have time to investigate too deeply, when I put the '\' and '"' characters inside a character class, only the first substitution was made. Sometimes.

Re: newLISP stable release 10.6.2

PostPosted: Mon Mar 30, 2015 5:14 pm
by Lutz

Re: newLISP stable release 10.6.2

PostPosted: Mon Mar 30, 2015 10:33 pm
by TedWalther
Another: in the Manual, for "union", the link to "intersect" is broken, it should be #intersect, not #interset

Re: newLISP stable release 10.6.2

PostPosted: Tue Mar 31, 2015 4:15 am
by Lutz

Re: newLISP stable release 10.6.2

PostPosted: Fri May 01, 2015 1:31 am
by TedWalther
Lutz, I found a segfault in 10.6.2. It happens on Mac OS and on Debian Linux, 64bit Intel platform. Any ideas? I need tracebacks for debugging, so this is my attempt at it. Once it is working, I'll disable the println statements in it, and a function can do its own (println $stack) to show its own traceback. Much less verbose than the (trace) function provided already.

The segfault happens when I actually call the define-traced macro. At the moment, it looks like the segfault happens inside the expand function.

Code: Select all
(define-macro (define-traced)
  (if (list? (args 0))
    (eval (expand
      '(define call-pattern
          (if (and $stack (list? $stack))
            (push call-pattern $stack)
            (setq $stack (list call-pattern)))
          (println $stack " -> ")
          (set 'rval call-body)
          (pop $stack)
          (println $stack " <- ")
          rval)
      '((call-pattern (args 0)) (call-body (cons 'begin (rest (args)))))
      true))
    (eval (expand '(define var-name var-value) '((var-name (args 0)) (var-value (args 1))) true))
  )
)


(define-traced (foo a b) (println a " says hi to " b) (bar a b))
(define-traced (bar a b) (println b " blushes at " a) (baz a b))
(define-traced (baz a b) (println a " and " b " shake hands."))
(println "foo: " foo)
(foo "John" "Tracy")


Re: newLISP stable release 10.6.2

PostPosted: Fri May 01, 2015 6:25 pm
by Lutz