Revision: 28625
http://sourceforge.net/p/bibdesk/svn/28625
Author: hofman
Date: 2024-01-16 19:15:30 +0000 (Tue, 16 Jan 2024)
Log Message:
-----------
Append character to string or create from character instead of using format
Modified Paths:
--------------
trunk/bibdesk/BDSKBibTeXParser.m
trunk/bibdesk/BDSKCharacterConversion.m
trunk/bibdesk/BDSKComplexString.m
trunk/bibdesk/BDSKFormatParser.m
trunk/bibdesk/BDSKMARCParser.m
trunk/bibdesk/BibItem.m
trunk/bibdesk/NSNumber_BDSKExtensions.m
trunk/bibdesk/NSScanner_BDSKExtensions.m
trunk/bibdesk/NSString_BDSKExtensions.h
trunk/bibdesk/NSString_BDSKExtensions.m
Modified: trunk/bibdesk/BDSKBibTeXParser.m
===================================================================
--- trunk/bibdesk/BDSKBibTeXParser.m 2024-01-16 18:51:22 UTC (rev 28624)
+++ trunk/bibdesk/BDSKBibTeXParser.m 2024-01-16 19:15:30 UTC (rev 28625)
@@ -389,7 +389,7 @@
--nesting;
}
if (endOfValue == NO) // we don't include the outer braces or
the separating commas
- [value appendFormat:@"%C", ch];
+ [value appendCharacter:ch];
}
if(endOfValue == NO)
break;
Modified: trunk/bibdesk/BDSKCharacterConversion.m
===================================================================
--- trunk/bibdesk/BDSKCharacterConversion.m 2024-01-16 18:51:22 UTC (rev
28624)
+++ trunk/bibdesk/BDSKCharacterConversion.m 2024-01-16 19:15:30 UTC (rev
28625)
@@ -230,7 +230,8 @@
if (NO == [self finalizeChangesIgnoringEdit:NO])
return;
- NSString *newRoman = [NSString stringWithFormat:@"%C",
(unichar)0x00E4];
+ unichar ch = (unichar)0x00E4;
+ NSString *newRoman = [NSString stringWithCharacters:&ch length:1];
NSString *newTex = @"{\\\"a}";
[currentArray addObject:newRoman];
Modified: trunk/bibdesk/BDSKComplexString.m
===================================================================
--- trunk/bibdesk/BDSKComplexString.m 2024-01-16 18:51:22 UTC (rev 28624)
+++ trunk/bibdesk/BDSKComplexString.m 2024-01-16 19:15:30 UTC (rev 28625)
@@ -135,7 +135,7 @@
++nesting;
}
if (nesting > 0) // we don't include the outer braces
- [nodeStr appendFormat:@"%C",ch];
+ [nodeStr appendCharacter:ch];
}
[sc setScanLocation:[sc scanLocation] + 1];
}
Modified: trunk/bibdesk/BDSKFormatParser.m
===================================================================
--- trunk/bibdesk/BDSKFormatParser.m 2024-01-16 18:51:22 UTC (rev 28624)
+++ trunk/bibdesk/BDSKFormatParser.m 2024-01-16 19:15:30 UTC (rev 28625)
@@ -702,7 +702,7 @@
case '-':
{
// escaped character
- [parsedStr appendFormat:@"%C",
specifier];
+ [parsedStr appendCharacter:specifier];
break;
}
case 'u':
@@ -1368,7 +1368,7 @@
break;
if (tmpString == nil)
tmpString = [NSMutableString stringWithString:string ?: @""];
- [tmpString appendFormat:@"%C", escapeChar];
+ [tmpString appendCharacter:escapeChar];
wasEscaped = YES;
}
if (tmpString)
Modified: trunk/bibdesk/BDSKMARCParser.m
===================================================================
--- trunk/bibdesk/BDSKMARCParser.m 2024-01-16 18:51:22 UTC (rev 28624)
+++ trunk/bibdesk/BDSKMARCParser.m 2024-01-16 19:15:30 UTC (rev 28625)
@@ -171,9 +171,12 @@
BibItem *newBI = nil;
NSMutableArray *returnArray = [NSMutableArray arrayWithCapacity:10];
- NSString *recordTerminator = [NSString stringWithFormat:@"%C",
(unichar)0x1D];
- NSString *fieldTerminator = [NSString stringWithFormat:@"%C",
(unichar)0x1E];
- NSString *subFieldIndicator = [NSString stringWithFormat:@"%C",
(unichar)0x1F];
+ unichar ch = (unichar)0x1D;
+ NSString *recordTerminator = [NSString stringWithCharacters:&ch length:1];
+ ch = (unichar)0x1E;
+ NSString *fieldTerminator = [NSString stringWithCharacters:&ch length:1];
+ ch = (unichar)0x1F;
+ NSString *subFieldIndicator = [NSString stringWithCharacters:&ch length:1];
BOOL isUNIMARC = [itemString characterAtIndex:23] == ' ';
Modified: trunk/bibdesk/BibItem.m
===================================================================
--- trunk/bibdesk/BibItem.m 2024-01-16 18:51:22 UTC (rev 28624)
+++ trunk/bibdesk/BibItem.m 2024-01-16 19:15:30 UTC (rev 28625)
@@ -1439,7 +1439,7 @@
NSArray *persons = [self peopleArrayForField:key];
for (BibAuthor *person in persons) {
if ([result isEqualToString:@""] == NO)
- [result appendFormat:@"%C", (unichar)0x1E];
+ [result appendCharacter:(unichar)0x1E];
// just remove curly braces from names
[result appendString:[[person normalizedName]
stringByRemovingCurlyBraces]];
}
@@ -1447,7 +1447,7 @@
NSString *value = [self valueOfField:key inherit:([key
isNoteField] == NO)];
if ([NSString isEmptyString:value] == NO) {
if ([result length])
- [result appendFormat:@"%C", (unichar)0x1E];
+ [result appendCharacter:(unichar)0x1E];
[result appendString:value];
}
}
@@ -1462,7 +1462,7 @@
value = [thePubFields objectForKey:key];
if ([NSString isEmptyString:value] == NO) {
if ([result length])
- [result appendFormat:@"%C", (unichar)0x1E];
+ [result appendCharacter:(unichar)0x1E];
[result appendString:value];
}
}
@@ -1476,7 +1476,7 @@
NSMutableString *names = [NSMutableString string];
for (BibAuthor *person in [self allPeople]) {
if ([names isEqualToString:@""] == NO)
- [names appendFormat:@"%C", (unichar)0x1E];
+ [names appendCharacter:(unichar)0x1E];
// just remove curly braces from names
[names appendString:[[person normalizedName]
stringByRemovingCurlyBraces]];
}
@@ -1489,7 +1489,7 @@
NSMutableString *names = [NSMutableString string];
for (BibAuthor *person in [self peopleArrayForField:field]) {
if ([names isEqualToString:@""] == NO)
- [names appendFormat:@"%C", (unichar)0x1E];
+ [names appendCharacter:(unichar)0x1E];
// just remove curly braces from names
[names appendString:[[person normalizedName]
stringByRemovingCurlyBraces]];
}
@@ -1500,7 +1500,7 @@
NSMutableString *result = [NSMutableString string];
for (NSString *value in [self groupArrayForField:field]) {
if ([result length])
- [result appendFormat:@"%C", (unichar)0x1E];
+ [result appendCharacter:(unichar)0x1E];
[result appendString:value];
}
return result;
@@ -2463,7 +2463,7 @@
NSString *value = [self valueOfField:key inherit:([key
isNoteField] == NO)];
if ([NSString isEmptyString:value] == NO) {
if ([result length])
- [result appendFormat:@"%C", (unichar)0x1E];
+ [result appendCharacter:(unichar)0x1E];
[result appendString:value];
}
}
@@ -2478,7 +2478,7 @@
value = [thePubFields objectForKey:key];
if ([NSString isEmptyString:value] == NO) {
if ([result length])
- [result appendFormat:@"%C", (unichar)0x1E];
+ [result appendCharacter:(unichar)0x1E];
[result appendString:value];
}
}
Modified: trunk/bibdesk/NSNumber_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSNumber_BDSKExtensions.m 2024-01-16 18:51:22 UTC (rev
28624)
+++ trunk/bibdesk/NSNumber_BDSKExtensions.m 2024-01-16 19:15:30 UTC (rev
28625)
@@ -86,11 +86,13 @@
- (NSString *)alphaCounterValue{
NSMutableString *string = [NSMutableString string];
NSUInteger letter, number = [self unsignedIntegerValue];
+ unichar ch;
while (number > 0) {
letter = (number - 1) % 26;
number = (number - 1) / 26;
- [string insertString:[NSString stringWithFormat:@"%C", (unichar)('a' +
letter)] atIndex:0];
+ ch = (unichar)('a' + letter);
+ [string insertString:[NSString stringWithCharacters:&ch length:1]
atIndex:0];
}
return string;
}
@@ -98,6 +100,7 @@
- (NSString *)greekCounterValue{
NSMutableString *string = [NSMutableString string];
NSUInteger letter, number = [self unsignedIntegerValue];
+ unichar ch;
while (number > 0) {
letter = (number - 1) % 24;
@@ -104,7 +107,8 @@
if (letter > 16)
letter++;
number = (number - 1) / 24;
- [string insertString:[NSString stringWithFormat:@"%C",
(unichar)(0x03b1 + letter)] atIndex:0];
+ ch = (unichar)(0x03b1 + letter);
+ [string insertString:[NSString stringWithCharacters:&ch length:1]
atIndex:0];
}
return string;
}
Modified: trunk/bibdesk/NSScanner_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSScanner_BDSKExtensions.m 2024-01-16 18:51:22 UTC (rev
28624)
+++ trunk/bibdesk/NSScanner_BDSKExtensions.m 2024-01-16 19:15:30 UTC (rev
28625)
@@ -37,6 +37,7 @@
*/
#import "NSScanner_BDSKExtensions.h"
+#import "NSString_BDSKExtensions.h"
@implementation NSScanner (BDSKExtensions)
@@ -116,7 +117,7 @@
else if (ch == '\\')
[tmpString appendString:@"\\"];
else // or should we raise an exception?
- [tmpString appendFormat:@"%C", ch];
+ [tmpString appendCharacter:ch];
} else if (ch == '"') {
CFStringTrimWhitespace((__bridge CFMutableStringRef)tmpString);
tmpObject = tmpString;
Modified: trunk/bibdesk/NSString_BDSKExtensions.h
===================================================================
--- trunk/bibdesk/NSString_BDSKExtensions.h 2024-01-16 18:51:22 UTC (rev
28624)
+++ trunk/bibdesk/NSString_BDSKExtensions.h 2024-01-16 19:15:30 UTC (rev
28625)
@@ -532,6 +532,7 @@
- (void)deleteUnescapedCharactersInCharacterSet:(NSCharacterSet *)characterSet;
- (void)replaceOccurrencesOfCharactersInSet:(NSCharacterSet *)set
withString:(NSString *)replaceString;
- (void)replaceComposedCharacters;
+- (void)appendCharacter:(unichar)ch;
- (void)appendStrings:(NSString *)first, ...;
- (void)backslashEscapeCharactersInSet:(NSCharacterSet *)charSet;
- (void)backslashUnescapeCharactersInSet:(NSCharacterSet *)charSet;
Modified: trunk/bibdesk/NSString_BDSKExtensions.m
===================================================================
--- trunk/bibdesk/NSString_BDSKExtensions.m 2024-01-16 18:51:22 UTC (rev
28624)
+++ trunk/bibdesk/NSString_BDSKExtensions.m 2024-01-16 19:15:30 UTC (rev
28625)
@@ -81,6 +81,7 @@
#import "NSFileManager_BDSKExtensions.h"
#import "NSAttributedString_BDSKExtensions.h"
#import "NSData_BDSKExtensions.h"
+#import "NSString_BDSKExtensions.h"
@implementation NSString (BDSKExtensions)
@@ -94,8 +95,10 @@
+ (NSString *)emdashString; // '---'
{
static NSString *string = nil;
- if (string == nil)
- string = [self stringWithFormat:@"%C", (unichar)0x2014];
+ if (string == nil) {
+ unichar ch = (unichar)0x2014;
+ string = [self stringWithCharacters:&ch length:1];
+ }
return string;
}
@@ -103,8 +106,10 @@
+ (NSString *)endashString; // '--'
{
static NSString *string = nil;
- if (string == nil)
- string = [self stringWithFormat:@"%C", (unichar)0x2013];
+ if (string == nil) {
+ unichar ch = (unichar)0x2013;
+ string = [self stringWithCharacters:&ch length:1];
+ }
return string;
}
@@ -112,8 +117,10 @@
+ (NSString *)commandKeyIndicatorString;
{
static NSString *string = nil;
- if (string == nil)
- string = [self stringWithFormat:@"%C", (unichar)0x2318];
+ if (string == nil) {
+ unichar ch = (unichar)0x2318;
+ string = [self stringWithCharacters:&ch length:1];
+ }
return string;
}
@@ -121,8 +128,10 @@
+ (NSString *)controlKeyIndicatorString;
{
static NSString *string = nil;
- if (string == nil)
- string = [self stringWithFormat:@"%C", (unichar)0x2303];
+ if (string == nil) {
+ unichar ch = (unichar)0x2303;
+ string = [self stringWithCharacters:&ch length:1];
+ }
return string;
}
@@ -130,8 +139,10 @@
+ (NSString *)alternateKeyIndicatorString;
{
static NSString *string = nil;
- if (string == nil)
- string = [self stringWithFormat:@"%C", (unichar)0x2325];
+ if (string == nil) {
+ unichar ch = (unichar)0x2325;
+ string = [self stringWithCharacters:&ch length:1];
+ }
return string;
}
@@ -139,8 +150,10 @@
+ (NSString *)shiftKeyIndicatorString;
{
static NSString *string = nil;
- if (string == nil)
- string = [self stringWithFormat:@"%C", (unichar)0x21E7];
+ if (string == nil) {
+ unichar ch = (unichar)0x21E7;
+ string = [self stringWithCharacters:&ch length:1];
+ }
return string;
}
@@ -741,7 +754,7 @@
if (mString)
{ if (in_verb)
{
- [mString appendFormat:@"%c", ch != '\0' ? ch : ' '];
+ [mString appendCharacter:ch != '\0' ? ch : ' '];
if ( special && freport != NULL && option_warn
&& v < NR_CH_M)
{ fprintf(freport, "%s (%ld) : ", html_fn, (long)ln);
@@ -768,7 +781,7 @@
else if (ch == '\\')
[mString appendFormat:@"\\%c", ch];
else if (ch != '\0')
- [mString appendFormat:@"%c", ch];
+ [mString appendCharacter:ch];
}
else if (special)
{ char *o = ch_table[v].tex_ch;
@@ -796,7 +809,7 @@
{ if (ch == '#' || ch == '%')
[mString appendFormat:@"\\%c", ch];
else
- [mString appendFormat:@"%c", ch];
+ [mString appendCharacter:ch];
}
else
{ switch(ch)
@@ -813,7 +826,7 @@
case '|' : [mString
appendString:@"{$|$}"]; break;
case '\\': [mString
appendString:@"{$\\backslash$}"]; break;
case '&' : [mString
appendString:@"\\&"]; break;
- default: [mString appendFormat:@"%c",
ch]; break;
+ default: [mString appendCharacter:ch]; break;
}
}
}
@@ -1782,7 +1795,7 @@
// ignore escaped newlines between arguments, as they should
be considered whitespace
[scanner scanCharactersFromSet:[NSCharacterSet
newlineCharacterSet] intoString:NULL];
else // real escaped character, just add the character, so we can
ignore it if it is a special character
- [currArg appendFormat:@"%C", ch];
+ [currArg appendCharacter:ch];
} else if ([quoteChars characterIsMember:ch]) {
// quoted part of an argument, scan up to the matching quote
if ([scanner scanUpToCharactersFromSet:[NSCharacterSet
characterSetWithRange:NSMakeRange(ch, 1)] intoString:&s])
@@ -1884,7 +1897,7 @@
}
if([scanner scanCharacter:&ch] == NO)
break;
- [returnString appendFormat:@"%C", ch];
+ [returnString appendCharacter:ch];
location = [scanner scanLocation];
if(location > 0 && [self characterAtIndex:location - 1] == '\\')
continue;
@@ -2002,6 +2015,10 @@
BDReplaceComposedCharacters((__bridge CFMutableStringRef)self);
}
+- (void)appendCharacter:(unichar)ch {
+ CFStringAppendCharacters((__bridge CFMutableStringRef)self, &ch, 1);
+}
+
// This method is copied from NSMutableString-OFStringExtensions.m
- (void)appendStrings:(NSString *)first, ... {
va_list argList;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit