summaryrefslogtreecommitdiff
path: root/perlio.h
Commit message (Collapse)AuthorAgeFilesLines
* (perl #134221) support append mode for open .. undefTony Cook2019-07-161-0/+3
|
* Use new paradigm for hdr file double inclusion guardKarl Williamson2017-06-021-3/+3
| | | | | | | | | | We changed to use symbols not likely to be used by non-Perl code that could conflict, and which have trailing underbars, so they don't look like a regular Perl #define. See https://rt.perl.org/Ticket/Display.html?id=131110 There are many more header files which are not guarded.
* Evict PERLIO_IS_STDIO from top-level core files.Craig A. Berry2015-07-231-41/+13
| | | | | | | | | | | | | Configuring with perlio has been the only option since dd35fa16610 in 2011, first released in 5.16.0. Yet we have still have had all this dead code for stdio support cluttering up the sources and dulling the machetes of anyone who wants to do further work on perlio or someone (like me) who just stumbles on some code that looks like it needs fixing but isn't worth the time since the compiler will never see it. Leave a vestigial perlsdio.h since its presence is hard-coded in a number of places.
* remove redundant PERL_EXPORT_C and PERL_XS_EXPORT_C macrosDaniel Dragan2015-06-031-57/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These 2 macros were created for the Symbian port in commit "Symbian port of Perl" to replace a direct "extern" token. I guess the author was unaware of PERL_CALLCONV. PERL_CALLCONV is the official macro to use. PERL_XS_EXPORT_C and PERL_EXPORT_C have no usage on cpan grep except for modules with direct copies of core headers. A defect of using PERL_EXPORT_C and PERL_XS_EXPORT_C instead of PERL_CALLCONV is that win32/win32.h has no knowledge of the 2 macros and doesn't set them, and os/os2ish.h doesn't either. On Win32, since the unix defaults are used instead of Win32 specific "__declspec(dllimport)" token, XS modules use indirect function stubs in each XS module placed by the CC to call into perl5**.dll instead of directly calls the core C functions. I observed this in in XS-Typemap's DLL. To simplify the API, and to decrease the amount of macros needing to implemented to support each platform, just remove the 2 macros. Since perl.h's fallback defaults for PERL_CALLCONV are very late in perl.h, they need to be moved up before function declarations start in perlio.h (perlio.h is included from iperlsys.h). win32iop.h contains the "PerlIO" and SV" tokens, so perlio.h must be included before win32iop.h is. Including perlio.h so early in win32.h, causes PERL_CALLCONV not be defined since Win32 platform uses the fallback in perl.h, since win32.h doesn't always define PERL_CALLCONV and sometimes relies on the fallback. Since win32iop.h contains alot of declarations, it belongs with other declarations such as those in proto.h so move it from win32.h to perl.h. the "free" token in struct regexp_engine conflicts with win32iop's "#define free win32_free" so rename that member.
* Replace common Emacs file-local variables with dir-localsDagfinn Ilmari Mannsåker2015-03-221-6/+0
| | | | | | | | | | | | | | | | An empty cpan/.dir-locals.el stops Emacs using the core defaults for code imported from CPAN. Committer's work: To keep t/porting/cmp_version.t and t/porting/utils.t happy, $VERSION needed to be incremented in many files, including throughout dist/PathTools. perldelta entry for module updates. Add two Emacs control files to MANIFEST; re-sort MANIFEST. For: RT #124119.
* Remove some remnants of x2p, which was removed by commit e5a8a0fbd7Steve Hay2015-02-181-1/+1
| | | | | | | | | | | | | | References to PERL_FOR_X2P probably have to stay in case any third-party code is #defining it. Likewise, NO_PERL_TYPEDEFS in vms/vmsish.h has to stay because it actually is used by App::a2p. Cross/Makefile.SH.patch still needs regenerating since it contains references to x2p in the top-level Makefile.SH which were removed by e5a8a0fbd7. A few other references to x2p/a2p/find2p/s2p still remain, which I am less sure about removing, plus some others in documentation which should stay anyway.
* const the PerlIO vtablesDaniel Dragan2014-12-271-4/+2
| | | | | | | | | | | Previously the PerlIO vtables were const only on PERL_GLOBAL_STRUCT_PRIVATE builds, which was created for former Symbian port and today is rarely used. Since writing/hooking the PerlIO vtables from XS has never been public API and is very unlikely to be occuring on CPAN, make then const so they will be shared between perl processes. b4 VC2008 x64 perl521.dll .rdata section 0x7293C bytes, .data 0x34B0 bytes after .rdata 0x7321C .data 0x2BD0
* Purge sfio support, which has been broken for a decade.Nicholas Clark2013-12-271-12/+1
| | | | | | | | | | | The last Perl release that built with -Dusesfio was v5.8.0, and even that failed many regression tests. Every subsequent release fails to build, and in the decade that has passed we have had no bug reports about this. So it's safe to delete all the code. The Configure related code will be purged in a subsequent commit. 2 references to sfio intentionally remain in fakesdio.h and nostdio.h, as these appear to be for using its stdio API-compatibility layer.
* perlio.h: Indent nested #ifKarl Williamson2013-12-211-8/+8
| | | | | | I found this helpful in tracking down an issue, being able to conveniently pair an #endif with its corresponding #if. The rest of the file could stand this sort of treatment, but not from me now.
* Purge remaining references to PerlIO_sprintf and PerlIO_vsprintf().Nicholas Clark2013-10-071-4/+0
| | | | | | Eliminate their function prototypes. Eliminate references in perlio.sym and makedef.pl which caused them to still be added to the Win32 linker definitions.
* Fix PerlIO_get_cnt and friendsLeon Timmermans2013-09-071-4/+4
| | | | These functions worked with ints instead of SSize_t,
* Remove the BeOS port.Nicholas Clark2012-12-141-5/+0
| | | | | | | | | BeOS was an operating system for personal computers developed by Be Inc, initially for their BeBox hardware. The OS Haiku was written as an open source replacement/continuation for BeOS, and its perl port is current and actively maintained. The BeOS port has not been updated since 2004.
* update the editor hints for spaces, not tabsRicardo Signes2012-05-291-2/+2
| | | | | This updates the editor hints in our files for Emacs and vim to request that tabs be inserted as spaces.
* Increase PERLIOBUF_DEFAULT_BUFSIZ to larger of 8192 and BUFSIZ.Craig A. Berry2011-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The previous default size of a PerlIO buffer (4096 bytes) was chosen many years ago before PerlIO was even the default I/O scheme for Perl. Benchmarks show that doubling this decade-old default increases read and write performance in the neighborhood of 25% to 50% when using the default layers of perlio on top of unix. The only situation without a noticeable performance benefit so far appears to be when physical I/O is so slow that it dwarfs any savings from the reduction in layer shuffling, but there is also no performance penalty in this case. BUFSIZ will be chosen in the unlikely event that it's larger than 8192 on the assumption that the system maintainers would not set such a value without good reason. If the new size causes problems, or to try an even bigger size, configure with: ./Configure -Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=N where N is the desired size in bytes; it should probably be a multiple of your page size.
* Fix typos (spelling errors) in Perl sources.Peter J. Acklam) (via RT2011-01-071-1/+1
| | | | | | | | | # New Ticket Created by (Peter J. Acklam) # Please include the string: [perl #81904] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=81904 > Signed-off-by: Abigail <abigail@abigail.be>
* Rename PERLIO_BUFSIZ to PERLIOBUF_DEFAULT_BUFSIZ.Craig A. Berry2010-11-101-2/+3
| | | | | | | PERLIO_BUFSIZ was already in use by Encode::Unicode for the PerlIOEncode_xxx layer, so it makes sense to specify that this macro is for the PerlIOBuf_xxx layer and that it is a default value that may eventually be settable at run-time.
* Make the buffer size for the perlio layer a macro.Craig A. Berry2010-11-091-0/+4
| | | | | | | | | | | The 4K buffer size was chosen way back in bb9950b. Significant performance improvements are seen with larger buffer sizes, though the optimum size likely varies by architecture and workload. For starters, we'll leave the default as-is but make the buffer size a macro and thus user-configurable via: sh Configure -Accflags=-DPERLIO_BUFSIZ=<number> Choosing a better (larger) default is still TODO.
* Add editor blocks to some header files.Marcus Holland-Moritz2008-01-011-0/+10
| | | p4raw-id: //depot/perl@32793
* Fix up copyright years for files modified in 2007.Nicholas Clark2007-11-071-1/+1
| | | p4raw-id: //depot/perl@32237
* Update copyright years in .h files. Also, in .plRafael Garcia-Suarez2007-01-051-1/+1
| | | | | | files that generate .h files, so they'll be ready next time. p4raw-id: //depot/perl@29695
* Abolish cop_io (the simple way) by storing the value in cop_hints_hash.Nicholas Clark2006-05-201-2/+0
| | | | | | Todo - store the in and out values under 2 keys, and avoid the need to create a temporary mortal SV while checking it. p4raw-id: //depot/perl@28258
* Re: [PATCH] s/Null(gv|hv|sv)/NULL/gSteven Schubiger2006-02-031-1/+1
| | | | | | Message-ID: <20060203152449.GI12591@accognoscere.homeunix.org> Date: Fri, 3 Feb 2006 16:24:49 +0100 p4raw-id: //depot/perl@27065
* Attribute compilation fix for Windows by Andy LesterRafael Garcia-Suarez2005-05-231-1/+5
| | | p4raw-id: //depot/perl@24552
* Attribute configurationAndy Lester2005-05-201-13/+1
| | | | | Message-ID: <20050519173256.GA29039@petdance.com> p4raw-id: //depot/perl@24508
* printf.patch: Adding printf checking for gccAndy Lester2005-05-021-4/+4
| | | | | Message-ID: <20050501200755.GA30259@petdance.com> p4raw-id: //depot/perl@24365
* perlio-two.patch: More warnings squashed, more constsAndy Lester2005-04-271-1/+2
| | | | | Message-ID: <20050427150243.GA21883@petdance.com> p4raw-id: //depot/perl@24338
* Symbian port of PerlJarkko Hietaniemi2005-04-211-64/+78
| | | | | Message-ID: <B356D8F434D20B40A8CEDAEC305A1F2453D653@esebe105.NOE.Nokia.com> p4raw-id: //depot/perl@24271
* s/hierachy/hierarchy/Larry Shatzer Jr.2004-11-161-1/+1
| | | | | | From: "Larry Shatzer Jr." <larrysh@cpan.org> Message-ID: <20041115225913.GA22373@zippy.zyx.net> p4raw-id: //depot/perl@23500
* Re: [PATCH: perlio.h] maint snap @ 19613Marcus Holland-Moritz2003-05-251-0/+7
| | | | | | From: "Marcus Holland-Moritz" <mhx-perl@gmx.net> Message-ID: <003701c322f2$517fb5e0$0c2f1fac@R2D2> p4raw-id: //depot/perl@19620
* RE: [PATCH] RE: maint snapshot @ 19525Robin Barker2003-05-231-12/+3
| | | | | Message-ID: <533D273D4014D411AB1D00062938C4D90404653C@hotel.npl.co.uk> p4raw-id: //depot/perl@19599
* Fix up Larry's copyright statements to my best knowledge.Jarkko Hietaniemi2003-04-161-1/+2
| | | | | | | (Lots of Perl 5 source code archaeology was involved.) Larry didn't make strangled noises when I showed him the patch, either :-) p4raw-id: //depot/perl@19242
* Introduce PerlIO::get_layers() to allow people to peekJarkko Hietaniemi2003-04-141-0/+1
| | | | | at the PerlIO layer stack. p4raw-id: //depot/perl@19203
* Update all copyrights to 2003, from JarkkoHugo van der Sanden2003-03-021-1/+1
| | | p4raw-id: //depot/perl@18801
* (was RE: [PATCH] %_ (was Re: [PATCH] operation on `PL_na' may be undefined))Robin Barker2003-01-221-3/+12
| | | | | Message-ID: <533D273D4014D411AB1D00062938C4D904046299@hotel.npl.co.uk> p4raw-id: //depot/perl@18556
* Last minute tinkering with PerlIO abstraction API.Nick Ing-Simmons2002-06-161-2/+2
| | | | | | | | - PerlIO_importFILE and PerlIO_exportFILE now documented as taking const char *mode. - Other 'flags' field changed to U32 - Discouraging words written about ":raw". p4raw-id: //depot/perlio@17258
* Several of non-default builds now seem to work reasonably wellNick Ing-Simmons2002-05-031-1/+1
| | | | | | | | | | English.t seems to fail on an errno test, and socketpair blathers about something. Basic fix is to stop PERL_IMPLICIT_SYS turning on USE_PERLIO by the back door, and instead have perlsdio.h vector stdio via iperlsys.h function tables (latter was done in earlier change). Update comments in Makefile.mk p4raw-id: //depot/perlio@16367
* Integrate mainlineNick Ing-Simmons2002-01-251-0/+9
| | | | | All but ../lib/Unicode/UCD.t pass. p4raw-id: //depot/perlio@14412
* Inverted sense of special-ness of specialCopIO - supposed to Nick Ing-Simmons2002-01-141-1/+1
| | | | | be true if value is "special" i.e. NOT an SV. p4raw-id: //depot/perlio@14257
* Win32 and makedef.pl fall-out of PerlIO/pTHX stuffNick Ing-Simmons2001-12-221-9/+0
| | | p4raw-id: //depot/perlio@13854
* Allow dup'ing of PerlIO::Scalar etc.Nick Ing-Simmons2001-11-181-1/+4
| | | p4raw-id: //depot/perlio@13072
* Forgot from #12756.Jarkko Hietaniemi2001-10-291-0/+5
| | | p4raw-id: //depot/perl@12757
* Convert rest of PerlIO's memory tables to per-interp and add clone functionsNick Ing-Simmons2001-10-211-5/+6
| | | | | | | | for them. Call explicit cleanup during destruct process. - one binmode test is failing - also ext/threads/t/basic.t fails under make test, and is noisy under harness. (Threads results are intermingled and don't match order expected.) p4raw-id: //depot/perlio@12547
* PerlIO layer table as PL_perlio (per-interpreter)Nick Ing-Simmons2001-10-211-0/+1
| | | p4raw-id: //depot/perlio@12544
* Extract doio.c's open(2) mode to string conversion as PerlIO_intmod2str()Nick Ing-Simmons2001-10-201-0/+2
| | | | | Use for non-PERLIO fdupopen(). p4raw-id: //depot/perlio@12532
* Skeleton of "PerlIO_dup" coded.Nick Ing-Simmons2001-10-161-1/+1
| | | | | Still-passes all tests non-threaded (well it would wouldn't it!) p4raw-id: //depot/perlio@12451
* Reindent the PerlIO files (suggested by NI-S), usedJarkko Hietaniemi2001-09-171-74/+77
| | | | | | | | | indent -kr -nce -psl -sc -TSV -TAV -THV -TGV -TIV -TUV -TNV -TMAGIC -TFILE -TPerlIO -TPerlIO_list_t -TPerlIO_funcs -TPerlIO_pair_t (GNU indent). Note that wholesale re-indenting might be nice, but that would break nice formatting/alignment of assignments, equality testing, and complex boolean expressions with lots of &s and |s. p4raw-id: //depot/perl@12052
* POSIX-BC tweaks from Thomas Dorner.Jarkko Hietaniemi2001-07-051-0/+5
| | | p4raw-id: //depot/perl@11160
* NetWare port from Guruprasad S <SGURUPRASAD@novell.com>.Jarkko Hietaniemi2001-06-161-0/+2
| | | p4raw-id: //depot/perl@10643
* Avoid AV and HV in perlio.c by inventing PerlIO_list_t which is AV-ishNick Ing-Simmons2001-06-131-1/+1
| | | | | and using that instead (name lookups are sequential search for now). p4raw-id: //depot/perlio@10564
* PerlIO for VMSCraig A. Berry2001-05-261-0/+6
| | | | | Message-Id: <a05100e0ab734816701a5@[172.16.52.1]> p4raw-id: //depot/perl@10218