[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r104734: * allout-widgets.el (allout-
From: |
Ken Manheimer |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r104734: * allout-widgets.el (allout-widgets-post-command-business): Stop decorating |
Date: |
Sun, 26 Jun 2011 12:47:39 -0400 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 104734
committer: Ken Manheimer <address@hidden>
branch nick: trunk
timestamp: Sun 2011-06-26 12:47:39 -0400
message:
* allout-widgets.el (allout-widgets-post-command-business): Stop decorating
intermediate isearch matches. They're not being undecorated when an
isearch is continued past, and isearch automatically collapses them. This
leads to "widget leaks", where decorated items accumulate in collapsed
areas. Lines with lots of hidden widgets can slow down cursor travel,
substantially. Too much complicated machinery would be needed to ensure
undecoration, so we're doing without this nicety.
(allout-widgets-tally-string): Don't try to do a hash-table-count of
allout-widgets-tally when it's nil. This eliminates spurious "Error during
redisplay: (wrong-type-argument hash-table-p nil)" warnings in *Messages*
when allout-widgets-maintain-tally is t.
modified:
lisp/ChangeLog
lisp/allout-widgets.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2011-06-26 16:17:30 +0000
+++ b/lisp/ChangeLog 2011-06-26 16:47:39 +0000
@@ -1,10 +1,26 @@
+2011-06-26 Ken Manheimer <address@hidden>
+
+ * allout-widgets.el (allout-widgets-post-command-business): Stop
+ decorating intermediate isearch matches. They're not being
+ undecorated when an isearch is continued past, and isearch
+ automatically collapses them. This leads to "widget leaks", where
+ decorated items accumulate in collapsed areas. Lines with lots of
+ hidden widgets can slow down cursor travel, substantially. Too
+ much complicated machinery would be needed to ensure undecoration,
+ so we're doing without this nicety.
+
+ (allout-widgets-tally-string): Don't try to do a hash-table-count
+ of allout-widgets-tally when it's nil. This eliminates spurious "Error
+ during redisplay: (wrong-type-argument hash-table-p nil)" warnings in
+ *Messages* when allout-widgets-maintain-tally is t.
+
2011-06-26 Martin Rudalics <address@hidden>
* window.el (display-buffer-normalize-argument): Rename to
display-buffer-normalize-arguments. Handle special meaning of
- LABEL argument. Respect special-display-function when popping
- up a new frame. Fix code searching for a window showing the
- buffer on another frame.
+ LABEL argument. Respect special-display-function when popping up
+ a new frame. Fix code searching for a window showing the buffer
+ on another frame.
(display-buffer-normalize-specifiers): Call
display-buffer-normalize-arguments.
(display-buffer-in-window): Don't undedicate the window if its
@@ -981,6 +997,7 @@
* iswitchb.el (iswitchb-window-buffer-p): Use `member' instead of
`memq' (Bug#8799).
+>>>>>>> MERGE-SOURCE
2011-06-02 Stefan Monnier <address@hidden>
* subr.el (make-progress-reporter): Add "..." by default (bug#8785).
=== modified file 'lisp/allout-widgets.el'
--- a/lisp/allout-widgets.el 2011-05-23 17:57:17 +0000
+++ b/lisp/allout-widgets.el 2011-06-26 16:47:39 +0000
@@ -258,7 +258,9 @@
The number varies according to the evanescence of objects on a
hash table with weak keys, so tracking of widget erasures is often delayed."
- (when (and allout-widgets-maintain-tally (not allout-widgets-mode-inhibit))
+ (when (and allout-widgets-maintain-tally
+ (not allout-widgets-mode-inhibit)
+ allout-widgets-tally)
(format ":%s" (hash-table-count allout-widgets-tally))))
;;;_ = allout-widgets-track-decoration nil
(defcustom allout-widgets-track-decoration nil
@@ -748,20 +750,23 @@
(message replaced-message)
(message "")))))
- ;; Detect undecorated items, eg during isearch into previously
- ;; unexposed topics, and decorate "economically". Some
- ;; undecorated stuff is often exposed, to reduce lag, but the
- ;; item containing the cursor is decorated. We constrain
- ;; recursion to avoid being trapped by unexpectedly undecoratable
- ;; items.
- (when (and (not recursing)
- (not (allout-current-decorated-p))
- (or (not (equal (allout-depth) 0))
- (not allout-container-item-widget)))
- (let ((buffer-undo-list t))
- (allout-widgets-exposure-change-recorder
- allout-recent-prefix-beginning allout-recent-prefix-end nil)
- (allout-widgets-post-command-business 'recursing)))
+ ;; alas, decorated intermediate matches are not easily undecorated
+ ;; when they're automatically rehidden by isearch, so we're
+ ;; dropping this nicety.
+ ;; ;; Detect undecorated items, eg during isearch into previously
+ ;; ;; unexposed topics, and decorate "economically". Some
+ ;; ;; undecorated stuff is often exposed, to reduce lag, but the
+ ;; ;; item containing the cursor is decorated. We constrain
+ ;; ;; recursion to avoid being trapped by unexpectedly undecoratable
+ ;; ;; items.
+ ;; (when (and (not recursing)
+ ;; (not (allout-current-decorated-p))
+ ;; (or (not (equal (allout-depth) 0))
+ ;; (not allout-container-item-widget)))
+ ;; (let ((buffer-undo-list t))
+ ;; (allout-widgets-exposure-change-recorder
+ ;; allout-recent-prefix-beginning allout-recent-prefix-end nil)
+ ;; (allout-widgets-post-command-business 'recursing)))
;; Detect and rectify fouled outline structure - decorated item
;; not at beginning of line.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r104734: * allout-widgets.el (allout-widgets-post-command-business): Stop decorating,
Ken Manheimer <=