[Commits] [wesnoth/wesnoth-old] a30c50: gui2/tlabel: Add 'default_bold' variant for text i...

GitHub noreply at github.com
Thu Feb 13 09:26:30 UTC 2014


  Branch: refs/heads/master
  Home:   https://github.com/wesnoth/wesnoth-old
  Commit: a30c50d567396c0f4379baf4e439474d7cf6e987
      https://github.com/wesnoth/wesnoth-old/commit/a30c50d567396c0f4379baf4e439474d7cf6e987
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-11 (Tue, 11 Feb 2014)

  Changed paths:
    M data/gui/default/widget/label_default.cfg

  Log Message:
  -----------
  gui2/tlabel: Add 'default_bold' variant for text in bold


  Commit: d5a34a1460cfab34a41c87d30ec5c8c45fa76ab3
      https://github.com/wesnoth/wesnoth-old/commit/d5a34a1460cfab34a41c87d30ec5c8c45fa76ab3
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-11 (Tue, 11 Feb 2014)

  Changed paths:
    A data/gui/default/window/wml_error.cfg
    M src/CMakeLists.txt
    M src/SConscript
    A src/gui/dialogs/wml_error.cpp
    A src/gui/dialogs/wml_error.hpp

  Log Message:
  -----------
  gui2/twml_error: New GUI2 dialog to be used for WML parser/pp errors

This dialog features separate summary and detail sections along with a
small heading for the latter in bold face. More features may be added
later as part of my work on improving WML diagnostics, but for now we
have the bare minimum for better message formatting with a content
structure more or less identical to the current one.


  Commit: 9b26df2dbbfd96283270a0af947475c4bccf2d8e
      https://github.com/wesnoth/wesnoth-old/commit/9b26df2dbbfd96283270a0af947475c4bccf2d8e
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-11 (Tue, 11 Feb 2014)

  Changed paths:
    M src/serialization/parser.cpp

  Log Message:
  -----------
  parser: Don't include extra tokenizer state information in parser::error()

Information about the current state of the tokenizer isn't really useful
to pretty much everyone dealing with WML parser errors, so keep that
unnecessary and confusing verbosity restricted to builds with the DEBUG
symbol (?) defined.

("Pretty much everyone" == users)

Partially reverts commit d6d1e7df2e485e0ee2469548a4fd05ce20b69ac4, which
introduced the extra state information.


  Commit: 458b36d0075d5059f93b2298a6df2831a7785d81
      https://github.com/wesnoth/wesnoth-old/commit/458b36d0075d5059f93b2298a6df2831a7785d81
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M data/gui/default/window/wml_error.cfg
    M src/gui/dialogs/wml_error.cpp
    M src/gui/dialogs/wml_error.hpp

  Log Message:
  -----------
  gui2/twml_error: Handle an optional list of faulty files separately

This allows us to be more self-contained and require less logic in the
instantiation site for preparing the report for display.

This requires adding a new row and label for displaying the list of
faulty files, which will be hidden when the list is empty or not
provided in the display() static member function.


  Commit: 5934124cf52a3e3709c860736c330dc53964161b
      https://github.com/wesnoth/wesnoth-old/commit/5934124cf52a3e3709c860736c330dc53964161b
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M src/gui/dialogs/wml_error.cpp

  Log Message:
  -----------
  gui2/twml_error: Replace add-on base paths with synthetic add-on names

Paths like "/home/shadowm/.wesnoth-1.11/data/add-ons/After_the_Storm/_main.cfg"
aren't very appealing to read at the start of the error message,
considering that the WML-canonical form of the path (~add-ons/.../_main.cfg)
is provided in the detailed error report later on in the same dialog.

So, in order to make the report tidier, print only the synthetic name of
the add-on guessed from the file path ("Foo Bar" for
.../data/add-ons/Foo_Bar/_main.cfg and .../data/add-ons/Foo_Bar.cfg).


  Commit: 585eede3a994d88da5d5951f954c556d0ad68c04
      https://github.com/wesnoth/wesnoth-old/commit/585eede3a994d88da5d5951f954c556d0ad68c04
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M src/gui/dialogs/wml_error.cpp

  Log Message:
  -----------
  gui2/twml_error: Use real add-on names from _info.cfg when available


  Commit: dd61db47c8934feaf272f6f4d0344c4bbee78723
      https://github.com/wesnoth/wesnoth-old/commit/dd61db47c8934feaf272f6f4d0344c4bbee78723
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M src/game_config_manager.cpp

  Log Message:
  -----------
  Replace gui2::tmessage with gui2::twml_error for reporting WML load errors

Note:

