Revision: 27241
http://sourceforge.net/p/bibdesk/svn/27241
Author: hofman
Date: 2022-01-19 10:51:57 +0000 (Wed, 19 Jan 2022)
Log Message:
-----------
resolve 'item i of' specifiers only when they arethe child specifier
Modified Paths:
--------------
trunk/bibdesk/BDSKPublicationCommand.m
Modified: trunk/bibdesk/BDSKPublicationCommand.m
===================================================================
--- trunk/bibdesk/BDSKPublicationCommand.m 2022-01-18 23:56:14 UTC (rev
27240)
+++ trunk/bibdesk/BDSKPublicationCommand.m 2022-01-19 10:51:57 UTC (rev
27241)
@@ -49,24 +49,21 @@
}
- (void)setReceiversSpecifier:(NSScriptObjectSpecifier *)receiversSpecifier {
- if ([[receiversSpecifier key] isEqualToString:@""]) {
- // this is an 'item i of <element>' specifier
- // transform to an index specifier for the element
- if ([receiversSpecifier isKindOfClass:[NSIndexSpecifier class]]) {
- NSScriptObjectSpecifier *spec = [receiversSpecifier
containerSpecifier];
- receiversSpecifier = [[[NSIndexSpecifier alloc]
initWithContainerClassDescription:[spec containerClassDescription]
containerSpecifier:[spec containerSpecifier] key:[spec key]
index:[(NSIndexSpecifier *)receiversSpecifier index]] autorelease];
- } else {
- [self setScriptErrorNumber:NSArgumentsWrongScriptError];
- [self setScriptErrorString:@"Do not understand receiver
specifier."];
- }
- }
BDSKDESTROY(keySpecifier);
if ([[[receiversSpecifier keyClassDescription] className]
isEqualToString:@"publication"]) {
[super setReceiversSpecifier:receiversSpecifier];
} else {
- [super setReceiversSpecifier:[receiversSpecifier containerSpecifier]];
- [receiversSpecifier setContainerSpecifier:nil];
- keySpecifier = [receiversSpecifier retain];
+ NSScriptObjectSpecifier *containerSpecifier = [receiversSpecifier
containerSpecifier];
+ if ([[receiversSpecifier key] isEqualToString:@""] &&
[receiversSpecifier isKindOfClass:[NSIndexSpecifier class]]) {
+ // this is an 'item i of <element>' specifier
+ // transform to an index specifier for the element
+ keySpecifier = [[NSIndexSpecifier alloc]
initWithContainerClassDescription:[containerSpecifier
containerClassDescription] containerSpecifier:nil key:[containerSpecifier key]
index:[(NSIndexSpecifier *)receiversSpecifier index]];
+ containerSpecifier = [containerSpecifier containerSpecifier];
+ } else {
+ [receiversSpecifier setContainerSpecifier:nil];
+ keySpecifier = [receiversSpecifier retain];
+ }
+ [super setReceiversSpecifier:containerSpecifier];
}
}
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