[Python-modules-commits] r10685 - in packages/python-docutils/trunk/debian/patches (2 files)
smcv at users.alioth.debian.org
smcv at users.alioth.debian.org
Sun Dec 6 23:57:31 UTC 2009
Date: Sunday, December 6, 2009 @ 23:57:30
Author: smcv
Revision: 10685
Drop 17_speed_up_rst_el.diff (included in upstream release)
Modified:
packages/python-docutils/trunk/debian/patches/series
Deleted:
packages/python-docutils/trunk/debian/patches/17_speed_up_rst_el.diff
Deleted: packages/python-docutils/trunk/debian/patches/17_speed_up_rst_el.diff
===================================================================
--- packages/python-docutils/trunk/debian/patches/17_speed_up_rst_el.diff 2009-12-06 23:56:44 UTC (rev 10684)
+++ packages/python-docutils/trunk/debian/patches/17_speed_up_rst_el.diff 2009-12-06 23:57:30 UTC (rev 10685)
@@ -1,436 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 17_speed_up_rst_el.dpatch by Simon McVittie <smcv at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Update rst.el to upstream r5596, fixing performance problems (#474941)
-
- at DPATCH@
-
-From 3ec4b5fc5d512f221b1916de123cfaef2e2ce5d3 Mon Sep 17 00:00:00 2001
-From: smerten <smerten at 929543f6-e4f2-0310-98a6-ba3bd3dd1d04>
-Date: Wed, 16 Jul 2008 21:09:56 +0000
-Subject: [PATCH] Improved font-lock code to use a better `PRE-MATCH-FORM`. As a result
- performance is no longer a problem. `rst-mode-lazy` is no longer
- needed. `font-lock-support-mode` is currently switched off.
-
-git-svn-id: http://svn.berlios.de/svnroot/repos/docutils/trunk/docutils@5596 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
----
- tools/editors/emacs/rst.el | 321 ++++++++++++++++++++------------------------
- 1 files changed, 144 insertions(+), 177 deletions(-)
-
-diff --git a/tools/editors/emacs/rst.el b/tools/editors/emacs/rst.el
-index 34be79a..2e03fbb 100644
---- a/tools/editors/emacs/rst.el
-+++ b/tools/editors/emacs/rst.el
-@@ -359,18 +359,6 @@ is for which (pred elem) is true)"
- :type '(hook))
-
-
--(defcustom rst-mode-lazy t
-- "*If non-nil Rst Mode font-locks comment, literal blocks, and section titles
--correctly. Because this is really slow it switches on Lazy Lock Mode
--automatically. You may increase Lazy Lock Defer Time for reasonable results.
--
--If nil comments and literal blocks are font-locked only on the line they start.
--
--The value of this variable is used when Rst Mode is turned on."
-- :group 'rst
-- :type '(boolean))
--
--
- ;;;###autoload
- (define-derived-mode rst-mode text-mode "ReST"
- :abbrev-table rst-mode-abbrev-table
-@@ -386,9 +374,7 @@ negative prefix arg to rotate in the other direction.
- \\{rst-mode-map}
-
- Turning on `rst-mode' calls the normal hooks `text-mode-hook' and
--`rst-mode-hook'. This mode also supports font-lock highlighting.
--You may customize `rst-mode-lazy' to toggle font-locking of
--blocks."
-+`rst-mode-hook'. This mode also supports font-lock highlighting."
-
- (set (make-local-variable 'paragraph-separate) paragraph-start)
- (set (make-local-variable 'indent-line-function) 'indent-relative-maybe)
-@@ -411,40 +397,14 @@ blocks."
-
- ;; Font lock
- (set (make-local-variable 'font-lock-defaults)
-- '(rst-font-lock-keywords-function
-+ '(rst-font-lock-keywords
- t nil nil nil
- (font-lock-multiline . t)
- (font-lock-mark-block-function . mark-paragraph)))
- (when (boundp 'font-lock-support-mode)
-- ;; rst-mode has its own mind about font-lock-support-mode
-- (make-local-variable 'font-lock-support-mode)
-- ;; jit-lock-mode replaced lazy-lock-mode in GNU Emacs 22
-- (let ((jit-or-lazy-lock-mode
-- (cond
-- ((fboundp 'lazy-lock-mode) 'lazy-lock-mode)
-- ((fboundp 'jit-lock-mode) 'jit-lock-mode)
-- ;; if neither lazy-lock nor jit-lock is supported,
-- ;; tell user and disable rst-mode-lazy
-- (t (when rst-mode-lazy
-- (message "Disabled lazy fontification, because no known support mode found.")
-- (setq rst-mode-lazy nil))))))
-- (cond
-- ((and (not rst-mode-lazy) (not font-lock-support-mode)))
-- ;; No support mode set and none required - leave it alone
-- ((or (not font-lock-support-mode) ;; No support mode set (but required)
-- (symbolp font-lock-support-mode)) ;; or a fixed mode for all
-- (setq font-lock-support-mode
-- (list (cons 'rst-mode (and rst-mode-lazy jit-or-lazy-lock-mode))
-- (cons t font-lock-support-mode))))
-- ((and (listp font-lock-support-mode)
-- (not (assoc 'rst-mode font-lock-support-mode)))
-- ;; A list of modes missing rst-mode
-- (setq font-lock-support-mode
-- (cons (cons 'rst-mode (and rst-mode-lazy jit-or-lazy-lock-mode))
-- font-lock-support-mode))))))
--
-- )
--
-+ ;; rst-mode does not need font-lock-support-mode and works not well with
-+ ;; jit-lock-mode because reST is not made for machines
-+ (set (make-local-variable 'font-lock-support-mode) nil)))
-
- ;;;###autoload
- (define-minor-mode rst-minor-mode
-@@ -2776,11 +2736,11 @@ details check the Rst Faces Defaults group."
- (string-match "[[:alpha:]]" "b")
- "Non-nil if we can use the character classes in our regexps.")
-
--(defun rst-font-lock-keywords-function ()
-- "Returns keywords to highlight in rst mode according to current settings."
-+(defvar rst-font-lock-keywords
- ;; The reST-links in the comments below all relate to sections in
- ;; http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html
-- (let* ( ;; This gets big - so let's define some abbreviations
-+ (let* ( ;; This gets big - so let's define some abbreviations; the trailing
-+ ;; numbers in the names give the number of regex groups contained
- ;; horizontal white space
- (re-hws "[\t ]")
- ;; beginning of line with possible indentation
-@@ -2822,7 +2782,8 @@ details check the Rst Faces Defaults group."
- ;; recognized
- (re-ado2 (concat "^\\(\\(["
- (if rst-use-char-classes
-- "^[:word:][:space:][:cntrl:]" "^\\w \t\x00-\x1F")
-+ "^[:word:][:space:][:cntrl:]"
-+ "^\\w \t\x00-\x1F")
- "]\\)\\2\\2+\\)" re-hws "*$"))
- )
- (list
-@@ -2923,76 +2884,53 @@ details check the Rst Faces Defaults group."
- ;; Do all block fontification as late as possible so 'append works
-
- ;; Sections_ / Transitions_
-- (append
-- (list
-- re-ado2)
-- (if (not rst-mode-lazy)
-- (list 1 rst-block-face)
-- (list
-- (list 'rst-font-lock-handle-adornment
-- '(progn
-- (setq rst-font-lock-adornment-point (match-end 1))
-- (point-max))
-- nil
-- (list 1 '(cdr (assoc nil rst-adornment-faces-alist))
-- 'append t)
-- (list 2 '(cdr (assoc rst-font-lock-level
-- rst-adornment-faces-alist))
-- 'append t)
-- (list 3 '(cdr (assoc nil rst-adornment-faces-alist))
-- 'append t)))))
-+ (list
-+ re-ado2
-+ (list 'rst-font-lock-handle-adornment-match
-+ '(rst-font-lock-handle-adornment-limit
-+ (match-string-no-properties 1) (match-end 1))
-+ nil
-+ (list 1 '(cdr (assoc nil rst-adornment-faces-alist))
-+ 'append t)
-+ (list 2 '(cdr (assoc rst-font-lock-adornment-level
-+ rst-adornment-faces-alist))
-+ 'append t)
-+ (list 3 '(cdr (assoc nil rst-adornment-faces-alist))
-+ 'append t)))
-
- ;; `Comments`_
-- (append
-- (list
-- (concat re-bol "\\(" re-ems "\\)\[^[|_]\\([^:\n]\\|:\\([^:\n]\\|$\\)\\)*$")
--
-- (list 1 rst-comment-face))
-- (if rst-mode-lazy
-- (list
-- (list 'rst-font-lock-find-unindented-line
-- '(progn
-- (setq rst-font-lock-indentation-point (match-end 1))
-- (point-max))
-- nil
-- (list 0 rst-comment-face 'append)))))
-- (append
-- (list
-- (concat re-bol "\\(" re-emt "\\)\\(\\s *\\)$")
-- (list 1 rst-comment-face)
-- (list 2 rst-comment-face))
-- (if rst-mode-lazy
-- (list
-- (list 'rst-font-lock-find-unindented-line
-- '(progn
-- (setq rst-font-lock-indentation-point 'next)
-- (point-max))
-- nil
-- (list 0 rst-comment-face 'append)))))
-+ (list
-+ (concat re-bol "\\(" re-ems "\\)\[^[|_]\\([^:\n]\\|:\\([^:\n]\\|$\\)\\)*$")
-+ (list 1 rst-comment-face)
-+ (list 'rst-font-lock-find-unindented-line-match
-+ '(rst-font-lock-find-unindented-line-limit (match-end 1))
-+ nil
-+ (list 0 rst-comment-face 'append)))
-+ (list
-+ (concat re-bol "\\(" re-emt "\\)\\(\\s *\\)$")
-+ (list 1 rst-comment-face)
-+ (list 2 rst-comment-face)
-+ (list 'rst-font-lock-find-unindented-line-match
-+ '(rst-font-lock-find-unindented-line-limit 'next)
-+ nil
-+ (list 0 rst-comment-face 'append)))
-
- ;; `Literal Blocks`_
-- (append
-- (list
-- (concat re-bol "\\(\\([^.\n]\\|\\.[^.\n]\\).*\\)?\\(::\\)$")
-- (list 3 rst-block-face))
-- (if rst-mode-lazy
-- (list
-- (list 'rst-font-lock-find-unindented-line
-- '(progn
-- (setq rst-font-lock-indentation-point t)
-- (point-max))
-- nil
-- (list 0 rst-literal-face 'append)))))
--
-- ;; `Doctest Blocks`_
-- (append
-+ (list
-+ (concat re-bol "\\(\\([^.\n]\\|\\.[^.\n]\\).*\\)?\\(::\\)$")
-+ (list 3 rst-block-face)
-+ (list 'rst-font-lock-find-unindented-line-match
-+ '(rst-font-lock-find-unindented-line-limit t)
-+ nil
-+ (list 0 rst-literal-face 'append)))
-+
-+ ;; `Doctest Blocks`_
- (list
- (concat re-bol "\\(>>>\\|\\.\\.\\.\\)\\(.+\\)")
- (list 1 rst-block-face)
-- (list 2 rst-literal-face)))
-- )))
--
--
-+ (list 2 rst-literal-face))
-+ ))
-+ "Returns keywords to highlight in rst mode according to current settings.")
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Indented blocks
-@@ -3027,54 +2965,70 @@ point is not moved."
- (goto-char (or fnd start))
- fnd))
-
--;; Stores the point where the current indentation ends if a number. If `next'
--;; indicates `rst-font-lock-find-unindented-line' shall take the indentation
--;; from the next line if this is not empty. If non-nil indicates
--;; `rst-font-lock-find-unindented-line' shall take the indentation from the
--;; next non-empty line. Also used as a trigger for
--;; `rst-font-lock-find-unindented-line'.
--(defvar rst-font-lock-indentation-point nil)
--
--(defun rst-font-lock-find-unindented-line (limit)
-- (let* ((ind-pnt rst-font-lock-indentation-point)
-- (beg-pnt ind-pnt))
-- ;; May run only once - enforce this
-- (setq rst-font-lock-indentation-point nil)
-- (when (and ind-pnt (not (numberp ind-pnt)))
-- ;; Find indentation point in next line if any
-- (setq ind-pnt
-- (save-excursion
-- (save-match-data
-- (if (eq ind-pnt 'next)
-- (when (and (zerop (forward-line 1)) (< (point) limit))
-- (setq beg-pnt (point))
-- (when (not (looking-at "\\s *$"))
-+;; Beginning of the match if `rst-font-lock-find-unindented-line-end'.
-+(defvar rst-font-lock-find-unindented-line-begin nil)
-+
-+;; End of the match as determined by
-+;; `rst-font-lock-find-unindented-line-limit'. Also used as a trigger for
-+;; `rst-font-lock-find-unindented-line-match'.
-+(defvar rst-font-lock-find-unindented-line-end nil)
-+
-+;; Finds the next unindented line relative to indenation at IND-PNT and returns
-+;; this point, the end of the buffer or nil if nothing found. If IND-PNT is
-+;; `next' takes the indentation from the next line if this is not empty. If
-+;; IND-PNT is non-nil but not a number takes the indentation from the next
-+;; non-empty line.
-+(defun rst-font-lock-find-unindented-line-limit (ind-pnt)
-+ (setq rst-font-lock-find-unindented-line-begin ind-pnt)
-+ (setq rst-font-lock-find-unindented-line-end
-+ (save-excursion
-+ (when (not (numberp ind-pnt))
-+ ;; Find indentation point in next line if any
-+ (setq ind-pnt
-+ ;; FIXME: Should be refactored to two different functions
-+ ;; giving their result to this function, may be
-+ ;; integrated in caller
-+ (save-match-data
-+ (if (eq ind-pnt 'next)
-+ (when (and (zerop (forward-line 1))
-+ (< (point) (point-max)))
-+ ;; Not at EOF
-+ (setq rst-font-lock-find-unindented-line-begin (point))
-+ (when (not (looking-at "\\s *$"))
-+ ;; Use end of indentation if non-empty line
-+ (looking-at "\\s *")
-+ (match-end 0)))
-+ ;; Skip until non-empty line or EOF
-+ (while (and (zerop (forward-line 1))
-+ (< (point) (point-max))
-+ (looking-at "\\s *$")))
-+ (when (< (point) (point-max))
-+ ;; Not at EOF
-+ (setq rst-font-lock-find-unindented-line-begin (point))
- (looking-at "\\s *")
-- (match-end 0)))
-- (while (and (zerop (forward-line 1)) (< (point) limit)
-- (looking-at "\\s *$")))
-- (when (< (point) limit)
-- (setq beg-pnt (point))
-- (looking-at "\\s *")
-- (match-end 0)))))))
-- (when ind-pnt
-- (goto-char ind-pnt)
-- ;; Always succeeds because the limit set by PRE-MATCH-FORM is the
-- ;; ultimate point to find
-- (goto-char (or (rst-forward-indented-block nil limit) limit))
-- (set-match-data (list beg-pnt (point)))
-- t)))
-+ (match-end 0))))))
-+ (when ind-pnt
-+ (goto-char ind-pnt)
-+ (or (rst-forward-indented-block nil (point-max))
-+ (point-max))))))
-+
-+;; Sets the match found by `rst-font-lock-find-unindented-line-limit' the first
-+;; time called or nil.
-+(defun rst-font-lock-find-unindented-line-match (limit)
-+ (when rst-font-lock-find-unindented-line-end
-+ (set-match-data
-+ (list rst-font-lock-find-unindented-line-begin
-+ rst-font-lock-find-unindented-line-end))
-+ ;; Make sure this is called only once
-+ (setq rst-font-lock-find-unindented-line-end nil)
-+ t))
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Adornments
-
--;; Stores the point where the current adornment ends. Also used as a trigger
--;; for `rst-font-lock-handle-adornment'.
--(defvar rst-font-lock-adornment-point nil)
--
--;; Here `rst-font-lock-handle-adornment' stores the section level of the
-+;; Here `rst-font-lock-handle-adornment-match' stores the section level of the
- ;; current adornment or t for a transition.
--(defvar rst-font-lock-level nil)
-+(defvar rst-font-lock-adornment-level nil)
-
- ;; FIXME: It would be good if this could be used to markup section titles of
- ;; given level with a special key; it would be even better to be able to
-@@ -3153,8 +3107,8 @@ entered.")
- (setq end-ovr end-pnt)
- (forward-line 1)
- (setq beg-txt (point))
-- (while (and (< (point) limit) (not end-txt))
-- (if (looking-at "\\s *$")
-+ (while (and (<= (point) limit) (not end-txt))
-+ (if (or (= (point) limit) (looking-at "\\s *$"))
- ;; No underline found
- (setq end-txt (1- (point)))
- (when (looking-at (concat "\\(" ado-re "\\)\\s *$"))
-@@ -3169,33 +3123,46 @@ entered.")
- (setq end-und end-pnt)
- (setq end-txt (1- beg-und))
- (setq beg-txt (progn
-- (if (re-search-backward "^\\s *$" 1 'move)
-- (forward-line 1))
-- (point)))))
-+ (goto-char end-txt)
-+ (forward-line 0)
-+ (point)))
-+ (when (and (zerop (forward-line -1))
-+ (looking-at (concat "\\(" ado-re "\\)\\s *$")))
-+ ;; There is a matching overline
-+ (setq key (concat (list ado-ch) "o"))
-+ (setq beg-ovr (point))
-+ (setq end-ovr (match-end 1)))))
- (list key
- (or beg-ovr beg-txt beg-und)
- (or end-und end-txt end-und)
- beg-ovr end-ovr beg-txt end-txt beg-und end-und)))))
-
--;; Handles adornments for font-locking section titles and transitions. Returns
--;; three match groups. First and last match group matched pure overline /
--;; underline adornment while second group matched section title text. Each
--;; group may not exist.
--(defun rst-font-lock-handle-adornment (limit)
-- (let ((ado-pnt rst-font-lock-adornment-point))
-+;; Stores the result of `rst-classify-adornment'. Also used as a trigger
-+;; for `rst-font-lock-handle-adornment-match'.
-+(defvar rst-font-lock-adornment-data nil)
-+
-+;; Determines limit for adornments for font-locking section titles and
-+;; transitions. In fact it determines all things necessary and puts the result
-+;; to `rst-font-lock-adornment-data'. ADO is the complete adornment matched.
-+;; ADO-END is the point where ADO ends. Returns the point where the whole
-+;; adorned construct ends.
-+(defun rst-font-lock-handle-adornment-limit (ado ado-end)
-+ (let ((ado-data (rst-classify-adornment ado ado-end (point-max))))
-+ (setq rst-font-lock-adornment-level (rst-adornment-level (car ado-data) t))
-+ (setq rst-font-lock-adornment-data (cdr ado-data))
-+ (goto-char (nth 1 ado-data))
-+ (nth 2 ado-data)))
-+
-+;; Sets the match found by `rst-font-lock-handle-adornment-limit' the first
-+;; time called or nil.
-+(defun rst-font-lock-handle-adornment-match (limit)
-+ (let ((ado-data rst-font-lock-adornment-data))
- ;; May run only once - enforce this
-- (setq rst-font-lock-adornment-point nil)
-- (if ado-pnt
-- (let* ((ado (rst-classify-adornment (match-string-no-properties 1)
-- ado-pnt limit))
-- (key (car ado))
-- (mtc (cdr ado)))
-- (setq rst-font-lock-level (rst-adornment-level key t))
-- (goto-char (nth 1 mtc))
-- (set-match-data mtc)
-- t))))
--
--
-+ (setq rst-font-lock-adornment-data nil)
-+ (when ado-data
-+ (goto-char (nth 1 ado-data))
-+ (set-match-data ado-data)
-+ t)))
-
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
---
-1.5.6.3
-
Modified: packages/python-docutils/trunk/debian/patches/series
===================================================================
--- packages/python-docutils/trunk/debian/patches/series 2009-12-06 23:56:44 UTC (rev 10684)
+++ packages/python-docutils/trunk/debian/patches/series 2009-12-06 23:57:30 UTC (rev 10685)
@@ -4,4 +4,3 @@
14_distutils_setup.diff
15_emacs_debian_paths.diff
16_disable_picins.diff
-17_speed_up_rst_el.diff
More information about the Python-modules-commits
mailing list