Bug 11944 fixed: In SciNotes, untabify several lines did not work correctly. 23/10723/2
Calixte DENIZET [Thu, 7 Mar 2013 10:33:03 +0000 (11:33 +0100)]
Change-Id: I946bac88da00513bb623e458cb7a1380d3931e91

scilab/CHANGES_5.4.X
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/TabManager.java

index 8e323ff..0c0d6fd 100644 (file)
@@ -314,6 +314,8 @@ Bug fixes
 * Bug #11941 fixed - show_margins() failed in 'nyquist' mode if the system is
                      in state-space form.
 
+* Bug #11944 fixed - In SciNotes, untabify several lines did not work correctly.
+
 * Bug #11952 fixed - In SciNotes, a Java exception occured on selection of text
                     containing a \E.
 
index 8006444..1f92a37 100644 (file)
@@ -80,6 +80,19 @@ public class TabManager {
         }
     }
 
+    public String getBasicTabulationString() {
+        if (tab.equals(" ")) {
+            char[] str = new char[lengthTab];
+            for (int i = 0; i < lengthTab; i++) {
+                str[i] = ' ';
+            }
+
+            return new String(str);
+        } else {
+            return tab;
+        }
+    }
+
     /**
      * Set the type and the size of a tabulation
      * @param tabulation a Tabulation
@@ -220,7 +233,7 @@ public class TabManager {
 
         try {
             String str = doc.getText(sstart, end - sstart + 1);
-            String untab = EOL + tab;
+            String untab = EOL + getBasicTabulationString();
             str = str.replaceAll(untab, EOL);
             IndentScanner iscan = indent.getIndentScanner();
             int n = iscan.getTabsAtBeginning(elem.getElementIndex(sstart));