… | |
… | |
41 | # nop at compiletime |
41 | # nop at compiletime |
42 | } |
42 | } |
43 | |
43 | |
44 | BEGIN { |
44 | BEGIN { |
45 | $SIG{__DIE__} = sub { |
45 | $SIG{__DIE__} = sub { |
46 | return if $^S; |
46 | return if $^S; # quick reject |
|
|
47 | |
|
|
48 | # return if there are any eval contexts in the csall stack |
|
|
49 | for my $i (0..999) { |
|
|
50 | my ($sub, $is_require) = (caller $i)[3, 7] |
|
|
51 | or last; |
|
|
52 | return if $sub eq "(eval)" && !$is_require; |
|
|
53 | } |
|
|
54 | |
47 | crash "CRASH/DIE: $_[0]" => 1; |
55 | crash "CRASH/DIE: $_[0]" => 1; |
48 | DC::fatal Carp::longmess "$_[0]"; |
56 | DC::fatal Carp::longmess "$_[0]"; |
49 | } |
57 | } |
50 | } |
58 | } |
51 | |
59 | |
… | |
… | |
2840 | } |
2848 | } |
2841 | } |
2849 | } |
2842 | } |
2850 | } |
2843 | |
2851 | |
2844 | # fontconfig doesn't support relative paths anymore, so use abs_path and keep fingers crossed |
2852 | # fontconfig doesn't support relative paths anymore, so use abs_path and keep fingers crossed |
|
|
2853 | # these are ignored under windows, for some reason, and thus set in the loader |
2845 | $ENV{FONTCONFIG_FILE} = "fonts.conf"; |
2854 | $ENV{FONTCONFIG_FILE} = "fonts.conf"; |
2846 | $ENV{FONTCONFIG_PATH} = Cwd::abs_path DC::find_rcfile "fonts"; |
2855 | $ENV{FONTCONFIG_PATH} = Cwd::abs_path DC::find_rcfile "fonts"; |
2847 | $ENV{FONTCONFIG_DIR} = $ENV{FONTCONFIG_PATH}; |
2856 | $ENV{FONTCONFIG_DIR} = $ENV{FONTCONFIG_PATH}; # helps with older versions |
2848 | |
2857 | |
2849 | { |
2858 | { |
2850 | my @fonts = map DC::find_rcfile "fonts/$_", qw( |
2859 | my @fonts = map DC::find_rcfile "fonts/$_", qw( |
2851 | DejaVuSans.ttf |
2860 | DejaVuSans.ttf |
2852 | DejaVuSansMono.ttf |
2861 | DejaVuSansMono.ttf |