Eskil

Check-in [f12cf43385]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Added -printpdf command line option.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: f12cf433850dbfb97ebea4c92a2ed8b545939fce
User & Date: peter 2007-09-25 18:47:50.000
Context
2007-09-25
18:51
Unified revision parsing to system specific ParseRevs routines. check-in: b897829480 user: peter tags: trunk
18:47
Added -printpdf command line option. check-in: f12cf43385 user: peter tags: trunk
18:31
Always show at least one field in preprocess window. check-in: 2b71b88b54 user: peter tags: trunk
Changes
Side-by-Side Diff Ignore Whitespace Patch
Changes to src/eskil.tcl.
1255
1256
1257
1258
1259
1260
1261

1262




1263
1264
1265
1266
1267
1268
1269
1255
1256
1257
1258
1259
1260
1261
1262

1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273







+
-
+
+
+
+







    cleanupFiles $top
    if {$::diff($top,mode) eq "conflict"} {
        if {$::widgets($top,eqLabel) != "="} {
            makeMergeWin $top
        }
    }
    if {$::diff($top,printFile) != ""} {
        if {$::diff($top,printMode) eq "PS"} {
        after idle "doPrint $top 1 ; cleanupAndExit all"
            after idle "doPrint $top 1 ; cleanupAndExit all"
        } else {
            after idle "doPrint2 $top 1 ; cleanupAndExit all"
        }
    }
}

# This is the entrypoint to do a diff via DDE or Send
proc remoteDiff {file1 file2} {
    newDiff $file1 $file2
}
2315
2316
2317
2318
2319
2320
2321

2322
2323
2324
2325
2326
2327
2328
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333







+








# Fill in default data for a diff window
proc initDiffData {top} {
    set ::diff($top,leftOK) 0
    set ::diff($top,rightOK) 0
    set ::diff($top,mode) ""
    set ::diff($top,printFile) ""
    set ::diff($top,printMode) "PS"
    set ::diff($top,mergeFile) ""
    set ::diff($top,conflictFile) ""
    set ::diff($top,limitlines) 0
}

# Create a new diff window and diff two files
proc newDiff {file1 file2 {range {}}} {
3161
3162
3163
3164
3165
3166
3167
3168


3169
3170
3171
3172
3173
3174
3175
3166
3167
3168
3169
3170
3171
3172

3173
3174
3175
3176
3177
3178
3179
3180
3181







-
+
+







  -conflict   : Treat file as a merge conflict file and enter merge
                mode.
  -o <file>   : Specify merge result output file.

  -browse     : Automatically bring up file dialog after starting.
  -server     : Set up Eskil to be controllable from the outside.

  -print <file> : Generate postscript and exit.
  -printps <file>  : Generate postscript and exit.
  -printpdf <file> : Generate pdf and exit.

  -limit <lines> : Do not process more than <lines> lines.

To list all options matching a prefix, run 'eskil --query prefix'.
In tcsh use this line to get option completion:
complete eskil 'C/-/`eskil --query -`/'}
}
3186
3187
3188
3189
3190
3191
3192
3193


3194
3195
3196
3197
3198
3199
3200
3192
3193
3194
3195
3196
3197
3198

3199
3200
3201
3202
3203
3204
3205
3206
3207







-
+
+







        makeDiffWin
        return
    }
    
    set allOpts {
        -w --help -help -b -noignore -i -nocase -nodigit -nokeyword -prefix
        -noparse -line -smallblock -block -char -word -limit -nodiff -dir
        -clip -patch -browse -conflict -print -server -o -r -context
        -clip -patch -browse -conflict -print -printps -printpdf
        -server -o -r -context
        -foreach -preprocess -close -nonewline
    }

    # If the first option is "--query", use it to ask about options.
    if {$::eskil(argc) == 2 && [lindex $::eskil(argv) 0] == "--query"} {
        set arg [lindex $::eskil(argv) 1]
        if {[lsearch -exact $allOpts $arg] < 0} {
3321
3322
3323
3324
3325
3326
3327
3328

3329



3330
3331
3332
3333
3334
3335
3336
3328
3329
3330
3331
3332
3333
3334

3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346







-
+

+
+
+







            set ::eskil(ignorenewline) 1
        } elseif {$arg eq "-nonewline+"} {
            set ::eskil(ignorenewline) 2
        } elseif {$arg eq "-close"} {
            set ::eskil(autoclose) 1
        } elseif {$arg eq "-conflict"} {
            set opts(mode) "conflict"
        } elseif {$arg eq "-print"} {
        } elseif {$arg eq "-print" || $arg eq "-printps"} {
            set nextArg printFile
        } elseif {$arg eq "-printpdf"} {
            set nextArg printFile
            set opts(printMode) "PDF"
        } elseif {$arg eq "-server"} {
            if {$::tcl_platform(platform) eq "windows"} {
                catch {
                    package require dde
                    dde servername Eskil
                }
            } else {