Files
help/source/text/sbasic/shared/03090303.xhp
Caolán McNamara 5f7e3ad041 Recover lost basic in help indentation
regression from...

commit 6614bedceadcc07ec082c5e926107f27903bda5c
Date:   Mon Jan 25 20:07:10 2016 +0100

    fix validation errors by round-trip through helpauthoring extension

with git show 6614bedceadcc07ec082c5e926107f27903bda5c | ~/recoverindent.py

import fileinput
import re
import sys

added = []
removed = []
filename = ""

def processlastfile(filename, added, removed):
    if len(added) != len(removed):
        print "BROKEN"
        sys.exit(-2)
    if len(removed):
        f = open(filename, "rw")
        linestring = open(filename, "r").read()
        start = 0
        for x in range(0, len(added)):
            if added[x] == removed[x]:
                continue
            if added[x].strip() != removed[x].strip():
                print "BROKEN"
                sys.exit(-2)
            if filename == "source/text/sbasic/shared/03080301.xhp" and x == 6:
                print "skipping special hunk", removed[x], "in source/text/sbasic/shared/03080301.xhp"
            else:
                start = linestring.find(added[x], start)
                if start == -1:
                    print "BROKEN"
                    sys.exit(-2)
                linestring = linestring[0:start] + removed[x] + linestring[start + len(added[x]):]
            start = start + len(removed[x])
        open(filename, "w").write(linestring)

for line in fileinput.input():
    if line.startswith("--- a/"):
        if filename is not "":
            processlastfile(filename, added, removed)
        added = []
        removed = []
        filename = line[6:-1]
    elif "role=\"bascode\"" in line:
        m = re.search('>(.+?)<', line)
        code = m.group(1)
        if line.startswith("-"):
            removed.append(code)
        else:
            added.append(code)

processlastfile(filename, added, removed)

which puts the code back the way it was, except for one string
which had changed and was fixed manually afterwards

Change-Id: Ic67abf36bb5d27be58a51ebbf5022830f56dcb37
2016-06-16 15:45:53 +01:00

77 lines
5.1 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<helpdocument version="1.0">
<!--
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
-->
<meta>
<topic id="textsbasicshared03090303xml" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">On...GoSub Statement; On...GoTo Statement [Runtime]</title>
<filename>/text/sbasic/shared/03090303.xhp</filename>
</topic>
</meta>
<body>
<section id="ongosub">
<bookmark xml-lang="en-US" branch="index" id="bm_id3153897">
<bookmark_value>On...GoSub statement</bookmark_value>
<bookmark_value>On...GoTo statement</bookmark_value>
</bookmark>
<paragraph id="hd_id3153897" role="heading" level="1" xml-lang="en-US"><link href="text/sbasic/shared/03090303.xhp" name="On...GoSub Statement; On...GoTo Statement [Runtime]">On...GoSub Statement; On...GoTo Statement [Runtime]</link></paragraph>
<paragraph id="par_id3150359" role="paragraph" xml-lang="en-US">Branches to one of several specified lines in the program code, depending on the value of a numeric expression.</paragraph>
</section>
<paragraph id="hd_id3148798" role="heading" level="2" xml-lang="en-US">Syntax:</paragraph>
<bascode>
<paragraph id="par_id3154366" role="bascode" xml-lang="en-US">On N GoSub Label1[, Label2[, Label3[,...]]]</paragraph>
<paragraph id="par_id3150769" role="bascode" xml-lang="en-US">On NumExpression GoTo Label1[, Label2[, Label3[,...]]]</paragraph>
</bascode>
<paragraph id="hd_id3156215" role="heading" level="2" xml-lang="en-US">Parameters:</paragraph>
<paragraph id="par_id3148673" role="paragraph" xml-lang="en-US"> <emph>NumExpression:</emph> Any numeric expression between 0 and 255 that determines which of the lines the program branches to. If NumExpression is 0, the statement is not executed. If NumExpression is greater than 0, the program jumps to the label that has a position number that corresponds to the expression (1 = First label; 2 = Second label)</paragraph>
<paragraph id="par_id3153194" role="paragraph" xml-lang="en-US"> <emph>Label:</emph> Target line according to<emph> GoTo </emph>or <emph>GoSub</emph> structure.</paragraph>
<paragraph id="par_id3156442" role="note" xml-lang="en-US">The <emph>GoTo</emph> or <emph>GoSub </emph>conventions are valid.</paragraph>
<paragraph id="hd_id3148645" role="heading" level="2" xml-lang="en-US">Example:</paragraph>
<bascode>
<paragraph id="par_idm1341610144" role="bascode" localize="false" xml-lang="en-US">Sub ExampleOnGosub</paragraph>
<paragraph id="par_idm1341608912" role="bascode" localize="false" xml-lang="en-US">Dim iVar As Integer</paragraph>
<paragraph id="par_idm1341607680" role="bascode" localize="false" xml-lang="en-US">Dim sVar As String</paragraph>
<paragraph id="par_idm1341606448" role="bascode" localize="false" xml-lang="en-US"> iVar = 2</paragraph>
<paragraph id="par_idm1341605216" role="bascode" localize="false" xml-lang="en-US"> sVar =""</paragraph>
<paragraph id="par_idm1341603984" role="bascode" localize="false" xml-lang="en-US"> On iVar GoSub Sub1, Sub2</paragraph>
<paragraph id="par_idm1341602736" role="bascode" localize="false" xml-lang="en-US"> On iVar GoTo Line1, Line2</paragraph>
<paragraph id="par_idm1341601488" role="bascode" localize="false" xml-lang="en-US"> Exit Sub</paragraph>
<paragraph id="par_idm1341600256" role="bascode" localize="false" xml-lang="en-US">Sub1:</paragraph>
<paragraph id="par_id3153948" role="bascode" xml-lang="en-US"> sVar =sVar &amp; " From Sub 1 to" : Return</paragraph>
<paragraph id="par_idm1341597216" role="bascode" localize="false" xml-lang="en-US">Sub2:</paragraph>
<paragraph id="par_id3153708" role="bascode" xml-lang="en-US"> sVar =sVar &amp; " From Sub 2 to" : Return</paragraph>
<paragraph id="par_idm1341594128" role="bascode" localize="false" xml-lang="en-US">Line1:</paragraph>
<paragraph id="par_id3150321" role="bascode" xml-lang="en-US"> sVar =sVar &amp; " Label 1" : GoTo Ende</paragraph>
<paragraph id="par_idm1341591088" role="bascode" localize="false" xml-lang="en-US">Line2:</paragraph>
<paragraph id="par_id3155764" role="bascode" xml-lang="en-US"> sVar =sVar &amp; " Label 2"</paragraph>
<paragraph id="par_idm1341588128" role="bascode" localize="false" xml-lang="en-US">Ende:</paragraph>
<paragraph id="par_idm1341586896" role="bascode" localize="false" xml-lang="en-US"> MsgBox sVar,0,"On...GoSub"</paragraph>
<paragraph id="par_idm1341585648" role="bascode" localize="false" xml-lang="en-US">End Sub</paragraph>
</bascode>
</body>
</helpdocument>