# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2021-11-07 12:11+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: settitle #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:6 #, no-wrap msgid "GNU Flymake @value{VERSION}" msgstr "" #. type: include #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:7 #, no-wrap msgid "docstyle.texi" msgstr "" #. type: copying #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:15 msgid "This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED})." msgstr "" #. type: copying #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:17 msgid "Copyright @copyright{} 2004--2021 Free Software Foundation, Inc." msgstr "" #. type: quotation #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:25 msgid "" "Permission is granted to copy, distribute and/or modify this document under " "the terms of the GNU Free Documentation License, Version 1.3 or any later " "version published by the Free Software Foundation; with no Invariant " "Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the " "Back-Cover Texts as in (a) below. A copy of the license is included in the " "section entitled ``GNU Free Documentation License''." msgstr "" #. type: quotation #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:28 msgid "" "(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and modify " "this GNU manual.''" msgstr "" #. type: dircategory #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:31 #, no-wrap msgid "Emacs misc features" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:34 msgid "Flymake: (flymake)" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:34 msgid "A universal on-the-fly syntax checker." msgstr "" #. type: top #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:37 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/flymake.texi:50 #, no-wrap msgid "GNU Flymake" msgstr "" #. type: subtitle #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:38 #, no-wrap msgid "for version @value{VERSION}, @value{UPDATED}" msgstr "" #. type: author #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:39 #, no-wrap msgid "João Távora and Pavel Kobiakov(@email{pk_at_work@@yahoo.com})." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:49 #, no-wrap msgid "Top" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:59 msgid "" "Flymake is a universal on-the-fly syntax checker for Emacs. When enabled, " "Flymake contacts one or more source @dfn{backends} to collect information " "about problems in the buffer, called @dfn{diagnostics}, and visually " "annotates them with a special face. The mode line displays overall status " "including totals for different types of diagnostics." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:61 msgid "To learn about using Flymake, @pxref{Using Flymake}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:64 msgid "" "Flymake is designed to be easily extended to support new backends via an " "Elisp interface. @xref{Extending Flymake}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:68 msgid "" "Historically, Flymake used to accept diagnostics from a single backend. " "Although obsolete, it is still functional. To learn how to use and " "customize it, @pxref{The legacy Proc backend}." msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:79 msgid "Using Flymake::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:79 msgid "Extending Flymake::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:79 msgid "The legacy Proc backend::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:79 msgid "GNU Free Documentation License::" msgstr "" #. type: unnumbered #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:79 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/flymake.texi:1275 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1276 #, no-wrap msgid "Index" msgstr "" #. type: chapter #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:81 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/flymake.texi:82 #, no-wrap msgid "Using Flymake" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:83 #, no-wrap msgid "overview of flymake" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:84 #, no-wrap msgid "using flymake" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:90 msgid "" "Flymake is only useful if at least one @dfn{backend} is configured to " "provide the buffer-checking service. This is done via the hook " "@code{flymake-diagnostic-functions}. @xref{Hooks,Hooks,, emacs, The Emacs " "Editor}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:95 msgid "" "It's possible that some major modes or a third-party package has already " "setup this hook for you, by adding @dfn{backend functions} to " "@code{flymake-diagnostic-functions}. If you know Elisp you may also write " "your own Flymake backend functions. @xref{Backend functions}." msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:102 msgid "Starting Flymake::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:102 msgid "Finding diagnostics::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:102 msgid "Mode line status::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:102 msgid "Troubleshooting::" msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:102 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:259 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:260 #, no-wrap msgid "Customizable variables" msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:104 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:105 #, no-wrap msgid "Starting Flymake" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:106 #, no-wrap msgid "starting Flymake" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:112 msgid "" "To use Flymake, activate the minor-mode @code{flymake-mode}. Use the " "command @kbd{flymake-mode} to toggle it on and off. The mode line should " "indicate its presence via an indicator (@pxref{Mode line status})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:114 msgid "Syntax checks happen ``on-the-fly''. Each check is started whenever:" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:119 msgid "" "@code{flymake-mode} is started, unless @code{flymake-start-on-flymake-mode} " "is nil;" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:123 msgid "the buffer is saved, unless @code{flymake-start-on-save-buffer} is nil;" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:127 msgid "" "some changes were made to the buffer more than @code{0.5} seconds ago (the " "delay is configurable in @code{flymake-no-changes-timeout})." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:130 msgid "When the user invokes the command @code{flymake-start}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:135 msgid "" "If the check detected errors or warnings, the respective buffer regions are " "highlighted. @xref{Finding diagnostics}, for how to learn what the problems " "are." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:136 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:137 #, no-wrap msgid "Finding diagnostics" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:139 #, no-wrap msgid "read diagnostic message" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:144 msgid "" "If Flymake has highlighted the buffer, you may hover the mouse on the " "highlighted regions to learn what the specific problem is. Alternatively, " "place point on the highlighted regions and use the commands @code{eldoc} or " "@code{display-local-help}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:145 #, no-wrap msgid "next and previous diagnostic" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:151 msgid "" "If the diagnostics are outside the visible region of the buffer, " "@code{flymake-goto-next-error} and @code{flymake-goto-prev-error} are let " "you navigate to the next/previous erroneous regions, respectively. It might " "be a good idea to map them to @kbd{M-n} and @kbd{M-p} in " "@code{flymake-mode}, by adding to your init file:" msgstr "" #. type: lisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:155 #, no-wrap msgid "" "(define-key flymake-mode-map (kbd \"M-n\") 'flymake-goto-next-error)\n" "(define-key flymake-mode-map (kbd \"M-p\") 'flymake-goto-prev-error)\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:157 #, no-wrap msgid "listing diagnostics" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:166 msgid "" "Sometimes it is useful to have a detailed overview of the diagnostics in " "your files without having to jump to each one. The commands " "@code{flymake-show-buffer-diagnostics} and " "@code{flymake-show-project-diagnostics} are designed to handle this " "situation. When invoked, they bring up a separate buffer containing a " "detailed structured listing of multiple diagnostics in the current buffer or " "for the current project, respectively (@pxref{Projects,,, emacs, The Emacs " "Editor})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:172 msgid "" "The listings is continuously updated as you edit source code, adding or " "removing lines as you make or correct mistakes. Each line of this listing " "includes the type of the diagnostic, its line and column in the file, as " "well as the diagnostic message. You may sort the listing by each of these " "columns." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:173 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:174 #, no-wrap msgid "Mode line status" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:175 #, no-wrap msgid "flymake mode line" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:176 #, no-wrap msgid "syntax check status" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:182 msgid "" "When enabled, Flymake displays its status in the mode line, which provides a " "visual summary of diagnostic collection. It may also hint at certain " "exceptional situations encountered when communicating with backends." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:184 msgid "The following statuses are defined:" msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:186 #, no-wrap msgid "[@var{nerrors} @var{nwarnings} ...]" msgstr "" #. type: multitable #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:191 msgid "" "Normal operation. @var{nerrors} and @var{nwarnings} are, respectively, the " "total number of errors and warnings found during the last buffer check, for " "all backends. They may be followed by other totals for other types of " "diagnostics (@pxref{Flymake error types})." msgstr "" #. type: code{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:192 #, no-wrap msgid "Wait" msgstr "" #. type: multitable #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:196 msgid "" "Some Flymake backends haven't reported since the last time they where " "questioned. It is reasonable to assume that this is a temporary delay and " "Flymake will resume normal operation soon." msgstr "" #. type: code{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:197 #, no-wrap msgid "!" msgstr "" #. type: multitable #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:201 msgid "" "All the configured Flymake backends have disabled themselves: Flymake cannot " "annotate the buffer and action from the user is needed to investigate and " "remedy the situation (@pxref{Troubleshooting})." msgstr "" #. type: code{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:202 #, no-wrap msgid "?" msgstr "" #. type: multitable #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:206 msgid "" "There are no applicable Flymake backends for this buffer, thus Flymake " "cannot annotate it. To fix this, a user may look to extending Flymake and " "add a new backend (@pxref{Extending Flymake})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:213 msgid "" "If you would like to customize the appearance of the mode-line, you can use " "the variables @code{flymake-mode-line-format} and " "@code{flymake-mode-line-counter-format} for that purpose. " "@xref{Customizable variables}." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:214 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:215 #, no-wrap msgid "Troubleshooting" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:216 #, no-wrap msgid "troubleshooting" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:217 #, no-wrap msgid "backend exceptions" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:219 #, no-wrap msgid "disabled backends" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:220 #, no-wrap msgid "backends, disabled" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:227 msgid "" "As Flymake supports multiple simutaneously active external backends, is " "becomes useful to monitor their status. For example, some backends may take " "longer than others to respond or complete, and some may decide to " "@emph{disable} themselves if they are not suitable for the current buffer or " "encounter some unavoidable problem. A disabled backend is not tried again " "for future checks of the current buffer." msgstr "" #. type: findex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:228 #, no-wrap msgid "flymake-reporting-backends" msgstr "" #. type: findex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:229 #, no-wrap msgid "flymake-running-backends" msgstr "" #. type: findex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:230 #, no-wrap msgid "flymake-disabled-backends" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:234 msgid "" "The commands @code{flymake-reporting-backends}, " "@code{flymake-running-backends} and @code{flymake-disabled-backends} show " "the backends currently used and those which are disabled." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:235 #, no-wrap msgid "reset disabled backends" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:243 msgid "" "Sometimes, re-starting a backend that disabled itself is useful after some " "external roadblock has been removed (for example after the user installed a " "needed syntax-check program). Invoking @code{flymake-start} with a prefix " "argument is a way to reset the disabled backend list, so that they will be " "tried again in the next check. Manually toggling @code{flymake-mode} off " "and on again also works." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:244 #, no-wrap msgid "logging" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:245 #, no-wrap msgid "flymake logging" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:253 msgid "" "Flymake uses a simple logging facility for indicating important points in " "the control flow. The logging facility sends logging messages to the " "@file{*Flymake log*} buffer. The logged information can be used for " "resolving various problems related to Flymake. For convenience, a shortcut " "to this buffer can be found in Flymake's menu, accessible from the top menu " "bar or just left of the status indicator. The command " "@code{flymake-switch-to-log-buffer} is another alternative." msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:254 #, no-wrap msgid "warning-minimum-log-level" msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:255 #, no-wrap msgid "warning-minimum-level" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:258 msgid "" "Logging output is controlled by the Emacs @code{warning-minimum-log-level} " "and @code{warning-minimum-level} variables." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:261 #, no-wrap msgid "customizable variables" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:262 #, no-wrap msgid "variables for customizing flymake" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:266 msgid "" "This section summarizes customization variables used for the configuration " "of the Flymake user interface." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:268 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:853 msgid "@vtable @code" msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:268 #, no-wrap msgid "flymake-mode-line-format" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:270 msgid "Format to use for the Flymake mode line indicator." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:271 #, no-wrap msgid "flymake-mode-line-counter-format" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:274 msgid "" "mode line construct for formatting Flymake diagnostic counters inside the " "Flymake mode line indicator." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:275 #, no-wrap msgid "flymake-no-changes-timeout" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:279 msgid "" "If any changes are made to the buffer, syntax check is automatically started " "after this many seconds, unless the user makes another change, which resets " "the timer." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:280 #, no-wrap msgid "flymake-start-on-flymake-mode" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:283 msgid "" "A boolean flag indicating whether to start syntax check immediately after " "enabling @code{flymake-mode}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:284 #, no-wrap msgid "flymake-start-on-save-buffer" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:287 msgid "" "A boolean flag indicating whether to start syntax check after saving the " "buffer." msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:288 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:412 #, no-wrap msgid "flymake-error" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:291 msgid "A custom face for highlighting regions for which an error has been reported." msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:292 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:413 #, no-wrap msgid "flymake-warning" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:295 msgid "" "A custom face for highlighting regions for which a warning has been " "reported." msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:296 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:414 #, no-wrap msgid "flymake-note" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:299 msgid "A custom face for highlighting regions for which a note has been reported." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:300 #, no-wrap msgid "flymake-error-bitmap" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:303 msgid "" "A bitmap used in the fringe to mark lines for which an error has been " "reported." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:304 #, no-wrap msgid "flymake-warning-bitmap" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:307 msgid "" "A bitmap used in the fringe to mark lines for which a warning has been " "reported." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:308 #, no-wrap msgid "flymake-fringe-indicator-position" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:310 msgid "Which fringe (if any) should show the warning/error bitmaps." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:311 #, no-wrap msgid "flymake-wrap-around" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:314 msgid "" "If non-nil, moving to errors with @code{flymake-goto-next-error} and " "@code{flymake-goto-prev-error} wraps around buffer boundaries." msgstr "" #. type: chapter #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:316 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:317 #, no-wrap msgid "Extending Flymake" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:318 #, no-wrap msgid "extending flymake" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:321 msgid "Flymake can primarily be extended in one of two ways:" msgstr "" #. type: enumerate #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:326 msgid "" "By changing the look and feel of the annotations produced by the different " "backends. @xref{Flymake error types}." msgstr "" #. type: enumerate #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:329 msgid "By adding a new buffer-checking backend. @xref{Backend functions}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:332 msgid "The following sections discuss each approach in detail." msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:336 msgid "Flymake error types::" msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:336 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:481 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:482 #, no-wrap msgid "Backend functions" msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:338 #, no-wrap msgid "Flymake error types" msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:339 #, no-wrap msgid "Customizing Flymake error types" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:340 #, no-wrap msgid "customizing error types" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:341 #, no-wrap msgid "error types, customization" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:345 msgid "" "To customize the appearance of error types, the user must set properties on " "the symbols associated with each diagnostic type." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:349 msgid "" "The three standard diagnostic keyowrd symbols -- @code{:error}, " "@code{:warning} and @code{:note} -- have pre-configured appearances. " "However a backend may define more (@pxref{Backend functions})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:351 msgid "The following properties can be set:" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:355 #, no-wrap msgid "bitmap of diagnostic" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:361 msgid "" "@code{flymake-bitmap}, an image displayed in the fringe according to " "@code{flymake-fringe-indicator-position}. The value actually follows the " "syntax of @code{flymake-error-bitmap} (@pxref{Customizable variables}). It " "is overridden by any @code{before-string} overlay property." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:369 msgid "" "@code{flymake-overlay-control}, an alist ((@var{OVPROP} . @var{VALUE}) " "@var{...}) of further properties used to affect the appearance of Flymake " "annotations. With the exception of @code{category} and @code{evaporate}, " "these properties are applied directly to the created overlay (@pxref{Overlay " "Properties,,, elisp, The Emacs Lisp Reference Manual})." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:372 msgid "" "As an example, here's how to make diagnostics of the type @code{:note} stand " "out more prominently:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:375 #, no-wrap msgid "(push '(face . highlight) (get :note 'flymake-overlay-control))\n" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:380 msgid "" "If you push another alist entry in front, it overrides the previous one. So " "this effectively removes the face from @code{:note} diagnostics:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:383 #, no-wrap msgid "(push '(face . nil) (get :note 'flymake-overlay-control))\n" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:387 msgid "" "To restore the original look for @code{:note} types, empty or remove its " "@code{flymake-overlay-control} property:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:390 #, no-wrap msgid "(put :note 'flymake-overlay-control '())\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:393 #, no-wrap msgid "severity of diagnostic" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:399 msgid "" "@code{flymake-severity} is a non-negative integer specifying the " "diagnostic's severity. The higher the value, the more serious is the " "error. If the overlay property @code{priority} is not specified in " "@code{flymake-overlay-control}, @code{flymake-severity} is used to set it " "and help sort overlapping overlays." msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:401 #, no-wrap msgid "flymake-type-name" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:404 msgid "" "@code{flymake-type-name} is a string used to succinctly name the error type, " "in case the name of the symbol associated with it is very long." msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:406 #, no-wrap msgid "flymake-category" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:409 msgid "" "@code{flymake-category} is a symbol whose property list is considered the " "default for missing values of any other properties." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:411 #, no-wrap msgid "predefined diagnostic types" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:420 msgid "" "Three default diagnostic types are predefined: @code{:error}, " "@code{:warning}, and @code{:note}. By default, each one of them has a " "@code{flymake-category} property whose value is, respectively, the category " "symbol @code{flymake-error}, @code{flymake-warning} and @code{flymake-note}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:425 msgid "" "These category symbols' plist is where the values of customizable variables " "and faces (such as @code{flymake-error-bitmap}) are found. Thus, if you " "change their plists, Flymake may stop honoring these user customizations." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:430 msgid "" "The @code{flymake-category} special property is especially useful for " "backends which create diagnostics objects with non-default types that differ " "from an existing type by only a few properties (@pxref{Flymake utility " "functions})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:434 msgid "" "As an example, consider configuring a new diagnostic type " "@code{:low-priority-note} that behaves much like @code{:note}, but without " "an overlay face." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:438 #, no-wrap msgid "" "(put :low-priority-note 'flymake-overlay-control '((face . nil)))\n" "(put :low-priority-note 'flymake-category 'flymake-note)\n" msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:440 #, no-wrap msgid "flymake-diagnostics" msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:441 #, no-wrap msgid "flymake-diagnostic-backend" msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:442 #, no-wrap msgid "flymake-diagnostic-buffer" msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:443 #, no-wrap msgid "flymake-diagnostic-text" msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:444 #, no-wrap msgid "flymake-diagnostic-beg" msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:445 #, no-wrap msgid "flymake-diagnostic-end" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:452 msgid "" "As you might have guessed, Flymake's annotations are implemented as overlays " "(@pxref{Overlays,,, elisp, The Emacs Lisp Reference Manual}). Along with " "the properties that you specify for the specific type of diagnostic, Flymake " "adds the property @code{flymake-diagnostic} to these overlays, and sets it " "to the object that the backend created with @code{flymake-make-diagnostic}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:459 msgid "" "Since overlays also support arbitrary keymaps, you can use this along with " "the functions @code{flymake-diagnostics} and @code{flymake-diagnostic-text} " "(@pxref{Flymake utility functions}) to create interactive annotations, such " "as in the following example of binding a @code{mouse-3} event (middle mouse " "button click) to an Internet search for the text of a @code{:warning} or " "@code{:error}." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:471 #, no-wrap msgid "" "(defun my-search-for-message (event)\n" " (interactive \"e\")\n" " (let* ((diags (flymake-diagnostics (posn-point (event-start event))))\n" " (topmost-diag (car diags)))\n" " (eww-browse-url\n" " (concat\n" " \"https://duckduckgo.com/?q=\"\n" " (replace-regexp-in-string\n" " \" \" \"+\" (flymake-diagnostic-text topmost-diag)))\n" " t)))\n" "\n" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:479 #, no-wrap msgid "" "(dolist (type '(:warning :error))\n" " (push '(mouse-face . highlight) (get type 'flymake-overlay-control))\n" " (push `(keymap . ,(let ((map (make-sparse-keymap)))\n" " (define-key map [mouse-2]\n" " 'my-search-for-message)\n" " map))\n" " (get type 'flymake-overlay-control)))\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:483 #, no-wrap msgid "backend functions" msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:485 #, no-wrap msgid "flymake-diagnostic-functions" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:488 msgid "" "Flymake backends are Lisp functions placed in the special hook " "@code{flymake-diagnostic-functions}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:496 msgid "" "A backend's responsibility is to diagnose the contents of a buffer for " "problems, registering the problem's positions, type, and summary " "description. This information is collected in the form of diagnostic " "objects created by the function @code{flymake-make-diagnostic} " "(@pxref{Flymake utility functions}), and then handed over to Flymake, which " "proceeds to annotate the buffer." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:503 msgid "" "A request for a buffer check, and the subsequent delivery of diagnostics, " "are two key events of the interaction between Flymake and backend. Each " "such event corresponds to a well-defined function calling convention: one " "for calls made by Flymake into the backend via the backend function, the " "other in the reverse direction via a callback. To be usable, backends must " "adhere to both." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:509 msgid "" "The first argument passed to a backend function is always @var{report-fn}, a " "callback function detailed below. Beyond it, functions must be prepared to " "accept (and possibly ignore) an arbitrary number of keyword-value pairs of " "the form @w{@code{(@var{:key} @var{value} @var{:key2} @var{value2}...)}}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:512 msgid "" "Currently, Flymake may pass the following keywords and values to the backend " "function:" msgstr "" #. type: code{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:515 #, no-wrap msgid ":recent-changes" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:522 msgid "" "The value is a list recent changes since the last time the backend function " "was called for the buffer. If the list is empty, this indicates that no " "changes have been recorded. If it is the first time that this backend " "function is called for this activation of @code{flymake-mode}, then this " "argument isn't provided at all (i.e. it's not merely nil)." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:527 msgid "" "Each element is in the form (@var{beg} @var{end} @var{text}) where @var{beg} " "and @var{end} are buffer positions, and @var{text} is a string containing " "the text contained between those positions (if any), after the change was " "performed." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:528 #, no-wrap msgid "@code{:changes-start} and @code{:changes-end}" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:532 msgid "" "The value is, respectively, the minimum and maximum buffer positions touched " "by the recent changes. These are provided for convenience and only if " "@code{:recent-changes} is also provided." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:543 msgid "" "Whenever Flymake or the user decide to re-check the buffer, backend " "functions are called as detailed above, and are expected to initiate this " "check, but aren't in any way required to complete it before exiting: if the " "computation involved is expensive, as is often the case with large buffers, " "that slower task should be scheduled for the future using asynchronous " "sub-processes (@pxref{Asynchronous Processes,,, elisp, The Emacs Lisp " "reference manual}) or other asynchronous mechanisms." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:547 msgid "" "In any case, backend functions are expected to return quickly or signal an " "error, in which case the backend is disabled (@pxref{Troubleshooting})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:555 msgid "" "If the function returns, Flymake considers the backend to be @dfn{running}. " "If it has not done so already, the backend is expected to call the function " "@var{report-fn} passed to it, at which point Flymake considers the backend " "to be @dfn{reporting}. Backends call @var{report-fn} by passing it a single " "argument @var{report-action} followed by an optional list of keyword-value " "pairs of the form @w{@code{(@var{:report-key} @var{value} @var{:report-key2} " "@var{value2}...)}}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:557 msgid "Currently accepted values for @var{report-action} are:" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:563 msgid "" "A (possibly empty) list of diagnostic objects created by " "@code{flymake-make-diagnostic}, causing Flymake to annotate the buffer with " "this information." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:571 msgid "" "A backend may call @var{report-fn} repeatedly in this manner, but only until " "Flymake considers that the most recently requested buffer check is now " "obsolete, because, say, buffer contents have changed in the meantime. The " "backend is only given notice of this via a renewed call to the backend " "function. Thus, to prevent making obsolete reports and wasting resources, " "backend functions should first cancel any ongoing processing from previous " "calls." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:575 msgid "" "The symbol @code{:panic}, signaling that the backend has encountered an " "exceptional situation and should be disabled." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:578 msgid "Currently accepted @var{report-key} arguments are:" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:583 msgid "" "@code{:explanation}, whose value should give user-readable details of the " "situation encountered, if any." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:588 msgid "" "@code{:force}, whose value should be a boolean suggesting that Flymake " "consider the report even if it was somehow unexpected." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:593 msgid "" "@code{:region}, a cons (@var{beg} . @var{end}) of buffer positions " "indicating that the report applies to that region and that previous reports " "targeting other parts of the buffer remain valid." msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:599 msgid "Flymake utility functions::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:599 msgid "Foreign and list-only diagnostics::" msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:599 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:720 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:721 #, no-wrap msgid "An annotated example backend" msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:601 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:602 #, no-wrap msgid "Flymake utility functions" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:603 #, no-wrap msgid "utility functions" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:605 #, no-wrap msgid "create diagnostic object" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:608 msgid "" "Before delivering them to Flymake, backends create diagnostic objects by " "calling the function @code{flymake-make-diagnostic}." msgstr "" #. type: deffn #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:609 #, no-wrap msgid "Function flymake-make-diagnostic locus beg end type text &optional data" msgstr "" #. type: deffn #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:621 msgid "" "Make a Flymake diagnostic for the region of text in @var{locus}'s delimited " "by @var{beg} and @var{end}. @var{type} is a diagnostic symbol " "(@pxref{Flymake error types}), and @var{text} is a description of the " "problem detected in this region. Most commonly @var{locus} is the buffer " "object designating for the current buffer being syntax-checked. However, it " "may be a string nameing a file relative to the current working directory. " "@xref{Foreign and list-only diagnostics}, for when this may be useful. " "Depending on the type of @var{locus}, @var{beg} and @var{end} are both " "either buffer positions or conses (@var{line} . @var{col}) which specify the " "line and column of the diagnostic's start and end positions, respectively." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:623 #, no-wrap msgid "access diagnostic object" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:629 msgid "" "These objects' properties can be accessed with the functions " "@code{flymake-diagnostic-backend}, @code{flymake-diagnostic-buffer}, " "@code{flymake-diagnostic-text}, @code{flymake-diagnostic-beg}, " "@code{flymake-diagnostic-end}, @code{flymake-diagnostic-type} and " "@code{flymake-diagnostic-data}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:632 msgid "" "Additionally, the function @code{flymake-diagnostics} will collect such " "objects in the region you specify." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:633 #, no-wrap msgid "collect diagnostic objects" msgstr "" #. type: deffn #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:634 #, no-wrap msgid "Function flymake-diagnostics beg end" msgstr "" #. type: deffn #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:640 msgid "" "Get a list of Flymake diagnostics in the region determined by @var{beg} and " "@var{end}. If neither @var{beg} or @var{end} is supplied, use the whole " "buffer, otherwise if @var{beg} is non-@code{nil} and @var{end} is " "@code{nil}, consider only diagnostics at @var{beg}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:642 #, no-wrap msgid "buffer position from line and column number" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:647 msgid "" "It is often the case with external syntax tools that a diagnostic's position " "is reported in terms of a line number, and sometimes a column number. To " "convert this information into a buffer position, backends can use the " "following function:" msgstr "" #. type: deffn #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:648 #, no-wrap msgid "Function flymake-diag-region buffer line &optional col" msgstr "" #. type: deffn #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:654 msgid "" "Compute @var{buffer}'s region (@var{beg} . @var{end}) corresponding to " "@var{line} and @var{col}. If @var{col} is @code{nil}, return a region just " "for @var{line}. Return @code{nil} if the region is invalid. This function " "saves match data (@pxref{Saving Match Data,,, elisp, The Emacs Lisp " "Reference Manual})." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:656 #, no-wrap msgid "add a log message" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:660 msgid "" "For troubleshooting purposes, backends may record arbitrary exceptional or " "erroneous situations into the Flymake log buffer (@pxref{Troubleshooting}):" msgstr "" #. type: deffn #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:661 #, no-wrap msgid "Macro flymake-log level msg &optional args" msgstr "" #. type: deffn #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:666 msgid "" "Log, at level @var{level}, the message @var{msg} formatted with @var{args}. " "@var{level} is passed to @code{display-warning} (@pxref{Warning Basics,,, " "elisp, The Emacs Lisp reference Manual}), which is used to display the " "warning in Flymake's log buffer." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:668 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:669 #, no-wrap msgid "Foreign and list-only diagnostics" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:670 #, no-wrap msgid "create diagnostic object for other buffer" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:679 msgid "" "It is possible for a given backend's implementation to use " "@code{flymake-make-diagnostic} to create diagnostics for buffers or files " "other than the ``source'' buffer where Flymake was enabled. For instance, " "this is useful when a given backend has access to information about the " "health of neighboring files that are not yet visited or whose diagnostics " "depend on the current buffer's state. There are two alternative ways to go " "about doing this:" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:683 #, no-wrap msgid "foreign diagnostics" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:684 #, no-wrap msgid "domestic diagnostics" msgstr "" #. type: enumerate #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:690 msgid "" "If the information about neighboring diagnostics is obtained regularly, like " "when each syntax-checking iteration of a @code{.c} file also reports a " "number of associated problems in an neighboring @code{.h} file, it is better " "to create so-called ``foreign'' diagnostics." msgstr "" #. type: enumerate #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:698 msgid "" "This is done by passing a file name to @code{flymake-make-diagnostic} " "(@pxref{Flymake utility functions}). Then, the resulting object is simply " "reported along with the other ``domestic'' diagnostics for the source buffer " "(@pxref{Backend functions}). When the neighboring file is visited as a " "buffer and Flymake is active there, a number of supplemental annotations " "will appear and automatically update whenever as the ``source'' buffer is " "syntax-checked." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:700 #, no-wrap msgid "list-only diagnostics" msgstr "" #. type: vindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:701 #, no-wrap msgid "flymake-list-only-diagnostics" msgstr "" #. type: enumerate #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:706 msgid "" "If information about neighboring diagnostics is obtained infrequently, like " "when running a time-consuming and sporadic check of a large project, it is " "easier for the backend to modify the global variable " "@code{flymake-list-only-diagnostics}." msgstr "" #. type: enumerate #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:718 msgid "" "Flymake will look up this variable when asked to compile project-wide lists " "of diagnostics. The backend should add one or more alist entries that look " "like (@var{file-name} . @var{diags}). @var{file-name} is the absolute name " "of the neighboring file presumed not to be visited in Emacs already, as that " "would mean that that buffer contains more up-to-date information on its " "diagnostics. @var{diags} is a list of diagnostic objects. When the " "neighboring file @var{file-name} is visited as a buffer and Flymake is " "activated there, the ``list-only'' diagnostics will @emph{not} produce " "annotations for @var{diags}, as Flymake assumes that the Flymake activation " "in the new buffer will take care of that." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:722 #, no-wrap msgid "example of backend" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:723 #, no-wrap msgid "backend, annotated example" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:728 msgid "" "This section presents an annotated example of a complete working Flymake " "backend. The example illustrates the process of writing a backend as " "outlined above." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:733 msgid "" "The backend in question is used for checking Ruby source files. It uses " "asynchronous sub-processes (@pxref{Asynchronous Processes,,, elisp, The " "Emacs Lisp Reference Manual}), a common technique for performing parallel " "processing in Emacs." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:736 msgid "" "The following code needs lexical binding (@pxref{Using Lexical Binding,,, " "elisp, The Emacs Lisp Reference Manual}) to be active." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:740 #, no-wrap msgid "" ";;; ruby-flymake.el --- A ruby Flymake backend -*- lexical-binding: t; " "-*-\n" "(defvar-local ruby--flymake-proc nil)\n" "\n" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:754 #, no-wrap msgid "" "(defun ruby-flymake (report-fn &rest _args)\n" " ;; Not having a ruby interpreter is a serious problem which should cause\n" " ;; the backend to disable itself, so an @code{error} is signaled.\n" " ;;\n" " (unless (executable-find\n" " \"ruby\") (error \"Cannot find a suitable ruby\"))\n" " ;; If a live process launched in an earlier check was found, that\n" " ;; process is killed. When that process's sentinel eventually runs,\n" " ;; it will notice its obsoletion, since it have since reset\n" " ;; `ruby-flymake-proc' to a different value\n" " ;;\n" " (when (process-live-p ruby--flymake-proc)\n" " (kill-process ruby--flymake-proc))\n" "\n" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:819 #, no-wrap msgid "" " ;; Save the current buffer, the narrowing restriction, remove any\n" " ;; narrowing restriction.\n" " ;;\n" " (let ((source (current-buffer)))\n" " (save-restriction\n" " (widen)\n" " ;; Reset the `ruby--flymake-proc' process to a new process\n" " ;; calling the ruby tool.\n" " ;;\n" " (setq\n" " ruby--flymake-proc\n" " (make-process\n" " :name \"ruby-flymake\" :noquery t :connection-type 'pipe\n" " ;; Make output go to a temporary buffer.\n" " ;;\n" " :buffer (generate-new-buffer \" *ruby-flymake*\")\n" " :command '(\"ruby\" \"-w\" \"-c\")\n" " :sentinel\n" " (lambda (proc _event)\n" " ;; Check that the process has indeed exited, as it might\n" " ;; be simply suspended.\n" " ;;\n" " (when (memq (process-status proc) '(exit signal))\n" " (unwind-protect\n" " ;; Only proceed if `proc' is the same as\n" " ;; `ruby--flymake-proc', which indicates that\n" " ;; `proc' is not an obsolete process.\n" " ;;\n" " (if (with-current-buffer source (eq proc " "ruby--flymake-proc))\n" " (with-current-buffer (process-buffer proc)\n" " (goto-char (point-min))\n" " ;; Parse the output buffer for diagnostic's\n" " ;; messages and locations, collect them in a list\n" " ;; of objects, and call `report-fn'.\n" " ;;\n" " (cl-loop\n" " while (search-forward-regexp\n" " \"^\\\\(?:.*.rb\\\\|-\\\\):\\\\([0-9]+\\\\): " "\\\\(.*\\\\)$\"\n" " nil t)\n" " for msg = (match-string 2)\n" " for (beg . end) = (flymake-diag-region\n" " source\n" " (string-to-number (match-string " "1)))\n" " for type = (if (string-match \"^warning\" msg)\n" " :warning\n" " :error)\n" " collect (flymake-make-diagnostic source\n" " beg\n" " end\n" " type\n" " msg)\n" " into diags\n" " finally (funcall report-fn diags)))\n" " (flymake-log :warning \"Canceling obsolete check %s\"\n" " proc))\n" " ;; Cleanup the temporary buffer used to hold the\n" " ;; check's output.\n" " ;;\n" " (kill-buffer (process-buffer proc)))))))\n" " ;; Send the buffer contents to the process's stdin, followed by\n" " ;; an EOF.\n" " ;;\n" " (process-send-region ruby--flymake-proc (point-min) (point-max))\n" " (process-send-eof ruby--flymake-proc))))\n" "\n" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:822 #, no-wrap msgid "" "(defun ruby-setup-flymake-backend ()\n" " (add-hook 'flymake-diagnostic-functions 'ruby-flymake nil t))\n" "\n" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:824 #, no-wrap msgid "(add-hook 'ruby-mode-hook 'ruby-setup-flymake-backend)\n" msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:826 #, no-wrap msgid "The legacy Proc backend" msgstr "" #. type: chapter #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:827 #, no-wrap msgid "The legacy ``Proc'' backend" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:828 #, no-wrap msgid "legacy proc backend" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:841 msgid "Proc customization variables::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:841 msgid "Adding support for a new syntax check tool::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:841 msgid "Implementation overview::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:841 msgid "Making a temporary copy::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:841 msgid "Locating a master file::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:841 msgid "Getting the include directories::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:841 msgid "Locating the buildfile::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:841 msgid "Starting the syntax check process::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:841 msgid "Parsing the output::" msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:841 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1249 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1250 #, no-wrap msgid "Interaction with other modes" msgstr "" #. type: findex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:843 #, no-wrap msgid "flymake-proc-legacy-backend" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:847 msgid "" "The backend @code{flymake-proc-legacy-backend} was originally designed to be " "extended for supporting new syntax check tools and error message patterns. " "It is also controlled by its own set of customization variables" msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:848 #, no-wrap msgid "Proc customization variables" msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:849 #, no-wrap msgid "Customization variables for the Proc backend" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:850 #, no-wrap msgid "proc backend customization variables" msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:853 #, no-wrap msgid "flymake-proc-allowed-file-name-masks" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:857 msgid "" "A list of @code{(filename-regexp, init-function, cleanup-function " "getfname-function)} for configuring syntax check tools. @xref{Adding " "support for a new syntax check tool}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:858 #, no-wrap msgid "flymake-proc-master-file-dirs" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:861 msgid "" "A list of directories for searching a master file. @xref{Locating a master " "file}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:862 #, no-wrap msgid "flymake-proc-get-project-include-dirs-function" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:865 msgid "" "A function used for obtaining a list of project include dirs (C/C++ " "specific). @xref{Getting the include directories}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:866 #, no-wrap msgid "flymake-proc-master-file-count-limit" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:867 #, no-wrap msgid "flymake-proc-check-file-limit" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:869 msgid "Used when looking for a master file. @xref{Locating a master file}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:870 #, no-wrap msgid "flymake-proc-err-line-patterns" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:873 msgid "" "Patterns for error/warning messages in the form @code{(regexp file-idx " "line-idx col-idx err-text-idx)}. @xref{Parsing the output}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:874 #, no-wrap msgid "flymake-proc-diagnostic-type-pred" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:882 msgid "" "A function to classify a diagnostic text as particular type of error. " "Should be a function taking an error text and returning a diagnostic symbol " "(@pxref{Flymake error types}). If non-nil is returned but there is no such " "symbol in that table, a warning is assumed. If nil is returned, an error is " "assumed. Can also be a regular expression that should match only warnings. " "This variable replaces the old @code{flymake-warning-re} and " "@code{flymake-warning-predicate}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:883 #, no-wrap msgid "flymake-proc-compilation-prevents-syntax-check" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:886 msgid "" "A flag indicating whether compilation and syntax check of the same file " "cannot be run simultaneously. @xref{Interaction with other modes}." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:888 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:889 #, no-wrap msgid "Adding support for a new syntax check tool" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:890 #, no-wrap msgid "adding support for a new syntax check tool" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:895 msgid "Example---Configuring a tool called directly::" msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:895 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:992 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:993 #, no-wrap msgid "Example---Configuring a tool called via make" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:900 msgid "" "Syntax check tools are configured using the " "@code{flymake-proc-allowed-file-name-masks} list. Each item of this list " "has the following format:" msgstr "" #. type: lisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:903 #, no-wrap msgid "(filename-regexp, init-function, cleanup-function, getfname-function)\n" msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:906 #, no-wrap msgid "filename-regexp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:912 msgid "" "This field is used as a key for locating init/cleanup/getfname functions for " "the buffer. Items in @code{flymake-proc-allowed-file-name-masks} are " "searched sequentially. The first item with @code{filename-regexp} matching " "buffer filename is selected. If no match is found, @code{flymake-mode} is " "switched off." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:913 #, no-wrap msgid "init-function" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:919 msgid "" "@code{init-function} is required to initialize the syntax check, usually by " "creating a temporary copy of the buffer contents. The function must return " "@code{(list cmd-name arg-list)}. If @code{init-function} returns null, " "syntax check is aborted, but @code{flymake-mode} is not switched off." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:920 #, no-wrap msgid "cleanup-function" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:924 msgid "" "@code{cleanup-function} is called after the syntax check process is complete " "and should take care of proper deinitialization, which is usually deleting a " "temporary copy created by the @code{init-function}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:925 #, no-wrap msgid "getfname-function" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:932 msgid "" "This function is used for translating filenames reported by the syntax check " "tool into ``real'' filenames. Filenames reported by the tool will be " "different from the real ones, as actually the tool works with the temporary " "copy. In most cases, the default implementation provided by Flymake, " "@code{flymake-proc-get-real-file-name}, can be used as " "@code{getfname-function}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:939 msgid "" "To add support for a new syntax check tool, write the corresponding " "@code{init-function} and, optionally, @code{cleanup-function} and " "@code{getfname-function}. If the format of error messages reported by the " "new tool is not yet supported by Flymake, add a new entry to the " "@code{flymake-proc-err-line-patterns} list." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:942 msgid "" "The following sections contain some examples of configuring Flymake support " "for various syntax check tools." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:943 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:944 #, no-wrap msgid "Example---Configuring a tool called directly" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:945 #, no-wrap msgid "adding support for perl" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:950 msgid "" "In this example, we will add support for @command{perl} as a syntax check " "tool. @command{perl} supports the @option{-c} option which does syntax " "checking." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:952 msgid "First, we write the @code{init-function}:" msgstr "" #. type: lisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:961 #, no-wrap msgid "" "(defun flymake-proc-perl-init ()\n" " (let* ((temp-file (flymake-proc-init-create-temp-buffer-copy\n" " 'flymake-proc-create-temp-inplace))\n" " (local-file (file-relative-name\n" " temp-file\n" " (file-name-directory buffer-file-name))))\n" " (list \"perl\" (list \"-wc \" local-file))))\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:967 msgid "" "@code{flymake-proc-perl-init} creates a temporary copy of the buffer " "contents with the help of @code{flymake-proc-init-create-temp-buffer-copy}, " "and builds an appropriate command line." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:970 msgid "Next, we add a new entry to the @code{flymake-proc-allowed-file-name-masks}:" msgstr "" #. type: lisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:978 #, no-wrap msgid "" "(setq flymake-proc-allowed-file-name-masks\n" " (cons '(\".+\\\\.pl$\"\n" " flymake-proc-perl-init\n" " flymake-proc-simple-cleanup\n" " flymake-proc-get-real-file-name)\n" " flymake-proc-allowed-file-name-masks))\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:982 msgid "" "Note that we use standard @code{cleanup-function} and " "@code{getfname-function}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:984 msgid "Finally, we add an entry to @code{flymake-proc-err-line-patterns}:" msgstr "" #. type: lisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:990 #, no-wrap msgid "" "(setq flymake-proc-err-line-patterns\n" " (cons '(\"\\\\(.*\\\\) at \\\\([^ \\n]+\\\\) line " "\\\\([0-9]+\\\\)[,.\\n]\"\n" " 2 3 nil 1)\n" " flymake-proc-err-line-patterns))\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:994 #, no-wrap msgid "adding support for C (gcc+make)" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:998 msgid "" "In this example we will add support for C files syntax checked by " "@command{gcc} called via @command{make}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1002 msgid "" "We're not required to write any new functions, as Flymake already has " "functions for @command{make}. We just add a new entry to the " "@code{flymake-proc-allowed-file-name-masks}:" msgstr "" #. type: lisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1010 #, no-wrap msgid "" "(setq flymake-proc-allowed-file-name-masks\n" " (cons '(\".+\\\\.c$\"\n" " flymake-proc-simple-make-init\n" " flymake-proc-simple-cleanup\n" " flymake-proc-get-real-file-name)\n" " flymake-proc-allowed-file-name-masks))\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1014 msgid "" "@code{flymake-proc-simple-make-init} builds the following @command{make} " "command line:" msgstr "" #. type: lisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1022 #, no-wrap msgid "" "(list \"make\"\n" " (list \"-s\" \"-C\"\n" " base-dir\n" " (concat \"CHK_SOURCES=\" source)\n" " \"SYNTAX_CHECK_MODE=1\"\n" " \"check-syntax\"))\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1026 msgid "" "@code{base-dir} is a directory containing the @file{Makefile}, see " "@ref{Locating the buildfile}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1029 msgid "" "Thus, @file{Makefile} must contain the @code{check-syntax} target. In our " "case this target might look like this:" msgstr "" #. type: verbatim #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1033 #, no-wrap msgid "" "check-syntax:\n" "\tgcc -o /dev/null -S ${CHK_SOURCES} || true\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1041 msgid "" "The format of error messages reported by @command{gcc} is already supported " "by Flymake, so we don't have to add a new entry to " "@code{flymake-err-line-patterns}. Note that if you are using Automake, you " "may want to replace @code{gcc} with the standard Automake variable " "@code{COMPILE}:" msgstr "" #. type: verbatim #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1045 #, no-wrap msgid "" "check-syntax:\n" "\t$(COMPILE) -o /dev/null -S ${CHK_SOURCES} || true\n" msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1047 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1048 #, no-wrap msgid "Implementation overview" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1049 #, no-wrap msgid "syntax check models" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1050 #, no-wrap msgid "master file" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1060 msgid "" "@code{flymake-proc-legacy-backend} saves a copy of the buffer in a temporary " "file in the buffer's directory (or in the system temporary directory, for " "Java files), creates a syntax check command and launches a process with this " "command. The output is parsed using a list of error message patterns, and " "error information (file name, line number, type and text) is saved. After " "the process has finished, Flymake highlights erroneous lines in the buffer " "using the accumulated error information." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1064 msgid "" "Syntax check is considered possible if there's an entry in " "@code{flymake-proc-allowed-file-name-masks} matching buffer's filename and " "its @code{init-function} returns non-@code{nil} value." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1066 msgid "Two syntax check modes are distinguished:" msgstr "" #. type: enumerate #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1074 msgid "" "Buffer can be syntax checked in a standalone fashion, that is, the file (its " "temporary copy, in fact) can be passed over to the compiler to do the syntax " "check. Examples are C/C@t{++} sources (@file{.c}, @file{.cpp}) and Java " "(@file{.java})." msgstr "" #. type: enumerate #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1081 msgid "" "Buffer can be syntax checked, but additional file, called master file, is " "required to perform this operation. A master file is a file that includes " "the current file, so that running a syntax check tool on it will also check " "syntax in the current file. Examples are C/C@t{++} headers (@file{.h}, " "@file{.hpp})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1086 msgid "" "These modes are handled inside init/cleanup/getfname functions, see " "@ref{Adding support for a new syntax check tool}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1091 msgid "" "The Proc backend contains implementations of all functionality required to " "support different syntax check modes described above (making temporary " "copies, finding master files, etc.), as well as some tool-specific (routines " "for Make, Ant, etc.)@: code." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1093 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1094 #, no-wrap msgid "Making a temporary copy" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1095 #, no-wrap msgid "temporary copy of the buffer" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1102 msgid "" "After the possibility of the syntax check has been determined, a temporary " "copy of the current buffer is made so that the most recent unsaved changes " "could be seen by the syntax check tool. Making a copy is quite " "straightforward in a standalone case (mode @code{1}), as it's just saving " "buffer contents to a temporary file." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1105 msgid "" "Things get trickier, however, when master file is involved, as it requires " "to" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1109 msgid "locate a master file" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1111 msgid "patch it to include the current file using its new (temporary) name." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1114 msgid "Locating a master file is discussed in the following section." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1123 msgid "" "Patching just changes all appropriate lines of the master file so that they " "use the new (temporary) name of the current file. For example, suppose " "current file name is @code{file.h}, the master file is @code{file.cpp}, and " "it includes current file via @code{#include \"file.h\"}. Current file's " "copy is saved to file @code{file_flymake.h}, so the include line must be " "changed to @code{#include \"file_flymake.h\"}. Finally, patched master file " "is saved to @code{file_flymake_master.cpp}, and the last one is passed to " "the syntax check tool." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1124 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1125 #, no-wrap msgid "Locating a master file" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1126 #, no-wrap msgid "locating a master file" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1127 #, no-wrap msgid "master file, locating" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1130 msgid "Master file is located in two steps." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1140 msgid "" "First, a list of possible master files is built. A simple name matching is " "used to find the files. For a C++ header @file{file.h}, the Proc backend " "searches for all @file{.cpp} files in the directories whose relative paths " "are stored in a customizable variable @code{flymake-proc-master-file-dirs}, " "which usually contains something like @code{(\".\" \"./src\")}. No more " "than @code{flymake-proc-master-file-count-limit} entries is added to the " "master file list. The list is then sorted to move files with names " "@file{file.cpp} to the top." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1144 msgid "" "Next, each master file in a list is checked to contain the appropriate " "include directives. No more than @code{flymake-proc-check-file-limit} of " "each file are parsed." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1150 msgid "" "For @file{file.h}, the include directives to look for are @code{#include " "\"file.h\"}, @code{#include \"../file.h\"}, etc. Each include is checked " "against a list of include directories (see @ref{Getting the include " "directories}) to be sure it points to the correct @file{file.h}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1155 msgid "" "First matching master file found stops the search. The master file is then " "patched and saved to disk. In case no master file is found, syntax check is " "aborted, and corresponding status (@samp{!}) is reported in the mode line. " "@xref{Mode line status}." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1156 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1157 #, no-wrap msgid "Getting the include directories" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1158 #, no-wrap msgid "include directories (C/C++ specific)" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1167 msgid "" "Two sets of include directories are distinguished: system include " "directories and project include directories. The former is just the " "contents of the @code{INCLUDE} environment variable. The latter is not so " "easy to obtain, and the way it can be obtained can vary greatly for " "different projects. Therefore, a customizable variable " "@code{flymake-proc-get-project-include-dirs-function} is used to provide the " "way to implement the desired behavior." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1171 msgid "" "The default implementation, " "@code{flymake-proc-get-project-include-dirs-imp}, uses a @command{make} " "call. This requires a correct base directory, that is, a directory " "containing a correct @file{Makefile}, to be determined." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1175 msgid "" "As obtaining the project include directories might be a costly operation, " "its return value is cached in the hash table. The cache is cleared in the " "beginning of every syntax check attempt." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1176 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1177 #, no-wrap msgid "Locating the buildfile" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1178 #, no-wrap msgid "locating the buildfile" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1179 #, no-wrap msgid "buildfile, locating" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1180 #, no-wrap msgid "makefile, locating" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1192 msgid "" "The Proc backend can be configured to use different tools for performing " "syntax checks. For example, it can use direct compiler call to syntax check " "a perl script or a call to @command{make} for a more complicated case of a " "C/C@t{++} source. The general idea is that simple files, like Perl scripts " "and @acronym{HTML} pages, can be checked by directly invoking a " "corresponding tool. Files that are usually more complex and generally used " "as part of larger projects, might require non-trivial options to be passed " "to the syntax check tool, like include directories for C@t{++}. The latter " "files are syntax checked using some build tool, like Make or Ant." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1196 msgid "" "All Make configuration data is usually stored in a file called " "@file{Makefile}. To allow for future extensions, Flymake uses a notion of " "buildfile to reference the @dfn{project configuration} file." msgstr "" #. type: findex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1197 #, no-wrap msgid "flymake-proc-find-buildfile" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1201 msgid "" "Special function, @code{flymake-proc-find-buildfile} is provided for " "locating buildfiles. Searching for a buildfile is done in a manner similar " "to that of searching for possible master files." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1207 msgid "In case there's no build file, the syntax check is aborted." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1209 msgid "Buildfile values are also cached." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1210 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1211 #, no-wrap msgid "Starting the syntax check process" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1212 #, no-wrap msgid "syntax check process, legacy proc backend" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1220 msgid "" "The command line (command name and the list of arguments) for launching a " "process is returned by the initialization function. The Proc backend then " "just starts an asynchronous process and configures a process filter and " "sentinel, which are used for processing the output of the syntax check " "tool. When exiting Emacs, running processes will be killed without " "prompting the user." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1221 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1222 #, no-wrap msgid "Parsing the output" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1223 #, no-wrap msgid "parsing the output, legacy proc backend" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1235 msgid "" "The output generated by the syntax check tool is parsed in the process " "filter/sentinel using the error message patterns stored in the " "@code{flymake-proc-err-line-patterns} variable. This variable contains a " "list of items of the form @w{@code{(regexp file-idx line-idx " "err-text-idx)}}, used to determine whether a particular line is an error " "message and extract file name, line number and error text, respectively. " "Error type (error/warning) is also guessed by matching error text with the " "@samp{^[wW]arning} pattern. Anything that was not classified as a warning " "is considered an error. Type is then used to sort error menu items, which " "shows error messages first." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1243 msgid "" "The Proc backend is also able to interpret error message patterns missing " "err-text-idx information. This is done by merely taking the rest of the " "matched line (@code{(substring line (match-end 0))}) as error text. This " "trick allows making use of a huge collection of error message line patterns " "from @file{compile.el}. All these error patterns are appended to the end of " "@code{flymake-proc-err-line-patterns}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1248 msgid "" "The error information obtained is saved in a buffer local variable. The " "buffer for which the process output belongs is determined from the " "process-id@w{}->@w{}buffer mapping updated after every process launch/exit." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1251 #, no-wrap msgid "interaction with other modes, legacy proc backend" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1252 #, no-wrap msgid "interaction with compile mode, legacy proc backend" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1256 msgid "The only mode the Proc backend currently knows about is @code{compile}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1265 msgid "" "The Proc backend can be configured to not start syntax check if it thinks " "the compilation is in progress, by testing the " "@code{compilation-in-progress} variable. The reason why this might be " "useful is saving CPU time in case both syntax check and compilation are very " "CPU intensive. The original reason for adding this feature, though, was " "working around a locking problem with MS Visual C++ compiler. The variable " "in question is @code{flymake-proc-compilation-prevents-syntax-check}." msgstr "" #. type: findex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1266 #, no-wrap msgid "flymake-proc-compile" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1270 msgid "" "The Proc backend also provides an alternative command for starting " "compilation, @code{flymake-proc-compile}. It just kills all the active " "syntax check processes before calling @code{compile}." msgstr "" #. type: appendix #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1271 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1272 #, no-wrap msgid "GNU Free Documentation License" msgstr "" #. type: include #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/flymake.texi:1273 #, no-wrap msgid "doclicense.texi" msgstr ""