[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/crdt 3122172 2/7: Fix narrowing
From: |
ELPA Syncer |
Subject: |
[elpa] externals/crdt 3122172 2/7: Fix narrowing |
Date: |
Sun, 29 Aug 2021 22:57:08 -0400 (EDT) |
branch: externals/crdt
commit 312217205ceb8b5f31efc558b293af8ab6b726ae
Author: Qiantan Hong <qhong@mit.edu>
Commit: Qiantan Hong <qhong@mit.edu>
Fix narrowing
---
crdt.el | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/crdt.el b/crdt.el
index 2c21190..e19400e 100644
--- a/crdt.el
+++ b/crdt.el
@@ -436,6 +436,7 @@ If SESSION is nil, use current CRDT--SESSION."
(defmacro crdt--with-buffer-name (name &rest body)
"Find CRDT shared buffer associated with NAME and evaluate BODY in it.
+Any narrowing is temporarily disabled during evaluation of BODY.
Also, try to recover from synchronization error if any error happens in BODY.
Must be called when CURRENT-BUFFER is a CRDT status buffer.
If such buffer doesn't exist yet, do nothing."
@@ -444,11 +445,13 @@ If such buffer doesn't exist yet, do nothing."
(setq crdt-buffer (gethash ,name (crdt--session-buffer-table
crdt--session)))
(when (and crdt-buffer (buffer-live-p crdt-buffer))
(with-current-buffer crdt-buffer
- (condition-case err
- ,(cons 'progn body)
- (error (if (crdt--server-p)
- (signal (car err) (cdr err)) ; didn't implement server
side recovery yet
- (crdt--client-recover))))))))
+ (save-restriction
+ (widen)
+ (condition-case err
+ ,(cons 'progn body)
+ (error (if (crdt--server-p)
+ (signal (car err) (cdr err)) ; didn't implement server
side recovery yet
+ (crdt--client-recover)))))))))
(defmacro crdt--with-buffer-name-pull (name &rest body)
"Find CRDT shared buffer associated with NAME and evaluate BODY in it.
@@ -1056,9 +1059,11 @@ Send message to other peers about any changes."
(crdt--format-message `(focus ,(crdt--session-local-id crdt--session)
,crdt--buffer-network-name)))
(setf (crdt--session-focused-buffer-name crdt--session)
crdt--buffer-network-name)
(crdt--refresh-users-maybe))
- (let ((cursor-message (crdt--local-cursor)))
- (when cursor-message
- (crdt--broadcast-maybe (crdt--format-message cursor-message)))))
+ (save-restriction
+ (widen)
+ (let ((cursor-message (crdt--local-cursor)))
+ (when cursor-message
+ (crdt--broadcast-maybe (crdt--format-message cursor-message))))))
;;; CRDT ID (de)serialization
- [elpa] externals/crdt updated (cfe7748 -> 70ae7ba), ELPA Syncer, 2021/08/29
- [elpa] externals/crdt 8c4a3f4 3/7: More fix on narrowing, ELPA Syncer, 2021/08/29
- [elpa] externals/crdt 9f5882c 6/7: Use overlay instead of font-lock-face for crdt-visualize-author-mode, ELPA Syncer, 2021/08/29
- [elpa] externals/crdt 3e64983 1/7: fix narrowing behavior, ELPA Syncer, 2021/08/29
- [elpa] externals/crdt 3122172 2/7: Fix narrowing,
ELPA Syncer <=
- [elpa] externals/crdt 301b7b1 4/7: Merge branch 'master' into fix, ELPA Syncer, 2021/08/29
- [elpa] externals/crdt a05eb1e 5/7: refactor hook (un)install, ELPA Syncer, 2021/08/29
- [elpa] externals/crdt 70ae7ba 7/7: Merge branch 'fix' into 'master', ELPA Syncer, 2021/08/29