Merged with 'default' branch. jsonfiles

Wed, 27 Jan 2021 15:11:03 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 27 Jan 2021 15:11:03 +0100
branch
jsonfiles
changeset 8010
7ce2b8bb0d9b
parent 8009
29818ac4853c (current diff)
parent 8008
ae9ab1e150dc (diff)
child 8011
630a173cb137

Merged with 'default' branch.

eric6.e4p file | annotate | diff | comparison | revisions
eric6/Debugger/DebugUI.py file | annotate | diff | comparison | revisions
eric6/E5XML/SessionWriter.py file | annotate | diff | comparison | revisions
eric6/Project/Project.py file | annotate | diff | comparison | revisions
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DTDs/Session-6.3.dtd	Wed Jan 27 15:11:03 2021 +0100
@@ -0,0 +1,131 @@
+<!-- This is the DTD for eric's (project) session file version 6.3 -->
+
+<!ELEMENT   MultiProject    (#PCDATA)>
+
+<!ELEMENT   Project         (#PCDATA)>
+
+<!ELEMENT   ViewManagerSplits   (#PCDATA)>
+<!ATTLIST   ViewManagerSplits
+    count       CDATA   #REQUIRED
+    orientation CDATA   #REQUIRED>
+
+<!ELEMENT   Filename        (#PCDATA)>
+<!ATTLIST   Filename
+    cline       CDATA   #REQUIRED
+    cindex      CDATA   #REQUIRED
+    folds       CDATA   #REQUIRED
+    zoom        CDATA   #REQUIRED
+    cloned      CDATA   #REQUIRED
+    splitindex  CDATA   #REQUIRED
+    editorindex CDATA   #REQUIRED>
+
+<!ELEMENT   Filenames       (Filename*)>
+
+<!ELEMENT   ActiveWindow    (#PCDATA)>
+<!ATTLIST   ActiveWindow
+    cline       CDATA   #REQUIRED
+    cindex      CDATA   #REQUIRED>
+
+<!ELEMENT   BpFilename      (#PCDATA)>
+<!ELEMENT   Linenumber      EMPTY>
+<!ATTLIST   Linenumber
+    value       CDATA   #REQUIRED>
+<!ELEMENT   Condition       (#PCDATA)>
+<!ELEMENT   Temporary       EMPTY>
+<!ATTLIST   Temporary
+    value       CDATA   #REQUIRED>
+<!ELEMENT   Enabled         EMPTY>
+<!ATTLIST   Enabled
+    value       CDATA   #REQUIRED>
+<!ELEMENT   Count           EMPTY>
+<!ATTLIST   Count
+    value       CDATA   #REQUIRED>
+
+<!ELEMENT   Breakpoint      (BpFilename,
+                             Linenumber,
+                             Condition,
+                             Temporary,
+                             Enabled,
+                             Count)>
+
+<!ELEMENT   Breakpoints     (Breakpoint*)>
+
+<!ELEMENT   Special         (#PCDATA)>
+
+<!ELEMENT   Watchexpression (Condition,
+                             Temporary,
+                             Enabled,
+                             Count,
+                             Special)>
+
+<!ELEMENT   Watchexpressions (Watchexpression*)>
+
+<!ELEMENT   Exception       (#PCDATA)>
+
+<!ELEMENT   IgnoredException (#PCDATA)>
+
+<!ELEMENT   VirtualEnv       (#PCDATA)>
+<!ELEMENT   CommandLine      (#PCDATA)>
+<!ELEMENT   WorkingDirectory (#PCDATA)>
+<!ELEMENT   Environment      (#PCDATA)>
+<!ELEMENT   ReportExceptions EMPTY>
+<!ATTLIST   ReportExceptions
+    value       CDATA   #REQUIRED>
+<!ELEMENT   Exceptions       (Exception*)>
+<!ELEMENT   IgnoredExceptions (IgnoredException*)>
+<!ELEMENT   AutoClearShell   EMPTY>
+<!ATTLIST   AutoClearShell
+    value       CDATA   #REQUIRED>
+<!ELEMENT   TracePython      EMPTY>
+<!ATTLIST   TracePython
+    value       CDATA   #REQUIRED>
+<!ELEMENT   AutoContinue     EMPTY>
+<!ATTLIST   AutoContinue
+    value       CDATA   #REQUIRED>
+<!ELEMENT   EnableMultiprocess EMPTY>
+<!ATTLIST   EnableMultiprocess
+    value       CDATA   #REQUIRED>
+<!ELEMENT   MultiprocessNoDebug (#PCDATA)>
+<!ELEMENT   CovexcPattern    (#PCDATA)>
+
+<!ELEMENT   DebugInfo       (VirtualEnv,
+                             CommandLine,
+                             WorkingDirectory,
+                             Environment,
+                             ReportExceptions,
+                             Exceptions,
+                             IgnoredExceptions,
+                             AutoClearShell,
+                             TracePython,
+                             AutoContinue,
+                             EnableMultiprocess,
+                             MultiprocessNoDebug,
+                             CovexcPattern)>
+
+<!ELEMENT   BmFilename      (#PCDATA)>
+
+<!ELEMENT   Bookmark        (BmFilename,
+                             Linenumber)>
+
+<!ELEMENT   Bookmarks       (Bookmark*)>
+
+<!ELEMENT   ExpandedItemName     (#PCDATA)>
+
+<!ELEMENT   ProjectBrowserState  (ExpandedItemName*)>
+<!ATTLIST   ProjectBrowserState
+    name        CDATA   #REQUIRED>
+
+<!ELEMENT   ProjectBrowserStates (ProjectBrowserState*)>
+
+<!ELEMENT   Session         (MultiProject?,
+                             Project?,
+                             ViewManagerSplits?,
+                             Filenames,
+                             ActiveWindow?,
+                             Breakpoints,
+                             Watchexpressions,
+                             DebugInfo,
+                             Bookmarks,
+                             ProjectBrowserStates?)>
+<!ATTLIST   Session
+    version     CDATA   #REQUIRED>
--- a/eric6.e4p	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6.e4p	Wed Jan 27 15:11:03 2021 +0100
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE Project SYSTEM "Project-6.3.dtd">
+<!DOCTYPE Project SYSTEM "Project-6.5.dtd">
 <!-- eric project file for project eric6 -->
 <!-- Copyright (C) 2021 Detlev Offenbach, detlev@die-offenbachs.de -->
-<Project version="6.3">
+<Project version="6.5">
   <Language>en_US</Language>
   <ProjectWordList>Dictionaries/words.dic</ProjectWordList>
   <ProjectExcludeList>Dictionaries/excludes.dic</ProjectExcludeList>
@@ -2460,6 +2460,7 @@
       </dict>
     </UicCompilerParameters>
   </UicCompiler>
+  <DocstringStyle>ericdoc</DocstringStyle>
   <Documentation>
     <DocumentationParams>
       <dict>
--- a/eric6/APIs/Python3/eric6.api	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6/APIs/Python3/eric6.api	Wed Jan 27 15:11:03 2021 +0100
@@ -672,6 +672,7 @@
 eric6.Debugger.DebugUI.DebugUI.setAutoClearShell?4(autoClearShell)
 eric6.Debugger.DebugUI.DebugUI.setAutoContinue?4(autoContinue)
 eric6.Debugger.DebugUI.DebugUI.setDebugActionsEnabled?4(enable)
+eric6.Debugger.DebugUI.DebugUI.setEnableMultiprocess?4(enableMultiprocess)
 eric6.Debugger.DebugUI.DebugUI.setEnvHistory?4(envStr, clearHistories=False, history=None)
 eric6.Debugger.DebugUI.DebugUI.setExcIgnoreList?4(excIgnoreList)
 eric6.Debugger.DebugUI.DebugUI.setExcList?4(excList)
@@ -7070,7 +7071,7 @@
 eric6.Project.Project.Project.saveProject?4()
 eric6.Project.Project.Project.saveProjectAs?4()
 eric6.Project.Project.Project.setData?4(category, key, data)
-eric6.Project.Project.Project.setDbgInfo?4(venvName, argv, wd, env, excReporting, excList, excIgnoreList, autoClearShell, tracePython=None, autoContinue=None)
+eric6.Project.Project.Project.setDbgInfo?4(venvName, argv, wd, env, excReporting, excList, excIgnoreList, autoClearShell, tracePython=None, autoContinue=None, enableMultiprocess=None, multiprocessNoDebug=None)
 eric6.Project.Project.Project.setDirty?4(dirty)
 eric6.Project.Project.Project.setStatusMonitorAutoUpdate?4(auto)
 eric6.Project.Project.Project.setStatusMonitorInterval?4(interval)
@@ -9855,7 +9856,7 @@
 eric6.ViewManager.ViewManager.ViewManager.setEditorName?4(editor, newName)
 eric6.ViewManager.ViewManager.ViewManager.setFileLine?4(fn, line, error=False, syntaxError=False)
 eric6.ViewManager.ViewManager.ViewManager.setReferences?4(ui, dbs)
-eric6.ViewManager.ViewManager.ViewManager.setSbInfo?4(sbLine, sbPos, sbWritable, sbEncoding, sbLanguage, sbEol, sbZoom)
+eric6.ViewManager.ViewManager.ViewManager.setSbInfo?4(sbLine: QLabel, sbPos: QLabel, sbWritable, sbEncoding, sbLanguage, sbEol, sbZoom)
 eric6.ViewManager.ViewManager.ViewManager.setSplitCount?4(count)
 eric6.ViewManager.ViewManager.ViewManager.setSplitOrientation?4(orientation)
 eric6.ViewManager.ViewManager.ViewManager.shareConnected?4(connected)
--- a/eric6/Debugger/DebugUI.py	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6/Debugger/DebugUI.py	Wed Jan 27 15:11:03 2021 +0100
@@ -2538,7 +2538,7 @@
         """
         Public slot to initialize the no debug list history.
         
-        @param noDebugList whitespace separated list of progframs not to be
+        @param noDebugList whitespace separated list of programs not to be
             debugged
         @type str
         @param clearHistories flag indicating, that the list should be cleared
Binary file eric6/Documentation/Help/source.qch has changed
--- a/eric6/Documentation/Help/source.qhp	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6/Documentation/Help/source.qhp	Wed Jan 27 15:11:03 2021 +0100
@@ -3444,6 +3444,7 @@
       <keyword name="DebugUI.setAutoClearShell" id="DebugUI.setAutoClearShell" ref="eric6.Debugger.DebugUI.html#DebugUI.setAutoClearShell" />
       <keyword name="DebugUI.setAutoContinue" id="DebugUI.setAutoContinue" ref="eric6.Debugger.DebugUI.html#DebugUI.setAutoContinue" />
       <keyword name="DebugUI.setDebugActionsEnabled" id="DebugUI.setDebugActionsEnabled" ref="eric6.Debugger.DebugUI.html#DebugUI.setDebugActionsEnabled" />
+      <keyword name="DebugUI.setEnableMultiprocess" id="DebugUI.setEnableMultiprocess" ref="eric6.Debugger.DebugUI.html#DebugUI.setEnableMultiprocess" />
       <keyword name="DebugUI.setEnvHistory" id="DebugUI.setEnvHistory" ref="eric6.Debugger.DebugUI.html#DebugUI.setEnvHistory" />
       <keyword name="DebugUI.setExcIgnoreList" id="DebugUI.setExcIgnoreList" ref="eric6.Debugger.DebugUI.html#DebugUI.setExcIgnoreList" />
       <keyword name="DebugUI.setExcList" id="DebugUI.setExcList" ref="eric6.Debugger.DebugUI.html#DebugUI.setExcList" />
--- a/eric6/Documentation/Source/eric6.Debugger.DebugUI.html	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6/Documentation/Source/eric6.Debugger.DebugUI.html	Wed Jan 27 15:11:03 2021 +0100
@@ -399,6 +399,10 @@
 <td>Public method to set the enabled state of the debug actions.</td>
 </tr>
 <tr>
+<td><a href="#DebugUI.setEnableMultiprocess">setEnableMultiprocess</a></td>
+<td>Public slot to initialize the enableMultiprocess flag.</td>
+</tr>
+<tr>
 <td><a href="#DebugUI.setEnvHistory">setEnvHistory</a></td>
 <td>Public slot to initialize the env history.</td>
 </tr>
@@ -1430,6 +1434,21 @@
 enable state to be set
 </dd>
 </dl>
+<a NAME="DebugUI.setEnableMultiprocess" ID="DebugUI.setEnableMultiprocess"></a>
+<h4>DebugUI.setEnableMultiprocess</h4>
+<b>setEnableMultiprocess</b>(<i>enableMultiprocess</i>)
+
+<p>
+        Public slot to initialize the enableMultiprocess flag.
+</p>
+<dl>
+
+<dt><i>enableMultiprocess</i> (bool)</dt>
+<dd>
+flag indicating, that the debugger should be
+            run in multi process mode
+</dd>
+</dl>
 <a NAME="DebugUI.setEnvHistory" ID="DebugUI.setEnvHistory"></a>
 <h4>DebugUI.setEnvHistory</h4>
 <b>setEnvHistory</b>(<i>envStr, clearHistories=False, history=None</i>)
@@ -1506,7 +1525,7 @@
 
 <dt><i>noDebugList</i> (str)</dt>
 <dd>
-whitespace separated list of progframs not to be
+whitespace separated list of programs not to be
             debugged
 </dd>
 <dt><i>clearHistories</i> (bool)</dt>
--- a/eric6/Documentation/Source/eric6.Project.Project.html	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6/Documentation/Source/eric6.Project.Project.html	Wed Jan 27 15:11:03 2021 +0100
@@ -3870,7 +3870,7 @@
 </dl>
 <a NAME="Project.setDbgInfo" ID="Project.setDbgInfo"></a>
 <h4>Project.setDbgInfo</h4>
-<b>setDbgInfo</b>(<i>venvName, argv, wd, env, excReporting, excList, excIgnoreList, autoClearShell, tracePython=None, autoContinue=None</i>)
+<b>setDbgInfo</b>(<i>venvName, argv, wd, env, excReporting, excList, excIgnoreList, autoClearShell, tracePython=None, autoContinue=None, enableMultiprocess=None, multiprocessNoDebug=None</i>)
 
 <p>
         Public method to set the debugging information.
@@ -3920,6 +3920,16 @@
 flag indicating, that the debugger should not
             stop at the first executable line
 </dd>
+<dt><i>enableMultiprocess</i> (bool)</dt>
+<dd>
+flag indicating, that the debugger should
+            run in multi process mode
+</dd>
+<dt><i>multiprocessNoDebug</i> (str)</dt>
+<dd>
+list of programs not to be debugged in
+            multi process mode
+</dd>
 </dl>
 <a NAME="Project.setDirty" ID="Project.setDirty"></a>
 <h4>Project.setDirty</h4>
--- a/eric6/Documentation/Source/eric6.ViewManager.ViewManager.html	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6/Documentation/Source/eric6.ViewManager.ViewManager.html	Wed Jan 27 15:11:03 2021 +0100
@@ -4477,7 +4477,7 @@
 </dl>
 <a NAME="ViewManager.setSbInfo" ID="ViewManager.setSbInfo"></a>
 <h4>ViewManager.setSbInfo</h4>
-<b>setSbInfo</b>(<i>sbLine, sbPos, sbWritable, sbEncoding, sbLanguage, sbEol, sbZoom</i>)
+<b>setSbInfo</b>(<i>sbLine: QLabel, sbPos: QLabel, sbWritable, sbEncoding, sbLanguage, sbEol, sbZoom</i>)
 
 <p>
         Public method to transfer statusbar info from the user interface to
--- a/eric6/E5XML/Config.py	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6/E5XML/Config.py	Wed Jan 27 15:11:03 2021 +0100
@@ -23,7 +23,7 @@
 userProjectFileFormatVersion = "4.0"
 
 # version number of the project session file
-sessionFileFormatVersion = "6.2"
+sessionFileFormatVersion = "6.3"
 
 # version number of the shortcuts file
 shortcutsFileFormatVersion = "3.6"
--- a/eric6/E5XML/SessionReader.py	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6/E5XML/SessionReader.py	Wed Jan 27 15:11:03 2021 +0100
@@ -17,7 +17,7 @@
     """
     Class for reading an XML session file.
     """
-    supportedVersions = ["4.3", "4.4", "5.0", "6.0", "6.1", "6.2"]
+    supportedVersions = ["4.3", "4.4", "5.0", "6.0", "6.1", "6.2", "6.3"]
     
     def __init__(self, device, isGlobal):
         """
@@ -321,6 +321,16 @@
                     self.dbg.setAutoContinue(val)
                     if not self.isGlobal:
                         self.project.dbgAutoContinue = val
+                elif self.name() == "EnableMultiprocess":
+                    val = self.toBool(self.attribute("value"))
+                    self.dbg.setEnableMultiprocess(val)
+                    if not self.isGlobal:
+                        self.project.dbgEnableMultiprocess = val
+                elif self.name() == "MultiprocessNoDebug":
+                    txt = self.readElementText()
+                    self.dbg.setMultiprocessNoDebugHistory(txt)
+                    if not self.isGlobal:
+                        self.project.dbgMultiprocessNoDebug = txt
                 elif self.name() == "CovexcPattern":
                     pass    # ignore this start tag
                 else:
--- a/eric6/E5XML/SessionWriter.py	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6/E5XML/SessionWriter.py	Wed Jan 27 15:11:03 2021 +0100
@@ -179,6 +179,11 @@
                 dbgEnv = self.dbg.envHistory[0]
             else:
                 dbgEnv = ""
+            if len(self.dbg.multiprocessNoDebugHistory):
+                dbgMultiprocessNoDebug = self.dbg.multiprocessNoDebugHistory[0]
+            else:
+                dbgMultiprocessNoDebug = ""
+            
             self.writeTextElement("VirtualEnv", self.dbg.lastUsedVenvName)
             self.writeTextElement("CommandLine", dbgCmdline)
             self.writeTextElement("WorkingDirectory", dbgWd)
@@ -199,6 +204,10 @@
             self.writeAttribute("value", str(self.dbg.tracePython))
             self.writeEmptyElement("AutoContinue")
             self.writeAttribute("value", str(self.dbg.autoContinue))
+            self.writeEmptyElement("EnableMultiprocess")
+            self.writeAttribute("value", str(self.dbg.enableMultiprocess))
+            self.writeTextElement("MultiprocessNoDebug",
+                                  dbgMultiprocessNoDebug)
             self.writeEmptyElement("CovexcPattern")    # kept for compatibility
         else:
             self.writeTextElement("VirtualEnv", self.project.dbgVirtualEnv)
@@ -221,6 +230,11 @@
             self.writeAttribute("value", str(self.project.dbgTracePython))
             self.writeEmptyElement("AutoContinue")
             self.writeAttribute("value", str(self.project.dbgAutoContinue))
+            self.writeEmptyElement("EnableMultiprocess")
+            self.writeAttribute("value",
+                                str(self.project.dbgEnableMultiprocess))
+            self.writeTextElement("MultiprocessNoDebug",
+                                  self.project.dbgMultiprocessNoDebug)
             self.writeEmptyElement("CovexcPattern")    # kept for compatibility
         self.writeEndElement()
         
--- a/eric6/QScintilla/DocstringGenerator/EricdocGenerator.py	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6/QScintilla/DocstringGenerator/EricdocGenerator.py	Wed Jan 27 15:11:03 2021 +0100
@@ -99,7 +99,11 @@
         lines.append(argLine)
     
     # add return section
-    if functionInfo.hasYield or functionInfo.returnValueInBody:
+    if (
+        functionInfo.hasYield or
+        functionInfo.returnValueInBody or
+        functionInfo.returnTypeAnnotated
+    ):
         if functionInfo.hasYield:
             lines.append("@yield DESCRIPTION")
             rType = "@ytype"
--- a/eric6/QScintilla/DocstringGenerator/SphinxdocGenerator.py	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6/QScintilla/DocstringGenerator/SphinxdocGenerator.py	Wed Jan 27 15:11:03 2021 +0100
@@ -67,7 +67,11 @@
             lines.append(":raises {0}: DESCRIPTION".format(exc))
     
     # add return section
-    if functionInfo.hasYield or functionInfo.returnValueInBody:
+    if (
+        functionInfo.hasYield or
+        functionInfo.returnValueInBody or
+        functionInfo.returnTypeAnnotated
+    ):
         if functionInfo.hasYield:
             lines.append(":yield: DESCRIPTION")
         else:
--- a/eric6/QScintilla/Editor.py	Wed Jan 27 15:09:20 2021 +0100
+++ b/eric6/QScintilla/Editor.py	Wed Jan 27 15:11:03 2021 +0100
@@ -1465,6 +1465,8 @@
                 self.setLanguage(self.supportedLanguages[language][1])
                 self.checkSyntax()
         
+        self.__docstringGenerator = None
+        
     def __languageChanged(self, language, propagate=True):
         """
         Private slot handling a change of a connected editor's language.
@@ -1487,6 +1489,8 @@
                              propagate=propagate)
             self.checkSyntax()
         
+        self.__docstringGenerator = None
+        
     def __resetLanguage(self, propagate=True):
         """
         Private method used to reset the language selection.
@@ -1513,6 +1517,8 @@
         self.setMonospaced(useMonospaced)
         self.menuActs["MonospacedFont"].setChecked(self.useMonospaced)
         
+        self.__docstringGenerator = None
+        
         if not self.inLanguageChanged and propagate:
             self.inLanguageChanged = True
             self.languageChanged.emit(self.apiLanguage)
@@ -1542,6 +1548,8 @@
         self.recolor()
         self.__checkLanguage()
         
+        self.__docstringGenerator = None
+        
         # set the text display
         if initTextDisplay:
             self.__setTextDisplay()

eric ide

mercurial