The hotkey/hotkey_command.hpp include is necessary to avoid build-time
errors. It was previously included through gui/dialogs/message.hpp <-
gui/widgets/control.hpp <- gui/widgets/widget.hpp <-
gui/auxiliary/event/dispatcher.hpp <- hotkey/hotkey_command.hpp.


  Commit: 2659dfcb9d0f1e15dc0eded55323ae15e7d9920d
      https://github.com/wesnoth/wesnoth-old/commit/2659dfcb9d0f1e15dc0eded55323ae15e7d9920d
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M data/gui/default/window/wml_error.cfg

  Log Message:
  -----------
  gui2/twml_error: Use the description scroll_label variant for the report


  Commit: b88c8a043773d67a1b802af319e757bb52badbb3
      https://github.com/wesnoth/wesnoth-old/commit/b88c8a043773d67a1b802af319e757bb52badbb3
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M src/game_config_manager.cpp

  Log Message:
  -----------
  Issue WML load error reports to stderr immediately instead of queueing them

This way the format for the big unified report can be changed for the
GUI without affecting the stderr version, especially with regards to
where we place line breaks and such.


  Commit: 91e843a404f2e2e8707d348478fba6f621d70d04
      https://github.com/wesnoth/wesnoth-old/commit/91e843a404f2e2e8707d348478fba6f621d70d04
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M src/game_config_manager.cpp

  Log Message:
  -----------
  Push WML load errors into a vector before displaying, change format

The previous format had explicit line breaks after each error put into
the stringstream, which resulted in having to change every error
insertion site to change the overall report format. Now we don't insert
explicit line breaks, and instead join the vector at the very end with
two line breaks between each item for a cleaner presentation.

This also gets rid of a single trailing line break that was appearing at
the end of the report in all cases.


  Commit: 9eeab249d10c20077e36a190a225559749266607
      https://github.com/wesnoth/wesnoth-old/commit/9eeab249d10c20077e36a190a225559749266607
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M data/gui/default/window/wml_error.cfg

  Log Message:
  -----------
  gui2/twml_error: Limit maximum dialog size to 600x600 for readability


  Commit: 798c7402f1400c4207c6ade0498e64c8e342e29d
      https://github.com/wesnoth/wesnoth-old/commit/798c7402f1400c4207c6ade0498e64c8e342e29d
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M data/gui/default/window/wml_error.cfg
    M src/game_config_manager.cpp
    M src/gui/dialogs/wml_error.cpp
    M src/gui/dialogs/wml_error.hpp

  Log Message:
  -----------
  gui2/twml_error: Add a post_summary field for advice on reporting add-on errors


  Commit: e4bed0ce962f4e95ae36f285702fc23f75303f67
      https://github.com/wesnoth/wesnoth-old/commit/e4bed0ce962f4e95ae36f285702fc23f75303f67
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M data/gui/default/window/wml_error.cfg
    M src/gui/dialogs/wml_error.cpp
    M src/gui/dialogs/wml_error.hpp

  Log Message:
  -----------
  gui2/twml_error: Add a button to copy the WML error report to clipboard


  Commit: 9a381946433e259d2097b6d36e0ee81bc7ce05f3
      https://github.com/wesnoth/wesnoth-old/commit/9a381946433e259d2097b6d36e0ee81bc7ce05f3
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M src/game.cpp

  Log Message:
  -----------
  Request delivery of SDL_SYSWMEVENT events on X11 and Win32 early

Fixes the copy button in gui2::twml_error not doing anything on X11 when
used on an instance of the dialog created during the very first
loadscreen sequence before the titlescreen (e.g., when there are errors
in game data files or in unconditionally-included code from _main.cfg
files in add-ons).

Originally (2004ish), the SDL_EventState(SDL_SYSWMEVENT, SDL_ENABLE)
request was done immediately after initializing SDL video. After years
and years of added functionality, it got pushed down to right before
displaying the titlescreen, resulting in most of the loadscreen steps
being executed first.

As a result, attempting to use copy_to_clipboard() on X11 before the
titlescreen appears would result in unusual behavior from the desktop
environment (KDE here) and not really work, because while the original
copy_to_clipboard() call is done and sets the X11 clipboard owner
correctly, there is no SDL_SYSWMEVENT event to receive and handle in
events::pump() through which the actual communication with members of
the X11 neighborhood would happen (the handle_system_event() function in
src/clipboard.cpp); in other words, no clipboard contents could be sent
from Wesnoth when requested by X11 applications.

Of course, this is an X11-specific bug that didn't really affect any
other platforms. The only reason we request SDL_SYSWMEVENT delivery on
Win32 seems to be the notification popups support code introduced in
commit 2fc758377a566ce6a3d6cdd7d30ca5076e8395c0.

The obvious solution is to revert to the original state of the request
in commit 6103d56dae44df74cc816af07355bc5528a9f2f5, where it was last
intentionally changed barring the aforementioned Win32-specific change
above. It was then set to be done right after initializing the
cursor::manager, right after initializing video, so that's what we
should probably do now.


  Commit: 9ea586aa270639934f22f0eded2934c645fa68aa
      https://github.com/wesnoth/wesnoth-old/commit/9ea586aa270639934f22f0eded2934c645fa68aa
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M src/serialization/string_utils.cpp
    M src/serialization/string_utils.hpp

  Log Message:
  -----------
  Add a utils::indent() function to indent a text block with whitespace

