aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2007-03-02 11:07:09 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2007-03-02 11:07:09 +0000
commit77ccebf98a1fe81ffd9d91695d66d980258057ab (patch)
treee6b9541eda406d911750cd64474db87e4ca52ec1
parentfbe9d1e5da160f2a049d2d62071b515091c67893 (diff)
parentc73834a5b157f4e53360af35b623a03c28ef9955 (diff)
downloadmailfromd-release_3_1_2.tar.gz
mailfromd-release_3_1_2.tar.bz2
Release 3.1.2release_3_1_2
git-svn-id: file:///svnroot/mailfromd/tags/release_3_1_2@1279 7a8a7f39-df28-0410-adc6-e0d955640f24
-rw-r--r--ChangeLog413
-rw-r--r--NEWS115
-rw-r--r--TODO5
-rw-r--r--bootstrap1
-rw-r--r--configure.ac31
-rw-r--r--doc/Makefile.am4
-rw-r--r--doc/mailfromd.texi472
-rw-r--r--etc/mailfromd.rc40
-rwxr-xr-xetc/rc.in4
-rw-r--r--gacopyz/Makefile.am4
-rw-r--r--gacopyz/context.c6
-rw-r--r--gacopyz/gacopyz.c61
-rw-r--r--gacopyz/gacopyz.h80
-rw-r--r--gacopyz/gacopyz_priv.h25
-rw-r--r--gacopyz/io.c218
-rw-r--r--gacopyz/log.c70
-rw-r--r--gacopyz/proc.c30
-rw-r--r--gacopyz/server.c575
-rw-r--r--gacopyz/trans.awk2
-rw-r--r--src/Makefile.am49
-rw-r--r--src/bi_db.m44
-rw-r--r--src/bi_dns.m431
-rw-r--r--src/bi_io.m48
-rw-r--r--src/bi_mail.m410
-rw-r--r--src/bi_other.m46
-rw-r--r--src/bi_poll.m44
-rw-r--r--src/bi_sa.m416
-rw-r--r--src/bi_spf.m477
-rw-r--r--src/bi_string.m441
-rw-r--r--src/bi_system.m48
-rw-r--r--src/bi_vars.m426
-rw-r--r--src/cache.c8
-rw-r--r--src/db.c54
-rw-r--r--src/dns.c536
-rw-r--r--src/dns.h99
-rw-r--r--src/dnsbase.c799
-rw-r--r--src/dnscache.c13
-rw-r--r--src/engine.c81
-rw-r--r--src/gram.y1572
-rw-r--r--src/init.m44
-rw-r--r--src/lex.l272
-rw-r--r--src/mailfrom.h (renamed from src/mailfromd.h)297
-rw-r--r--src/main.c276
-rw-r--r--src/mf-status.mfi54
-rw-r--r--src/mfstat.awk57
-rw-r--r--src/mtasim.c1130
-rw-r--r--src/mu_dbm.c5
-rw-r--r--src/opcode.awk99
-rw-r--r--src/opcodes96
-rw-r--r--src/optab.opc58
-rw-r--r--src/optab.oph6
-rw-r--r--src/prog.c479
-rw-r--r--src/prog.h27
-rw-r--r--src/rate.c8
-rw-r--r--src/snarf.m48
-rw-r--r--src/spf.c1278
-rw-r--r--src/spf.h55
-rw-r--r--src/status.mfi2
-rw-r--r--src/symtab.c129
-rw-r--r--testsuite/Makefile.am2
-rw-r--r--testsuite/etc/Makefile.am1
-rw-r--r--testsuite/etc/catch.rc6
-rw-r--r--testsuite/etc/catch01.rc6
-rw-r--r--testsuite/etc/hasmx.rc5
-rw-r--r--testsuite/etc/poll-1.rc4
-rw-r--r--testsuite/etc/poll.rc2
-rw-r--r--testsuite/etc/shadow.rc38
-rw-r--r--testsuite/lib/mailfromd.exp10
-rw-r--r--testsuite/mailfromd/DISTFILES1
-rw-r--r--testsuite/mailfromd/catch.exp8
-rw-r--r--testsuite/mailfromd/shadow.exp29
71 files changed, 2002 insertions, 8048 deletions
diff --git a/ChangeLog b/ChangeLog
index e7db0389..5c5e0401 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,416 +1,31 @@
-2007-03-02 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * src/symtab.c (function_install): Init statemask
- * src/gram.y: Fix builtin context checks. Implement function
- context checks.
- * src/mailfromd.h (struct function): New member `statemask'
- * src/Makefile.am: Exempt mtasim from installcheck
- * testsuite/mailfromd/functx.exp: New testcase
- * testsuite/mailfromd/DISTFILES: Add functx.exp
- * testsuite/etc/Makefile.am: Add sa*.rc
- * testsuite/etc/sa01.rc, testsuite/etc/sa02.rc,
- testsuite/etc/sa03.rc, testsuite/etc/sa04.rc: New files.
-
- * NEWS: Update
-
- Start implementing test MTA simulator.
-
- * src/mtasim.c: New file
- * src/gram.y: Minor fixes
- * src/main.c: New option --gacopyz-debug
- * src/Makefile.am: Build nullmta
- * gacopyz/io.c: New file
- * gacopyz/server.c: New file
- * gacopyz/gacopyz.h, gacopyz/gacopyz_priv.h, gacopyz/log.c,
- gacopyz/gacopyz.c, gacopyz/Makefile.am: Start implementing server
- code.
-
-2007-02-21 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * src/spf.c (spf_data): Add mech
- (parse_record): Always allocate expr_space
- * src/bi_spf.m4 (update_spf_vars): Bugfix
- * src/prog.c (instr_backref): Allow to reference optional groups
- * src/Makefile.am (noinst_HEADERS): Add spf.h
-
- * src/lex.l: New built-in macro __statedir__
- * NEWS: Update
- * src/mailfrom.h: Finally renamed to
- * src/mailfromd.h: this
-
- Affected files:
-
- * src/symtab.c, src/mu_dbm.c, src/engine.c, src/snarf.m4,
- src/dnscache.c, src/gram.y, src/dnsbase.c, src/dns.c, src/db.c,
- src/spf.c, src/spf.h, src/cache.c, src/optab.opc, src/prog.c,
- src/mf-status.mfi, src/main.c, src/Makefile.am, src/rate.c
-
-2007-02-20 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * src/gram.y (constdecl): Return NULL. Fixes coredump if const is
- used within a code block.
-
2007-02-19 Sergey Poznyakoff <gray@gnu.org.ua>
+ * doc/mailfromd.texi: Fix typos
* src/mailfrom.h (node_type_noop): New node type
- * src/gram.y: Allow declarations of initialized variables.
- (print_node) <node_type_return>: Fix coredump on void returns
- (optimize_node): Fix coredump on `if 0 <expr>'
- * NEWS: Update
-
- * src/spf.c: Change handling of modifiers.
-
- * src/dnsbase.c, src/spf.c, src/dns.h, src/spf.h,
- bi_spf.m4: Change calling convention for the interface
- functions (spf_query_t, spf_answer_t); fix IP address comparisons;
- implement builtin spf variables
-
-2007-02-18 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * src/spf.c: Implement all modifiers, improve debugging.
-
-2007-02-17 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * src/dnsbase.c (_getmx, dns_get_mx_records): ttl can be NULL
- * src/spf.c: Implement all mechanisms
-
- * src/spf.c, src/spf.h: Templates for SPF support
- * src/bi_spf.m4: Interface definitions for SPF support
- * src/dns.c: Move generic DNS calls to dnsbase.c. Retain only
- interface calls.
- * src/dnsbase.c, src/dns.h: Generic DNS support
-
- * src/mailfrom.h: Move generic DNS declarations to dns.h
- * src/engine.c, src/bi_dns.m4, src/prog.c: Rename freemx to
- dns_freemx
- * src/main.c: Fix warning message wording
- * src/Makefile.am: Add new sources
- * bootstrap (MODLIST): Add memrchr
+ * src/gram.y (print_node): Handle node_type_noop.
+ Fix coredump on processing void returns
+ (code_node): Handle node_type_noop.
+ (optimize_node): Fix coredumps on optimizing code
+ like `if 0 do_something fi'
2007-02-11 Sergey Poznyakoff <gray@gnu.org.ua>
+ * src/prog.c, src/main.c: Remove leftover uses of error
* gacopyz/trans.awk: Always quote /dev/stderr
-2007-02-08 Sergey Poznyakoff <gray@gnu.org.ua>
-
- Move version control under SVN. Remove .cvsignore files.
- CVS copy kept around for references.
-
-2007-01-24 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * doc/mailfromd.texi: Update
- * src/gram.y: Change deprecation warning.
-
- * gacopyz/proc.c (gacopyz_cleanup_conn): Print debugging message;
- Do not display spurious 'signal 15' messages
- * src/engine.c (mailfromd_daemon): Improve logging
-
- * src/main.c: Hide deprecated command line options
+2007-01-02 Sergey Poznyakoff <gray@gnu.org.ua>
- * src/bi_vars.m4 (builtin_post_setup): Use string_alloc to
- allocate literals
- * src/mailfrom.h (DEFAULT_FROM_ADDRESS): New define
- * src/main.c: Use DEFAULT_FROM_ADDRESS
-
- * src/gram.y: Store xlat tables in the data segment.
- * src/prog.c: Likewise
- * src/mailfrom.h (struct switch_stmt): Additional fields to help
- code generation
- * src/opcodes (XLAT, XLATS): instruction data has 2 words
- * src/optab.opc (scan_code): Remove special handling for xlat(s)
-
- Create a relocatable code. Fixup relocatable references before
- entering the working mode.
-
- * src/optab.opc: New file
- * src/optab.oph: New file
- * src/opcode.awk: New file
- * src/opcodes: New file
- * src/Makefile.am: Add optab.opc, optab.oph, opcode.awk
- * src/gram.y: Use code_op instead of code_instr
- * src/mailfrom.h (instr_*): Remove prototypes.
- (code_op, fixup_code): New prototypes.
- * src/main.c (main): Call fixup code
- * src/mf-status.mfi: Indicate c mode for emacs.
- * src/prog.c (prog): Remove static qualifier
- (code_op): New function
- (dump_*): Change number of arguments
- (optab,find_op): Remove
- (dump_code): Rewrite using scan_code
- (fixup_code): New function
- (print_code): Rewrite using dump_code
- * src/prog.h (struct optab): New data type
- (scan_code): New function
- (prog): extern decl
-
-2007-01-22 Sergey Poznyakoff <gray@gnu.org.ua>
+ * src/engine.c, doc/mailfromd.texi: Sync with the trunk
+ * src/gram.y (code_node): code instr_svalidate after dereferencing
+ a string variable.
+ * src/prog.c (instr_svalidate): Restore function
* NEWS: Update
- * doc/mailfromd.texi: Update
- * etc/mailfromd.rc: Remove pragma option mailfrom and ehlo
- * src/gram.y,src/symtab.c: Use parse_warning where appropriate
- * src/lex.l, src/mailfrom.h (parse_warning)
- (parse_warning_locus): New functions
- * src/main.c: Print informative warning messages where
- (pragma or command line option) ehlo or mailfrom is used
-
-2007-01-21 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
- * doc/mailfromd.texi: Update
- * src/bi_vars.m4 (builtin_post_setup): smtp_domain and
- postmaster_email removed.
- * src/gram.y: Bugfix
- * src/main.c (smtp_domain,postmaster_email): Remove
- --ehlo and --mailfrom deprecated
-
- * gacopyz/context.c (smfi_setpriv, smfi_getpriv): Rename to
- gacopyz_*
- * gacopyz/gacopyz.h (gacopyz_setpriv, gacopyz_getpriv): New
- functions.
- * src/bi_other.m4, src/bi_sa.m4: Minor fixes.
- * src/db.c (db_format_enumerate, db_format_install)
- (db_format_lookup): New functions
- * src/dns.c (_resolve_ipstr): Always copy ipstr to namebuf
- * src/engine.c (MLFIPRIV): Remove unused macro. Use gacopyz_
- calls instead of smfi_ ones, except for initialization functions.
- * src/gram.y: Provide for deferred variable initialization (to
- initialize variables from the command line).
- * src/lex.l (free_string_space, mf_strdup): New functions
- * src/mailfrom.h (struct old_header_node.name): const
- (SYM_DB_FORMAT): Remove macro
- (free_symbols,defer_initialize_variable,free_string_space)
- (db_format_enumerate): New functions.
- * src/main.c (options, parse_opt): New option -v
- (mailfromd_expire, mailfromd_compact)
- (mailfromd_show_defaults): Use db_format_enumerate instead of
- symbol_enumerate
- (main): Free symbol and string space after compiling the script.
- * src/prog.c (env_reference): Minor enhancement
- (env_set_variable): Fix call to mu_error
- * src/symtab.c (union symentry): Remove v.db
- (free_symbols): New function
- (db_format_install, db_format_lookup): Remove. Reimplement in db.c
- * testsuite/mailfromd/catch.exp: Update invocations of mailfromd
-
-2007-01-19 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * doc/mailfromd.texi: Update
- * src/prog.c (struct optab): Fix opname for instr_asgn
- (env_final_gc): Bugfix
-
- * doc/Makefile.am (check-exceptions): Fix rule
- * doc/mailfromd.texi: Update
- * src/gram.y (asgn:): Remove erroneous flag assignement
- (branch:): Warn about legacy constant usage only once
- (LOCUS_EQ): Moved to mailfrom.h
- (code_node): Restore svalidate - synch with 3.1 branch.
- Call MARK_LOCUS under node_type_result
- * src/lex.l: Warn about legacy constant usage only once
- Implement #error.
-
- * etc/mailfromd.rc: Update
- * src/main.c (main): Remove call to builtin_post_setup.
- * src/prog.c (instr_variable): Print more trace info
- (instr_svalidate): Restore - synch with 3.1 branch.
-
-2007-01-18 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * src/gram.y: Do not compile autogenerated functions at once.
- Expand unprefixed named constants only when a value is expected
- * src/lex.l: Likewise
- * src/mailfrom.h (struct stmtlist): New data type
-
-2007-01-17 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
- * configure.ac: Raise patchlevel to 91
- * doc/mailfromd.texi: Update
- * src/Makefile.am (status.mfh, mf-status.c): New built sources
- * src/mfstat.awk: New file
- * src/status.mfi: New file
- * src/mf-status.mfi: New file
- * src/mailfrom.h, src/bi_dns.m4 (mf_resolve): Rename to mf_noresolve
- * src/gram.y (string: STRING): Fix incorrect argument to parse_error
- (parse_program): Remove call to post_parse
- (branch: WHEN): Issue deprecation warning if &const is used.
- (string_to_stat, mf_status_str): Defined in separate source
- * src/lex.l (lex_setup): Change default include path
- Issue deprecation warning if &const is used.
- Allow to use constants both in the program text and in literals
- * src/prog.c (string_off,string_count): Removed. Relocation table
- is used instead.
- * src/prog.h (post_parse): Remove
- * testsuite/etc/catch.rc: Include <status.mfh>, do not use &const.
- * testsuite/etc/catch01.rc: Likewise
- * testsuite/etc/hasmx.rc: Likewise
- * testsuite/etc/poll-1.rc: Likewise
- * testsuite/etc/poll.rc: Likewise
- * testsuite/lib/mailfromd.exp: Update include path
-
-2007-01-14 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * src/gram.y, src/lex.l, src/mailfrom.h, src/prog.c: Store
- locus.file in the dataseg.
-
- * src/gram.y: Implement const declarations
- * src/lex.l: Likewise
- * src/mailfrom.h: Likewise
- * src/symtab.c: Likewise
- * src/main.c: Minor change
- * src/prog.c: Minor change
-
-2007-01-13 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * gacopyz/gacopyz.h (GACOPYZ_VBUFSIZE): New define
- (gacopyz_format_vbuf): New decl
- * gacopyz/log.c (VBUFSIZE): Rename to GACOPYZ_VBUFSIZE
- (format_vbuf): Rename to gacopyz_format_vbuf; make extern
- * src/bi_mail.m4, src/bi_sa.m4, src/bi_system.m4, src/cache.c,
- src/dns.c, src/dnscache.c, src/engine.c, src/main.c,
- src/rate.c: Minor fixes
- * src/bi_vars.m4 (builtin_post_setup): Change initialization of
- ehlo_domain and mailfrom_address.
- * src/gram.y, src/mailfrom.h, src/prog.c, src/symtab.c: Use
- literals instead of string pointers.
- Each string reference in the resulting program should point
- within the current stack or data space (except for the values of
- Sendmail macros).
- * src/lex.l (string_alloc,string_finish): Return literal
-
-2007-01-06 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * src/bi_vars.m4 (builtin_post_setup): Change initialization of
- ehlo_domain and mailfrom_address built-in variables.
- * src/gram.y: Put string values initially assigned to the
- variables into the data segment. Redo its planning.
- Process only variables marked as volatile (built-in) or as
- referenced.
- (builtin_variable_install): Initialize flags.
- (vardecl): Remove initialization of var->off
- (externdecl): Change declaration.
- (initialize_variable,ensure_initialized_variable)
- (dataseg_layout): New functions
- * src/prog.c: Redo data segment initialization and handling.
- (dataseg,datasize,dataseg_reloc,dataseg_reloc_count): New
- variables
- (struct eval_environ.var): Rename to dataseg
- * src/prog.h (B2STACK): New macro (moved from prog.c)
- (variable_declared_p,declare_variable): Removed
- (ensure_initialized_variable): New function
- (dataseg,datasize,dataseg_reloc,dataseg_reloc_count): New externs
-
-2007-01-04 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * TODO: Update
- * src/engine.c (smtp_last_received): Remove superfluous
- conditional
- (method_strict,method_standard): Set last_poll_* variables to "",
- not NULL
- * src/gram.y: First build the entire tree, than compile it at
- once.
- Fix varaible shadowing.
- Reorganize lexical tie-ins.
- * src/lex.l: New keyword `const'.
- (parse_error,parse_error_locus): Increase buffer size to 512.
- * src/mailfrom.h (enum lexical_context): New data type.
- (struct catch_node.context): New field
- (struct progdecl, struct funcdecl): New data types.
- (enum node_type): Add new types: node_type_funcdecl and
- node_type_progdecl.
- (struct node.v): New members progdecl and funcdecl
- (VAR_REFERENCED): New macros
- (struct variable): New fields next and owner
- (variable_replace): New function
- * src/symtab.c (init_variable): New function
- (variable_install): Use init_variable
- (variable_replace): New function
- * testsuite/etc/shadow.rc: New file
- * testsuite/etc/Makefile.am (RCFILES): Add shadow.rc
- * testsuite/mailfromd/shadow.exp: New file
- * testsuite/mailfromd/DISTFILES: Add shadow.exp
-
-2006-12-27 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * doc/mailfromd.texi: Fix typo
-
-2006-12-25 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * configure.ac: Do not quote DEFAULT_LOG_FACILITY
- * NEWS: update
- * src/bi_string.m4 (unfold) new function
- * src/engine.c (check_on_host): Issue RSET if the previous MAIL
- FROM returned 4xx
- (mlfi_helo): Push malloced copy of helohost
- * src/main.c (option_deprecated): mark as warning.
-
-2006-12-21 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
- * src/bi_string.m4 (message_header_decode, message_header_encode):
- New functions.
-
-2006-12-15 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
- * TODO: Update
- * doc/mailfromd.texi: Update the description of resolve and the
- code of match_dnsbl and match_rhsbl
- * src/bi_dns.m4 (resolve): Take an optional second argument
- * src/dns.c (is_ipaddr): Stricter check
- (struct loop_data.atype): New member
- (cnameloop): Return the type of obtained answer in atype
- (_resolve_ipstr): Additional argument: domain to look up into. If
- not NULL, the ipstr is not reversed
- (resolve_ipstr_domain): New function
- (resolve_ipstr): Rewrite using resolve_ipstr_domain
- (_resolve_hostname): Convert IP to string if gotten T_A. All
- callers updated.
- * src/lex.l: Allow `==' as well as `='
- * src/mailfrom.h (resolve_ipstr_domain): New function
-
- * src/main.c (switch_to_privs): Refuse to run as root
- * doc/mailfromd.texi: Fix typo.
- * bi_io.m4, db.c, dnscache.c, engine.c, gram.y, lex.l, main.c,
- prog.c: Capitalize diagnostic messages
-
-2006-12-14 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
- * configure.ac: New configuration variable DEFAULT_LOG_FACILITY
- * doc/mailfromd.texi: Update
- * src/main.c (main): Set log_facility.
-
- * src/lex.l: Allow any amount of whitespace between the function
- name and the opening parenthesis.
- * src/lex.l: Fix the previous patch
- * src/gram.y: Revert accidental commit
+ * configure.ac: Version 3.1.2
2006-12-13 Sergey Poznyakoff <gray@gnu.org.ua>
- Synchronization with 3.1 branch:
-
- * NEWS, configure.ac: Version 3.1.90
- * doc/mailfromd.texi: Fix typo
- * src/bi_sa.m4 (spamd_send_stream): Assume captured stream already
- has \r in front of each \n
- (clamav): always shutdown data stream as a fd-style stream.
- * src/dns.c (_resolve_ipstr): First argument is const
- (resolve_ipstr,resolve_hostname): First argument is const
- * src/dnscache.c (parse_value,dns_make_key)
- (dns_cache_get,dns_cache_put): keystr is const
- * src/gram.y (optimize_node): Fix typo that caused correct
- `matches' conditions to be rejected (e.g. strip_domain_part.mf)
- * src/mailfrom.h (resolve_ipstr,resolve_hostname): First argument
- is const
- (dns_cache_get,dns_cache_put): keystr is const
- * src/snarf.m4 (MF_BEGIN_TEMP_SPACE): Do not terminate with a
- semicolon, since the statement is supposed to be used in argument
- declarations.
-
-2006-12-13 Sergey Poznyakoff <gray@gnu.org.ua>
-
- * NEWS: Update
+ * NEWS, configure.ac: Version 3.1.1
* doc/mailfromd.texi: Fix typo
* src/bi_sa.m4 (spamd_send_stream): Assume captured stream already
has \r in front of each \n
diff --git a/NEWS b/NEWS
index c0a90a6c..9b410484 100644
--- a/NEWS
+++ b/NEWS
@@ -5,69 +5,18 @@ See the end of file for copying conditions.
Please send mailfromd bug reports to <bug-mailfromd@gnu.org.ua>
-Version 3.1.91, CVS
+Version 3.1.2, 2007-03-02
-* New command line option -v (--variable) allows to alter initial value of a
-global variable, e.g:
-
- mailfromd -v ehlo_domain=mydomain.org
-
-The old way of assigning values to the globals from the command line
-(by prefixing an assignment with a percent sign) is discontinued.
-
-* Pragmatic options `mailfrom' and `ehlo'
-
-Both options create ambiguities in the language and are therefore
-deprecated. They are still understood but a deprecation warning is
-issued when the parser sees them. To update your scripts:
-
-Change
- #pragma option mailfrom @var{value}
-to
- set mailfrom_address @var{value}
-
-Change
- #pragma option ehlo @var{value}
-to
- set ehlo_domain @var{value}
-
-* Code generation redone to decrease memory requirements and make compiled
-code self-sufficient.
-
-* New statement `const' defines a named constant, e.g.:
-
- const n 10
- const s "String"
-
- if ($f != %s)
- ...
- fi
-
-* It is allowed to initialize variables in declarations.
-
-For example, instead of
-
- number x
- set x 1
-
-you can write
-
- number x 1
+Bugfixes:
-* Built-in macro __statedir__
-
-New built-in macro `__statedir__' expands to the name of the default
-program state directory.
-
-* Bugfixes
-** Fix coredumps on printing void returns with --dump-tree
-** Fix coredumps on optimising conditionals like
+* Fix coredumps on dereferencing an undefined variable.
+* Fix coredumps on printing void return nodes with --dump-tree.
+* Fix coredumps on optimising conditionals like
if 0
do_something
fi
-