Revision: 2569
          http://skim-app.svn.sourceforge.net/skim-app/?rev=2569&view=rev
Author:   hofman
Date:     2007-07-27 04:01:20 -0700 (Fri, 27 Jul 2007)

Log Message:
-----------
Adjust range to search for multiple occurrences of %file and %line placeholder 
in pdfsync editor arguments.

Modified Paths:
--------------
    trunk/SKDocument.m

Modified: trunk/SKDocument.m
===================================================================
--- trunk/SKDocument.m  2007-07-27 10:07:55 UTC (rev 2568)
+++ trunk/SKDocument.m  2007-07-27 11:01:20 UTC (rev 2569)
@@ -906,8 +906,11 @@
             if (range.location == NSNotFound)
                 break;
             nextChar = NSMaxRange(range) < [cmdString length] ? [cmdString 
characterAtIndex:NSMaxRange(range)] : 0;
-            if ([[NSCharacterSet letterCharacterSet] 
characterIsMember:nextChar] == NO)
-                [cmdString replaceCharactersInRange:range withString:[NSString 
stringWithFormat:@"%d", line]];
+            if ([[NSCharacterSet letterCharacterSet] 
characterIsMember:nextChar] == NO) {
+                NSString *lineString = [NSString stringWithFormat:@"%d", line];
+                [cmdString replaceCharactersInRange:range 
withString:lineString];
+                range.length = [lineString length];
+            }
         }
         
         range = NSMakeRange(0, 0);
@@ -917,13 +920,13 @@
                 break;
             prevChar = range.location > 0 ? [cmdString 
characterAtIndex:range.location - 1] : 0;
             nextChar = NSMaxRange(range) < [cmdString length] ? [cmdString 
characterAtIndex:NSMaxRange(range)] : 0;
-            if (prevChar == '\'' && nextChar == '\'')
-                [cmdString replaceCharactersInRange:range withString:file];
-            else if ([[NSCharacterSet letterCharacterSet] 
characterIsMember:nextChar] == NO)
-                [cmdString replaceCharactersInRange:range withString:[file 
stringByEscapingShellChars]];
+            if ([[NSCharacterSet letterCharacterSet] 
characterIsMember:nextChar] == NO) {
+                NSString *escapedFile = (prevChar == '\'' && nextChar == '\'') 
? file : [file stringByEscapingShellChars];
+                [cmdString replaceCharactersInRange:range 
withString:escapedFile];
+                range.length = [escapedFile length];
+            }
         }
         
-        
         [cmdString insertString:@"\" " atIndex:0];
         [cmdString insertString:editorCmd atIndex:0];
         [cmdString insertString:@"\"" atIndex:0];


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to