Compared files  

Left
C:\SDK\wxWidgets-2.6.2\contrib\src\stc\scintilla\src\LexLisp.cxx
Last modified2005-03-21 12:17:54.000 +0100
Size4.7 Kb (183 Lines)
EncodingLatin 1 - ANSI (CP1252) default
Right
C:\SDK\wxWidgets-2.6.3\contrib\src\stc\scintilla\src\LexLisp.cxx
Last modified2006-03-16 13:07:08.000 +0100
Size7.7 Kb (276 Lines)
EncodingLatin 1 - ANSI (CP1252) default


   Comparison Statistics  

Detailed Statistics

All Changes
 BlocksLines
Unchanged16176
Inserted886
Deleted11
Ignored00
Changed620



   Comparison Details  

18 skipped lines
19U19U#include "KeyWords.h"
20U20U#include "Scintilla.h"
21U21U#include "SciLexer.h"
  22A#include "StyleContext.h"
22U23U 
  24A#define SCE_LISP_CHARACTER 29
  25A#define SCE_LISP_MACRO 30
  26A#define SCE_LISP_MACRO_DISPATCH 31
23U27U 
24U28Ustatic inline bool isLispoperator(char ch) {
25U29U    if (isascii(ch) && isalnum(ch))
26U30U        return false;
27C    if (ch == '\'' || ch == '(' || ch == ')' ) 31C    if (ch == '\'' || ch == '`' || ch == '(' || ch == ')' )
28U32U        return true;
29U33U    return false;
30U34U}
4 skipped lines
35U39U}
36U40U 
37U41U 
38Cstatic void classifyWordLisp(unsigned int start, unsigned int end, WordList &keywords, Accessor &styler) { 42Cstatic void classifyWordLisp(unsigned int start, unsigned int end, WordList &keywords, WordList &keywords_kwAccessor &styler) {
39U43U    PLATFORM_ASSERT(end >= start);
40U44U    char s[100];
41U45U    unsigned int i;
9 skipped lines
51U55U    else {
52U56U        if (keywords.InList(s)) {
53U57U        chAttr = SCE_LISP_KEYWORD;
  58A        } else if (keywords_kw.InList(s)) {
  59A        chAttr = SCE_LISP_KEYWORD_KW;
  60A        } else if ((s[0] == '*' && s[i-1] == '*') ||
  61A           (s[0] == '+' && s[i-1] == '+')) {
  62A        chAttr = SCE_LISP_SPECIAL;
54U63U        }
55U64U    }
56U65U    styler.ColourTo(end, chAttr);
5 skipped lines
62U71U                            Accessor &styler) {
63U72U 
64U73U    WordList &keywords = *keywordlists[0];
  74A    WordList &keywords_kw = *keywordlists[1];
65U75U 
66U76U    styler.StartAt(startPos);
67U77U 
68C    int state = initStyle; 78C    int state = initStyle, radix = -1;
69U79U    char chNext = styler[startPos];
70U80U    unsigned int lengthDoc = startPos + length;
71U81U    styler.StartSegment(startPos);
10 skipped lines
82U92U        }
83U93U 
84U94U        if (state == SCE_LISP_DEFAULT) {
  95C        if (ch == '#') {
  96C        styler.ColourTo(i - 1, state);
  97C        radix = -1;
  98C        state = SCE_LISP_MACRO_DISPATCH;
85C        if (isLispwordstart(ch)) { 99C        } else if (isLispwordstart(ch)) {
86U100U        styler.ColourTo(i - 1, state);
87U101U        state = SCE_LISP_IDENTIFIER;
88U102U        }
4 skipped lines
93U107U        else if (isLispoperator(ch) || ch=='\'') {
94U108U        styler.ColourTo(i - 1, state);
95U109U        styler.ColourTo(i, SCE_LISP_OPERATOR);
  110A        if (ch=='\'' && isLispwordstart(chNext)) {
  111A        state = SCE_LISP_SYMBOL;
  112A        }
96U113U        }
97U114U        else if (ch == '\"') {
98U115U        styler.ColourTo(i - 1, state);
99U116U        state = SCE_LISP_STRING;
100U117U        }
101C        } else if (state == SCE_LISP_IDENTIFIER) { 118C        } else if (state == SCE_LISP_IDENTIFIER || state == SCE_LISP_SYMBOL) {
102U119U        if (!isLispwordstart(ch)) {
  120C        if (state == SCE_LISP_IDENTIFIER) {
103C        classifyWordLisp(styler.GetStartSegment(), i - 1, keywords, styler); 121C        classifyWordLisp(styler.GetStartSegment(), i - 1, keywords, keywords_kw, styler);
  122C        } else {
  123C        styler.ColourTo(i - 1, state);
  124C        }
104U125U        state = SCE_LISP_DEFAULT;
105U126U        } /*else*/
106U127U        if (isLispoperator(ch) || ch=='\'') {
107U128U        styler.ColourTo(i - 1, state);
108U129U        styler.ColourTo(i, SCE_LISP_OPERATOR);
  130A        if (ch=='\'' && isLispwordstart(chNext)) {
  131A        state = SCE_LISP_SYMBOL;
  132A        }
  133A        }
  134A        } else if (state == SCE_LISP_MACRO_DISPATCH) {
55 skipped lines
  190A        styler.ColourTo(i - 1, state);
  191A        styler.ColourTo(i, SCE_LISP_OPERATOR);
  192A        if (ch=='\'' && isLispwordstart(chNext)) {
  193A        state = SCE_LISP_SYMBOL;
  194A        }
109U195U        }
110R   
111U196U        } else {
112U197U        if (state == SCE_LISP_COMMENT) {
113U198U        if (atEOL) {
114U199U        styler.ColourTo(i - 1, state);
115U200U        state = SCE_LISP_DEFAULT;
116U201U        }
  202A        } else if (state == SCE_LISP_MULTI_COMMENT) {
  203A        if (ch == '|' && chNext == '#') {
  204A        i++;
  205A        chNext = styler.SafeGetCharAt(i + 1);
  206A        styler.ColourTo(i, state);
  207A        state = SCE_LISP_DEFAULT;
  208A        }
117U209U        } else if (state == SCE_LISP_STRING) {
118U210U        if (ch == '\\') {
119U211U        if (chNext == '\"' || chNext == '\'' || chNext == '\\') {
55 skipped lines
175U267U}
176U268U 
177U269Ustatic const char * const lispWordListDesc[] = {
  270A    "Functions and special operators",
178U271U    "Keywords",
179U272U    0
180U273U};
3 skipped lines

   Text comparison Options  

Match character case: yes.
Match line endings: no.
Match spaces

At start of lines: yes,
In middle of lines: yes,
At end of lines: yes.
Blank lines as empty lines: no.
Activate comparison algorithm
At word level: yes,
At character level: no.


   Legend  

UExample of unchanged line
CExample of modified line
AExample of added line
RExample of removed line
IExample of ignored line
Modified text
Added text
Removed text

This report has been generated by Ellié Computing Merge on 2006-09-07 16:23:38.001 +0200.
© 2005-2006 Ellié Computing http://www.elliecomputing.com. All rights reserved.