Subject: bug#21778: closed (Re: bug#21778: 24.5; python mode: fill-paragraph with raw docstring ignores python-fill-docstring-style)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 16 Aug 2017 15:06:02 +0000

Your bug report

#21778: 24.5; python mode: fill-paragraph with raw docstring ignores python-fill-docstring-style

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
21778: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21778
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#21778: 24.5; python mode: fill-paragraph with raw docstring ignores python-fill-docstring-style
From: [email-masked] (Charles A. Roelli)
To: John Palmieri <[email-masked]>, [email-masked]
Date: Wed, 16 Aug 2017 17:05:12 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Thanks, closing the bug.

> From: John Palmieri <[email-masked]>
> Date: Wed, 16 Aug 2017 07:56:46 -0700
> 
> 
> Yes, thank you very much, it looks like the bug has been fixed in Emacs 25.
> 
> On Wed, Aug 16, 2017 at 2:09 AM, Charles A. Roelli <[email-masked]> wrote:
> 
>  Looks like this was fixed with the following commit:
> 
>  commit deea36f0ece7b1b14afe2a833b6a0f66d59f4459
>  Author: Fabián Ezequiel Gallina <[email-masked]>
>  Date: Sun Apr 5 23:58:13 2015 -0300
> 
>  python.el: Enhance docstring detection following PEP-257.
> 
>  * lisp/progmodes/python.el (python-docstring-at-p): Remove function.
>  (python-info-assignment-statement-p): New function.
>  (python-info-assignment-continuation-line-p): Use it.
>  (python-info-docstring-p): New function.
>  (python-font-lock-syntactic-face-function)
>  (python-fill-string): Use it.
> 
>  * test/automated/python-tests.el (python-info-assignment-statement-p-1)
>  (python-info-assignment-statement-p-2)
>  (python-info-assignment-statement-p-3, python-info-docstring-p-1)
>  (python-info-docstring-p-2, python-info-docstring-p-3)
>  (python-info-docstring-p-4, python-info-docstring-p-5)
>  (python-info-docstring-p-6): New tests.
> 
>  which is present in Emacs 25. Does the fix work for you?
> 
>  > Resent-From: John Palmieri <[email-masked]>
>  > Original-Sender: "Debbugs-submit" <[email-masked]>
>  > Resent-CC: [email-masked]
>  > Resent-Sender: [email-masked]
>  > X-Spam-Status: No, score=0.3 required=5.0 tests=BAYES_40,
>  > FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,HTML_MESSAGE,T_DKIM_INVALID
>  > autolearn=disabled version=3.3.2
>  > Date: Wed, 28 Oct 2015 12:16:20 -0700
>  > From: John Palmieri <[email-masked]>
>  > Content-Type: multipart/alternative; boundary=001a113fe84e88f40805232f076f
>  >
>  >
>  > To recreate the bug, in Python mode, type
>  >
>  > def f():
>  > r"""
>  > This is the docstring for my function.
>  >
>  > It's a raw docstring because I want to type \t here, and maybe \n,
>  > for example in LaTeX code like \tau or \nu.
>  >
>  > More docstring here.
>  > """
>  > pass
>  >
>  > Now with the cursor in the first sentence of the docstring, running
>  > fill-paragraph ignores the setting of python-fill-docstring-style, I think
>  > because Emacs doesn't detect that r""" is the start of the docstring.
>  > Similarly, running fill-paragraph in the last sentence behaves badly. Also
>  > similarly, I think that it should be valid to begin a docstring with b"""
>  > or u""" (and possibly some combination of b, r, u, before """, although I'm
>  > not sure), and these also don't behave correctly.
>  >
>  >
>  >
>  > In GNU Emacs 24.5.1 (x86_64-apple-darwin13.4.0, NS apple-appkit-1265.21)
>  > of 2015-04-10 on builder10-9.porkrind.org
>  > Windowing system distributor `Apple', version 10.3.1348
>  > Configured using:
>  > `configure --with-ns '--enable-locallisppath=/Library/Application
>  > Support/Emacs/${version}/site-lisp:/Library/Application
>  > Support/Emacs/site-lisp''
>  >
>  > Important settings:
>  > value of $LANG: C
>  > locale-coding-system: utf-8-unix
>  >
>  > Major mode: Outline
>  >
>  > Minor modes in effect:
>  > goto-address-mode: t
>  > TeX-PDF-mode: t
>  > tooltip-mode: t
>  > electric-indent-mode: t
>  > mouse-wheel-mode: t
>  > tool-bar-mode: t
>  > menu-bar-mode: t
>  > file-name-shadow-mode: t
>  > global-font-lock-mode: t
>  > font-lock-mode: t
>  > auto-composition-mode: t
>  > auto-encryption-mode: t
>  > auto-compression-mode: t
>  > buffer-read-only: t
>  > line-number-mode: t
>  > auto-fill-function: do-auto-fill
>  > transient-mark-mode: t
>  > view-mode: t
> 
> -- 
> John H. Palmieri
> 

Subject: 24.5; python mode: fill-paragraph with raw docstring ignores python-fill-docstring-style
From: John Palmieri <[email-masked]>
To: [email-masked]
Date: Wed, 28 Oct 2015 12:16:20 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

To recreate the bug, in Python mode, type

def f():
    r"""
    This is the docstring for my function.

    It's a raw docstring because I want to type \t here, and maybe \n,
    for example in LaTeX code like \tau or \nu.

    More docstring here.
    """
    pass

Now with the cursor in the first sentence of the docstring, running
fill-paragraph ignores the setting of python-fill-docstring-style, I think
because Emacs doesn't detect that r""" is the start of the  docstring.
Similarly, running fill-paragraph in the last sentence behaves badly. Also
similarly, I think that it should be valid to begin a docstring with b"""
or u""" (and possibly some combination of b, r, u, before """, although I'm
not sure), and these also don't behave correctly.

In GNU Emacs 24.5.1 (x86_64-apple-darwin13.4.0, NS apple-appkit-1265.21)
 of 2015-04-10 on builder10-9.porkrind.org
Windowing system distributor `Apple', version 10.3.1348
Configured using:
 `configure --with-ns '--enable-locallisppath=/Library/Application
 Support/Emacs/${version}/site-lisp:/Library/Application
 Support/Emacs/site-lisp''

Important settings:
  value of $LANG: C
  locale-coding-system: utf-8-unix

Major mode: Outline

Minor modes in effect:
  goto-address-mode: t
  TeX-PDF-mode: t
  tooltip-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  auto-fill-function: do-auto-fill
  transient-mark-mode: t
  view-mode: t