From 6f128df396b964c9b69576e8e2675e9f3245ac0b Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Wed, 11 Mar 2015 00:38:09 +0900 Subject: [PATCH 01/17] Update version to 2.1.3 dev --- CotEditor/Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CotEditor/Info.plist b/CotEditor/Info.plist index 4681155995..b444f7a390 100644 --- a/CotEditor/Info.plist +++ b/CotEditor/Info.plist @@ -953,11 +953,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.1.2 + 2.1.3 dev CFBundleSignature cEd1 CFBundleVersion - 2.1.2 + 2.1.3-alpha LSApplicationCategoryType public.app-category.productivity NSAppleScriptEnabled From 08e7166f4218029ca5cb1240fe85f8ff34d16eb4 Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Thu, 12 Mar 2015 01:36:42 +0900 Subject: [PATCH 02/17] Update Cocoapods to 0.36.0 --- Podfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Podfile.lock b/Podfile.lock index ed381d5b1e..2606a6d871 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -34,11 +34,11 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: LibYAML: d447960375d9114187bfddba6e6c24d69bff11f8 - OgreKit: 024f7ae1c59c99b6791c608ac871be6cd1bec00c + OgreKit: 99288b3b72a008619c6230fe5329de60e8b5a4b7 RegexKitLite: c0e4c12e6e7de0769f3a3ed679f0f61604170661 Sparkle: be4244aef7860f8d2abdc9c4e4d8e9629d27feb6 SWFSemanticVersion: b5bb8c03abb6081478fd9ad853adf74b96c2beea WFColorCode: bee0f69bcdd330ddfad65973a311762624b5abc1 - YAML-Framework: 8ac087fa5dad49246f5e7c0894759dacb3644dfe + YAML-Framework: 6fe698e19d39d778829f5937e39d1e6bc12afd7b -COCOAPODS: 0.35.0 +COCOAPODS: 0.36.0 From 21dc79725616d9dbea8b8a7a38d5362b9141cca6 Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Thu, 12 Mar 2015 01:48:43 +0900 Subject: [PATCH 03/17] Update project for Xcode 6.2 --- .../xcshareddata/xcschemes/CotEditor.xcscheme | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CotEditor/CotEditor.xcodeproj/xcshareddata/xcschemes/CotEditor.xcscheme b/CotEditor/CotEditor.xcodeproj/xcshareddata/xcschemes/CotEditor.xcscheme index f1e5933c9d..726cf1effa 100644 --- a/CotEditor/CotEditor.xcodeproj/xcshareddata/xcschemes/CotEditor.xcscheme +++ b/CotEditor/CotEditor.xcodeproj/xcshareddata/xcschemes/CotEditor.xcscheme @@ -1,6 +1,6 @@ - + - + Date: Thu, 12 Mar 2015 02:06:09 +0900 Subject: [PATCH 04/17] Fix a typo in release notes --- .../Contents/Resources/ja.lproj/pgs/releasenotes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html b/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html index 67b95bfa99..3eb1a5f48d 100644 --- a/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html +++ b/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html @@ -95,7 +95,7 @@

新機能

  • この機能は実際のファイルを自動で変更するものではありません。変更をファイルに反映させるには引き続き手動で「保存」を実行する必要があります。
