75 Commits

Author SHA1 Message Date
jean-pierre charras
ee5f9034f7 pcb parser: ensure the parser is reinitialized before parsing a new fp file
Because the same parser is used to read all footprint files of a library,
the parser must be reinitialized (internal variable cleared) before reading
a new file, otherwise the previous parser state is applied to the next file.
Fixes #7627
https://gitlab.com/kicad/code/kicad/issues/7627
2021-08-26 19:38:20 +02:00
Wayne Stambaugh
bcd6bddfd4 Start expunging NULL.
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
2021-07-15 15:44:45 -04:00
Marek Roszko
af2707929d Don't leak a wx header via eda_item.h
Turns out this provided the translation header globally :D
2021-06-02 19:18:48 -04:00
Ian McInerney
ecd9bf696e Be consistent about using nullptr instead of 0
0 can be too easily overloaded into an int, so ensure we use nullptr
when we mean pointers.
2021-04-22 22:20:34 +01:00
Jonathan Haas
55679be2e3 Fix some typos across the codebase 2021-04-05 16:15:25 +02:00
Werni
0e44f5128c Add const specifiers 2020-11-18 19:50:36 +00:00
Jeff Young
834c7bbe05 Report lexer issues through error reporter. 2020-10-16 12:44:20 +01:00
Marek Roszko
a1c75748a0 Remove GetChars(), a wxWidgets 2.9 compatibility hack 2020-10-15 20:53:25 -04:00
jean-pierre charras
13304d0870 more cleanup about removing useless include 2020-10-02 13:40:00 +02:00
Wayne Stambaugh
ede39780e2 Remove all debugging output that cannot be disabled.
The use of printf, wxLogDebug, and std::err/std::out causes excessive
debugging output which makes finding specific debugging messages more
difficult than it needs to be.

There is still some debugging output in test code that really needs to
be moved into a unit test.

Add debugging output section to the coding policy regarding debugging
output.
2020-08-18 10:17:36 -04:00
jean-pierre charras
9b6ade6b1c Fix a link issue (symbol not found). 2020-08-07 08:02:45 +02:00
Jeff Young
f27661fa39 Be more flexible with user input; more multibyte safety. 2020-08-06 19:38:06 +01:00
Jeff Young
c415130de9 Improve parse error messages. 2020-05-25 22:51:47 +01:00
Jeff Young
160981ee71 Better error reporting for DRC rule parsing. 2020-05-25 22:51:47 +01:00
Jeff Young
b8fd2f3c79 Revert "Don't be pedantic about the file format."
This reverts commit 1537cbc59c3cece4c69632c11a5418681a328e27.
2018-03-16 18:11:36 +00:00
Jeff Young
1537cbc59c Don't be pedantic about the file format.
It's just another form of nagging.
2018-03-16 16:57:38 +00:00
Simon Richter
a9ccf1161b Fix quotes in UI messages
This replaces all single and angle bracket quotes in UI messages with
double quotes, for consistency.

Sorry to all translators.
2017-12-15 07:33:07 -05:00
Kristoffer Ödmark
19d5cc7548 Removed all exception specifiers since deprecated.
Exception specifiers are deprecated in cpp11, so went through them all
and removed them from the code.
2017-06-12 13:54:55 -04:00
Konrad Beckmann
c4ea54227e Remove redundant statement in DSNLEXER::PopReader 2017-04-13 14:03:37 -04:00
jean-pierre charras
c2227abb36 Specctra import: accept layer names like numbers (i.e. +12). 2017-03-20 19:50:07 +01:00
unknown
b3b791961a coverity common folder fixes (mainly not initialized members). 2015-03-11 17:04:20 +01:00
Wayne Stambaugh
4c6ca81f2c More Coverity scan error fixes. 2015-02-22 16:25:29 -05:00
jean-pierre charras
d83eb11aa6 Minor fixes. Remove unused icon. Add 3 new icons. Change one icon (3 icons are from Konstantin Baranowskiy) 2014-12-11 13:00:59 +01:00
jean-pierre charras
0e996cac9e Pcbnew: fix Bug #1395594 (pcbplotparams parser sensitive to formatting)
Looked like a minor issue, but was due to a more serious bug, when using 2 different DSN_LEXERS which were not synchronized.
The fix is not perfect, but unfortunately, the parser used to read the PCB_PLOT_PARAMS in .kicad_pcb files is also used in legacy board file reader.
Therefore it is better than write 2 parser functions, one for legacy files, the other for the .kicad_pcb files, which make the same thing.
2014-12-04 20:15:26 +01:00
Dick Hollenbeck
acbe6290c5 switch back to original sexpr usage of PTREE, add new DSNLEXER constructor, enforce accessors in kicad.exe 2014-07-07 14:49:14 -05:00
Dick Hollenbeck
8c2d3d12fc comment improvements 2013-07-09 00:22:08 -05:00
Dick Hollenbeck
9d6ec5a265 dsnlexer.cpp's isNumber() was recently stupid-ized, un-stupid-ize it. 2013-07-01 09:37:03 -05:00
Dick Hollenbeck
caf5fc8d8d DSNLEXER::NextTok() organizes the specctraMode code better, into one if block mostly.
This keeps it out of the KiCad mode path, making that leaner and less confusing about
what is supported in KiCad mode.  Within KiCad mode, treat quoted vs. non-quoted tokens
as the two general categories, with non-quoted having sub-categories.  Eliminate  
an unimplemented, unused function declaration in DSNLEXER.
 
