Diff
Modified: trunk/Source/WebCore/ChangeLog (164956 => 164957)
--- trunk/Source/WebCore/ChangeLog 2014-03-03 00:30:26 UTC (rev 164956)
+++ trunk/Source/WebCore/ChangeLog 2014-03-03 01:02:36 UTC (rev 164957)
@@ -1,3 +1,27 @@
+2014-03-02 Darin Adler <[email protected]>
+
+ Split TextIteratorBehavior into a separate header
+ https://bugs.webkit.org/show_bug.cgi?id=129578
+
+ Reviewed by Sam Weinig.
+
+ This is in preparation to greatly cut down on includes of TextIterator.h.
+
+ * GNUmakefile.list.am: Added new header.
+ * WebCore.vcxproj/WebCore.vcxproj: Ditto.
+ * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+
+ * editing/FindOptions.h: Changed typedef to unsigned char;
+ there is no reason to store these in a 32-bit integer.
+
+ * editing/TextIterator.h: Added include of TextIteratorBehavior.h
+ and moved comments about the meanings of flag bits to their definition.
+
+ * editing/TextIteratorBehavior.h: Added.
+
+ * WebCore.exp.in: Updated for type changes.
+
2014-03-02 Enrica Casucci <[email protected]>
[iOS WebKit2] Form controls handling
Modified: trunk/Source/WebCore/GNUmakefile.list.am (164956 => 164957)
--- trunk/Source/WebCore/GNUmakefile.list.am 2014-03-03 00:30:26 UTC (rev 164956)
+++ trunk/Source/WebCore/GNUmakefile.list.am 2014-03-03 01:02:36 UTC (rev 164957)
@@ -3158,6 +3158,7 @@
Source/WebCore/editing/TextInsertionBaseCommand.h \
Source/WebCore/editing/TextIterator.cpp \
Source/WebCore/editing/TextIterator.h \
+ Source/WebCore/editing/TextIteratorBehavior.h \
Source/WebCore/editing/TypingCommand.cpp \
Source/WebCore/editing/TypingCommand.h \
Source/WebCore/editing/UndoStep.h \
Modified: trunk/Source/WebCore/WebCore.exp.in (164956 => 164957)
--- trunk/Source/WebCore/WebCore.exp.in 2014-03-03 00:30:26 UTC (rev 164956)
+++ trunk/Source/WebCore/WebCore.exp.in 2014-03-03 01:02:36 UTC (rev 164957)
@@ -237,7 +237,7 @@
__ZN7WebCore12TextIterator29getLocationAndLengthFromRangeEPNS_4NodeEPKNS_5RangeERmS6_
__ZN7WebCore12TextIterator7advanceEv
__ZN7WebCore12TextIterator8subrangeEPNS_5RangeEii
-__ZN7WebCore12TextIteratorC1EPKNS_5RangeENS_20TextIteratorBehaviorE
+__ZN7WebCore12TextIteratorC1EPKNS_5RangeEt
__ZN7WebCore12TextIteratorD1Ev
__ZN7WebCore12UTF8EncodingEv
__ZN7WebCore12UserActivity7startedEv
@@ -1007,20 +1007,20 @@
__ZN7WebCore4Node17stopIgnoringLeaksEv
__ZN7WebCore4Node18startIgnoringLeaksEv
__ZN7WebCore4Node19setNeedsStyleRecalcENS_15StyleChangeTypeE
-__ZN7WebCore4Page10findStringERKN3WTF6StringEj
+__ZN7WebCore4Page10findStringERKN3WTF6StringEh
__ZN7WebCore4Page11PageClientsC1Ev
__ZN7WebCore4Page11PageClientsD1Ev
__ZN7WebCore4Page12setGroupNameERKN3WTF6StringE
__ZN7WebCore4Page12setIsVisibleEb
__ZN7WebCore4Page12setSessionIDENS_9SessionIDE
__ZN7WebCore4Page12setViewStateEj
-__ZN7WebCore4Page13rangeOfStringERKN3WTF6StringEPNS_5RangeEj
+__ZN7WebCore4Page13rangeOfStringERKN3WTF6StringEPNS_5RangeEh
__ZN7WebCore4Page13setIsInWindowEb
__ZN7WebCore4Page13setPaginationERKNS_10PaginationE
__ZN7WebCore4Page14setIsPrerenderEv
__ZN7WebCore4Page14setMediaVolumeEf
__ZN7WebCore4Page15addSchedulePairEN3WTF10PassRefPtrINS1_12SchedulePairEEE
-__ZN7WebCore4Page16countFindMatchesERKN3WTF6StringEjj
+__ZN7WebCore4Page16countFindMatchesERKN3WTF6StringEhj
__ZN7WebCore4Page16setCanStartMediaEb
__ZN7WebCore4Page16setDefersLoadingEb
__ZN7WebCore4Page18removeSchedulePairEN3WTF10PassRefPtrINS1_12SchedulePairEEE
@@ -1029,13 +1029,13 @@
__ZN7WebCore4Page20scrollingCoordinatorEv
__ZN7WebCore4Page20setDeviceScaleFactorEf
__ZN7WebCore4Page20unmarkAllTextMatchesEv
-__ZN7WebCore4Page21markAllMatchesForTextERKN3WTF6StringEjbj
+__ZN7WebCore4Page21markAllMatchesForTextERKN3WTF6StringEhbj
__ZN7WebCore4Page21resumeAnimatingImagesEv
__ZN7WebCore4Page22nonFastScrollableRectsEPKNS_5FrameE
__ZN7WebCore4Page22removeLayoutMilestonesEj
__ZN7WebCore4Page23clearUndoRedoOperationsEv
__ZN7WebCore4Page23invalidateStylesForLinkEy
-__ZN7WebCore4Page24findStringMatchingRangesERKN3WTF6StringEjiPNS1_6VectorINS1_6RefPtrINS_5RangeEEELm0ENS1_15CrashOnOverflowEEERi
+__ZN7WebCore4Page24findStringMatchingRangesERKN3WTF6StringEhiPNS1_6VectorINS1_6RefPtrINS_5RangeEEELm0ENS1_15CrashOnOverflowEEERi
__ZN7WebCore4Page24resumeScriptedAnimationsEv
__ZN7WebCore4Page24scrollingStateTreeAsTextEv
__ZN7WebCore4Page25suspendScriptedAnimationsEv
@@ -1098,7 +1098,7 @@
__ZN7WebCore6Chrome16setStatusbarTextEPNS_5FrameERKN3WTF6StringE
__ZN7WebCore6Chrome5printEPNS_5FrameE
__ZN7WebCore6Editor10applyStyleEPNS_15StylePropertiesENS_10EditActionE
-__ZN7WebCore6Editor10findStringERKN3WTF6StringEj
+__ZN7WebCore6Editor10findStringERKN3WTF6StringEh
__ZN7WebCore6Editor10insertTextERKN3WTF6StringEPNS_5EventE
__ZN7WebCore6Editor13performDeleteEv
__ZN7WebCore6Editor13rangeForPointERKNS_8IntPointE
@@ -1111,7 +1111,7 @@
__ZN7WebCore6Editor18confirmCompositionERKN3WTF6StringE
__ZN7WebCore6Editor18confirmCompositionEv
__ZN7WebCore6Editor18insertDictatedTextERKN3WTF6StringERKNS1_6VectorINS_20DictationAlternativeELm0ENS1_15CrashOnOverflowEEEPNS_5EventE
-__ZN7WebCore6Editor19countMatchesForTextERKN3WTF6StringEPNS_5RangeEjjbPNS1_6VectorINS1_6RefPtrIS5_EELm0ENS1_15CrashOnOverflowEEE
+__ZN7WebCore6Editor19countMatchesForTextERKN3WTF6StringEPNS_5RangeEhjbPNS1_6VectorINS1_6RefPtrIS5_EELm0ENS1_15CrashOnOverflowEEE
__ZN7WebCore6Editor19deleteWithDirectionENS_18SelectionDirectionENS_15TextGranularityEbb
__ZN7WebCore6Editor19insertUnorderedListEv
__ZN7WebCore6Editor21applyStyleToSelectionEPNS_15StylePropertiesENS_10EditActionE
@@ -1431,7 +1431,7 @@
__ZN7WebCore9fontCacheEv
__ZN7WebCore9makeRangeERKNS_15VisiblePositionES2_
__ZN7WebCore9pageCacheEv
-__ZN7WebCore9plainTextEPKNS_5RangeENS_20TextIteratorBehaviorEb
+__ZN7WebCore9plainTextEPKNS_5RangeEtb
__ZN7WebCore9toElementEN3JSC7JSValueE
__ZN7WebCore9unionRectERKN3WTF6VectorINS_9FloatRectELm0ENS0_15CrashOnOverflowEEE
__ZNK3JSC8Bindings10RootObject12globalObjectEv
Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (164956 => 164957)
--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj 2014-03-03 00:30:26 UTC (rev 164956)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj 2014-03-03 01:02:36 UTC (rev 164957)
@@ -20172,6 +20172,7 @@
<ClInclude Include="..\editing\TextGranularity.h" />
<ClInclude Include="..\editing\TextInsertionBaseCommand.h" />
<ClInclude Include="..\editing\TextIterator.h" />
+ <ClInclude Include="..\editing\TextIteratorBehavior.h" />
<ClInclude Include="..\editing\TypingCommand.h" />
<ClInclude Include="..\editing\UndoStep.h" />
<ClInclude Include="..\editing\UnlinkCommand.h" />
Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (164956 => 164957)
--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters 2014-03-03 00:30:26 UTC (rev 164956)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters 2014-03-03 01:02:36 UTC (rev 164957)
@@ -10565,6 +10565,9 @@
<ClInclude Include="..\editing\TextIterator.h">
<Filter>editing</Filter>
</ClInclude>
+ <ClInclude Include="..\editing\TextIteratorBehavior.h">
+ <Filter>editing</Filter>
+ </ClInclude>
<ClInclude Include="..\editing\TypingCommand.h">
<Filter>editing</Filter>
</ClInclude>
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (164956 => 164957)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2014-03-03 00:30:26 UTC (rev 164956)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2014-03-03 01:02:36 UTC (rev 164957)
@@ -3152,6 +3152,7 @@
9391A991162746CB00297330 /* ScrollingCoordinatorMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 9391A990162746CB00297330 /* ScrollingCoordinatorMac.h */; };
9391A99C1629D70000297330 /* ScrollingTreeScrollingNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9391A99A1629D6FF00297330 /* ScrollingTreeScrollingNode.cpp */; };
9391A99D1629D70000297330 /* ScrollingTreeScrollingNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 9391A99B1629D70000297330 /* ScrollingTreeScrollingNode.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 9392146918A6D791000EE688 /* TextIteratorBehavior.h in Headers */ = {isa = PBXBuildFile; fileRef = 9392146818A6D791000EE688 /* TextIteratorBehavior.h */; settings = {ATTRIBUTES = (Private, ); }; };
9392262D1032107B006E7D5D /* JSHTMLCanvasElementCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9392262C1032107B006E7D5D /* JSHTMLCanvasElementCustom.cpp */; };
9392262F10321084006E7D5D /* JSCSSRuleListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9392262E10321084006E7D5D /* JSCSSRuleListCustom.cpp */; };
9392F1420AD185F400691BD4 /* RenderCounter.h in Headers */ = {isa = PBXBuildFile; fileRef = 9392F1410AD185F400691BD4 /* RenderCounter.h */; };
@@ -10088,6 +10089,7 @@
9391A990162746CB00297330 /* ScrollingCoordinatorMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollingCoordinatorMac.h; sourceTree = "<group>"; };
9391A99A1629D6FF00297330 /* ScrollingTreeScrollingNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScrollingTreeScrollingNode.cpp; sourceTree = "<group>"; };
9391A99B1629D70000297330 /* ScrollingTreeScrollingNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollingTreeScrollingNode.h; sourceTree = "<group>"; };
+ 9392146818A6D791000EE688 /* TextIteratorBehavior.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextIteratorBehavior.h; sourceTree = "<group>"; };
9392262C1032107B006E7D5D /* JSHTMLCanvasElementCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLCanvasElementCustom.cpp; sourceTree = "<group>"; };
9392262E10321084006E7D5D /* JSCSSRuleListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSRuleListCustom.cpp; sourceTree = "<group>"; };
9392F1410AD185F400691BD4 /* RenderCounter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RenderCounter.h; sourceTree = "<group>"; };
@@ -16980,6 +16982,7 @@
CECADFCC1537791D00E37068 /* TextInsertionBaseCommand.h */,
93309DCC099E64910056E581 /* TextIterator.cpp */,
93309DCD099E64910056E581 /* TextIterator.h */,
+ 9392146818A6D791000EE688 /* TextIteratorBehavior.h */,
93309DCA099E64910056E581 /* TypingCommand.cpp */,
93309DCB099E64910056E581 /* TypingCommand.h */,
9B2D8A7814997CCF00ECEF3E /* UndoStep.h */,
@@ -23553,6 +23556,7 @@
FD31609512B026F700C1A359 /* FFTConvolver.h in Headers */,
FD31609712B026F700C1A359 /* FFTFrame.h in Headers */,
976D6C81122B8A3D001FD1F7 /* File.h in Headers */,
+ 9392146918A6D791000EE688 /* TextIteratorBehavior.h in Headers */,
066C772B0AB603B700238CC4 /* FileChooser.h in Headers */,
976D6C83122B8A3D001FD1F7 /* FileError.h in Headers */,
2EDF369F122C94C8002F7D4E /* FileException.h in Headers */,
Modified: trunk/Source/WebCore/editing/FindOptions.h (164956 => 164957)
--- trunk/Source/WebCore/editing/FindOptions.h 2014-03-03 00:30:26 UTC (rev 164956)
+++ trunk/Source/WebCore/editing/FindOptions.h 2014-03-03 01:02:36 UTC (rev 164957)
@@ -39,7 +39,7 @@
StartInSelection = 1 << 5
};
-typedef unsigned FindOptions;
+typedef unsigned char FindOptions;
} // namespace WebCore
Modified: trunk/Source/WebCore/editing/TextIterator.h (164956 => 164957)
--- trunk/Source/WebCore/editing/TextIterator.h 2014-03-03 00:30:26 UTC (rev 164956)
+++ trunk/Source/WebCore/editing/TextIterator.h 2014-03-03 01:02:36 UTC (rev 164957)
@@ -28,6 +28,7 @@
#include "FindOptions.h"
#include "Range.h"
+#include "TextIteratorBehavior.h"
#include <wtf/Vector.h>
#include <wtf/text/StringView.h>
@@ -37,19 +38,6 @@
class RenderText;
class RenderTextFragment;
-enum TextIteratorBehavior {
- TextIteratorDefaultBehavior = 0,
- TextIteratorEmitsCharactersBetweenAllVisiblePositions = 1 << 0,
- TextIteratorEntersTextControls = 1 << 1,
- TextIteratorEmitsTextsWithoutTranscoding = 1 << 2,
- TextIteratorIgnoresStyleVisibility = 1 << 3,
- TextIteratorEmitsObjectReplacementCharacters = 1 << 4,
- TextIteratorEmitsOriginalText = 1 << 5,
- TextIteratorStopsOnFormControls = 1 << 6,
- TextIteratorEmitsImageAltText = 1 << 7,
- TextIteratorBehavesAsIfNodesFollowing = 1 << 8,
-};
-
// FIXME: Can't really answer this question correctly without knowing the white-space mode.
// FIXME: Move this somewhere else in the editing directory. It doesn't belong here.
inline bool isCollapsibleWhitespace(UChar c)
@@ -63,8 +51,10 @@
}
}
-String plainText(const Range*, TextIteratorBehavior defaultBehavior = TextIteratorDefaultBehavior, bool isDisplayString = false);
+String plainText(const Range*, TextIteratorBehavior = TextIteratorDefaultBehavior, bool isDisplayString = false);
PassRefPtr<Range> findPlainText(const Range*, const String&, FindOptions);
+
+// FIXME: Move this somewhere else in the editing directory. It doesn't belong here.
bool isRendererReplacedElement(RenderObject*);
class BitStack {
@@ -176,25 +166,18 @@
// Used when deciding whether to emit a "positioning" (e.g. newline) before any other content
bool m_hasEmitted;
- // Used by selection preservation code. There should be one character emitted between every VisiblePosition
- // in the Range used to create the TextIterator.
- // FIXME <rdar://problem/6028818>: This functionality should eventually be phased out when we rewrite
- // moveParagraphs to not clone/destroy moved content.
bool m_emitsCharactersBetweenAllVisiblePositions;
bool m_entersTextControls;
-
- // Used when we want texts for copying, pasting, and transposing.
bool m_emitsTextWithoutTranscoding;
- // Used in pasting inside password field.
bool m_emitsOriginalText;
+
// Used when deciding text fragment created by :first-letter should be looked into.
bool m_handledFirstLetter;
- // Used when the visibility of the style should not affect text gathering.
+
bool m_ignoresStyleVisibility;
- // Used when emitting the special 0xFFFC character is required. Children for replaced objects will be ignored.
bool m_emitsObjectReplacementCharacters;
- // Used when the iteration should stop if form controls are reached.
bool m_stopsOnFormControls;
+
// Used when m_stopsOnFormControls is set to determine if the iterator should keep advancing.
bool m_shouldStop;
@@ -318,8 +301,8 @@
SimplifiedBackwardsTextIterator m_textIterator;
};
-// Very similar to the TextIterator, except that the chunks of text returned are "well behaved",
-// meaning they never end split up a word. This is useful for spellcheck or (perhaps one day) searching.
+// Very similar to the TextIterator, except that the chunks of text returned are "well behaved", meaning
+// they never split up a word. This is useful for spell checking and perhaps one day for searching as well.
class WordAwareIterator {
public:
explicit WordAwareIterator(const Range*);
Added: trunk/Source/WebCore/editing/TextIteratorBehavior.h (0 => 164957)
--- trunk/Source/WebCore/editing/TextIteratorBehavior.h (rev 0)
+++ trunk/Source/WebCore/editing/TextIteratorBehavior.h 2014-03-03 01:02:36 UTC (rev 164957)
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2004, 2006, 2009, 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef TextIteratorBehavior_h
+#define TextIteratorBehavior_h
+
+namespace WebCore {
+
+enum TextIteratorBehaviorFlag {
+ TextIteratorDefaultBehavior = 0,
+
+ // Used by selection preservation code. There should be one character emitted between every VisiblePosition
+ // in the Range used to create the TextIterator.
+ // FIXME <rdar://problem/6028818>: This functionality should eventually be phased out when we rewrite
+ // moveParagraphs to not clone/destroy moved content.
+ TextIteratorEmitsCharactersBetweenAllVisiblePositions = 1 << 0,
+
+ TextIteratorEntersTextControls = 1 << 1,
+
+ // Used when we want text for copying, pasting, and transposing.
+ TextIteratorEmitsTextsWithoutTranscoding = 1 << 2,
+
+ // Used when the visibility of the style should not affect text gathering.
+ TextIteratorIgnoresStyleVisibility = 1 << 3,
+
+ // Used when emitting the special 0xFFFC character is required. Children for replaced objects will be ignored.
+ TextIteratorEmitsObjectReplacementCharacters = 1 << 4,
+
+ // Used when pasting inside password field.
+ TextIteratorEmitsOriginalText = 1 << 5,
+
+ TextIteratorStopsOnFormControls = 1 << 6,
+
+ TextIteratorEmitsImageAltText = 1 << 7,
+
+ TextIteratorBehavesAsIfNodesFollowing = 1 << 8,
+};
+
+typedef unsigned short TextIteratorBehavior;
+
+}
+
+#endif
Modified: trunk/Tools/ChangeLog (164956 => 164957)
--- trunk/Tools/ChangeLog 2014-03-03 00:30:26 UTC (rev 164956)
+++ trunk/Tools/ChangeLog 2014-03-03 01:02:36 UTC (rev 164957)
@@ -1,5 +1,16 @@
2014-03-02 Darin Adler <[email protected]>
+ Split TextIteratorBehavior into a separate header
+ https://bugs.webkit.org/show_bug.cgi?id=129578
+
+ Reviewed by Sam Weinig.
+
+ * Scripts/sort-export-file: Added special cases to the script so you can just paste link errors
+ from WebKit in and the script will add them in as unconditional exports. This makes the "add"
+ task easy, but the remove is still a bit of a pain.
+
+2014-03-02 Darin Adler <[email protected]>
+
Sort Mac platform export files so they merge better
https://bugs.webkit.org/show_bug.cgi?id=129581
Modified: trunk/Tools/Scripts/sort-export-file (164956 => 164957)
--- trunk/Tools/Scripts/sort-export-file 2014-03-03 00:30:26 UTC (rev 164956)
+++ trunk/Tools/Scripts/sort-export-file 2014-03-03 01:02:36 UTC (rev 164957)
@@ -118,6 +118,13 @@
addSymbol($1);
next;
}
+ if ($line =~ /^ \"(\.?[A-Za-z0-9_\?]+)\", referenced from:$/) { # For easy paste from build errors
+ addSymbol($1);
+ next;
+ }
+ if ($line =~ /^ .+ in .+\.o$/) { # For easy paste from build errors
+ next;
+ }
chomp $line;
sawError("Could not parse: \"$line\"");
}