Branch: Tag:

2003-11-14

2003-11-14 06:11:38 by Martin Stjernholm <mast@lysator.liu.se>

Cleaned up some cases where resolver errors produced distracting
backtraces during compilation: Use low_cast_to_(object|program) in
dirnode instead of the variants that throw errors. Added
compile_cb_error and compile_cb_rethrow to be able to throw errors
that are converted to plain compiler error messages.

Fixed describe_backtrace and describe_error to use more convenient
ways for getting the messages and backtraces out if error objects, so
that the ugly overloading of `[] isn't necessary.

Added get_backtrace to get the backtrace out of an error array/object,
just like describe_error gets the error message.

Cleaned up calls to compile_warning.

Fixed error propagation from decode_charset.

Shortened accesses to _static_modules.Builtin and
_static_modules.___files.

Rev: lib/master.pike.in:1.310

475:    "bignum": "predef::Crypto.dsa.dsa_hash":1, "predef::Crypto.dsa.find_generator":3, "predef::Crypto.dsa.hash2number":1, "predef::Crypto.dsa.nist_hash":1, "predef::Crypto.dsa.nist_primes":1, "predef::Crypto.dsa.random_exponent":1, "predef::Crypto.dsa.random_number":2, "predef::Crypto.dsa.raw_sign":2, "predef::Crypto.dsa.raw_verify":3, "predef::Crypto.dsa.set_private_key":1, "predef::Crypto.dsa.set_public_key":4,    "bpn": "predef::Image._XPM._xpm_write_rows":1,    "calendar.time.set_timezone": "predef::Calendar.Timezone":1, -  "catch": "predef::throw":3, +  "catch": "predef::describe_backtrace":1, "predef::describe_error":1, "predef::get_backtrace":1, "predef::throw":3,    "catch()": "predef::backtrace":1, "predef::describe_backtrace":1,    "chmod()": "predef::Stdio.File.create":1,    "cleanUndocumented()": "predef::Tools.AutoDoc.ProcessXML.postProcess":2,
1084:   "predef::_typeof": "typeof()"   "predef::atanh": "atan2h()"   "predef::backtrace": "catch()" - "predef::describe_backtrace": "catch()" + "predef::describe_backtrace": "catch" "catch()" + "predef::describe_error": "catch"   "predef::enumerate": "foreach()"   "predef::filter": "foreach()"   "predef::get_all_groups": "getgrent" "getgrent()"   "predef::get_all_users": "getpwent" "getpwent()" -  + "predef::get_backtrace": "catch"   "predef::get_iterator": "Mapping.Iterator" "Multiset.Iterator" "String.Iterator" "foreach"   "predef::getgrgid": "getgrent()"   "predef::getgrnam": "getgrent()"