groffstudio

Check-in [1216632299]
Login

Check-in [1216632299]

Overview
Comment:[Improved] If no error has occurred, the log file will contain a success message.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 121663229926067bd418c55c3784ee2c8a63c56324e74803f5b0e80cb9f371c2
User & Date: Cthulhux on 2022-03-16 18:10:00
Other Links: manifest | tags
Context
2024-01-10
02:17
[Improved] The default font looked gross on macOS. This should be better now. check-in: de8c52d159 user: Cthulhux tags: trunk
2022-03-16
18:10
[Improved] If no error has occurred, the log file will contain a success message. check-in: 1216632299 user: Cthulhux tags: trunk
2022-03-15
15:10
[Feature] Support for hdtbl. [Changed] Build extras and build preprocessors are now listed in a multi-select box. check-in: 931cfb6b0c user: Cthulhux tags: trunk
Changes

Modified CHANGES.txt from [734b411882] to [dd2da7c7ee].

1
2
3
4

5
6
7
8
9
10
11
Version [next]

[Feature] Support for hdtbl.
[Changed] Build extras and build preprocessors are now listed in a multi-select box.


-------------------------------

Version 0.12.0
2022-03-14

[Feature] If the installed version of troff is not detected as groff, a warning is displayed.




>







1
2
3
4
5
6
7
8
9
10
11
12
Version [next]

[Feature] Support for hdtbl.
[Changed] Build extras and build preprocessors are now listed in a multi-select box.
[Improved] If no error has occurred, the log file will contain a success message.

-------------------------------

Version 0.12.0
2022-03-14

[Feature] If the installed version of troff is not detected as groff, a warning is displayed.

Modified src/buildoutputwindow.pas from [244f78b094] to [3ba7102513].

41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
implementation

{$R *.lfm}

function TBuildStatusWindow.BuildDocument(CommandLine: String; LogFile: String): Boolean;
var
  p: TProcess;
  n: LongInt;
  str: String;
  lh: TextFile;
begin
  p := TProcess.Create(nil);
  p.Options := p.Options + [poUsePipes, poStderrToOutPut];

{$IFDEF WINDOWS}







|







41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
implementation

{$R *.lfm}

function TBuildStatusWindow.BuildDocument(CommandLine: String; LogFile: String): Boolean;
var
  p: TProcess;
  n, total: LongInt;
  str: String;
  lh: TextFile;
begin
  p := TProcess.Create(nil);
  p.Options := p.Options + [poUsePipes, poStderrToOutPut];

{$IFDEF WINDOWS}
63
64
65
66
67
68
69


70
71
72
73

74
75
76
77
78
79
80
81
82
83

84
85
86
87
88


89
90
91
92
93
94
95
96
97
98
99
100
101
  p.Parameters.Add(CommandLine);
  p.Execute;

  if LogFile <> '' then
  begin
    AssignFile(lh, LogFile);
    Rewrite(lh);



    while p.Running do
    begin
      n := p.Output.Read(str, 2048);

      if n > 0 then
      begin
        writeln(lh, str);
      end
      else Sleep(100);
    end;

    { We might have some buffer contents left. }
    repeat
      n := p.Output.Read(str, 2048);

      if n > 0 then
      begin
        writeln(lh, str);
      end;
    until n <= 0;



    CloseFile(lh);
  end;

  result := p.ExitStatus > 0;
  p.Free;

  { Close the status window: }
  Close;
end;

end.








>
>




>










>





>
>













63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
  p.Parameters.Add(CommandLine);
  p.Execute;

  if LogFile <> '' then
  begin
    AssignFile(lh, LogFile);
    Rewrite(lh);

    total := 0;

    while p.Running do
    begin
      n := p.Output.Read(str, 2048);
      total := total + n;
      if n > 0 then
      begin
        writeln(lh, str);
      end
      else Sleep(100);
    end;

    { We might have some buffer contents left. }
    repeat
      n := p.Output.Read(str, 2048);
      total := total + n;
      if n > 0 then
      begin
        writeln(lh, str);
      end;
    until n <= 0;

    if total = 0 then writeln(lh, 'No errors occurred. :-)');

    CloseFile(lh);
  end;

  result := p.ExitStatus > 0;
  p.Free;

  { Close the status window: }
  Close;
end;

end.