Page 1 of 1

development release newLISP v.10.0.3

Posted: Wed Mar 25, 2009 11:16 am
by Lutz
• 'swap' now exchanges any two places
• bug fixes

Files and changes notes:

http://www.newlisp.org/downloads/development/

Posted: Wed Mar 25, 2009 11:52 am
by newdep
Hi Lutz,

Is it perhaps an option to also install the /doc directory from the tgz
package into the /usr/share/newlisp directory?


Thats has a big advantage for seeking the current doc version with
the installed version.. I always have to move my bookmarks to the
new release..instead of having a steading one pointing to /usr/share/newlisp/doc


PS: thanks for the 10.0.3 release!

Posted: Wed Mar 25, 2009 12:01 pm
by newdep
Wow.. Im stupid ;-)

I never thought is was installed in /usr/share/doc/newlisp ..

Posted: Wed Mar 25, 2009 12:03 pm
by newdep
But just for the clarification..

release 10003 means 10.0.03 or 10.00.3 ?

Posted: Wed Mar 25, 2009 12:22 pm
by Lutz
It means: 10.0.03 or 10.0.3. The middle number only goes from 0 to 9, but the last from 0 to 99.

Posted: Wed Mar 25, 2009 10:06 pm
by itistoday
Any significant bug fixes...? It'd be nice to know what to watch out for with previous versions.

Posted: Thu Mar 26, 2009 2:30 pm
by newdep
10.0.3
Expanded 3rd syntax in 'swap' (swap <place> <place>) The first two old
call patterns are deprecated and will be removed in a future version.

Eliminated a stacksize dependence when using 'find' with 'match'

IBM AIX for PPC has been added as a platform and using the IBM xlc_r or gcc
compiler. Some issues with newLISP server mode are not resolved yet.

Fixed a memory mapping problem surfacing on IBM AIX 32-bit compiles

Better handling of status in HTTP headers sent back from server

'nil' and 'true' confused 'sort' and 'unique', fixed.

Posted: Fri Mar 27, 2009 3:51 pm
by itistoday
Thanks newdep! Sorry, I forgot to check the CHANGES.txt file in the dev directory. :-\

Posted: Mon Mar 30, 2009 11:33 am
by newdep
Hi Lutz,

some questions about the SHA1.txt files

1) The SHA1.txt files on your download pages, are those correct?
Or are the files updated afterwards?

2) Will you always maintain the SHA1.txt file in the dowload section?
If yes ill include the sha1 check in my update script..

Norman.

Posted: Mon Mar 30, 2009 11:58 am
by Lutz
The SHA1 files are made on the server after I uploaded the files, and I have a copy of them outside of the ISP. There will always be a SHA1 file in the download and download/development section.

Posted: Mon Mar 30, 2009 12:00 pm
by newdep
Aha oke.. Well My sha check is different then the ones you display ;-)
Thats why my question was..


PS: Could you simplify the SHA1.txt content?

file sha1
file2 sha1
file3 sha1

instead of (file)= sha

Just a request but can live with the current way you display it ;-)

Posted: Mon Mar 30, 2009 12:14 pm
by Lutz
I am using the 'openssl' utility installed on FreeBSD of my ISP, and also installed on my Mac OS X home machine. The way you see it, is the way it comes out. This is what I do:

Code: Select all

openssl sha1 *.tgz *.deb *.exe *.dmg > SHA1.txt

I just checked, and they are still the same :-)

Posted: Mon Mar 30, 2009 12:21 pm
by newdep
yes correct... But crypto.lsp thinks differently ;-)

Have a coffee first ;-)



$ openssl sha1 /tmp/newlisp-10.0.3.tgz
SHA1(/tmp/newlisp-10.0.3.tgz)= 73ccc454cd6be078d055af8954dca19d570f769e

$ newlisp

newLISP v.10.0.3 on Linux IPv4, execute 'newlisp -h' for more info.

(MAIN)-> (load (append (env "NEWLISPDIR") "/modules/crypto.lsp"))

(MAIN)-> (crypto:sha1 "/tmp/newlisp-10.0.3.tgz")
"ab1624608d2975fd9c49c35dedc1c4133e64af32"

Posted: Mon Mar 30, 2009 12:23 pm
by newdep
Correction!

Ill have a coffee first ;-)

Its OKE !

Posted: Mon Mar 30, 2009 1:52 pm
by Lutz
yes, not the file-name but the file itself (after the coffee):

Code: Select all

> (module "crypto.lsp") ; try this (predefined  since 10.0.2 ;-) )

> (crypto:sha1 (read-file "newlisp-10.0.3.tgz"))
"73ccc454cd6be078d055af8954dca19d570f769e"
> 

Posted: Mon Mar 30, 2009 1:58 pm
by newdep
Haaa slick! yeah I did not know that 'module existed..

Actualy.. How do I catch an (exit) from a module or load?

If a library cant be found then i.e. crypto exists, but the Main program too,
and thats not what i want..

I tried renaming 'exit with a constant but its not realy charming..

any idea?

Posted: Mon Mar 30, 2009 4:00 pm
by Lutz

Code: Select all

(if-not (catch (module "odbc.lsp") 'err) (println "Could not load: " err))
Could not load: ERR: problem loading library in function import : "dlopen(odbc32.dll, 9): image not found"
but this works only on older modules, newer modules should be rewritten to throw a user error with 'throw-error', which then can be handled from the top call.

In crypto.lsp instead of:

Code: Select all

(set 'library (files (or
    (find true (map file? files))
    (begin (println "cannot find crypto library") (exit)))))
change to:

Code: Select all

(set 'library (files (or
    (find true (map file? files))
    (throw-error "cannot find crypto library"))))
then it will work with a 'module' call like shown above.

Posted: Mon Mar 30, 2009 5:41 pm
by newdep
Yes that is correct for local files,
but I like more the remote loading aproche, where Im not the maintainer...

(load "http://www.newlisp.org/code/modules/crypto.lsp")

This is what I use now in the main script

(constant (global 'quit) exit)
(constant (global 'exit) nil)

This still throws the error from (exit) but at least the main script continue's running..Still not very reliable because it can be overruled.. but it works..

Now I only need a way to Catch the output of the module when it
cant find the library's... (silent (catch doesnt seems to do the trick...

Posted: Mon Mar 30, 2009 6:59 pm
by newdep
actualy the only proper way currently is to pre-check the
library existence in the main-script.

using a 'exit rewrite isnt a good solution because the update.lsp
script is also embeded. (and i need to rewrite the (exit) inside the
script also to a throw ;-)

but still it would be nice to catch an external (exit) somehow
without modification of the original script & suppress messages
from a loaded newlisp script/module. (I cant get Catch to fully do it)

Posted: Mon Apr 13, 2009 3:26 pm
by Cyril
newdep wrote:Haaa slick! yeah I did not know that 'module existed..
Me too! Searching for more surprises...

Code: Select all

newLISP v.10.0.3 on Win32 IPv4, execute 'newlisp -h' for more info.

> (filter (fn (x) (lambda? (eval x))) (symbols))
(module)
No luck! ;-)