/salhelper/

stro/allotropia/zeta-7-4'>distro/allotropia/zeta-7-4 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/librelogo
AgeCommit message (Collapse)Author
2018-11-08Adapt LibreLogo.py to Python 3.7 re.sub changeStephan Bergmann
In a build using the system Python during build (i.e., not using --enable-python=fully-internal) on Fedora 29 (where /usr/bin/python3 is 3.7.1), UITest_librelogo failed with > ====================================================================== > FAIL: test_compile_librelogo (compile.LibreLogoCompileTest) > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "/data/sbergman/lo-system/core/sw/qa/uitest/librelogo/compile.py", line 128, in test_compile_librelogo > self.assertEqual(test[1], re.sub(r'(\n| +\n)+', '\n', re.sub(r'\( ', '(', compiled)).strip()) > AssertionError: 'glob[52 chars]_#\n label(_y + _z)\n #_@L_i_N_e@_#\n#_@L_i_N_e@_#\nx(25, 26)' != 'glob[52 chars]_#\n label(_y + _z)\n #_@L_i_N_e@_#\n#_@L_i_N_e@_#\nx(25, ,26)' > global x > def x(_y, _z): > __checkhalt__() > #_@L_i_N_e@_# > label(_y + _z) > #_@L_i_N_e@_# > #_@L_i_N_e@_# > - x(25, 26)+ x(25, ,26)? + > > > ---------------------------------------------------------------------- due to an upstream Python change discussed at <https://bugs.python.org/issue34982#msg329418> "re.sub() different behavior in 3.7". I am not sure that upstream change really makes sense, despite that being explicitly confirmed in <https://bugs.python.org/issue34982#msg329420>. But lets tweak our code to adapt to that anyway. (There may be further places in LibreLogo.py that would need similar changes; I just fixed enough to make UITest_librelogo succeed for me.) Change-Id: I6c8f4b78f63953d582b88037fa56388b50af2b54 Reviewed-on: https://gerrit.libreoffice.org/63038 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-11-06Removed not-used variableAndrea Gelmini
Not sure about this, but just to catch the eye of the pro. Git blame says 2012, so maybe it's really no more used Change-Id: I737f3a1b2803f6ce98cb461350db18d06e0bf981 Reviewed-on: https://gerrit.libreoffice.org/62910 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: László Németh <nemeth@numbertext.org>
2018-11-06LibreLogo: function calls and definitions can be in any orderLászló Németh
with Logo syntax, too. Mutual recursion, for example drawing dragon curve (see in the unit test of the commit) doesn't need Python syntax any more to call the function before its definition. Change-Id: I93426a8c5be394fb4f1203e0490f7fa8d8491597 Reviewed-on: https://gerrit.libreoffice.org/62926 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2018-11-05Fix typoAndrea Gelmini
Change-Id: I9508839d67e5723db5f9155560fdaef333a689f8 Reviewed-on: https://gerrit.libreoffice.org/62911 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2018-11-05tdf#120413 LibreLogo: handle complex Logo expressionsLászló Németh
Instead of the incomplete heuristic parenthesis expansion, now expressions with Logo functions and with own procedures are parsed completely, solving several issues with complex Logo expressions. For example, now functions with more than 1 argument don't need explicit parenthesization. NOTE: to handle both Logo and Python syntaxes of function calls, we differentiate the forms "f(x)" and "f (x)". The second form is handled as Logo syntax, not the Python one: f x*2 y z -> f(x*2, y, z) f(x*2, x, z) -> f(x*2, y, z) f (x*2) y z -> f((x*2), y, z) so if you want to avoid of the following expansion: sin 45 + cos 45 -> sin(45 + cos(45)) it's possible to use the following parenthesizations: sin(45) + cos 45 -> sin(45) + cos(45) (sin 45) + cos 45 -> (sin(45)) + cos(45) but not sin (45) + cos 45 -> sin((45) + cos(45)) Change-Id: Ib0602b47b8b678a352313f471599d44d6904ce17 Reviewed-on: https://gerrit.libreoffice.org/62901 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2018-11-05LibreLogo: stop program immediately at pressing CancelLászló Németh
button of the inputbox or messagebox dialog window, instead of waiting for the next __checkhalt__() in a loop. Change-Id: I1366ad06152e70321a21e78a626f7a89eb5a7ea0 Reviewed-on: https://gerrit.libreoffice.org/62900 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2018-10-26LibreLogo: support backslash escape sequence for apostrophesLászló Németh
(ASCII and typographical) and for enclosing quotes of string literals. Change-Id: I3caf3b707afa1fb41ba3afe9ff12ebce7ce63847 Reviewed-on: https://gerrit.libreoffice.org/62384 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2018-10-26LibreLogo: add unit tests for program compilationLászló Németh
from LibreLogo to Python Change-Id: I39df100a13efe3573b33cb856701cbeb0d95954d Reviewed-on: https://gerrit.libreoffice.org/62364 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2018-10-25LibreLogo: add unit testsLászló Németh
for program running and command name expansion, and for following fixes: tdf#106792: regression in line length and continuous line drawing tdf#100941: line breaking by "magic wand" tdf#120422: program lines are different paragraphs by "magic wand" Also add function __is_alive__() to LibreLogo.py to check LibreLogo program termination via XScript API. Change-Id: If884b3fd608a6e8077be853eb2dd17fbdfff2011 Reviewed-on: https://gerrit.libreoffice.org/62263 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2018-10-10tdf#120422 LibreLogo: fix page and line formatting of "magic wand"László Németh
Format program lines as paragraphs, instead of a single paragraph with line breaks: - basic debug feature "jump to the bad line" works after formatting - fix 2-page editing area: page break before the LibreLogo program Now formatting of program lines doesn't depend on the actual regular expression setting of Search & Replace functionality of Writer, so this is the intended fix for tdf#100941 "LibreLogo: 'magic wand' icon inserts incorrect '\n' characters instead of paragraph breaks". NOTE: setting also AlgorithmType, not only AlgorithmType2 prevents crashing of LibreOffice at opening Search & Replace dialog after usage of the "magic wand" icon. partial revert of the commit b1a6d157683b8182089ed5854179c8da8c416304 Resolves: tdf#100941 LibreLogo: replace literal '\n' with newline Change-Id: I34f581278fdae8d41967800d05662e37b731b59d Reviewed-on: https://gerrit.libreoffice.org/61610 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: László Németh <nemeth@numbertext.org>
2018-09-30LibreLogo: fix regression of line drawingLászló Németh
related to measurement changes, for example we got only 5.7 cm long line for "FORWARD 10cm", because the processed value measured in 0.0100 mm instead of the correct twips (pt/20 ~ 0.0176mm). Note: only the line drawing was shorter, the turtle path didn't change, so the turle could draw only dashed line for multiple FORWARD or BACK, instead of a continuous one. regression from commit 36bade04d3780bc54c51b46bb0b63e69789658a5 tdf106792 Get rid of SvxShapePolyPolygonBezier Change-Id: I16d75dbdadef5af9c545abc86575490559b3d54c Reviewed-on: https://gerrit.libreoffice.org/61145 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2017-11-05tdf#113592 LibreLogo: add fallback localization to fix platform issuesLászló Németh
Update: python3 LibreLogo.py LibreLogo*.properties Change-Id: Ib631f53b47f1f00b14338534cc82d94f33c48233 Reviewed-on: https://gerrit.libreoffice.org/44203 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Andras Timar <andras.timar@collabora.com>