Commit Graph

4964 Commits

Author SHA1 Message Date
John Beard 6504b7b55c Disable -Wsuggest-override for scripting files, but not other files
This allows the warning to be active for code which would benefit from
it, but not spew hundreds of warnings for code over which KiCad does not
have control of the override specifiers.
2016-10-05 10:43:56 -04:00
jean-pierre charras 4505896634 A few zone outline context menu commands missing after creating a keepout area
( partial fix of lp:1630368 )
2016-10-05 15:12:10 +02:00
Chris Pavlina b9abcc309f Fix Validate hiding overloaded virtual in 3D viewer dialog 2016-09-30 22:32:24 -04:00
jean-pierre charras 67faa5e656 clean.cpp: better code. 2016-09-30 18:33:46 +02:00
jean-pierre charras b5839893d0 Pcbnew, clean board: fix issues and add option in dialog to remove bad track segments (short circuit between 2 nets) 2016-09-30 11:11:52 +02:00
jean-pierre charras 1ebac06d2f Pcbnew, undo redo: fix a crash in legacy mode when undo a footprint change (for instance a 45 degrees rotation) 2016-09-30 11:11:52 +02:00
Heikki Pulkkinen ab0cf7dee1 clean.cpp little bug fix 2016-09-30 11:11:52 +02:00
jean-pierre charras 502d0a38be Fix a missing parameter initialization (arc angle) in footprint DXF import 2016-09-30 11:11:52 +02:00
Maciej Suminski abbd47e2f2 Remove an unused variable and a debug printf 2016-09-30 09:31:40 +02:00
Tomasz Włostowski 3257f1a863 pns: fixed inline drag grid snapping & undo-related assertion failure
Fixes: lp:1628697
* https://bugs.launchpad.net/kicad/+bug/1628697
2016-09-30 09:29:49 +02:00
Tomasz Włostowski 4bc4dc80b6 pns: unique_ptr for BOARD_COMMIT member 2016-09-30 09:05:58 +02:00
Chris Pavlina 2b7e6e73ec Fix uninitialized variable in drawing_tool.cpp 2016-09-30 09:04:18 +02:00
Chris Pavlina 7454f5565f Dismiss unused variable warning in ratsnest_data.cpp 2016-09-30 09:04:14 +02:00
Jean-Samuel Reynaud 91479bebf8 Fix for compilation error on Ubuntu 14.04 (has no effect on 16.04, and on Windows/msys2, certainly due to more recent swig and cmake versions) 2016-09-27 16:50:22 +02:00
Maciej Suminski 18695751e8 Fixed a footprint editor crash on DXF import
Fixes: lp:1627422
* https://bugs.launchpad.net/kicad/+bug/1627422
2016-09-27 13:36:52 +02:00
jean-pierre charras 673b094b2b Fix a few missing override qualifiers and shadowed vars. 2016-09-27 10:58:05 +02:00
Maciej Suminski f2462925ec Fixed a crash when adding/removing pads
Fixes: lp:1627296
* https://bugs.launchpad.net/kicad/+bug/1627296
2016-09-27 09:30:32 +02:00
Chris Pavlina 52aa4ecdf4 Unify window title formats
Most window titles are now of the format "Application — file [info]",
with adaptations as necessary. Version information has been removed from
titles.
2016-09-26 17:28:25 -04:00
jean-pierre charras 41735b6563 Add missing override keywords. 2016-09-26 19:58:33 +02:00
Simon Richter ad088db6d2 Add more "override" markers. 2016-09-25 13:59:41 -04:00
Maciej Suminski 83c805e8fb Simplified code for adding/removing items in RN_DATA 2016-09-25 19:37:51 +02:00
John Beard 6b7c2685b2 Protect against uninitialised netcodes when adding to RN_DATA 2016-09-25 19:37:51 +02:00
Cirilo Bernardo bf4b26d73f Remove STEP diagnostic print
This patch removes a stdcerr print which was accidentally left in the code.
2016-09-25 10:08:13 -04:00
jean-pierre charras 48c18604fc Layers manager: add (in context menu) show all layers and hide all layers, and code cleanup. 2016-09-25 13:08:04 +02:00
dino 33e1a4e884 pcbnew: Added 'show all layers' and 'hide all layers' option in layers manager 2016-09-25 10:57:33 +02:00
Wayne Stambaugh 8b59350e44 Pcbnew: fix override release build error.
NETINFO_ITEM::Show() method was not wrapped in #ifdef DEBUG/#endif causing
an error in release builds.
2016-09-24 16:00:09 -04:00
Simon Richter 59c81976dc Explicitly mark overriding functions. 2016-09-24 14:53:15 -04:00
Wayne Stambaugh 9490b02cb8 Pcbnew: fix board I/O plugin formatter build warnings.
Internally time stamps are defined as unsigned long.  On some platforms,
time_t is defined as unsigned long long.  Cast all time_t instances to
unsigned long to prevent the compiler from complaining.
2016-09-24 11:53:22 -04:00
Simon Wells 3a50f7367f Modified path on osx due to GetExecutablePath() pointing to the root of the .app bundle 2016-09-23 10:24:52 -04:00
Dick Hollenbeck 374808ac5b Cleanup SWIG's board.i, remove scrap *.{ref,orig} files, and add .pyc to .gitignore 2016-09-23 08:04:12 -04:00
Maciej Suminski 3623421912 Fixed a PNS crash after undoing the last operation while routing 2016-09-23 13:58:33 +02:00
decimad 6a9c1cb6a1 Split the undo/redo event into the two stages "pre" and "post" for convenient synchronization of dependent state. 2016-09-23 13:29:25 +02:00
Cirilo Bernardo 8ea643cefc Fix export_vrml.cpp warnings and removes the few instances of wxT() in that file. 2016-09-23 09:55:33 +02:00
Dick Hollenbeck b8dc6af706 fix swig warning 2016-09-22 15:42:42 -04:00
Dick Hollenbeck 45f6f8b305 Remove experimental code added during swig work. 2016-09-22 10:51:29 -04:00
Cirilo Bernardo 8b8626ceeb Removed wxT() from kicad2step modules and made modifications to the STEP Export GUI 2016-09-22 08:37:16 -04:00
Cirilo Bernardo ba65c39b40 Fixed error in setting Windows extension on executable file 2016-09-22 08:37:16 -04:00
Cirilo Bernardo 88cdb8bbbe Removed dialog, instead the autosave() is always invoked for a dirty PCB 2016-09-22 08:37:16 -04:00
Cirilo Bernardo 8b259f2837 Fixed typo preventing compilation on MSWin 2016-09-22 08:37:16 -04:00
Cirilo Bernardo fb59a7416a Added option to remove Virtual Components from STEP assembly 2016-09-22 08:37:16 -04:00
Cirilo Bernardo 33948e572d Added STEP Export menu item and supporting code 2016-09-22 08:37:16 -04:00
Dick Hollenbeck 29be200843 Add SWIG support for NETCLASSPTR. Reduce SWIG visibility from C++ headers. 2016-09-21 19:52:04 -04:00
Dick Hollenbeck 85ef7ee467 Remove BOARD::Add() from board.i, since it is inherited from board_item_container.i 2016-09-21 19:12:45 -04:00
Gustav Bergquist 061a7b8450 Cast TOOL_EVENT parameter type to intptr_t 2016-09-21 21:22:19 +02:00
Cirilo Bernardo d3771d53ef Updated VRML exporter and fixed some VRML related bugs 2016-09-21 09:31:52 -04:00
Maciej Suminski 65821328d2 Fix a crash when dragging a via attached to a locked track (PNS)
Fixes: lp:1625835
* https://bugs.launchpad.net/kicad/+bug/1625835
2016-09-21 14:47:14 +02:00
decimad ee3d75f273 Add coroutine call invocation context to identify the main stack frame.
Run the text draw-tool on the main stack frame.

