From 99fa8b90b24b17536d95285c0b64d9b336570ff1 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 4 Aug 2006 11:42:20 +0000 Subject: [PATCH] 22585: fix zsh.exports --- ChangeLog | 3 +++ Src/makepro.awk | 8 ++++++++ Src/utils.c | 4 ++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 70b521324..65fca2bfd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2006-08-04 Peter Stephenson + * 22585: makepro.awk, Src/utils.c: zsh.exports was missing + VA_ALIST declarations and some multibyte-related stuff. + * 22584: Frank Terbeck: Completion/Unix/Type/_tar_archive: even GNU tar should complete uncompressed .tar files. diff --git a/Src/makepro.awk b/Src/makepro.awk index 5def40203..0498c1545 100644 --- a/Src/makepro.awk +++ b/Src/makepro.awk @@ -91,6 +91,7 @@ BEGIN { # Handle each declarator. if (match(line, /VA_ALIST/)) { # Already has VARARGS handling. + # Put parens etc. back gsub(/@[{]/, "((", line) gsub(/@}/, "))", line) @@ -105,6 +106,13 @@ BEGIN { if(locality ~ /E/) dtype = "extern " dtype + if (match(line, /[_0-9A-Za-z]+\(VA_ALIST/)) + dnam = substr(line, RSTART, RLENGTH-9) + + # If this is exported, add it to the exported symbol list. + if (exported) + printf "X%s\n", dnam + printf "%s%s %s\n", locality, dtype, line } else { while(match(line, /^[^,]*,/)) { diff --git a/Src/utils.c b/Src/utils.c index 21b722f6a..0dcf4e59b 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -3877,7 +3877,7 @@ mb_width(const char *s) */ /**/ -int +mod_export int mb_metacharlenconv(const char *s, wint_t *wcp) { char inchar; @@ -3980,7 +3980,7 @@ mb_metastrlen(char *ptr) /* Simple replacement for mb_metacharlenconv */ /**/ -int +mod_export int metacharlenconv(char *x, int *c) { if (*x == Meta) {