Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: 64ad8fb797eaea164b7824c7f3e64457e0addfc0
      
https://github.com/Perl/perl5/commit/64ad8fb797eaea164b7824c7f3e64457e0addfc0
  Author: Lukas Mai <[email protected]>
  Date:   2026-01-31 (Sat, 31 Jan 2026)

  Changed paths:
    M XSUB.h
    M deb.c
    M doio.c
    M doop.c
    M dump.c
    M embed.fnc
    M gv.c
    M hv.c
    M invlist_inline.h
    M locale.c
    M malloc.c
    M mg.c
    M mro_core.c
    M numeric.c
    M op.c
    M packsizetables.inc
    M pad.c
    M peep.c
    M perl.c
    M perl.h
    M perlstatic.h
    M pod/perlguts.pod
    M pp.c
    M pp.h
    M pp_ctl.c
    M pp_hot.c
    M pp_pack.c
    M pp_sys.c
    M proto.h
    M regcomp.c
    M regcomp_debug.c
    M regcomp_internal.h
    M regcomp_invlist.c
    M regcomp_study.c
    M regcomp_trie.c
    M regen/embed.pl
    M regen/genpacksizetables.pl
    M regen/mph.pl
    M regexec.c
    M scope.c
    M sv.c
    M toke.c
    M uni_keywords.h
    M universal.c
    M utf8.c
    M util.c
    M win32/win32.c

  Log Message:
  -----------
  remove all uses of STATIC in core

STATIC was first defined internally (as '#define STATIC static) in
regexp.c in perl-2.0, then copied to regcomp.c (and thence later to
regcomp_internal.h) and regexec.c in perl-3.000.

In 76e3520e1f6b (1998), the PERL_OBJECT feature was added. It allowed
for multiplicity as follows:  All global variables and functions were
wrapped in a C++ class (CPerlObj), so all access to interpreter state
implicitly went through 'this->...'. Any internal function that used
variables or functions of the perl interpreter had to be non-static
because it was actually a member function of CPerlObj (and declaring
member functions 'static' means they don't have access to 'this'). Thus
all such functions were changed from 'static' to 'STATIC' and a
conditional definition was added to perl.h: In normal configurations,
'STATIC' would just expand to 'static', but under PERL_OBJECT, 'STATIC'
would expand to nothing.

In acfe0abcedaf (2001), PERL_OBJECT was removed again ("deprecated
cruft", "has long since stopped working"). Ever since, 'STATIC' has been
unconditionally defined as 'static'.

But instead of slowly getting removed over time, new uses of STATIC were
added, even in places where it would have made no sense under
PERL_OBJECT, such as XS modules.

This patch removes all remaining uses of STATIC in core and changes them
to static.


  Commit: cfe7f62cceb34f984ad3474b3e62a68ca50c7964
      
https://github.com/Perl/perl5/commit/cfe7f62cceb34f984ad3474b3e62a68ca50c7964
  Author: Lukas Mai <[email protected]>
  Date:   2026-01-31 (Sat, 31 Jan 2026)

  Changed paths:
    M perl.h

  Log Message:
  -----------
  perl.h: move STATIC to !PERL_CORE

... with the rest of the PERL_OBJECT macros. We retain STATIC for
compatibility with XS code, but core should just use static instead.


  Commit: 446e8aca388ca0bb9b03145b65457239a73f1ec7
      
https://github.com/Perl/perl5/commit/446e8aca388ca0bb9b03145b65457239a73f1ec7
  Author: Lukas Mai <[email protected]>
  Date:   2026-01-31 (Sat, 31 Jan 2026)

  Changed paths:
    M dist/Time-HiRes/HiRes.pm
    M dist/Time-HiRes/HiRes.xs

  Log Message:
  -----------
  Time-HiRes: use static, not STATIC


  Commit: 842af7eb6ba42e5dc73bb600d208d8c8d1169460
      
https://github.com/Perl/perl5/commit/842af7eb6ba42e5dc73bb600d208d8c8d1169460
  Author: Lukas Mai <[email protected]>
  Date:   2026-01-31 (Sat, 31 Jan 2026)

  Changed paths:
    M ext/XS-APItest/APItest.xs

  Log Message:
  -----------
  XS-APItest: use static, not STATIC


  Commit: 063c81058fd22bbeac0853df1a9e5b670171d243
      
https://github.com/Perl/perl5/commit/063c81058fd22bbeac0853df1a9e5b670171d243
  Author: Lukas Mai <[email protected]>
  Date:   2026-01-31 (Sat, 31 Jan 2026)

  Changed paths:
    M dist/threads/lib/threads.pm
    M dist/threads/threads.xs

  Log Message:
  -----------
  threads: use static, not STATIC


  Commit: 9aef83a89b2756400b1ae3317a8d8c01851aa70a
      
https://github.com/Perl/perl5/commit/9aef83a89b2756400b1ae3317a8d8c01851aa70a
  Author: Lukas Mai <[email protected]>
  Date:   2026-01-31 (Sat, 31 Jan 2026)

  Changed paths:
    M dist/threads-shared/lib/threads/shared.pm
    M dist/threads-shared/shared.xs

  Log Message:
  -----------
  threads-shared: use static, not STATIC


  Commit: 07193a17ed204af0704a982eb09dc64f6c951295
      
https://github.com/Perl/perl5/commit/07193a17ed204af0704a982eb09dc64f6c951295
  Author: Lukas Mai <[email protected]>
  Date:   2026-01-31 (Sat, 31 Jan 2026)

  Changed paths:
    M ext/XS-Typemap/Typemap.pm
    M ext/XS-Typemap/Typemap.xs

  Log Message:
  -----------
  XS-Typemap: use static, not STATIC


  Commit: 535b3579df48f139f6b829c3f3881ebd7a51dbe4
      
https://github.com/Perl/perl5/commit/535b3579df48f139f6b829c3f3881ebd7a51dbe4
  Author: Lukas Mai <[email protected]>
  Date:   2026-01-31 (Sat, 31 Jan 2026)

  Changed paths:
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Node.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Cmd.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm
    M dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm
    M dist/ExtUtils-ParseXS/lib/perlxs.pod
    M dist/ExtUtils-ParseXS/t/XSMore.xs

  Log Message:
  -----------
  ExtUtils-ParseXS: use static, not STATIC


Compare: https://github.com/Perl/perl5/compare/5dd475293ec7...535b3579df48

To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications

Reply via email to