It doesn't have any more options because U+0020 SPACE is the standard
character used for WML indentation, and the intended use case requires
fixed-width indentation anyway.


  Commit: f540e71f78708538752522b78626ccade1be7a2c
      https://github.com/wesnoth/wesnoth-old/commit/f540e71f78708538752522b78626ccade1be7a2c
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M src/gui/dialogs/wml_error.cpp

  Log Message:
  -----------
  gui2/twml_error: Further improvements to the clipboard version of the report

 * Add a list of files (missing from a previous commit) if available.
 * Include the post-summary field if available.
 * Indent the detailed report at the end.


  Commit: 8bacea32cba1194dcbab5c956af990ef5954d077
      https://github.com/wesnoth/wesnoth-old/commit/8bacea32cba1194dcbab5c956af990ef5954d077
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M src/gui/dialogs/wml_error.hpp

  Log Message:
  -----------
  gui2/twml_error: Additional Doxygen documentation


  Commit: d36e4d79236b8bd0cff0dda9f9f50ca32bdd4387
      https://github.com/wesnoth/wesnoth-old/commit/d36e4d79236b8bd0cff0dda9f9f50ca32bdd4387
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M src/gui/dialogs/wml_error.cpp

  Log Message:
  -----------
  gui2/twml_error: Indent single-element WML file lists too


  Commit: 95bcf34133e84d1333301d81b640f447553f6820
      https://github.com/wesnoth/wesnoth-old/commit/95bcf34133e84d1333301d81b640f447553f6820
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M src/serialization/preprocessor.cpp

  Log Message:
  -----------
  preprocessor: Indent error location info on a separate line

Messages such as:

> Quoted string not terminated at ~add-ons/Foo/bar.cfg
> Macro/file 'FOOBAR' is missing at ~add-ons/Baz/bat.cfg:12 included from ~add-ons/Baz/bag.cfg:2 included from ~add-ons/Baz/ban.cfg:42

Now are formatted as:

> Quoted string not terminated
>     at ~add-ons/Foo/bar.cfg
> Macro/file 'FOOBAR' is missing
>    at ~add-ons/Baz/bat.cfg:12
>    included from ~add-ons/Baz/bag.cfg:2
>    included from ~add-ons/Baz/ban.cfg:42

For messages that include the {} substitution trail, this improves
readability by making the trail a sequence of lines with file locations
rather than a massive opaque and unreadable text wall:

> Macro/file 'FOOBAR' is missing at ~add-ons/After_the_Storm//macros/scenario-segment-implementation.cfg:61 included from ~add-ons/After_the_Storm/base-loader.cfg:6 included from ~add-ons/After_the_Storm/_main.cfg:174 included from ~add-ons/After_the_Storm/base-loader.cfg:75 included from [...]

In fact, it's that particular case that motivated this report format
change. Cases where there is no substitution trail but there is still a
file location pointer are covered by this commit too mainly for the sake
of consistency and readability -- being able to see the last (first)
relevant location pointer first on a separate line should make it easier
to debug most WML issues.


  Commit: 204b1effd5205dc8bd3e101e254e2878d8e48136
      https://github.com/wesnoth/wesnoth-old/commit/204b1effd5205dc8bd3e101e254e2878d8e48136
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M src/serialization/parser.cpp

  Log Message:
  -----------
  parser: Indent error location info on a separate line

> Unexpected characters after variable name (expected , or =) at ~add-ons/Standalone_Addon_4.cfg:1

Becomes:

> Unexpected characters after variable name (expected , or =)
>    at ~add-ons/Standalone_Addon_4.cfg:1

This is mostly intended for consistency with the new preprocessor error
location format.

Additionally, the tokenizer status information displayed when DEBUG is
defined at compile-time has changed slightly:

> $error, value '$value', previous '$previous_value' at $pos

Becomes:

> $error
>     at $pos (value '$value', previous '$previous_value')


  Commit: 37af8d2b08248f5e6d54d565694213a198a19b46
      https://github.com/wesnoth/wesnoth-old/commit/37af8d2b08248f5e6d54d565694213a198a19b46
  Author: Ignacio R. Morelle <shadowm at wesnoth.org>
  Date:   2014-02-13 (Thu, 13 Feb 2014)

  Changed paths:
    M data/gui/default/widget/label_default.cfg
    A data/gui/default/window/wml_error.cfg
    M src/CMakeLists.txt
    M src/SConscript
    M src/game.cpp
    M src/game_config_manager.cpp
    A src/gui/dialogs/wml_error.cpp
    A src/gui/dialogs/wml_error.hpp
    M src/serialization/parser.cpp
    M src/serialization/preprocessor.cpp
    M src/serialization/string_utils.cpp
    M src/serialization/string_utils.hpp

  Log Message:
  -----------
  Merge branch 'staging/feature/wml-error-report-improvements'


Compare: https://github.com/wesnoth/wesnoth-old/compare/36682ce78a9f...37af8d2b0824


More information about the Commits mailing list