mirror of
https://github.com/Perl/perl5.git
synced 2026-01-26 08:38:23 +00:00
Attempt at sanity in PerlIO/makedef.pl world:
1. Add comments to what each clump of symbols is for
2. Explicitly export layer syms like I thought they were
3. Remove bulk of (now redundant) PerlIO stuff from the <DATA>
section.
4. Re-sort perlio.sym
p4raw-id: //depot/perlio@16285
This commit is contained in:
parent
7a174747d2
commit
d892637e7e
64
makedef.pl
64
makedef.pl
@ -686,6 +686,9 @@ if ($define{'PERL_GLOBAL_STRUCT'}) {
|
||||
|
||||
my @syms = ($global_sym, $globvar_sym); # $pp_sym is not part of the API
|
||||
|
||||
# Symbols that are the public face of the PerlIO layers implementation
|
||||
# These are in _addition to_ the public face of the abstraction
|
||||
# and need to be exported to allow XS modules to implement layers
|
||||
my @layer_syms = qw(
|
||||
PerlIOBase_clearerr
|
||||
PerlIOBase_close
|
||||
@ -696,7 +699,7 @@ my @layer_syms = qw(
|
||||
PerlIOBase_pushed
|
||||
PerlIOBase_read
|
||||
PerlIOBase_setlinebuf
|
||||
PerlIOBase_unread
|
||||
PerlIOBase_unread
|
||||
PerlIOBuf_bufsiz
|
||||
PerlIOBuf_fill
|
||||
PerlIOBuf_flush
|
||||
@ -710,7 +713,10 @@ my @layer_syms = qw(
|
||||
PerlIOBuf_tell
|
||||
PerlIOBuf_unread
|
||||
PerlIOBuf_write
|
||||
PerlIO_debug
|
||||
PerlIO_allocate
|
||||
PerlIO_apply_layera
|
||||
PerlIO_apply_layers
|
||||
PerlIO_arg_fetch
|
||||
PerlIO_define_layer
|
||||
PerlIO_modestr
|
||||
@ -726,11 +732,20 @@ my @layer_syms = qw(
|
||||
PL_perlio
|
||||
);
|
||||
|
||||
|
||||
if ($define{'USE_PERLIO'}) {
|
||||
# Export the symols that make up the PerlIO abstraction, regardless
|
||||
# of its implementation - read from a file
|
||||
push @syms, $perlio_sym;
|
||||
|
||||
# This part is then dependent on how the abstraction is implemented
|
||||
if ($define{'USE_SFIO'}) {
|
||||
# Old legacy non-stdio "PerlIO"
|
||||
skip_symbols \@layer_syms;
|
||||
# SFIO defines most of the PerlIO routines as macros
|
||||
# So undo most of what $perlio_sym has just done - d'oh !
|
||||
# Perhaps it would be better to list the ones which do exist
|
||||
# And emit them
|
||||
skip_symbols [qw(
|
||||
PerlIO_canset_cnt
|
||||
PerlIO_clearerr
|
||||
@ -798,9 +813,19 @@ if ($define{'USE_PERLIO'}) {
|
||||
Perl_PerlIO_write
|
||||
)];
|
||||
}
|
||||
else {
|
||||
# PerlIO with layers - export implementation
|
||||
emit_symbols \@layer_syms;
|
||||
}
|
||||
} else {
|
||||
# Skip the PerlIO New Generation symbols.
|
||||
# -Uuseperlio
|
||||
# Skip the PerlIO layer symbols - although
|
||||
# nothing should have exported them any way
|
||||
skip_symbols \@layer_syms;
|
||||
# Also do NOT add abstraction symbols from $perlio_sym
|
||||
# abstraction is done as #define to stdio
|
||||
# Remaining remnants that _may_ be functions
|
||||
# are handled in <DATA>
|
||||
}
|
||||
|
||||
for my $syms (@syms) {
|
||||
@ -1253,44 +1278,11 @@ perl_destruct
|
||||
perl_free
|
||||
perl_parse
|
||||
perl_run
|
||||
PerlIOBase_clearerr
|
||||
PerlIOBase_close
|
||||
PerlIOBase_dup
|
||||
PerlIOBase_eof
|
||||
PerlIOBase_error
|
||||
PerlIOBase_fileno
|
||||
PerlIOBase_pushed
|
||||
PerlIOBase_read
|
||||
PerlIOBase_setlinebuf
|
||||
PerlIOBase_unread
|
||||
PerlIOBuf_bufsiz
|
||||
PerlIOBuf_fill
|
||||
PerlIOBuf_flush
|
||||
PerlIOBuf_get_cnt
|
||||
PerlIOBuf_get_ptr
|
||||
PerlIOBuf_open
|
||||
PerlIOBuf_pushed
|
||||
PerlIOBuf_read
|
||||
PerlIOBuf_seek
|
||||
PerlIOBuf_set_ptrcnt
|
||||
PerlIOBuf_tell
|
||||
PerlIOBuf_unread
|
||||
PerlIOBuf_write
|
||||
PerlIO_allocate
|
||||
PerlIO_apply_layera
|
||||
PerlIO_apply_layers
|
||||
PerlIO_arg_fetch
|
||||
# Oddities
|
||||
PerlIO_binmode
|
||||
PerlIO_debug
|
||||
PerlIO_define_layer
|
||||
PerlIO_define_layer
|
||||
PerlIO_getpos
|
||||
PerlIO_init
|
||||
PerlIO_layer_fetch
|
||||
PerlIO_modestr
|
||||
PerlIO_pending
|
||||
PerlIO_perlio
|
||||
PerlIO_push
|
||||
PerlIO_setpos
|
||||
PerlIO_sprintf
|
||||
PerlIO_sv_dup
|
||||
|
||||
40
perlio.sym
40
perlio.sym
@ -1,29 +1,29 @@
|
||||
# Symbols which arise as part of the PerlIO abstraction
|
||||
|
||||
PerlIO_fast_gets
|
||||
PerlIO_has_cntptr
|
||||
PerlIO_canset_cnt
|
||||
PerlIO_has_base
|
||||
PerlIO_puts
|
||||
PerlIO_open
|
||||
PerlIO_exportFILE
|
||||
PerlIO_fast_gets
|
||||
PerlIO_fdopen
|
||||
PerlIO_reopen
|
||||
PerlIO_getname
|
||||
PerlIO_findFILE
|
||||
PerlIO_getc
|
||||
PerlIO_putc
|
||||
PerlIO_ungetc
|
||||
PerlIO_vprintf
|
||||
PerlIO_rewind
|
||||
PerlIO_getname
|
||||
PerlIO_getpos
|
||||
PerlIO_has_base
|
||||
PerlIO_has_cntptr
|
||||
PerlIO_importFILE
|
||||
PerlIO_init
|
||||
PerlIO_modestr
|
||||
PerlIO_open
|
||||
PerlIO_printf
|
||||
PerlIO_putc
|
||||
PerlIO_puts
|
||||
PerlIO_releaseFILE
|
||||
PerlIO_reopen
|
||||
PerlIO_rewind
|
||||
PerlIO_setpos
|
||||
PerlIO_sprintf
|
||||
PerlIO_stdoutf
|
||||
PerlIO_tmpfile
|
||||
PerlIO_importFILE
|
||||
PerlIO_exportFILE
|
||||
PerlIO_findFILE
|
||||
PerlIO_releaseFILE
|
||||
PerlIO_init
|
||||
PerlIO_setpos
|
||||
PerlIO_getpos
|
||||
PerlIO_ungetc
|
||||
PerlIO_vprintf
|
||||
PerlIO_vsprintf
|
||||
PerlIO_sprintf
|
||||
PerlIO_modestr
|
||||
Loading…
x
Reference in New Issue
Block a user