Skip to content

Commit 5d403e9

Browse files
committed
fix line number in error message for f77 constructs
1 parent 532892e commit 5d403e9

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

fprettify/__init__.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,7 @@ def inspect_ffile_format(infile, indent_size, orig_filename=None):
542542
stream = InputStream(infile, orig_filename)
543543
prev_offset = 0
544544
first_indent = -1
545+
f77_line_nr = 0
545546

546547
while 1:
547548
f_line, _, lines = stream.next_fortran_line()
@@ -560,12 +561,13 @@ def inspect_ffile_format(infile, indent_size, orig_filename=None):
560561
indents[-1] = indent_size
561562
prev_offset = offset
562563

563-
if F77_STYLE.search(f_line):
564+
if not num_labels and F77_STYLE.search(f_line):
564565
num_labels = True
566+
f77_line_nr = stream.line_nr
565567

566568
modern_fortran = not num_labels
567569

568-
return indents, first_indent, modern_fortran
570+
return indents, first_indent, modern_fortran, f77_line_nr
569571

570572

571573
def format_single_fline(f_line, whitespace, linebreak_pos, ampersand_sep,
@@ -886,13 +888,13 @@ def reformat_ffile(infile, outfile, indent_size=3, whitespace=2,
886888
orig_filename = infile.name
887889

888890
infile.seek(0)
889-
req_indents, first_indent, modern = inspect_ffile_format(
891+
req_indents, first_indent, modern, f77_line_nr = inspect_ffile_format(
890892
infile, indent_size, orig_filename)
891893
infile.seek(0)
892894

893895
if not modern:
894896
raise FprettifyParseException(
895-
"fprettify failed because of fixed format or f77 constructs.", orig_filename, 0)
897+
"fprettify failed because of fixed format or f77 constructs.", orig_filename, f77_line_nr)
896898

897899
# initialization
898900
indenter = F90Indenter(first_indent, indent_size, orig_filename)

0 commit comments

Comments
 (0)