diff --git a/python/src/com/jetbrains/python/inspections/quickfix/ConvertDocstringQuickFix.java b/python/src/com/jetbrains/python/inspections/quickfix/ConvertDocstringQuickFix.java index f47e077b8570..174f03332621 100644 --- a/python/src/com/jetbrains/python/inspections/quickfix/ConvertDocstringQuickFix.java +++ b/python/src/com/jetbrains/python/inspections/quickfix/ConvertDocstringQuickFix.java @@ -3,6 +3,7 @@ package com.jetbrains.python.inspections.quickfix; import com.intellij.codeInspection.LocalQuickFix; import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiElement; import com.jetbrains.python.PyBundle; @@ -46,8 +47,8 @@ public class ConvertDocstringQuickFix implements LocalQuickFix { else { content = content.length() == 1 ? "" : content.substring(1, content.length()-1); } - - content = StringUtil.escapeQuotes(content); + if (content.endsWith("\"")) + content = StringUtil.replaceSubstring(content, TextRange.create(content.length()-1, content.length()), "\\\""); PyExpression newString = elementGenerator.createDocstring(prefix+"\"\"\"" + content + "\"\"\"").getExpression(); expression.replace(newString); diff --git a/python/testData/inspections/ConvertSingleQuotedDocstringEscape_after.py b/python/testData/inspections/ConvertSingleQuotedDocstringEscape_after.py index 4cbb3f3a8cda..407a127c3ae1 100644 --- a/python/testData/inspections/ConvertSingleQuotedDocstringEscape_after.py +++ b/python/testData/inspections/ConvertSingleQuotedDocstringEscape_after.py @@ -1,3 +1,3 @@ def foo(): - """bla \"blub\"""" + """bla "blub\"""" pass \ No newline at end of file