Thread vim 7.3 - Problem mit folding (19 answers)
Opened by pq at 2010-09-14 20:01

Linuxer
 2011-03-22 01:29
#146734 #146734
User since
2006-01-27
3882 articles
HausmeisterIn

user image
Ziemlich umfangreich, was da an Unterschieden geworfen wird... Das war mir zuviel und ich habe die Auswertung abgebrochen ;) Aber was ich noch rausfand:

Das Problem scheint mit dem Stichwort package zusammen zu hängen.

Ich habe meine jetzigen Tests (irrtümlicherweise) mit einem Perl-Skript getestet und war schon schwer verwirrt, dass auf einmal alles sauber funktioniert.

Dann habe ich das Skript in ein Modul verwandelt und das Problem war wieder da. Selbst mit der folgenden Minimalkonfiguration:

vimrc_mini.vim
more (392b):
Code: (dl )
1
2
3
4
5
set nocompatible
set tw=80
set columns=80
syn on
let perl_fold=1



Via gvim -U NONE -u vimrc_mini.vim x.pl das folgende Test-Perl-Skript aufgerufen:
(-U liest eine gvimrc; -u eine vimrc. NONE überspringt die Initialisierung komplett; ansonsten wird *nur* die angegebene Datei gelesen)

x.pl
more (2.4kb):
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#! /usr/bin/perl -l
use strict;
use warnings;

package foobar;

# returns foo
sub foo {
  return "foo";
}

# returns bar
sub bar {
  return "bar";
}

package main;

print foobar::foo();

__END__



Beim Startup sieht alles gut aus; die beiden package Blöcke sind fein gefaltet.
Dann package foobar aufgeklappt und die enthaltenen Subroutinen sind gefaltet; auch toll.
Dann in die Zeile vor dem Kommentar zu sub foo ein " gesetzt und schon klappen beide Subs des package foobar auf.

Das Problem tritt auch bereits auf, wenn man die Datei frisch aufmacht und in die Zeile vor package foobar ein " einfügt. Dann klappt das package und alle seine Subroutinen auf.

Ich gehe momentan daher davon aus, dass hier ein Fehler in perl.vim begraben liegt und es nicht an einer Kollision von verschiedenen Optionen liegt.

Bestätigt sehe ich mich darin, wenn ich mir eine Kopie vom CGI.pm als Testobjekt erstelle und die package-Zeile auskommentiere. Dann klappt zwar die folgende Sub auf (z.B. can auf Zeile 265), aber nur die!
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread vim 7.3 - Problem mit folding