Fixes: lp:1547282
* https://bugs.launchpad.net/kicad/+bug/1547282
2016-09-21 11:56:40 +02:00
jean-pierre charras d42fd751f9 Gerbview print: print now the Gerber filename, the number of pages to print, and a page number 2016-09-21 11:34:18 +02:00
Ian Roth ec3109472a Correct page numbers on pcbnew multipage print 2016-09-21 09:04:05 +02:00
Dick Hollenbeck 1edaa773d3 Fix minor SWIG issues due to git rebase issues. 2016-09-20 21:52:48 -04:00
Dick Hollenbeck 1718ac1083 More SWIG improvements.
SWIG support for BOARD_ITEM_CONTAINER.
Split board.i into smaller included *.i files.
Add depencies on these smaller *.i files to CMakeLists.txt
2016-09-20 21:48:44 -04:00
Chris Pavlina c57fd7ccbf Fix signed/unsigned comparison warning in PNS::LINE::ClipVertexRange 2016-09-20 14:26:16 -04:00
Dick Hollenbeck d957670034 Add more HANDLE_EXCEPTIONS(), board.i refactoring. 2016-09-20 12:00:17 -04:00
Dick Hollenbeck 7311f07eaf SWIG Improvements
*) Extend SWIG support deeper into the BOARD class.
*) Move swig *.i files into a directory identified for SWIG, in preparation
   for a parallel universe involving Phoenix's SIP.
