summaryrefslogtreecommitdiffstats
path: root/emacs-git/docstrings2.patch
blob: 5356521814c86d0beaf6df66291f7960a87cd27f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: tom@ryuslash.org-20130202085403-n4iv0tg5xh4dwbnm
# target_branch: bzr://bzr.savannah.gnu.org/emacs/trunk/
# testament_sha1: dca687d2bd301e20ea2dafb8af371ca897851137
# timestamp: 2013-02-02 09:54:17 +0100
# base_revision_id: rgm@gnu.org-20121227082108-3z2ppeegxrhychws
# 
# Begin patch
=== modified file 'lisp/progmodes/python.el'
--- lisp/progmodes/python.el	2012-12-13 05:29:15 +0000
+++ lisp/progmodes/python.el	2013-02-02 08:54:03 +0000
@@ -406,6 +406,23 @@
   'python-info-ppss-comment-or-string-p
   #'python-syntax-comment-or-string-p "24.3")
 
+(defun python-doc-string-at-p (pos)
+  "Check to see if there is a docstring at POS."
+  (save-excursion
+    (goto-char pos)
+    (if (looking-at-p "'''\\|\"\"\"")
+        (progn
+          (python-nav-backward-statement)
+          (looking-at "\\`\\|class \\|def "))
+      nil)))
+
+(defun python-font-lock-syntactic-face-function (state)
+  (if (nth 3 state)
+      (if (python-doc-string-at-p (nth 8 state))
+          font-lock-doc-face
+        font-lock-string-face)
+    font-lock-comment-face))
+
 (defvar python-font-lock-keywords
   ;; Keywords
   `(,(rx symbol-start
@@ -3213,7 +3230,10 @@
        'python-nav-forward-sexp)
 
   (set (make-local-variable 'font-lock-defaults)
-       '(python-font-lock-keywords nil nil nil nil))
+       '(python-font-lock-keywords
+         nil nil nil nil
+         (font-lock-syntactic-face-function
+          . python-font-lock-syntactic-face-function)))
 
   (set (make-local-variable 'syntax-propertize-function)
        python-syntax-propertize-function)

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWS+Ut6kAAd3fgF8QUOP/91sA
zIT/7//0UAQ7teAGnjYAA1NEamyjQ0yaPUaaBoAAA000NAZQmmo09NGiaExkIYjIxMjRjQjINRGT
QQGmI2kAAGTE0bUAZAamFCaGgNA0ADTIAGhoAAkkEaMhT01PQJoyGp6T1MmU2kDQzUbUQCEcFvCF
m1Q0hhKkAQlnV4XOCkeRYSGjmMQA0S1k2M6uUwwMBsAEsidybQKCR56SoTCJJQ6rqEc7HKlBsxXQ
ltSoYBL2oZMc8yTv3TTnKoM5IEel9AuO0mgqyHo5YllsY0agkYFjhLCIoQ5mKMgIycQxEyCAHPvm
qvkgaN/bxrecBH4VicHt2biwt+NV7lBQTPiyTt4m4+iguPGwkGf27pzWIUS1dsKYfKypKx7vi84r
n5OCphaIicKoTJ2trIDVJ1aaoUE5QXxe5vztFQsGVnZ6zXWX/Pcrk+FwVA2DtHzgJ/7ElSlS9LbK
W2hh5+l6LiemzUXwPgTyb1qk5CvFpTCepgzS9omnVFPi2E1oCGMakYd21V3itwVaUmR1VGmcHTdd
lAhtlZML++U7ldj05lMhRMDFPuRDHYGSzVZI6erXfnV0cBU3iaEBuq6QnksXPP9XgvAWmNZUWrT0
9KibS87CuVkMG6FPfrp2EVdKhGyu9612KtRvdcynY5F1bhSLy6wwpO7bG2CtV1kYDYZ1usKYWTmT
fOMNFbV0cQcmqkDojpBXIhuFjPEt45MKLozKYwSsgRFKlF/y75Qdsfi30NdwLC3iD6coEatkAYzO
erteeL+4Xl30V/Zh4hTGp/Lo/M0cgPLfm5OsBrac58w1EqC6/NdyPLJMcvE3IYoL9NTzm6aKTYbO
CMlassL1iA2D3sRyPuargdZPk9hVAXLFAkfWHqqE5pE1pbgZzLUmFVQQjAkro15PekWwt+bxdHlC
WxAeYdAYqksLWmSFDIDCcOwuVEi3WkSytYKBQUFs7JmPXaUHAGOG5NOpAgk4wjAYhHTBmDGZQnkw
3vHZUuQ4SMwfHqdmoQyNQndCGDkfgJ1WKsy3JcxOcDXe0Uh6msgeS57IwTTx900L1lvH1I2r3eRO
AXzcMFnVojlJMEuIdvgKHLSg72y6Q6h/WGxmFIJOByUIKHXg/ztSyOdewoy8QclqU4X6NNw6spZK
orjBit9w56FWJjN0oqIRYCEV7e31F6q1SSb1WQ96tZXA5b9xcuCzSYyM1ae9aWwtDzQzIZelEveh
aSDR6pFS+kExdjiujX1MycfWtVtHTzW7+n2NFmTP/DcFwNyzoHZ3xfFyJ99CKQ8PmqvhpRFNoHtj
GIeaXddv2RKrY5v3GDbOjQkxtx67wdRYYpVyoUuacQ7XJnOVS1iGBsxlih6e1JGvwFWP4iKs6LKq
4eq47jcNH5YBJMhrGWnWnBp4CquwSwkL6p0lqDytFwUuSeoyF2JyuwVSvXAQ9KPmF+A/7L/xdyRT
hQkC+Ut6kA==