Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision d0693cf4

Von Moritz Bunkus vor fast 8 Jahren hinzugefügt

  • ID d0693cf4b8b5224643f91c827658fb88fe377947
  • Vorgänger 899f502c
  • Nachfolger e2ef75e5

LXDebug: bei SHOW_CALLER ersten Caller außerhalb von LXDebug.pm nehmen

Andernfalls wird beim Aufruf von z.B. »SL::Controller::CustomerVendor →
LXDebug::dump() → LXDebug::message()« fälschlicherweise
»LXDebug::dump()« als Caller ausgegeben. Das interessiert die Nutzer*in
aber im Zweifelsfall nicht, sondern »SL::Controller::CustomerVendor«.

Unterschiede anzeigen:

SL/LXDebug.pm
269 269
  my @prefixes = ($prefix);
270 270

  
271 271
  if ($options{show_caller}) {
272
    my ($package, $filename, $line, $subroutine) = caller(1);
273
    push @prefixes, "${filename}:${line}";
272
    my $level = 1;
273
    while (1) {
274
      my ($package, $filename, $line, $subroutine) = caller($level);
275

  
276
      if (($filename // '') =~ m{LXDebug\.pm$}) {
277
        $level++;
278
        next;
279
      }
280

  
281
      push @prefixes, "${filename}:${line}";
282
      last;
283
    }
274 284
  }
275 285

  
276 286
  $prefix = join ' ', grep { $_ } @prefixes;

Auch abrufbar als: Unified diff