*) Move swig files which will be common to both eeschema and pcbnew into
   common/swig.
*) Sketch out a "common" python module, and plan on dovetailing that into a
   libkicad_shared.{dll,so}
*) Add common/swig/ki_exceptions.i and define a macro HANDLE_EXCEPTIONS()
   which is to be applied to any function which needs C++ to python
   exception translation.
*) Move the test for SWIG tool into top level CMakeLists.txt file for use
   in all python modules beyond pcbnew, i.e. eeschema and common.
*) Add SWIG_MODULE_pcbnew_EXTRA_DEPS which generates a better Makefile, one
   which rebuilds the swig generated *.cxx file when one of its dependencies
   change.
*) Re-architect the board.i file so that it can be split into multiple *.i
   files easily.
*) Make some KIWAY from python progress, in preparation for Modular KiCad
   phase III.
2016-09-20 11:59:43 -04:00
Dick Hollenbeck 9ad49dc2d1 Split IO_ERROR out of richio.* and store Problem() and Where() separately 2016-09-20 11:56:18 -04:00
Maciej Suminski 4bb16afc9e Fixed text placement tool in FP editor
Fixes: lp:1625304
* https://bugs.launchpad.net/kicad/+bug/1625304
2016-09-20 10:19:33 +02:00
Maciej Suminski 61e415bdb9 Deboostified ratsnest model in GAL 2016-09-19 17:25:31 +02:00
jean-pierre charras 6edee2ae1d Prepare Plot Gerber file to include advanced aperture and net attributes.
This option is not yet activated because the net attributes are not yet fully fixed by Ucamco, in Gerber file format specifications.
(To activate it, see dialog_plot.cpp, line 43)
2016-09-19 13:01:36 +02:00
Maciej Suminski 7f9380af26 Update the status panel after every commit. 2016-09-19 12:08:29 +02:00
Maciej Suminski 4ffd3c8511 Fix ratsnest after running DRC
Fixes: lp:1624000
* https://bugs.launchpad.net/kicad/+bug/1624000
2016-09-19 12:08:29 +02:00
Simon Richter 6689c7e75e Include header instead of full source 2016-09-16 09:29:44 +02:00
Maciej Suminski 48c3f577a9 Do not include ratsnest_viewitem.cpp in two CMakeLists. 2016-09-15 22:04:07 +02:00
Maciej Suminski 5e9b2247eb Fixed SWIG interface
Now Add()/Remove() methods are provided via BOARD_ITEM_CONTAINER
interface.
2016-09-15 16:14:38 +02:00
Maciej Suminski 8590809c7a Selection tool fix to enable selecting overlapping items
Fixes: lp:1499022
* https://bugs.launchpad.net/kicad/+bug/1499022
2016-09-15 13:25:08 +02:00
Tomasz Wlostowski 104a066268 Faster layer visibility switching in GAL
Fixes: lp:1623055
* https://bugs.launchpad.net/kicad/+bug/1623055
2016-09-14 11:58:10 +02:00
Maciej Suminski 516510774c Fixed ratsnest for nodes surrounded with zones 2016-09-13 17:13:42 +02:00
Maciej Suminski b00ca19f41 Deboostified ratsnest algorithm. 2016-09-13 14:58:33 +02:00
Maciej Suminski 17806b58f6 Fixed unused variable warnings 2016-09-13 10:06:49 +02:00
Maciej Suminski 03f4a89521 More descriptive method names for RN_NODE 2016-09-13 10:06:25 +02:00
Maciej Suminski 02cfab4266 Display a message when a locked component is not removed 2016-09-12 13:45:57 +02:00
Maciej Suminski c52a9d850b Converted netlist updater to use BOARD_COMMIT
Fixes: lp:1579910
* https://bugs.launchpad.net/kicad/+bug/1579910
2016-09-12 13:45:57 +02:00
Maciej Suminski 3425624510 Compile_Ratsnest() refreshes track labels 2016-09-12 13:45:57 +02:00
Maciej Suminski 3bcbe0dfbd GAL ratsnest code cleanup 2016-09-12 13:45:57 +02:00
Maciej Suminski 0cc2c87ef8 Removed BOARD::AppendNet()
It is handled by BOARD::Add() now.
2016-09-12 13:45:57 +02:00
Maciej Suminski 77f74646af Auto update ratsnest data on net change 2016-09-12 13:45:57 +02:00
Maciej Suminski d33672cce7 Added missing break 2016-09-12 13:45:57 +02:00
Maciej Suminski 828f28ecca Ratsnest Add()/Remove()/Update() return true on success 2016-09-12 13:45:57 +02:00
Maciej Suminski 790b6eaeb9 Fixed ratsnest updates on undo/redo 2016-09-12 13:45:57 +02:00
Maciej Suminski 694aa7ff5b Handle pad autonumbering when the number set is empty. 2016-09-12 13:45:57 +02:00
Maciej Suminski 267f01fa69 Code formatting (BOARD_NETLIST_UPDATER) 2016-09-12 13:45:57 +02:00
Maciej Suminski 029e275aa0 Unselect modified component before replacing by the FP editor. 2016-09-12 13:45:57 +02:00
Maciej Suminski b0b64ac964 Fixed freeze after updating a footprint using the FP editor. 2016-09-12 13:45:57 +02:00
Maciej Suminski edf64afa3e Fixed freezes after appending a board. 2016-09-12 13:45:57 +02:00
Maciej Suminski 65b1225231 Added CHT_DONE flag to COMMIT::Stage to skip add/remove step 2016-09-12 13:45:57 +02:00
Maciej Suminski 6701b80f77 Converted global deletion, global text size setting & module exchange to BOARD_COMMIT. 2016-09-12 13:45:57 +02:00
Maciej Suminski 91ea4242ca Fixed freeze after adding a module 2016-09-12 13:45:57 +02:00
Maciej Suminski 303a6928ab Changed pointEditorUpdate to editModifiedSelection. 2016-09-12 13:45:57 +02:00
Maciej Suminski ad1111748e Removed 'undo inhibit' in EDIT_TOOL 2016-09-12 13:45:57 +02:00
Maciej Suminski 86895822b7 BOARD_COMMIT retracts changes in reversed order 2016-09-12 13:45:57 +02:00
Maciej Suminski 5a1f52bf30 Modified tools to use BOARD_COMMIT. 2016-09-12 13:45:57 +02:00
Maciej Suminski 5c0605f6dc Mute a few warnings 2016-09-12 11:50:06 +02:00
Maciej Suminski 32c4bec31c Implemented BOARD_COMMIT::Revert() 2016-09-12 11:50:06 +02:00
Maciej Suminski 39d5cd2aca Unified BOARD::Duplicate() 2016-09-12 11:50:06 +02:00
Maciej Suminski 86b906463f Fixed an assert in 'Create array' dialog 2016-09-12 11:50:06 +02:00
Maciej Suminski c4be379b31 Modified properties dialog to take advantage of BOARD_COMMIT class. 2016-09-12 11:50:06 +02:00
Maciej Suminski 08d15a9961 BOARD_COMMIT::Revert() marked as not tested 2016-09-12 11:50:06 +02:00
Maciej Suminski f1b37109e3 BOARD_COMMIT code cleaning
Moved a few conditionals to scopes where they can be executed.
Simpler way to create ITEM_PICKERs.
2016-09-12 11:50:06 +02:00
Maciej Suminski c7ce82a4bf BOARD_COMMIT creates only one copy of a modified module 2016-09-12 11:50:06 +02:00
Maciej Suminski 992ca6e7c7 Fixed removal function in BOARD_COMMIT. 2016-09-12 11:50:06 +02:00
Maciej Suminski 2ab7196035 Reenabled and corrected BOARD_COMMIT::Revert(). 2016-09-12 11:50:06 +02:00
Maciej Suminski 497fb31ae0 BOARD_COMMIT can be constructed using a PCB_BASE_FRAME*. 2016-09-12 11:50:06 +02:00
Maciej Suminski b25c407576 Rebuild the old ratsnest model only if GAL is inactive. 2016-09-12 11:50:06 +02:00
Maciej Suminski b815ea7865 Removed remaining m_editModules flags. 2016-09-12 11:50:06 +02:00
Maciej Suminski 9861b35707 EDIT_TOOL::hoverSelection() works with current selection. 2016-09-12 11:50:06 +02:00
Maciej Suminski b661993427 Removed SELECTION_TOOL::EditModules()
as there is already PCB_TOOL::SetEditModules() and
SELECTION_TOOL::m_editModules shadows PCB_TOOL::m_editModules.
2016-09-12 11:50:06 +02:00
Tomasz Wlostowski a5b7a7ca0a Changed DuplicateAndAddItem() to parametrized Duplicate(). 2016-09-12 11:50:06 +02:00
Tomasz Wlostowski 1924507001 Added a PCB_TOOL subclass. 2016-09-12 11:50:06 +02:00
Tomasz Wlostowski 9588a7974c Added classes COMMIT & BOARD_COMMIT. 2016-09-12 11:50:06 +02:00
Maciej Suminski ff6bdeee4b Removed a number 'if(m_editModules)' sections from pcbnew tools. 2016-09-12 11:50:06 +02:00
Maciej Suminski c78faec247 SetLastEditTime() upon creating UR_CHANGED entry in undo buffer. 2016-09-12 11:50:06 +02:00
Maciej Suminski 0bf553b06c Recompute local coordinates when an object is added to MODULE. 2016-09-12 11:50:06 +02:00
Maciej Suminski a5d32bbd63 Moved method descriptions from .cpp to .h. 2016-09-12 11:50:06 +02:00
Maciej Suminski 1dd43d1d98 Unified undo buffer handling code for PCB & module editor.
Replaced UR_MODEDIT with UR_CHANGED.
2016-09-12 11:50:06 +02:00
Maciej Suminski b0a191ce3d Refactored TestForExistingItem() 2016-09-12 11:50:06 +02:00
Maciej Suminski b897c5f290 BOARD_ITEM_CONTAINER class. 2016-09-12 11:50:06 +02:00
Maciej Suminski 09e0311d4e Replaced Copy() method with operator=. Removed Copy() where default copy ctor was enough. 2016-09-12 11:50:06 +02:00
Maciej Suminski 2c08ff1d59 Switched to default copy ctor and/or operator= for BOARD, BOARD_CONNECTED_ITEM, DRAWSEGMENT & EDGE_MODULE. 2016-09-12 11:50:06 +02:00
Maciej Suminski ec4531948f Move all SetParent() calls to a single location in BOARD::Add(). 2016-09-12 11:50:06 +02:00
Ian Roth 7ad2f37391 Add %L formatter to worksheets to print layer name. 2016-09-10 14:23:59 -04:00
Dick Hollenbeck 2adfb09d0e Pcbnew: display unconnected net count in DRC dialog. 2016-09-08 14:17:37 -04:00
Tomasz Włostowski 0b8ab2f73d router: fixed incorrect clearance computation in highlight collisions mode.
Fixes: lp:1621186

