View Issue Details

IDProjectCategoryView StatusLast Update
0027973FPCDocumentationpublic2019-11-15 16:39
ReporterStéphane AuleryAssigned ToMichael Van Canneyt 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product VersionProduct Build 
Target VersionFixed in Version3.3.1 
Summary0027973: [patchs] Fix text overflow for compiler messages in LaTeX documentation
DescriptionThe LaTeX environment "description" can not handle so great texts. Messages compilers are cut (see Appendix C, page 132 and following).

I wrote a patch to use the package "enumitem" which can go to the line in the \item labels. Modifying the msg2inc utility ensures that the description following the item is always on the next line.

If the package "enumitem" can not be used, it is possible to change the type of list and put the messages in bold.
TagsNo tags attached.
Fixed in Revision43481
FPCOldBugId
FPCTarget3.2.0
Attached Files
  • fix_compiler_messages_doc_pdf_errore.msg.patch (3,490 bytes)
    Index: errore.msg
    ===================================================================
    --- errore.msg	(révision 30728)
    +++ errore.msg	(copie de travail)
    @@ -56,7 +56,7 @@
     % This section gives the compiler messages which are not fatal, but which
     % display useful information. The number of such messages can be
     % controlled with the various verbosity level \var{-v} switches.
    -% \begin{description}
    +% \begin{description}[style=unboxed]
     general_t_compilername=01000_T_Compiler: $1
     % When the \var{-vt} switch is used, this line tells you what compiler
     % is used.
    @@ -143,7 +143,7 @@
     % care of the lexical structure of the pascal file, i.e. it tries to find
     % reserved words, strings, etc. It also takes care of directives and
     % conditional compilation handling.
    -% \begin{description}
    +% \begin{description}[style=unboxed]
     scan_f_end_of_file=02000_F_Unexpected end of file
     % This typically happens in one of the following cases:
     % \begin{itemize}
    @@ -417,7 +417,7 @@
     % This section lists all parser messages. The parser takes care of the
     % semantics of you language, i.e. it determines if your Pascal constructs
     % are correct.
    -% \begin{description}
    +% \begin{description}[style=unboxed]
     parser_e_syntax_error=03000_E_Parser - Syntax Error
     % An error against the Turbo Pascal language was encountered. This typically
     % happens when an illegal character is found in the source file.
    @@ -1546,7 +1546,7 @@
     % \section{Type checking errors}
     % This section lists all errors that can occur when type checking is
     % performed.
    -% \begin{description}
    +% \begin{description}[style=unboxed]
     type_e_mismatch=04000_E_Type mismatch
     % This can happen in many cases:
     % \begin{itemize}
    @@ -1983,7 +1983,7 @@
     % \section{Symbol handling}
     % This section lists all the messages that concern the handling of symbols.
     % This means all things that have to do with procedure and variable names.
    -% \begin{description}
    +% \begin{description}[style=unboxed]
     sym_e_id_not_found=05000_E_Identifier not found "$1"
     % The compiler doesn't know this symbol. Usually happens when you misspell
     % the name of a variable or procedure, or when you forget to declare a
    @@ -2296,7 +2296,7 @@
     % \section{Code generator messages}
     % This section lists all messages that can be displayed if the code
     % generator encounters an error condition.
    -% \begin{description}
    +% \begin{description}[style=unboxed]
     cg_e_parasize_too_big=06009_E_Parameter list size exceeds 65535 bytes
     % The I386 processor limits the parameter list to 65535 bytes. (The \var{RET}
     % instruction causes this.)
    @@ -2816,7 +2816,7 @@
     % \section{Errors of assembling/linking stage}
     % This section lists errors that occur when the compiler is processing the
     % command line or handling the configuration files.
    -% \begin{description}
    +% \begin{description}[style=unboxed]
     exec_w_source_os_redefined=09000_W_Source operating system redefined
     % The source operating system is redefined.
     exec_i_assembling_pipe=09001_I_Assembling (pipe) $1
    @@ -2920,7 +2920,7 @@
     % \section{Executable information messages.}
     % This section lists all messages that the compiler emits when an executable program is produced,
     % and only when the internal linker is used.
    -% \begin{description}
    +% \begin{description}[style=unboxed]
     execinfo_f_cant_process_executable=09128_F_Can't post process executable $1
     % Fatal error when the compiler is unable to post-process an executable.
     execinfo_f_cant_open_executable=09129_F_Can't open executable $1
    
  • fix_compiler_messages_doc_pdf_msg2inc.pp.patch (503 bytes)
    Index: msg2inc.pp
    ===================================================================
    --- msg2inc.pp	(révision 30728)
    +++ msg2inc.pp	(copie de travail)
    @@ -705,7 +705,7 @@
                    end;
                   if s[i+k]='_' then
                    inc(i,k+1);
    -              writeln(t,'\item ['+s1+escapestring(Copy(s,i,255))+']');
    +              writeln(t,'\item ['+s1+escapestring(Copy(s,i,255))+'] \hfill \\ ');
                 end
                else
                 writeln('error in line: ',line,' skipping');
    
  • fix_compiler_messages_doc_pdf_tex_preamble.patch (647 bytes)
    Index: preamble.book
    ===================================================================
    --- preamble.book	(révision 1172)
    +++ preamble.book	(copie de travail)
    @@ -5,6 +5,9 @@
     \documentclass[a4paper]{book}
     
     %
    +\usepackage{enumitem}
    +
    +%
     \usepackage{fpc}
     
     % Use times for PDF
    Index: preamble.report
    ===================================================================
    --- preamble.report	(révision 1172)
    +++ preamble.report	(copie de travail)
    @@ -3,7 +3,9 @@
     %
     \documentclass[a4paper]{report}
     %
    +\usepackage{enumitem}
    +%
     \usepackage{fpc}
     \newcommand{\keywordlink}[1]{\typeout{Keyword link: \##1}}  
     %
    -%
    \ No newline at end of file
    +%
    

Activities

Stéphane Aulery

2015-04-26 23:30

reporter  

fix_compiler_messages_doc_pdf_errore.msg.patch (3,490 bytes)
Index: errore.msg
===================================================================
--- errore.msg	(révision 30728)
+++ errore.msg	(copie de travail)
@@ -56,7 +56,7 @@
 % This section gives the compiler messages which are not fatal, but which
 % display useful information. The number of such messages can be
 % controlled with the various verbosity level \var{-v} switches.
-% \begin{description}
+% \begin{description}[style=unboxed]
 general_t_compilername=01000_T_Compiler: $1
 % When the \var{-vt} switch is used, this line tells you what compiler
 % is used.
@@ -143,7 +143,7 @@
 % care of the lexical structure of the pascal file, i.e. it tries to find
 % reserved words, strings, etc. It also takes care of directives and
 % conditional compilation handling.
-% \begin{description}
+% \begin{description}[style=unboxed]
 scan_f_end_of_file=02000_F_Unexpected end of file
 % This typically happens in one of the following cases:
 % \begin{itemize}
@@ -417,7 +417,7 @@
 % This section lists all parser messages. The parser takes care of the
 % semantics of you language, i.e. it determines if your Pascal constructs
 % are correct.
-% \begin{description}
+% \begin{description}[style=unboxed]
 parser_e_syntax_error=03000_E_Parser - Syntax Error
 % An error against the Turbo Pascal language was encountered. This typically
 % happens when an illegal character is found in the source file.
@@ -1546,7 +1546,7 @@
 % \section{Type checking errors}
 % This section lists all errors that can occur when type checking is
 % performed.
-% \begin{description}
+% \begin{description}[style=unboxed]
 type_e_mismatch=04000_E_Type mismatch
 % This can happen in many cases:
 % \begin{itemize}
@@ -1983,7 +1983,7 @@
 % \section{Symbol handling}
 % This section lists all the messages that concern the handling of symbols.
 % This means all things that have to do with procedure and variable names.
-% \begin{description}
+% \begin{description}[style=unboxed]
 sym_e_id_not_found=05000_E_Identifier not found "$1"
 % The compiler doesn't know this symbol. Usually happens when you misspell
 % the name of a variable or procedure, or when you forget to declare a
@@ -2296,7 +2296,7 @@
 % \section{Code generator messages}
 % This section lists all messages that can be displayed if the code
 % generator encounters an error condition.
-% \begin{description}
+% \begin{description}[style=unboxed]
 cg_e_parasize_too_big=06009_E_Parameter list size exceeds 65535 bytes
 % The I386 processor limits the parameter list to 65535 bytes. (The \var{RET}
 % instruction causes this.)
@@ -2816,7 +2816,7 @@
 % \section{Errors of assembling/linking stage}
 % This section lists errors that occur when the compiler is processing the
 % command line or handling the configuration files.
-% \begin{description}
+% \begin{description}[style=unboxed]
 exec_w_source_os_redefined=09000_W_Source operating system redefined
 % The source operating system is redefined.
 exec_i_assembling_pipe=09001_I_Assembling (pipe) $1
@@ -2920,7 +2920,7 @@
 % \section{Executable information messages.}
 % This section lists all messages that the compiler emits when an executable program is produced,
 % and only when the internal linker is used.
-% \begin{description}
+% \begin{description}[style=unboxed]
 execinfo_f_cant_process_executable=09128_F_Can't post process executable $1
 % Fatal error when the compiler is unable to post-process an executable.
 execinfo_f_cant_open_executable=09129_F_Can't open executable $1

Stéphane Aulery

2015-04-26 23:30

reporter  

fix_compiler_messages_doc_pdf_msg2inc.pp.patch (503 bytes)
Index: msg2inc.pp
===================================================================
--- msg2inc.pp	(révision 30728)
+++ msg2inc.pp	(copie de travail)
@@ -705,7 +705,7 @@
                end;
               if s[i+k]='_' then
                inc(i,k+1);
-              writeln(t,'\item ['+s1+escapestring(Copy(s,i,255))+']');
+              writeln(t,'\item ['+s1+escapestring(Copy(s,i,255))+'] \hfill \\ ');
             end
            else
             writeln('error in line: ',line,' skipping');

Stéphane Aulery

2015-04-26 23:30

reporter  

fix_compiler_messages_doc_pdf_tex_preamble.patch (647 bytes)
Index: preamble.book
===================================================================
--- preamble.book	(révision 1172)
+++ preamble.book	(copie de travail)
@@ -5,6 +5,9 @@
 \documentclass[a4paper]{book}
 
 %
+\usepackage{enumitem}
+
+%
 \usepackage{fpc}
 
 % Use times for PDF
Index: preamble.report
===================================================================
--- preamble.report	(révision 1172)
+++ preamble.report	(copie de travail)
@@ -3,7 +3,9 @@
 %
 \documentclass[a4paper]{report}
 %
+\usepackage{enumitem}
+%
 \usepackage{fpc}
 \newcommand{\keywordlink}[1]{\typeout{Keyword link: \##1}}  
 %
-%
\ No newline at end of file
+%

Michael Van Canneyt

2019-11-15 16:39

administrator   ~0119323

A little late, but better late than never. I implemented a way which doesn't need changes to the messages file.

(in addition to rev. 43481 you also need rev. 1670 in docs)

Issue History

Date Modified Username Field Change
2015-04-26 23:30 Stéphane Aulery New Issue
2015-04-26 23:30 Stéphane Aulery Status new => assigned
2015-04-26 23:30 Stéphane Aulery Assigned To => Michael Van Canneyt
2015-04-26 23:30 Stéphane Aulery File Added: fix_compiler_messages_doc_pdf_errore.msg.patch
2015-04-26 23:30 Stéphane Aulery File Added: fix_compiler_messages_doc_pdf_msg2inc.pp.patch
2015-04-26 23:30 Stéphane Aulery File Added: fix_compiler_messages_doc_pdf_tex_preamble.patch
2019-11-15 16:39 Michael Van Canneyt Status assigned => resolved
2019-11-15 16:39 Michael Van Canneyt Resolution open => fixed
2019-11-15 16:39 Michael Van Canneyt Fixed in Version => 3.3.1
2019-11-15 16:39 Michael Van Canneyt Fixed in Revision => 43481
2019-11-15 16:39 Michael Van Canneyt FPCTarget => 3.2.0
2019-11-15 16:39 Michael Van Canneyt Note Added: 0119323