newLISP Fan Club

Forum => newLISP newS => Topic started by: Lutz on March 25, 2009, 04:16:22 AM

Title: development release newLISP v.10.0.3
Post by: Lutz on March 25, 2009, 04:16:22 AM
• 'swap' now exchanges any two places

• bug fixes



Files and changes notes:



http://www.newlisp.org/downloads/development/
Title:
Post by: newdep on March 25, 2009, 04:52:12 AM
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!
Title:
Post by: newdep on March 25, 2009, 05:01:36 AM
Wow.. Im stupid ;-)



I never thought is was installed in /usr/share/doc/newlisp ..
Title:
Post by: newdep on March 25, 2009, 05:03:19 AM
But just for the clarification..



release 10003 means 10.0.03  or 10.00.3 ?
Title:
Post by: Lutz on March 25, 2009, 05:22:50 AM
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.
Title:
Post by: itistoday on March 25, 2009, 03:06:49 PM
Any significant bug fixes...?  It'd be nice to know what to watch out for with previous versions.
Title:
Post by: newdep on March 26, 2009, 07:30:28 AM
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.
Title:
Post by: itistoday on March 27, 2009, 08:51:35 AM
Thanks newdep! Sorry, I forgot to check the CHANGES.txt file in the dev directory. :-
Title:
Post by: newdep on March 30, 2009, 04:33:27 AM
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.
Title:
Post by: Lutz on March 30, 2009, 04:58:25 AM
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.
Title:
Post by: newdep on March 30, 2009, 05:00:23 AM
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 ;-)
Title:
Post by: Lutz on March 30, 2009, 05:14:13 AM
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:


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



I just checked, and they are still the same :-)
Title:
Post by: newdep on March 30, 2009, 05:21:42 AM
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"
Title:
Post by: newdep on March 30, 2009, 05:23:28 AM
Correction!



Ill have a coffee first ;-)



Its OKE !
Title:
Post by: Lutz on March 30, 2009, 06:52:05 AM
yes, not the file-name but the file itself (after the coffee):


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

> (crypto:sha1 (read-file "newlisp-10.0.3.tgz"))
"73ccc454cd6be078d055af8954dca19d570f769e"
>
Title:
Post by: newdep on March 30, 2009, 06:58:49 AM
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?
Title:
Post by: Lutz on March 30, 2009, 09:00:28 AM

(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:


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


change to:


(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.
Title:
Post by: newdep on March 30, 2009, 10:41:25 AM
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...
Title:
Post by: newdep on March 30, 2009, 11:59:07 AM
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)
Title:
Post by: Cyril on April 13, 2009, 08:26:37 AM
Quote from: "newdep"Haaa slick!  yeah I did not know that 'module existed..


Me too! Searching for more surprises...


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

> (filter (fn (x) (lambda? (eval x))) (symbols))
(module)


No luck! ;-)