https://bugs.launchpad.net/kicad/+bug/1621186
2016-09-08 10:30:02 -04:00
Tomasz Wlostowski 03d372a0ec Fixed an assertion triggered upon line simplification (PNS). 2016-09-06 16:40:40 +02:00
Maciej Suminski f1e2a2c4c1 Corrected debug information display call. Removed an unused variable. 2016-09-06 16:27:35 +02:00
decimad 94aaa47583 Add Remove overloads for specific item types, split removal into index-handling and lifetime-handling (not 100% correct yet, since the index is defactor lifetime-owner, it will be later.) 2016-09-06 16:06:06 +02:00
decimad 94fae5d6a1 fix eager dynamic allocation in PNS::NODE::addLine
move implementation into PNS::NODE::Add since lines will never be part of the index itself
2016-09-06 16:06:06 +02:00
decimad 96a3145543 use unique_ptr at client <-> pns-router border, to document the pns router is taking ownership
add overloads for NODE::Add( ... ) taking pointers to specific item types (retain old private add-Functions, they will come in handy later)
LINE overloads now take by reference, to document their special treatment.
updated code throughout affected by these changes
2016-09-06 16:06:06 +02:00
decimad 2aef1a4568 use unique_ptr to document ownership (PNS::LINE_PLACER) 2016-09-06 16:06:06 +02:00
decimad 4770be0920 Make the segment-ref container a true member of PNS::LINE
improve const correctness
return segment container by ref
change client code accordingly
2016-09-06 16:06:06 +02:00
decimad 2faca77adf use unique_ptr to document ownership (PNS::ROUTER) 2016-09-06 16:06:06 +02:00
decimad 6c749e0ba8 Remove PNS_ prefix from most types inside namespace PNS 2016-09-06 16:06:06 +02:00
decimad 4cf44d9725 Rename pns item kind constants in preparation for renaming pns classes 2016-09-06 16:06:06 +02:00
decimad de6281e977 Move PNS router code into namespace PNS
update copyright messages
2016-09-06 16:06:06 +02:00
Wayne Stambaugh cbcb3b896b Fix incorrect string translation macros.
* Replace _T() with _() for translatable strings.