-
  • AppleScript の documment オブジェクトに tab width プロパティを追加
  • +
  • AppleScript の document オブジェクトに tab width プロパティを追加
  • CotEditor スクリプトが最前面書類の絶対パスを引数として受け取るように
  • OS X のサービス機能 “選択範囲を含む新規書類を CotEditor で開く” と “ファイルを CotEditor で開く” を追加
  • “Erlang”と “Julia” シンタックス定義を追加
  • From 3e21756c20919fd36c8e28bf3283b2e9204c6ea6 Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Thu, 12 Mar 2015 13:32:50 +0900 Subject: [PATCH 05/17] Fix a coding typo in release notes --- .../Contents/Resources/ja.lproj/pgs/releasenotes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html b/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html index 3eb1a5f48d..5d26f6ab53 100644 --- a/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html +++ b/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html @@ -41,7 +41,7 @@

    機能改善/仕様変更

  • 環境設定の「“¥”と“\”のキーを入れ替える」オプションが検索パネルのテキストフィールドにも適用されるように改良
  • 正規表現検索の「エスケープ文字」オプションを削除
  • -
  • 取り扱えるエンコーディングに「キリル文字 (Windows)」を追加<
  • +
  • 取り扱えるエンコーディングに「キリル文字 (Windows)」を追加
  • cot コマンドの呼び出しパフォーマンスを改善
  • From 6d2da523f544ea6c01dc9a4e773261be800bcaff Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Fri, 13 Mar 2015 19:36:57 +0900 Subject: [PATCH 06/17] Fix to select find string on showFindPanel: --- CHANGELOG.md | 9 +++++++++ CotEditor/Sources/CEFindPanelController.m | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e2ff4d796..24928fe979 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,15 @@ Change Log ========================== +develop +-------------------------- + +### Additions/Changes + +- Revert find panel behavior to select always whole text in find field when the panel is called. + + + 2.1.2 -------------------------- diff --git a/CotEditor/Sources/CEFindPanelController.m b/CotEditor/Sources/CEFindPanelController.m index 22c74cc86e..3b3135b050 100644 --- a/CotEditor/Sources/CEFindPanelController.m +++ b/CotEditor/Sources/CEFindPanelController.m @@ -313,6 +313,11 @@ - (IBAction)showFindPanel:(id)sender } // select text in find text field + if ([[self findPanel] firstResponder] == [[self findPanel] initialFirstResponder]) { + // force reset firstResponder to invoke becomeFirstResponder in CEFindPanelTextView every time + // -> `becomeFirstResponder` will not be called on `makeFirstResponder:` if it given object is alrady set as first responder. + [[self findPanel] makeFirstResponder:nil]; + } [[self findPanel] makeFirstResponder:[[self findPanel] initialFirstResponder]]; [super showFindPanel:sender]; From e0adfe01e9684b285df4c475595d3a9071ac898b Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Mon, 16 Mar 2015 00:12:34 +0900 Subject: [PATCH 07/17] Clean a line of code --- CotEditor/Sources/CEFindPanelLayoutManager.m | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CotEditor/Sources/CEFindPanelLayoutManager.m b/CotEditor/Sources/CEFindPanelLayoutManager.m index c1f5cd4102..4c66cfa9c1 100644 --- a/CotEditor/Sources/CEFindPanelLayoutManager.m +++ b/CotEditor/Sources/CEFindPanelLayoutManager.m @@ -67,9 +67,8 @@ - (void)drawGlyphsForGlyphRange:(NSRange)glyphsToShow atPoint:(NSPoint)origin // ------------------------------------------------------ { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - BOOL showInvisibles = [defaults boolForKey:CEDefaultShowInvisiblesKey]; - if (showInvisibles) { + if ([defaults boolForKey:CEDefaultShowInvisiblesKey]) { NSTextView *textView = [self firstTextView]; NSString *completeStr = [[self textStorage] string]; NSUInteger lengthToRedraw = NSMaxRange(glyphsToShow); From d590507253de915b002b760ffd64c7e47bdb877f Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Mon, 16 Mar 2015 02:27:57 +0900 Subject: [PATCH 08/17] Fix line number drawing with large number (fix #370) --- CHANGELOG.md | 5 +++++ CotEditor/Sources/CELineNumberView.m | 19 +++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24928fe979..587485e116 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,11 @@ develop - Revert find panel behavior to select always whole text in find field when the panel is called. +### Fixes + +- Fix line number drawing with large line numbers. + + 2.1.2 -------------------------- diff --git a/CotEditor/Sources/CELineNumberView.m b/CotEditor/Sources/CELineNumberView.m index c1ef44e197..785118b795 100644 --- a/CotEditor/Sources/CELineNumberView.m +++ b/CotEditor/Sources/CELineNumberView.m @@ -34,7 +34,7 @@ #import "constants.h" -const CGFloat kMinVerticalThickness = 32.0; +static const CGFloat kMinVerticalThickness = 32.0; @interface CELineNumberView () @@ -86,6 +86,17 @@ - (instancetype)initWithScrollView:(NSScrollView *)scrollView orientation:(NSRul } +// ------------------------------------------------------ +/// setup initial size +- (void)viewDidMoveToSuperview +// ------------------------------------------------------ +{ + [super viewDidMoveToSuperview]; + + [self setRuleThickness:kMinVerticalThickness]; +} + + // ------------------------------------------------------ /// clean up - (void)dealloc @@ -158,7 +169,7 @@ - (void)drawHashMarksAndLabelsInRect:(NSRect)rect CGFloat charWidth = advance.width; // prepare frame width - CGFloat width = kMinVerticalThickness; + CGFloat width = [self ruleThickness]; // adjust drawing coordinate NSPoint relativePoint = [self convertPoint:NSZeroPoint fromView:[self textView]]; @@ -237,11 +248,11 @@ - (void)drawHashMarksAndLabelsInRect:(NSRect)rect CGContextShowGlyphsAtPositions(context, glyphs, positions, digit); // draw line number } + CGContextRestoreGState(context); + // adjust thickness CGFloat requiredWidth = MAX(numberOfDigits(lineNum) * charWidth + 3 * kLineNumPadding, kMinVerticalThickness); [self setRuleThickness:ceil(requiredWidth)]; - - CGContextRestoreGState(context); } From ea9d7d71cd950f42190508f2018e6bf109b2a34b Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Mon, 16 Mar 2015 02:58:22 +0900 Subject: [PATCH 09/17] Improve line number view width calculation (#370) --- CotEditor/Sources/CELineNumberView.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CotEditor/Sources/CELineNumberView.m b/CotEditor/Sources/CELineNumberView.m index 785118b795..d536d8a1e1 100644 --- a/CotEditor/Sources/CELineNumberView.m +++ b/CotEditor/Sources/CELineNumberView.m @@ -35,6 +35,7 @@ static const CGFloat kMinVerticalThickness = 32.0; +static const NSUInteger kMinNumberOfDigits = 3; @interface CELineNumberView () @@ -251,7 +252,8 @@ - (void)drawHashMarksAndLabelsInRect:(NSRect)rect CGContextRestoreGState(context); // adjust thickness - CGFloat requiredWidth = MAX(numberOfDigits(lineNum) * charWidth + 3 * kLineNumPadding, kMinVerticalThickness); + NSUInteger length = MAX(numberOfDigits(lineNum), kMinNumberOfDigits); + CGFloat requiredWidth = MAX(length * charWidth + 3 * kLineNumPadding, kMinVerticalThickness); [self setRuleThickness:ceil(requiredWidth)]; } From 8d3ca9f90fc7c597d069ee9a72fd5415ff081018 Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Thu, 19 Mar 2015 00:10:54 +0900 Subject: [PATCH 10/17] Avoid reading file info after auto-saving --- CHANGELOG.md | 1 + CotEditor/Sources/CEDocument.m | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 587485e116..b9d6766d9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ develop ### Fixes - Fix line number drawing with large line numbers. +- Improve general stability. diff --git a/CotEditor/Sources/CEDocument.m b/CotEditor/Sources/CEDocument.m index ee689bd712..31a8763672 100644 --- a/CotEditor/Sources/CEDocument.m +++ b/CotEditor/Sources/CEDocument.m @@ -265,12 +265,12 @@ - (BOOL)writeSafelyToURL:(NSURL *)url ofType:(NSString *)typeName forSaveOperati if (saveOperation == NSSaveAsOperation) { [self setSyntaxStyleWithFileName:[url lastPathComponent] coloring:YES]; } - - // 保持しているファイル情報/表示する文書情報を更新 - [self getFileAttributes]; - // 外部エディタプロトコル(ODB Editor Suite)のファイル更新通知送信 if (saveOperation != NSAutosaveElsewhereOperation) { + // 保持しているファイル情報/表示する文書情報を更新 + [self getFileAttributes]; + + // 外部エディタプロトコル(ODB Editor Suite)のファイル更新通知送信 [[self ODBEventSender] sendModifiedEventWithURL:url operation:saveOperation]; } From 478e36187a331151c3439ccf3f829184ae48aa10 Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Fri, 20 Mar 2015 15:42:04 +0900 Subject: [PATCH 11/17] Revert "Improve external file modification check code (#29, #55)" This reverts commit efdbd27813b1291b348f44cd946fd5dae625937a. Conflicts: CotEditor/CotEditor.xcodeproj/project.pbxproj CotEditor/Sources/CEDocument.m --- CotEditor/CotEditor.xcodeproj/project.pbxproj | 6 ++ CotEditor/Sources/CEDocument.m | 32 ++++++++-- CotEditor/Sources/NSData+MD5.h | 43 ++++++++++++++ CotEditor/Sources/NSData+MD5.m | 58 +++++++++++++++++++ CotEditor/en.lproj/Acknowledgements.rtf | 2 +- CotEditor/ja.lproj/Acknowledgements.rtf | 2 +- CotEditor/zh-Hans.lproj/Acknowledgements.rtf | 7 ++- 7 files changed, 141 insertions(+), 9 deletions(-) create mode 100644 CotEditor/Sources/NSData+MD5.h create mode 100644 CotEditor/Sources/NSData+MD5.m diff --git a/CotEditor/CotEditor.xcodeproj/project.pbxproj b/CotEditor/CotEditor.xcodeproj/project.pbxproj index d67e08e037..9ef38c398b 100644 --- a/CotEditor/CotEditor.xcodeproj/project.pbxproj +++ b/CotEditor/CotEditor.xcodeproj/project.pbxproj @@ -101,6 +101,7 @@ 2A7CF2401A573CEB00D09249 /* FindPanel.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2A7CF23E1A573CEB00D09249 /* FindPanel.xib */; }; 2A7CF2431A5747EC00D09249 /* CEFindPanelController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A7CF2421A5747EC00D09249 /* CEFindPanelController.m */; }; 2A84C7C21A48F3150013EE83 /* CEPreferencesWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A84C7C11A48F3150013EE83 /* CEPreferencesWindow.m */; }; + 2A8663DD18C9F6B700A6F9CC /* NSData+MD5.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A8663DC18C9F6B700A6F9CC /* NSData+MD5.m */; }; 2A8711681986DAEC009FA1C0 /* NSString+MD5.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A8711671986DAEC009FA1C0 /* NSString+MD5.m */; }; 2A94A45A18D08D52009FA90D /* NSWindow+ScriptingSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A94A45918D08D52009FA90D /* NSWindow+ScriptingSupport.m */; }; 2A94A45E18D0B562009FA90D /* CEOpacityPanelController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A94A45C18D0B562009FA90D /* CEOpacityPanelController.m */; }; @@ -358,6 +359,8 @@ 2A7CF2421A5747EC00D09249 /* CEFindPanelController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CEFindPanelController.m; sourceTree = ""; }; 2A84C7C01A48F3150013EE83 /* CEPreferencesWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CEPreferencesWindow.h; sourceTree = ""; }; 2A84C7C11A48F3150013EE83 /* CEPreferencesWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CEPreferencesWindow.m; sourceTree = ""; }; + 2A8663DB18C9F6B600A6F9CC /* NSData+MD5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+MD5.h"; sourceTree = ""; }; + 2A8663DC18C9F6B700A6F9CC /* NSData+MD5.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+MD5.m"; sourceTree = ""; }; 2A8711661986DAEC009FA1C0 /* NSString+MD5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MD5.h"; sourceTree = ""; }; 2A8711671986DAEC009FA1C0 /* NSString+MD5.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+MD5.m"; sourceTree = ""; }; 2A94A45818D08D51009FA90D /* NSWindow+ScriptingSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSWindow+ScriptingSupport.h"; sourceTree = ""; }; @@ -757,6 +760,8 @@ 2A63122919C25CF80088C5C6 /* CEHexColorTransformer.m */, 2AD5322819779FD000A925CA /* CELineHeightTransformer.h */, 2AD5322919779FD000A925CA /* CELineHeightTransformer.m */, + 2A8663DB18C9F6B600A6F9CC /* NSData+MD5.h */, + 2A8663DC18C9F6B700A6F9CC /* NSData+MD5.m */, 2A8711661986DAEC009FA1C0 /* NSString+MD5.h */, 2A8711671986DAEC009FA1C0 /* NSString+MD5.m */, 2AC75C061A2AF47E00C7DB0A /* NSString+CENewLine.h */, @@ -1480,6 +1485,7 @@ 2AB432741915D6AA00835004 /* NSString+ComposedCharacter.m in Sources */, 2A2BDF0D198A899E0029848B /* NSString+JapaneseTransform.m in Sources */, 2A8711681986DAEC009FA1C0 /* NSString+MD5.m in Sources */, + 2A8663DD18C9F6B700A6F9CC /* NSData+MD5.m in Sources */, 2AC75C081A2AF47F00C7DB0A /* NSString+CENewLine.m in Sources */, 2A1068C31A745FCE001DB9AA /* NSURL+AppleTextEncoding.m in Sources */, 2A40D7CD1A23FBE200721EB4 /* openDictionary.applescript in Sources */, diff --git a/CotEditor/Sources/CEDocument.m b/CotEditor/Sources/CEDocument.m index 31a8763672..277366b954 100644 --- a/CotEditor/Sources/CEDocument.m +++ b/CotEditor/Sources/CEDocument.m @@ -38,6 +38,7 @@ #import "CESyntaxManager.h" #import "CEUtils.h" #import "NSURL+AppleTextEncoding.h" +#import "NSData+MD5.h" #import "constants.h" @@ -58,6 +59,7 @@ @interface CEDocument () @property (nonatomic) BOOL needsShowUpdateAlertWithBecomeKey; @property (nonatomic, getter=isRevertingForExternalFileUpdate) BOOL revertingForExternalFileUpdate; @property (nonatomic) BOOL didAlertNotWritable; // 文書が読み込み専用のときにその警告を表示したかどうか +@property (nonatomic, copy) NSString *fileMD5; @property (nonatomic, copy) NSString *fileContentString; // string that is read from the document file @property (nonatomic) CEODBEventSender *ODBEventSender; @property (nonatomic) BOOL shouldSaveXattr; @@ -543,17 +545,31 @@ -(BOOL)validateToolbarItem:(NSToolbarItem *)item - (void)presentedItemDidChange // ------------------------------------------------------ { - // check modification date of represented file - __block NSDate *contentModificationDate; + // ファイルのmodificationDateがドキュメントのmodificationDateと同じ場合は無視 NSFileCoordinator *coordinator = [[NSFileCoordinator alloc] initWithFilePresenter:self]; + __block NSDate *fileModificationDate; [coordinator coordinateReadingItemAtURL:[self fileURL] options:NSFileCoordinatorReadingWithoutChanges error:nil byAccessor:^(NSURL *newURL) { - [newURL getResourceValue:&contentModificationDate forKey:NSURLContentModificationDateKey error:nil]; + NSDictionary *fileAttrs = [[NSFileManager defaultManager] attributesOfItemAtPath:[newURL path] error:nil]; + fileModificationDate = [fileAttrs fileModificationDate]; }]; + if ([fileModificationDate isEqualToDate:[self fileModificationDate]]) { return; } - // ignore if contents wasn't changed. - if ([contentModificationDate isEqualToDate:[self fileModificationDate]]) { return; } + // ファイルのMD5ハッシュが保持しているものと同じ場合は編集されていないと認識させた上で無視 + __block NSString *MD5; + [coordinator coordinateReadingItemAtURL:[self fileURL] options:NSFileCoordinatorReadingWithoutChanges + error:nil byAccessor:^(NSURL *newURL) + { + MD5 = [[NSData dataWithContentsOfURL:newURL] MD5]; + }]; + if ([MD5 isEqualToString:[self fileMD5]]) { + // documentの保持しているfileModificationDateを書き換える (2014-03 by 1024jp) + // ここだけで無視してもファイル保存時にアラートが出るのことへの対策 + [self setFileModificationDate:fileModificationDate]; + + return; + } // notify about external file update [self setNeedsShowUpdateAlertWithBecomeKey:YES]; @@ -1141,6 +1157,9 @@ - (BOOL)readFromURL:(NSURL *)url encoding:(NSStringEncoding)encoding // authopen コマンドを使って読み込む NSData *data = [self forceReadDataFromURL:url]; + // presentedItemDidChangeにて内容の同一性を比較するためにファイルのMD5を保存する + [self setFileMD5:[data MD5]]; + if (!data) { // オープンダイアログでのエラーアラートは CEDocumentController > openDocument: で表示する // アプリアイコンへのファイルドロップでのエラーアラートは NSDocumentController (NSApp ?) 内部で表示される @@ -1454,6 +1473,9 @@ - (BOOL)forceWriteToURL:(NSURL *)url ofType:(NSString *)typeName forSaveOperatio }]; if (success) { + // presentedItemDidChange にて内容の同一性を比較するためにファイルの MD5 を保存する + [self setFileMD5:[data MD5]]; + // クリエータなどを設定 [coordinator coordinateWritingItemAtURL:url options:0 error:nil diff --git a/CotEditor/Sources/NSData+MD5.h b/CotEditor/Sources/NSData+MD5.h new file mode 100644 index 0000000000..f7e442df2d --- /dev/null +++ b/CotEditor/Sources/NSData+MD5.h @@ -0,0 +1,43 @@ +/* + ============================================================================== + NSData+MD5 + + CotEditor + http://coteditor.com + + Created on 2014-03-07 by 1024jp + encoding="UTF-8" + + ------------ + This category is from the following blog article by iOS Developer Tips. + We would like to thank for sharing this helpful tip. + http://iosdevelopertips.com/core-services/create-md5-hash-from-nsstring-nsdata-or-file.html + Copyright iOSDeveloperTips.com All rights reserved. + ------------------------------------------------------------------------------ + + © 2014 CotEditor Project + + This program is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any later + version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + this program; if not, write to the Free Software Foundation, Inc., 59 Temple + Place - Suite 330, Boston, MA 02111-1307, USA. + + ============================================================================== + */ + +@import Foundation; + + +@interface NSData (MD5) + +- (NSString *)MD5; + +@end diff --git a/CotEditor/Sources/NSData+MD5.m b/CotEditor/Sources/NSData+MD5.m new file mode 100644 index 0000000000..9157b96d49 --- /dev/null +++ b/CotEditor/Sources/NSData+MD5.m @@ -0,0 +1,58 @@ +/* + ============================================================================== + NSData+MD5 + + CotEditor + http://coteditor.com + + Created on 2014-03-07 by 1024jp + encoding="UTF-8" + + ------------ + This category is from the following blog article by iOS Developer Tips. + We would like to thank for sharing this helpful tip. + http://iosdevelopertips.com/core-services/create-md5-hash-from-nsstring-nsdata-or-file.html + Copyright iOSDeveloperTips.com All rights reserved. + ------------------------------------------------------------------------------ + + © 2014 CotEditor Project + + This program is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any later + version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + this program; if not, write to the Free Software Foundation, Inc., 59 Temple + Place - Suite 330, Boston, MA 02111-1307, USA. + + ============================================================================== + */ + +#import "NSData+MD5.h" +#import + + +@implementation NSData (MD5) + +- (NSString*)MD5 +{ + // Create byte array of unsigned chars + unsigned char md5Buffer[CC_MD5_DIGEST_LENGTH]; + + // Create 16 byte MD5 hash value, store in buffer + CC_MD5(self.bytes, self.length, md5Buffer); + + // Convert unsigned char buffer to NSString of hex values + NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; + for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) + [output appendFormat:@"%02x",md5Buffer[i]]; + + return output; +} + +@end diff --git a/CotEditor/en.lproj/Acknowledgements.rtf b/CotEditor/en.lproj/Acknowledgements.rtf index 1f6f7425f3..b3a88576f2 100644 --- a/CotEditor/en.lproj/Acknowledgements.rtf +++ b/CotEditor/en.lproj/Acknowledgements.rtf @@ -377,7 +377,7 @@ THE SOFTWARE.\ - Thanks to the web site Cocoabuilder ({\field{\*\fldinst{HYPERLINK "http://www.cocoabuilder.com/"}}{\fldrslt http://www.cocoabuilder.com/}}) for a lot of useful information.\ - Thanks to mi by Daisuke Kamiyama ({\field{\*\fldinst{HYPERLINK "http://www.mimikaki.net/"}}{\fldrslt http://www.mimikaki.net/}}) on which the pre-formatted strings of CotEditor's File Drop function are based.\ - Thanks to hetima ({\field{\*\fldinst{HYPERLINK "http://hetima.com/"}}{\fldrslt http://hetima.com/}}) for providing the method for getting modifier key presses (\cf2 http://hetima.com/pblog/article.php?id=48\cf0 ).\ -- Thanks to NSString+MD5 categories by iOS Developer Tip, which are distributed on the blog article "Create MD5 Hash from NSString, NSData or a File" ({\field{\*\fldinst{HYPERLINK "http://iosdevelopertips.com/core-services/create-md5-hash-from-nsstring-nsdata-or-file.html"}}{\fldrslt http://iosdevelopertips.com/core-services/create-md5-hash-from-nsstring-nsdata-or-file.html}}).\ +- Thanks to NSData+MD5 and NSString+MD5 categories by iOS Developer Tip, which are distributed on the blog article "Create MD5 Hash from NSString, NSData or a File" ({\field{\*\fldinst{HYPERLINK "http://iosdevelopertips.com/core-services/create-md5-hash-from-nsstring-nsdata-or-file.html"}}{\fldrslt http://iosdevelopertips.com/core-services/create-md5-hash-from-nsstring-nsdata-or-file.html}}).\ \pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\sl264\slmult1 \cf0 \ \ diff --git a/CotEditor/ja.lproj/Acknowledgements.rtf b/CotEditor/ja.lproj/Acknowledgements.rtf index 5a2ab11d39..60a333ddb3 100644 --- a/CotEditor/ja.lproj/Acknowledgements.rtf +++ b/CotEditor/ja.lproj/Acknowledgements.rtf @@ -414,7 +414,7 @@ THE SOFTWARE. - \'83\'45\'83\'46\'83\'75\'83\'54\'83\'43\'83\'67 [Cocoabuilder]({\field{\*\fldinst{HYPERLINK "http://www.cocoabuilder.com/"}}{\fldrslt http://www.cocoabuilder.com/}}) \'82\'c5\'82\'cc\'8f\'ee\'95\'f1\'82\'f0\'95\'9d\'8d\'4c\'82\'ad\'8e\'51\'8d\'6c\'82\'c9\'82\'b3\'82\'b9\'82\'c4\'82\'a2\'82\'bd\'82\'be\'82\'ab\'82\'dc\'82\'b5\'82\'bd\'81\'42\ - \'83\'74\'83\'40\'83\'43\'83\'8b\'83\'68\'83\'8d\'83\'62\'83\'76\'82\'c5\'82\'cc\'95\'b6\'8e\'9a\'97\'f1\'91\'7d\'93\'fc\'8b\'40\'94\'5c\'82\'cc\'81\'41\'90\'b6\'90\'ac\'92\'e8\'8b\'60\'95\'b6\'8e\'9a\'97\'f1\'82\'cd mi (written by Daisuke Kamiyama \uc0\u8211 {\field{\*\fldinst{HYPERLINK "http://www.mimikaki.net/"}}{\fldrslt http://www.mimikaki.net/}}) \'82\'cc\'91\'7d\'93\'fc\'95\'b6\'8e\'9a\'97\'f1\'92\'e8\'8b\'60\'83\'74\'83\'48\'81\'5b\'83\'7d\'83\'62\'83\'67\'82\'f0\'8e\'51\'8d\'6c\'82\'c9\'82\'b3\'82\'b9\'82\'c4\'82\'a2\'82\'bd\'82\'be\'82\'a2\'82\'c4\'82\'dc\'82\'b7\'81\'42\ - [\'83\'77\'83\'60\'83\'7d\'83\'52\'83\'93\'83\'73\'83\'85\'81\'5b\'83\'5e]({\field{\*\fldinst{HYPERLINK "http://hetima.com/"}}{\fldrslt http://hetima.com/}}) \'82\'c5\'8c\'f6\'8a\'4a\'82\'b3\'82\'ea\'82\'c4\'82\'a2\'82\'e9\'83\'81\'83\'6a\'83\'85\'81\'5b\'83\'4e\'83\'8a\'83\'62\'83\'4e\'8e\'9e\'82\'cc\'83\'82\'83\'66\'83\'42\'83\'74\'83\'40\'83\'43\'83\'41\'83\'4c\'81\'5b\'8e\'e6\'93\'be\'8b\'40\'94\'5c (\cf2 http://hetima.com/pblog/article.php?id=48\cf0 ) \'82\'f0\'8e\'67\'97\'70\'82\'b3\'82\'b9\'82\'c4\'82\'a2\'82\'bd\'82\'be\'82\'a2\'82\'c4\'82\'dc\'82\'b7\'81\'42\ -- MD5 \'83\'6e\'83\'62\'83\'56\'83\'85\'94\'e4\'8a\'72\'82\'c9 iOS Developer Tips \'82\'cc\'83\'75\'83\'8d\'83\'4f\'8b\'4c\'8e\'96 [Create MD5 Hash from NSString, NSData or a File]({\field{\*\fldinst{HYPERLINK "http://iosdevelopertips.com/core-services/create-md5-hash-from-nsstring-nsdata-or-file.html"}}{\fldrslt http://iosdevelopertips.com/core-services/create-md5-hash-from-nsstring-nsdata-or-file.html}}) \'82\'c9\'8c\'66\'8d\'da\'82\'b3\'82\'ea\'82\'c4\'82\'a2\'82\'e9 NSString+MD5 \'83\'4a\'83\'65\'83\'53\'83\'8a\'82\'cc\'83\'52\'81\'5b\'83\'68\'82\'f0\'8e\'67\'97\'70\'82\'b3\'82\'b9\'82\'c4\'92\'b8\'82\'ab\'82\'dc\'82\'b5\'82\'bd\'81\'42\ +- \'83\'74\'83\'40\'83\'43\'83\'8b\'82\'cc MD5 \'83\'6e\'83\'62\'83\'56\'83\'85\'94\'e4\'8a\'72\'82\'c9 iOS Developer Tips \'82\'cc\'83\'75\'83\'8d\'83\'4f\'8b\'4c\'8e\'96 [Create MD5 Hash from NSString, NSData or a File]({\field{\*\fldinst{HYPERLINK "http://iosdevelopertips.com/core-services/create-md5-hash-from-nsstring-nsdata-or-file.html"}}{\fldrslt http://iosdevelopertips.com/core-services/create-md5-hash-from-nsstring-nsdata-or-file.html}}) \'82\'c9\'8c\'66\'8d\'da\'82\'b3\'82\'ea\'82\'c4\'82\'a2\'82\'e9 NSData+MD5 \'82\'a8\'82\'e6\'82\'d1 NSString+MD5 \'83\'4a\'83\'65\'83\'53\'83\'8a\'82\'cc\'83\'52\'81\'5b\'83\'68\'82\'f0\'8e\'67\'97\'70\'82\'b3\'82\'b9\'82\'c4\'92\'b8\'82\'ab\'82\'dc\'82\'b5\'82\'bd\'81\'42\ \ \ diff --git a/CotEditor/zh-Hans.lproj/Acknowledgements.rtf b/CotEditor/zh-Hans.lproj/Acknowledgements.rtf index ae75d39be3..4b74135063 100644 --- a/CotEditor/zh-Hans.lproj/Acknowledgements.rtf +++ b/CotEditor/zh-Hans.lproj/Acknowledgements.rtf @@ -1,4 +1,4 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1343\cocoasubrtf160 +{\rtf1\ansi\ansicpg936\cocoartf1343\cocoasubrtf160 \readonlydoc1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;\f1\fnil\fcharset134 STHeitiSC-Light;\f2\fswiss\fcharset0 Helvetica; } {\colortbl;\red255\green255\blue255;\red103\green103\blue103;\red77\green77\blue77;} @@ -227,7 +227,8 @@ Redistribution and use in source and binary forms, with or without modification, \f1 \'d6\'a4\'b7\'a2 \f0 \'95\'7a\'93\'49\'81\'46 \f2 \ -\CocoaLigature0 \ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\sl264\slmult1 +\cf0 \CocoaLigature0 \ \pard\tx529\pardeftab529\sl264\slmult1\pardirnatural \fs22 \cf3 \'a9 2006-2013 Andy Matuschak\ @@ -656,6 +657,8 @@ THE SOFTWARE.\ \f1 \'d0\'bb \f2 iOS Developer Tip \f0 \'93\'49 +\f2 NSData+MD5 +\f0 \'98\'61 \f2 NSString+MD5 \f0 \'81\'43\'9b\'80 \f1 \'c3\'c7 From 039aab7714a2031a948deb075e1ac4aff1e726ea Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Fri, 20 Mar 2015 20:20:38 +0900 Subject: [PATCH 12/17] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b9d6766d9a..16aac2d9e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ develop ### Fixes - Fix line number drawing with large line numbers. +- Fix an issue where the external modification notification did not work. - Improve general stability. From 4bf86d2df46323c3d5278eb94ef61454fba1fd6a Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Fri, 20 Mar 2015 20:24:01 +0900 Subject: [PATCH 13/17] Fix MD5 storing for Autosave Elsewhere --- CotEditor/Sources/CEDocument.m | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/CotEditor/Sources/CEDocument.m b/CotEditor/Sources/CEDocument.m index 277366b954..a0cf1496f4 100644 --- a/CotEditor/Sources/CEDocument.m +++ b/CotEditor/Sources/CEDocument.m @@ -1157,9 +1157,6 @@ - (BOOL)readFromURL:(NSURL *)url encoding:(NSStringEncoding)encoding // authopen コマンドを使って読み込む NSData *data = [self forceReadDataFromURL:url]; - // presentedItemDidChangeにて内容の同一性を比較するためにファイルのMD5を保存する - [self setFileMD5:[data MD5]]; - if (!data) { // オープンダイアログでのエラーアラートは CEDocumentController > openDocument: で表示する // アプリアイコンへのファイルドロップでのエラーアラートは NSDocumentController (NSApp ?) 内部で表示される @@ -1167,6 +1164,9 @@ - (BOOL)readFromURL:(NSURL *)url encoding:(NSStringEncoding)encoding return NO; } + // presentedItemDidChangeにて内容の同一性を比較するためにファイルのMD5を保存する + [self setFileMD5:[data MD5]]; + // try reading the `com.apple.TextEncoding` extended attribute NSStringEncoding xattrEncoding = [url getAppleTextEncoding]; @@ -1473,8 +1473,10 @@ - (BOOL)forceWriteToURL:(NSURL *)url ofType:(NSString *)typeName forSaveOperatio }]; if (success) { - // presentedItemDidChange にて内容の同一性を比較するためにファイルの MD5 を保存する - [self setFileMD5:[data MD5]]; + if (saveOperation != NSAutosaveElsewhereOperation) { + // presentedItemDidChange にて内容の同一性を比較するためにファイルの MD5 を保存する + [self setFileMD5:[data MD5]]; + } // クリエータなどを設定 [coordinator coordinateWritingItemAtURL:url options:0 From 56340e51928f0286ebfc5ab85ce91d95b2acba82 Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Mon, 23 Mar 2015 19:45:56 +0900 Subject: [PATCH 14/17] Make autosaving delay value hidden setting --- CotEditor/Sources/CEAppDelegate.m | 1 + CotEditor/Sources/CEDocumentController.m | 6 +----- CotEditor/Sources/constants.h | 1 + CotEditor/Sources/constants.m | 1 + 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/CotEditor/Sources/CEAppDelegate.m b/CotEditor/Sources/CEAppDelegate.m index cd370d0da3..c9bcd97103 100644 --- a/CotEditor/Sources/CEAppDelegate.m +++ b/CotEditor/Sources/CEAppDelegate.m @@ -211,6 +211,7 @@ + (void)initialize CEDefaultNotifyEditByAnotherKey: @YES, CEDefaultColoringRangeBufferLengthKey: @5000, CEDefaultLargeFileAlertThresholdKey: @(100 * pow(1024, 2)), // 100 MB + CEDefaultAutosavingDelayKey: @5.0, }; [[NSUserDefaults standardUserDefaults] registerDefaults:defaults]; diff --git a/CotEditor/Sources/CEDocumentController.m b/CotEditor/Sources/CEDocumentController.m index aacf1be1ed..78ff3d075e 100644 --- a/CotEditor/Sources/CEDocumentController.m +++ b/CotEditor/Sources/CEDocumentController.m @@ -33,10 +33,6 @@ #import "constants.h" -// constant -static const NSTimeInterval kAutosavingDelay = 5.0; - - @interface CEDocumentController () @property (nonatomic) BOOL showsHiddenFiles; @@ -68,7 +64,7 @@ - (instancetype)init if (self) { _accessorySelectedEncoding = (NSStringEncoding)[[NSUserDefaults standardUserDefaults] integerForKey:CEDefaultEncodingInOpenKey]; - [self setAutosavingDelay:kAutosavingDelay]; + [self setAutosavingDelay:(NSTimeInterval)[[NSUserDefaults standardUserDefaults] doubleForKey:CEDefaultAutosavingDelayKey]]; } return self; } diff --git a/CotEditor/Sources/constants.h b/CotEditor/Sources/constants.h index 9f8df5758e..634fc3fd07 100644 --- a/CotEditor/Sources/constants.h +++ b/CotEditor/Sources/constants.h @@ -230,6 +230,7 @@ extern NSString *const CEDefaultShowAlertForNotWritableKey; extern NSString *const CEDefaultNotifyEditByAnotherKey; extern NSString *const CEDefaultColoringRangeBufferLengthKey; extern NSString *const CEDefaultLargeFileAlertThresholdKey; +extern NSString *const CEDefaultAutosavingDelayKey; diff --git a/CotEditor/Sources/constants.m b/CotEditor/Sources/constants.m index 6c80301379..b7c837fdb8 100644 --- a/CotEditor/Sources/constants.m +++ b/CotEditor/Sources/constants.m @@ -234,6 +234,7 @@ BOOL CEIsAlmostEqualCGFloats(CGFloat float1, CGFloat float2) { NSString *const CEDefaultNotifyEditByAnotherKey = @"notifyEditByAnother"; NSString *const CEDefaultColoringRangeBufferLengthKey = @"coloringRangeBufferLength"; NSString *const CEDefaultLargeFileAlertThresholdKey = @"largeFileAlertThreshold"; +NSString *const CEDefaultAutosavingDelayKey = @"autosavingDelay"; From 8ae1c25dac30307aedf3fedb3e7a5f967a268ac9 Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Mon, 23 Mar 2015 21:30:09 +0900 Subject: [PATCH 15/17] Update release notes --- .../Resources/en.lproj/pgs/releasenotes.html | 29 +++++++++++++++++++ .../Resources/ja.lproj/pgs/releasenotes.html | 29 +++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/CotEditor/CotEditor.help/Contents/Resources/en.lproj/pgs/releasenotes.html b/CotEditor/CotEditor.help/Contents/Resources/en.lproj/pgs/releasenotes.html index 77c1479912..5c6ccc1c5a 100644 --- a/CotEditor/CotEditor.help/Contents/Resources/en.lproj/pgs/releasenotes.html +++ b/CotEditor/CotEditor.help/Contents/Resources/en.lproj/pgs/releasenotes.html @@ -23,6 +23,35 @@

    Release Notes

    +
    +
    +

    CotEditor 2.1.3

    +

    release:

    +
    + + +
    +

    Additions/Changes

    + +
      +
    • Revert find panel behavior to select always whole text in find field when the panel is called.
    • +
    +
    + + +
    +

    Fixes

    + +
      +
    • Fix line number drawing with large line numbers.
    • +
    • Fix an issue where the external modification notification did not work.
    • +
    • Improve general stability.
    • +
    +
    +
    + + +

    CotEditor 2.1.2

    diff --git a/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html b/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html index 5d26f6ab53..41d642ff99 100644 --- a/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html +++ b/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html @@ -23,6 +23,35 @@

    リリースノート

    +
    +
    +

    CotEditor 2.1.3

    +

    リリース:

    +
    + + +
    +

    機能改善/仕様変更

    + +
      +
    • 検索パネルを呼び出した時に検索文字列を全選択する仕様を復帰
    • +
    +
    + + +
    +

    バグフィックス

    + +
      +
    • 行番号の桁数が大きいときの行番号描画を修正
    • +
    • 外部プロセスによる編集の通知が機能していなかった不具合を修正
    • +
    • 安定性の向上
    • +
    +
    +
    + + +

    CotEditor 2.1.2

    From a9c41f266541f9f79f4fccb5856baf394ca3cd3c Mon Sep 17 00:00:00 2001 From: 1024jp <1024jp@wolfrosch.com> Date: Mon, 23 Mar 2015 21:36:40 +0900 Subject: [PATCH 16/17] Update version number to 2.1.3 --- CotEditor/Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CotEditor/Info.plist b/CotEditor/Info.plist index b444f7a390..7a2f7e07f7 100644 --- a/CotEditor/Info.plist +++ b/CotEditor/Info.plist @@ -953,11 +953,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 2.1.3 dev + 2.1.3 CFBundleSignature cEd1 CFBundleVersion - 2.1.3-alpha + 2.1.3 LSApplicationCategoryType public.app-category.productivity NSAppleScriptEnabled From 4e4e9c4b7ee2dfe41f9c40823b6a89bd613ead1a Mon Sep 17 00:00:00 2001 From: USAMI Kosuke Date: Thu, 26 Mar 2015 20:15:58 +0900 Subject: [PATCH 17/17] Update release date --- .../Contents/Resources/en.lproj/pgs/releasenotes.html | 2 +- .../Contents/Resources/ja.lproj/pgs/releasenotes.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CotEditor/CotEditor.help/Contents/Resources/en.lproj/pgs/releasenotes.html b/CotEditor/CotEditor.help/Contents/Resources/en.lproj/pgs/releasenotes.html index 5c6ccc1c5a..8077046bd4 100644 --- a/CotEditor/CotEditor.help/Contents/Resources/en.lproj/pgs/releasenotes.html +++ b/CotEditor/CotEditor.help/Contents/Resources/en.lproj/pgs/releasenotes.html @@ -26,7 +26,7 @@

    Release Notes

    CotEditor 2.1.3

    -

    release:

    +

    release:

    diff --git a/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html b/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html index 41d642ff99..fd67ba51e4 100644 --- a/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html +++ b/CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html @@ -26,7 +26,7 @@

    リリースノート

    CotEditor 2.1.3

    -

    リリース:

    +

    リリース: