1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
| | * Introduction -*-compilation-*- (Copyright information at end of file)
This shows the different kinds of messages compile recognizes by default and
how they are rendered. It is intended both to help you decide which matchers
you need and as a test of the matchers. Move the mouse over a colored part or
use 'compilation-message-face', to see how much text was actually matched.
Note that the following example line should NOT be highlighted:
Compilation started at Sat Jul 8 15:19:25
The important part is the symbol(s) line at the beginning of each entry.
These are the symbols you can customize 'compilation-error-regexp-alist' for,
to match the messages shown in that entry. A few complex cases have more than
one symbol, which should be selected together.
* Absoft FORTRAN 77 Compiler 3.1.3
symbol: absoft
Error on line 3 of t.f: Execution error unclassifiable statement
Line 45 of "foo.c": bloofle undefined
error on line 19 of fplot.f: spelling error?
warning on line 17 of fplot.f: data type is undefined for variable d
* Ada & Mpatrol (memory leak debugger)
symbol: ada
This matches only the end of line, the beginning is covered by GNU style.
foo.adb:61:11: [...] in call to size declared at foo.ads:11
0x8008621 main+16 at error.c:17
* IBM AIX PS/2 C version 1.1
symbol: aix
****** Error number 140 in line 8 of file errors.c ******
* Ant Java: works at least for jikes and javac
symbol: ant
The regexps found on http://ant.apache.org/faq.html, and since
integrated in both Emacsen, were hairy. The extra two numbers for
jikes are the ending line and ending column.
[javac] /src/DataBaseTestCase.java:27: unreported exception ...
[javac] /src/DataBaseTestCase.java:49: warning: finally clause cannot complete normally
[jikes] foo.java:3:5:7:9: blah blah
[javadoc] c:\MyProject\Polynomial.java:560: error: unknown tag: math
[checkstyle] [ERROR] /src/Test.java:38: warning: foo: bar
* Bash v2
symbol: bash
a.sh: line 1: ls-l: command not found
* Borland C++, C++Builder
symbol: borland
Error ping.c 15: Unable to open include file 'sys/types.h'
Warning ping.c 68: Call to function 'func' with no prototype
Error E2010 ping.c 15: Unable to open include file 'sys/types.h'
Warning W1022 ping.c 68: Call to function 'func' with no prototype
* Caml & Python
symbol: caml
File "foobar.ml", lines 5-8, characters 20-155: blah blah
File "F:\ocaml\sorting.ml", line 65, characters 2-145:
Warning: this expression should have type unit.
File "/usr/share/gdesklets/display/TargetGauge.py", line 41, in add_children
File \lib\python\Products\PythonScripts\PythonScript.py, line 302, in _exec
File "/tmp/foo.py", line 10
* CMake
symbols: cmake cmake-info
CMake Error at CMakeLists.txt:19 (hurz):
Unknown CMake command "hurz".
CMake Warning at cmake/modules/UseUG.cmake:73 (find_package):
Could not find a package configuration file provided by "UG" (requested
version 3.11.0) with any of the following names:
UGConfig.cmake
ug-config.cmake
Add the installation prefix of "UG" to CMAKE_PREFIX_PATH or set "UG_DIR" to
a directory containing one of the above files. If "UG" provides a separate
development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
cmake/modules/DuneGridMacros.cmake:19 (include)
/home/joe/Project/EXA-DUNE/patches/dune-common/cmake/modules/DuneMacros.cmake:556 (include)
/home/joe/Project/EXA-DUNE/patches/dune-common/cmake/modules/DuneMacros.cmake:694 (dune_process_dependency_macros)
CMakeLists.txt:22 (dune_project)
-- Could NOT find UG (missing: UG_DIR HAVE_UG)
* Apollo cc, 4.3BSD fc & IBM RS6000/AIX xlc compiler & Microtec mcc68k & GNAT (July 94)
symbol: comma
"foo.f", line 3: Error: syntax error near end of statement
"vvouch.c", line 19.5: 1506-046 (S) Syntax error.
"foo.c", line 32 pos 1; (E) syntax error; unexpected symbol: "lossage"
"foo.adb", line 2(11): warning: file name does not match ...
"src/swapping.c", line 30.34: 1506-342 (W) "/*" detected in comment.
* Cucumber
symbol: cucumber
Feature: This is an example for backtrace.
Scenario: undefined step # features/cucumber.feature:3
Given this is undefined # features/cucumber.feature:4
Scenario: assertion false (Test::Unit) # foo/bar.feature:6
Given this will generate 'assert false' # foo/bar.rb:1
<false> is not true. (Test::Unit::AssertionFailedError)
/home/gusev/.rvm/foo/bar.rb:48:in `assert_block'
/home/gusev/.rvm/foo/bar.rb:500:in `_wrap_assertion'
features/cucumber.feature:7:in `Given this will generate 'assert false''
Scenario: assertion false (RSpec) # foo/bar.feature:9
Given this will generate 'should be_true' # foo/bar.rb:5
expected true to be false (Spec::Expectations::ExpectationNotMetError)
./foo/bar/baz.rb:6:in `/^this will generate 'should be_true'$/'
foo/bar.feature:10:in `Given this will generate 'should be_true''
Scenario: backtrace in step definition # foo/bar.feature:12
Given this will generate backtrace # foo/sbar.rb:9
(RuntimeError)
./foo/bar.rb:10:in `/^this will generate backtrace$/'
foo/bar.feature:13:in `Given this will generate backtrace'
Failing Scenarios:
cucumber foo/cucumber.feature:6 # Scenario: assertion false (Test::Unit)
cucumber foo/cucumber.feature:9 # Scenario: assertion false (RSpec)
cucumber foo/cucumber.feature:12 # Scenario: backtrace in step definition
cucumber foo/cucumber.feature:15 # Scenario: deeep backtrace in step definition
5 scenarios (4 failed, 1 undefined)
5 steps (4 failed, 1 undefined)
0m0.007s
* EDG C/C++
symbol: edg-1 edg-2
build/intel/debug/../../../struct.cpp(42): error: identifier "foo" is undefined
build/intel/debug/../../../struct.cpp(44): warning #1011: missing return statement at end of ...
build/intel/debug/../../../iptr.h(302): remark #981: operands are evaluated in unspecified order
detected during ... at line 62 of "build/intel/debug/../../../trace.h"
* EPC F90 compiler
symbol: epc
Error 24 at (2:progran.f90) : syntax error
* Fortran checker
symbols: ftnchek
Dummy arg W in module SUBA line 8 file arrayclash.f is array
L4 used at line 55 file test/assign.f; never set
Warning near line 10 file arrayclash.f: Module contains no executable
Nonportable usage near line 31 col 9 file assign.f: mixed default and explicit
* Gradle with kotlin-gradle-plugin
symbol: gradle-kotlin
e: /src/Test.kt: (34, 15): foo: bar
w: /src/Test.kt: (34, 15): foo: bar
* IAR Systems C Compiler
symbol: iar
"foo.c",3 Error[32]: Error message
"foo.c",3 Warning[32]: Error message
* IBM C/C++ Tools 2.01
symbol: ibm
foo.c(2:0) : informational EDC0804: Function foo is not referenced.
foo.c(3:8) : warning EDC0833: Implicit return statement encountered.
foo.c(5:5) : error EDC0350: Syntax error.
* Ultrix MIPS RISC CC, DEC AXP OSF/1 cc, IRIX 5.2 & NAG Fortran
symbol: irix
ccom: Error: foo.c, line 2: syntax error
cc: Severe: /src/Python-2.3.3/Modules/_curses_panel.c, line 17: Cannot find file <panel.h> ...
cc: Info: foo.c, line 27: ...
cfe: Warning 712: foo.c, line 2: illegal combination of pointer and ...
cfe: Warning 600: xfe.c: 170: Not in a conditional directive while ...
/usr/lib/cmplrs/cc/cfe: Error: foo.c: 1: blah blah
/usr/lib/cmplrs/cc/cfe: warning: foo.c: 1: blah blah
foo bar: baz.f, line 27: ...
* Java Exception & Valgrind (memory debugger for x86 GNU/Linux)
symbol: java
Register 6 contains wrong type
at org.foo.ComponentGateway.doGet(ComponentGateway.java:172)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
==1332== Invalid write of size 1
==1332== at 0x4040743C: System::getErrorString() (../src/Lib/System.cpp:217)
==1332== by 0x8008621: main (vtest.c:180)
* IBM jikes
symbols: jikes-file jikes-line
Jikes separates file names from the actual error messages. For visual
feedback the underline and the word "Error" on the 3rd line is fontified like
a file name would be.
Found 2 semantic errors compiling "../javax/swing/BorderFactory.java":
150. case '{':
<->
*** Error: The type of this expression, "char", is not ...
312. return new CompoundBorder(outside, inside);
<--------------------------------->
*** Error: No match was found for constructor ...
Issued 1 semantic warning compiling "java/awt/Toolkit.java":
504. void imgProduceImage( ImageNativeProducer prod, Ptr imgData);
<----------------->
*** Warning: The type "ImageNativeProducer" is defined ...
* GCC include message
symbol: gcc-include
The last file, i.e. the one you are compiling, is the interesting one.
In file included from /usr/include/c++/3.3/backward/warn.h:4,
from /usr/include/c++/3.3/backward/iostream.h:31:0,
from test_clt.cc:1:
* GNU style
symbol: gnu
foo.c:8: message
../foo.c:8: W: message
/tmp/foo.c:8:warning message
foo/bar.py:8: FutureWarning message
foo.py:8: RuntimeWarning message
foo.c:8:I: message
foo.c:8.23: note: message
foo.c:8.23: info: message
foo.c:8:23:information: message
foo.c:8.23-45: Informational: message
foo.c:8-23: message
foo.c:8-45.3: message
foo.c:8.23-9.1: message
foo.el:3:1:Error: End of file during parsing
jade:dbcommon.dsl:133:17:E: missing argument for function call
G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found.
file:G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found.
{standard input}:27041: Warning: end of file not at end of a line; newline inserted
boost/container/detail/flat_tree.hpp:589:25: [ skipping 5 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
* Guile backtrace, 2.0.11
symbols: guile-file, guile-line
Backtrace:
In ice-9/boot-9.scm:
157: 6 [catch #t #<catch-closure 196e3e0> ...]
In unknown file:
?: 5 [apply-smob/1 #<catch-closure 196e3e0>]
In ice-9/boot-9.scm:
63: 4 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
432: 3 [eval # #]
In unknown file:
?: 2 [eval (main (command-line)) #<directory (gud-break) 1962510>]
In /home/janneke/vc/guile/examples/gud-break.scm:
1038: 1 [main ("gud-break.scm")]
1033: 0 [stderr "~a:hello world\n" (# # #)]
* Lucid Compiler, lcc 3.x
symbol: lcc
E, file.cc(35,52) Illegal operation on pointers
W, file.cc(36,52) blah blah
* makepp 1.20
symbol: makepp
makepp: Scanning `/foo/bar.c'
makepp: warning: bla bla `/foo/bar.c' and `/foo/bar.h'
makepp: bla bla `/foo/Makeppfile:12' bla
makepp: bla bla `/foo/bar.c' and `/foo/bar.h'
* maven 2.0.9
symbol: maven
FooBar.java:[111,53] no interface expected here
[ERROR] /Users/cinsk/hello.java:[651,96] ';' expected
[WARNING] /foo/bar/Test.java:[27,43] unchecked conversion
* MIPS lint; looks good for SunPro lint also
symbols: mips-1 mips-2
This can match multiple times on a line.
TrimMask (255) in solomon.c may be indistinguishable from TrimMasks (93) in solomon.c due to truncation
name defined but never used: LinInt in cmap_calc.c(199)
* Microsoft C/C++
symbol: msft
This used to be less selective and allowed characters other than parens around
the line number, but that caused confusion for GNU-style error messages. This
used to reject spaces and dashes in file names, but they are valid now; so I
made it more strict about the error message that follows.
keyboard handler.c(537) : warning C4005: 'min' : macro redefinition
d:\tmp\test.c(23) : error C2143: syntax error : missing ';' before 'if'
d:\tmp\test.c(1145) : see declaration of 'nsRefPtr'
1>test_main.cpp(29): error C2144: syntax error : 'int' should be preceded by ';'
1>test_main.cpp(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.46
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
* Open Watcom
symbol: watcom
..\src\ctrl\lister.c(109): Error! E1009: Expecting ';' but found '{'
..\src\ctrl\lister.c(120): Warning! W201: Unreachable code
* OMake
symbol: omake
When using in -p or -P mode, OMake will detect changes to files and
report critical build errors indented by 6 spaces.
*** omake: file alpha.c changed
*** omake: targets were not rebuilt because of errors:
alpha.o
depends on: alpha.c
- build . alpha.o
+ cc -I. -c -o alpha.o alpha.c
alpha.c:5:15: error: expected ';' after expression
* Oracle pro*c
symbol: oracle
This stupid precompiler wraps lines at column 80 in the middle of a file name.
There is no obvious way of detecting this or turning it off. But if you
delete the newline (probably needs M-x toggle-read-only), the file name will
automatically be reparsed, so that you can then go there.
Semantic error at line 528, column 5, file erosacqdb.pc:
Error at line 41, column 10 in file /usr/src/sb/ODBI_BHP.hpp
PCC-02150: error at line 49, column 27 in file /usr/src/sb/ODBI_dxfgh.pc
PCC-00003: invalid SQL Identifier at column name in line 12 of file /usr/src/sb/ODBI_BHP.hpp
PCC-00004: mismatched IF/ELSE/ENDIF block at line 27 in file /usr/src/sb/ODBI_BHP.hpp
PCC-02151: line 21 column 40 file /usr/src/sb/ODBI_BHP.hpp:
* Perl
symbol: perl
The second sample, from the Perl-Glib module, is a Glib message put
through Perl warn() to get "at FILENAME line N".
syntax error at automake line 922, near "':'"
Died at test.pl line 27.
store::odrecall('File_A', 'x2') called at store.pm line 90
(in cleanup) something bad at foo.pl line 3 during global destruction.
GLib-GObject-WARNING **: /build/buildd/glib2.0-2.14.5/gobject/gsignal.c:1741: instance `0x8206790' has no handler with id `1234' at t-compilation-perl-gtk.pl line 3.
* PHP
symbol: php
Parse error: parse error, unexpected $ in main.php on line 59
Fatal error: Call to undefined function: mysql_pconnect() in db.inc on line 66
* Ruby
symbol: ruby
plain-exception.rb:7:in `fun': unhandled exception
from plain-exception.rb:3:in `proxy'
from plain-exception.rb:12
* Ruby (Test::Unit)
symbol: ruby-Test::Unit
Loaded suite examples/test-unit
Started
FFFE
Finished in 0.023173 seconds.
1) Failure:
test_a_deep_assert(BacktracesTest)
[examples/test-unit.rb:28:in `here_is_a_deep_assert'
examples/test-unit.rb:19:in `test_a_deep_assert']:
<false> is not true.
2) Failure:
test_assert(BacktracesTest) [examples/test-unit.rb:5]:
<false> is not true.
3) Failure:
test_assert_raise(BacktracesTest) [examples/test-unit.rb:9]:
Exception raised:
Class: <RuntimeError>
Message: <"">
---Backtrace---
examples/test-unit.rb:10:in `test_assert_raise'
examples/test-unit.rb:9:in `test_assert_raise'
---------------
4) Error:
test_backtrace(BacktracesTest):
NoMethodError: undefined method `not_exists' for nil:NilClass
examples/test-unit.rb:24:in `some_function_call_from_nil'
examples/test-unit.rb:15:in `test_backtrace'
4 tests, 3 assertions, 3 failures, 1 errors
* RXP
symbol: rxp
GPL XML validator at http://www.cogsci.ed.ac.uk/~richard/rxp.html
Error: Mismatched end tag: expected </geroup>, got </group>
in unnamed entity at line 71 char 8 of file:///home/reto/test/group.xml
Warning: Start tag for undeclared element geroup
in unnamed entity at line 4 char 8 of file:///home/reto/test/group.xml
* Sparc Pascal
symbols: sparc-pascal-file sparc-pascal-line sparc-pascal-example
These messages don't contain a file name. Instead the compiler gives a
message whenever the file being compiled is changed. For visual feedback the
error code is fontified like a file name would be.
Thu May 14 10:46:12 1992 mom3.p:
20 linjer : array[1..4] of linje;
w 18480-----------^--- Inserted ';'
20 linjer : array[1..4] of linje;
e 18480-----------^--- Inserted ';'
w 18520 line 61 - 0 is undefined
E 18520 line 61 - 0 is undefined
* SGI IRIX MipsPro 7.3 & Sun F90 & Cray C
symbol: sun
cc-1020 CC: REMARK File = CUI_App.h, Line = 735
cc-1070 cc: WARNING File = linkl.c, Line = 38
cf90-113 f90comp: ERROR NSE, File = Hoved.f90, Line = 16, Column = 3
* Sun Ada (VADS, Solaris)
symbol: sun-ada
/home3/xdhar/rcds_rc/main.a, line 361, char 6:syntax error: "," inserted
* 4.3BSD grep, cc, lint
symbol: 4bsd
/usr/src/foo/foo.c(8): warning: w may be used before set
/usr/src/foo/foo.c(9): error: w is used before set
strcmp: variable # of args. llib-lc(359) :: /usr/src/foo/foo.c(8)
bloofle defined( /users/wolfgang/foo.c(4) ), but never used
* GCOV (test coverage program)
symbol: gcov-file gcov-bb-file gcov-never-called-line gcov-called-line
-: 0:Source:foo.c
-: 0:Object:foo.bb
-: 1:/* $ gcc -fprofile-arcs -ftest-coverage foo.c
-: 2: $ ./a.out
-: 3: $ gcov foo.c
-: 4: LANG=C gcov foo.c
-: 5: 62.50% of 8 lines executed in file foo.c
-: 6: Creating foo.c.gcov.*/
-: 7:int
-: 8:main(int argc, char ** argv)
1: 9:{
1: 10: int r;
1: 11: if (argc == 1)
1: 12: r = 1;
#####: 13: else if (argc == 2)
#####: 14: r = 2;
-: 15: else
#####: 16: r = 0;
1: 17: return r;
-: 18:}
* Podchecker error messages, per Pod::Checker
symbol: perl--Pod::Checker
*** ERROR: Spurious text after =cut at line 193 in file foo.pm
*** ERROR: =over on line 37 without closing =back at line EOF in file bar.pm
*** ERROR: =over on line 1 without closing =back (at head1) at line 3 in file x.pod
* Perl Test module error messages
symbol: perl--Test
# Failed test 1 in foo.t at line 6
* Perl Test.pm module error messages comparing two values
symbol: perl--Test2
# Test 3 got: "99" (d-compilation-perl.t at line 29)
# Expected: "88" (my test name)
# d-compilation-perl.t line 29 is: ok(99,88,'my test name');
# Test 6 got: "xx" (foo.t at line 33 fail #2)
# Expected: "yy"
* Perl Test::Harness output
symbol: perl--Test::Harness
NOK 1# Test 1 got: "1234" (t/foo.t at line 46)
* Perl HTML::Lint::Error::as_string()
symbol: weblint
index.html (13:1) Unknown element <fdjsk>
* Directory tracking
Directories are matched via 'compilation-directory-matcher'. Files which are
not shown as full paths are searched for relative to the directory where the
message was issued.
Entering directory `/a/b/c'
Leaving directory `/a/b/c'
make[2]: Entering directory '/a/b/c'
make[2]: Leaving directory '/a/b/c'
makepp: Leaving directory `/a/b/c'
* Miscellaneous
These are not messages that can be gone to. They are only highlighted via
`compilation-mode-font-lock-keywords' to recognize some useful information at
a glance.
checking dynamic linker characteristics... GNU/Linux ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether -lc should be explicitly linked in... (cached) no
checking For GLIB - version >= 2.0.0... yes (version 2.1.0)
checking FONTCONFIG_CFLAGS...
tool -o foo.o foo.c
tool -o=foo.o foo.c
tool -output foo.o foo.c
tool -output=foo.o foo.c
tool -outfile foo.o foo.c
tool -outfile=foo.o foo.c
tool --output foo.o foo.c
tool --output=foo.o foo.c
tool --outfile foo.o foo.c
tool --outfile=foo.o foo.c
tool -omega foo.c foo2.c
tool -output-html-file foo.c foo2.c
tool --omega foo.c foo2.c
tool --output-html-file foo.c foo2.c
Compilation started at Wed Jul 20 12:20:10
Compilation interrupt at Wed Jul 20 12:20:10
Compilation killed at Wed Jul 20 12:20:10
Compilation terminated at Wed Jul 20 12:20:10
Compilation exited abnormally with code 1 at Wed Jul 20 12:21:12
Compilation segmentation fault at Thu Jul 13 10:55:49
Compilation finished at Thu Jul 21 15:02:15
\f
Copyright (C) 2004-2020 Free Software Foundation, Inc.
COPYING PERMISSIONS:
This document is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
|