[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/valign 638f978 054/198: Fix infinite loop!!
From: |
Stefan Monnier |
Subject: |
[elpa] externals/valign 638f978 054/198: Fix infinite loop!! |
Date: |
Tue, 1 Dec 2020 18:19:15 -0500 (EST) |
branch: externals/valign
commit 638f9784cf7b6b2ace9d9ec8956bb1ca185eced0
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>
Fix infinite loop!!
* (valign--beginning-of-table, valign--end-of-table): Fix.
---
valign.el | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/valign.el b/valign.el
index 0bc50d9..79eab0c 100644
--- a/valign.el
+++ b/valign.el
@@ -303,17 +303,29 @@ Assumes point is on a table. Return nil if failed, point
otherwise."
(beginning-of-line)
(if (not (looking-at "[ \t]*|")) nil
- (while (re-search-backward "^[ \t]*|" nil t))
+ (condition-case nil
+ (while (looking-at "[ \t]*|")
+ (search-backward "\n")
+ (beginning-of-line))
+ (search-failed nil))
(point)))
(defun valign--end-of-table ()
"Go forward to the end of the table at point.
Assumes point is on a table. Return nil if failed, point
otherwise."
- (beginning-of-line)
- (if (not (looking-at "[ \t]*|")) nil
- (while (re-search-forward "|[^|\n]*$" nil t))
- (point)))
+ (let ((p (point)))
+ (beginning-of-line)
+ (if (not (looking-at "[ \t]*|"))
+ (progn (goto-char p) nil)
+ (condition-case nil
+ (while (looking-at "[ \t]*|")
+ ;; Each iteration the point is at BOL.
+ (search-forward "\n" nil))
+ (search-failed nil))
+ ;; Point at the line after the last line of the table.
+ (backward-char)
+ (point))))
(defun valign--put-text-property (beg end xpos)
"Put text property on text from BEG to END.
- [elpa] externals/valign 3c70c15 034/198: * valign.el (valign-mode): Fix., (continued)
- [elpa] externals/valign 3c70c15 034/198: * valign.el (valign-mode): Fix., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 3752d53 036/198: Solve a bunch of edge cases, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 5b9a086 038/198: Fix edge case, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 8cfe0ca 039/198: * valign.el (valign-separator-row-style): Add choice definition., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 927d82d 041/198: Support indented tables, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 81de913 042/198: Property support tabs, Stefan Monnier, 2020/12/01
- [elpa] externals/valign db0c4d8 043/198: Add support for markdown tables, Stefan Monnier, 2020/12/01
- [elpa] externals/valign da56833 047/198: Always realign markdown tables, Stefan Monnier, 2020/12/01
- [elpa] externals/valign e885f67 048/198: Merge branch 'markdown', Stefan Monnier, 2020/12/01
- [elpa] externals/valign cd7c17f 052/198: Fix infinite loop, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 638f978 054/198: Fix infinite loop!!,
Stefan Monnier <=
- [elpa] externals/valign 994a4dc 056/198: Advice outline, Stefan Monnier, 2020/12/01
- [elpa] externals/valign cf4f9c9 059/198: * valign.el (valign-initial-alignment): Check buffer visibility., Stefan Monnier, 2020/12/01
- [elpa] externals/valign cc53114 060/198: * valign.el (valign-initial-alignment): Fix., Stefan Monnier, 2020/12/01
- [elpa] externals/valign f2ccbd9 069/198: * README.org: Rarrange., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 24ad00d 074/198: * valign.el (valign--cell-width): Includes extra spaces in cell width., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 931d102 035/198: * valign.el (valign-mode): Always add jit-lock hook., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 3a84705 062/198: Suppress some errors, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 455cb2c 070/198: * valign.el (Version): Change to 1.0.0., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 411754b 073/198: Fix function name, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 16656b5 075/198: * valign.el (valign--calculate-table-info): Record empty columns., Stefan Monnier, 2020/12/01