Improve the output formatting of THROW_PARSE_ERROR().
2013-07-01 01:47:36 -05:00
Dick Hollenbeck
44d31a1897 Speed up DSNLEXER::findToken() to such an extent that it resulted in an approximate 13% reduction
in *.kicad_pcb file loading times.
2013-06-30 20:05:40 -05:00
Dick Hollenbeck
1f9ee2e45e Support for 'initial single line comments' in the pretty footprint format.
This is limited to round tripping the lines of commented text in the
loading and saving to disk through PCBIO::Format() and PCBIO::Parse().
No editing of the comments is given.
2013-06-23 14:18:33 -05:00
Dick Hollenbeck
94338e072f comment 2013-06-04 09:44:08 -05:00
Dick Hollenbeck
0390fbf978 speedups 2013-06-03 08:09:37 -05:00
Dick Hollenbeck
5c98951954 add support for exponents in dsnlexer.cpp's DSN_NUMBER token 2013-05-31 09:24:56 -05:00
Dick Hollenbeck
d8f87cca3c factor out isNumber() in dsnlexer.cpp, add support for numbers with exponents, leave commented out for further testing 2013-05-30 20:20:37 -05:00
Dick Hollenbeck
0eae829b11 factor out isNumber() in dsnlexer.cpp, add support for numbers with exponents, leave commented out for further testing 2013-05-30 19:49:22 -05:00
Dick Hollenbeck
000ec33af2 remove temporary debug printf()s I no longer need. 2013-05-01 10:49:34 -05:00
Dick Hollenbeck
9634fa5c07 fix 2 corner case bugs in specctra import 2013-05-01 10:48:00 -05:00
jean-pierre charras
0d41a7a523 All: fix some issues in messages to translate. Remove fully outdated files 2013-04-10 09:23:20 +02:00
Lorenzo Marcantonio
42709330e0 Better strings for the translators (converted concatenations to formats) 2013-04-09 19:49:01 +02:00
Lorenzo Marcantonio
b525e3be55 Factored out text anchor drawing
More layer classification cleanup
2013-04-09 18:00:46 +02:00
Dick Hollenbeck
063907211e more fp_lib_table work, enhance parser 2012-12-08 17:58:03 -06:00
Dick Hollenbeck
bb383e22b3 optimize isSpace for negative 8 bit bytes 2012-10-08 15:01:17 -05:00
Dick Hollenbeck
56796a950c *) Use fgetc() technique to avoid strlen() in FILE_LINE_READER::ReadLine(),
which was having difficulty with embedded nuls in files coming from PCAD.

*) Make dsnlexer.cpp's isSpace() treat nuls as whitespace.
2012-10-08 14:34:46 -05:00
jean-pierre charras
3a8bf14c9f Fix an issue (only found using gcc under mingw) in dsnlexer.cpp, using ::isspace( ) function that accepts only a 7 bit ASCII value under gcc/ mingw. 2012-06-20 22:33:05 +02:00
Dick Hollenbeck
3fa7c200b7 Add tools/parser_gen.cpp which is the beginnings of an s-expression parser
generation tool.  For now, it is just an s-expression beautifier using
our "non-specctra mode" version of s-expressions.
2012-04-29 21:57:48 -05:00
Dick Hollenbeck
b8a0ab4c52 switch to <> for includes from "" per conversation with Jean-Pierre and Wayne, adjust search paths 2012-01-22 22:33:36 -06:00
Wayne Stambaugh
4b853dedb4 Application name capitalization fixes.
* Correct all user strings and comments for the correct capitalization of
  application names according to JP.  They are KiCad, Pcbnew, CvPcb,
  Eeschema, and GerbView.
* Add a note the the user interface policy about the correct capitalization.
2011-09-30 14:15:37 -04:00
Wayne Stambaugh
baa0d7920a EESchema bug fixes and other minor changes (fixes lp:793373).
* Fix debug build warning (lp:793373).
* Changed sheet edit restore and undo to use object copy and replace method.
* Add minimum width and height constraints when resizing sheets that have
  hierarchical pins.
* Fix drag sheet hot key bug.
* Change Doxygen configuration to extract private methods and members
  when creating documentation.
* Fix a bunch of Doxygen comment warnings.
2011-06-07 11:29:01 -04:00
Dick Hollenbeck
f8263c0e62 sweet parser work 2011-02-14 00:39:51 -06:00
Dick Hollenbeck
0093f4f612 ++common:
* macros.h now has TO_UTF8() and FROM_UTF8() which are working converters
    to and from UTF-8 encoding for any wxWidgets build mode.  We can switch to
    them at any time.  I am using them now for specctra conversions and
    elsewhere where I wanted gauranteed UTF8 encoding.
  * added OUTPUTFORMATTER::Quoted( const wxString& ) to simplify converting
    to UTF8 encoded s-expression atoms.  The recommended technique is now simply:
        out->Quoted( wxString ).c_str()
2011-02-02 09:31:48 -06:00