* Don't translate debug messages.

* Don't translate copyright symbol.
2016-09-03 12:10:49 -04:00
Wayne Stambaugh 9287b42648 Revert commit 67230ac8e7. 2016-08-30 09:04:25 -04:00
jp-charras 69e4231303 Sch editor and Simulator: close the simulator frame when the schematic editor is closed, to avoid crash, due to the fact the simulator can try to access to a no more existing frame.. 2016-08-29 19:47:08 +02:00
jp-charras 440f8c8b69 Fix an issue in DRC min via drill value, created in git commit 3a92db4312 2016-08-28 21:26:51 +02:00
Niki Guldbrand 67230ac8e7 Keep Source tree clean
* Move all generated files to the build tree during build so the source
  tree is kept clean.

Signed-off-by: Niki Guldbrand <niki.guldbrand@gmail.com>
2016-08-26 17:25:12 -04:00
jp-charras 36ff4b5e93 Merge branch 'master' of git+ssh://git.launchpad.net/kicad 2016-08-25 09:37:20 +02:00
jp-charras 9d5300b284 Fix: Pcbnew net class editor is chopping off net class names
Fixes: lp:1616599
* https://bugs.launchpad.net/kicad/+bug/1616599
2016-08-25 09:35:35 +02:00
Maciej Suminski ca499b80e1 Fixed wxLogTrace() calls in PNS
Fixes: lp:1616702
* https://bugs.launchpad.net/kicad/+bug/1616702
2016-08-25 09:24:55 +02:00
Simon Richter 91e953868a DRC: Test all segments
The DRC also runs per-segment tests, not just segment-segment, so the last
segment needs to be tested as well, with an empty list of segments to test
against.
2016-08-24 22:17:39 -04:00
Simon Richter 3a92db4312 DRC: Add test for via drill size
This test is only run when the via size itself is acceptable, to avoid
bigger changes to the codebase.
2016-08-24 22:17:21 -04:00
Simon Richter 260b0f6b5f Via properties: apply microvia settings to microvias 2016-08-24 22:16:21 -04:00
Jon Neal 532a5fb827 Small grammar fix 2016-08-24 16:18:04 -04:00
jp-charras fdd434244c dialog footprint properties: better tool-tips 2016-08-24 18:20:20 +02:00
jp-charras d0fbd32bee dialog edit footprint properties: Generate an error message if a parameter is incorrect.
(previously when happens, no message but the dialog cannot be closed)
2016-08-24 17:18:51 +02:00
jean-pierre charras 9f46d83175 Gerbview: locate item now does not take in account not visible layers. Remove an unused file
3d viewer: Remove a few ToUTF8() bad  usage (replaced by GetData() )
2016-08-19 09:45:59 +02:00
Maciej Suminski 78050c05e2 Changed PNS logging routine to wxLogTrace 2016-08-17 16:00:21 +02:00
Maciej Suminski 9f0b42cb35 pns: fixed a few memleaks & conditional jumps depending on uninitalized variables 2016-08-17 15:09:48 +02:00
Chris Pavlina 910cafe72e FUTURE_FORMAT_ERROR: don't nest errors unnecessarily 2016-08-16 22:02:05 -04:00