newLISP stable release 10.6.2

Notices and updates
Locked
Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

newLISP stable release 10.6.2

Post 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

rickyboy
Posts: 607
Joined: Fri Apr 08, 2005 7:13 pm
Location: Front Royal, Virginia

Re: newLISP stable release 10.6.2

Post 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.
(λx. x x) (λx. x x)

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP stable release 10.6.2

Post 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.

jef
Posts: 11
Joined: Sun May 18, 2014 8:42 am

Re: newLISP stable release 10.6.2

Post by jef »

Thanks a lot for this new release Lutz!

protozen
Posts: 36
Joined: Thu Aug 22, 2013 4:02 am

Re: newLISP stable release 10.6.2

Post by protozen »

Thanks a lot for the update Lutz, can I send you a development donation as a thank you?

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP stable release 10.6.2

Post by Lutz »

Your "Thanks" is all what is needed :)

johu
Posts: 143
Joined: Mon Feb 08, 2010 8:47 am

Re: newLISP stable release 10.6.2

Post 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,

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP stable release 10.6.2

Post by Lutz »

Thanks Johu, all updated to regex-option:

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

hilti
Posts: 140
Joined: Sun Apr 19, 2009 10:09 pm
Location: Hannover, Germany
Contact:

Re: newLISP stable release 10.6.2

Post by hilti »

Thank You Lutz from Germany :-)
--()o Dragonfly web framework for newLISP
http://dragonfly.apptruck.de

johu
Posts: 143
Joined: Mon Feb 08, 2010 8:47 am

Re: newLISP stable release 10.6.2

Post by johu »

Thanks Lutz.

I finished translartions of manuals.

newlisp_manual-10602
CodePatterns-10602

There are in here.

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP stable release 10.6.2

Post 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/

jopython
Posts: 123
Joined: Tue Sep 14, 2010 3:08 pm

Re: newLISP stable release 10.6.2

Post 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,

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP stable release 10.6.2

Post by Lutz »

Thanks, I missed the name change from i386 to amd64. Now corrected.

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP stable release 10.6.2

Post 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.

bairui
Posts: 64
Joined: Sun May 06, 2012 2:04 am
Location: China
Contact:

Re: newLISP stable release 10.6.2

Post by bairui »

Excellent, Lutz. Kudos for the quick announcement.

TedWalther
Posts: 608
Joined: Mon Feb 05, 2007 1:04 am
Location: Abbotsford, BC
Contact:

Re: newLISP stable release 10.6.2

Post 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.
Cavemen in bearskins invaded the ivory towers of Artificial Intelligence. Nine months later, they left with a baby named newLISP. The women of the ivory towers wept and wailed. "Abomination!" they cried.

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP stable release 10.6.2

Post by Lutz »


TedWalther
Posts: 608
Joined: Mon Feb 05, 2007 1:04 am
Location: Abbotsford, BC
Contact:

Re: newLISP stable release 10.6.2

Post by TedWalther »

Another: in the Manual, for "union", the link to "intersect" is broken, it should be #intersect, not #interset
Cavemen in bearskins invaded the ivory towers of Artificial Intelligence. Nine months later, they left with a baby named newLISP. The women of the ivory towers wept and wailed. "Abomination!" they cried.

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP stable release 10.6.2

Post by Lutz »


TedWalther
Posts: 608
Joined: Mon Feb 05, 2007 1:04 am
Location: Abbotsford, BC
Contact:

Re: newLISP stable release 10.6.2

Post 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")

Cavemen in bearskins invaded the ivory towers of Artificial Intelligence. Nine months later, they left with a baby named newLISP. The women of the ivory towers wept and wailed. "Abomination!" they cried.

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP stable release 10.6.2

Post by Lutz »


Locked