diff options
author | Taylor R Campbell <campbell@mumble.net> | 2011-03-20 18:45:37 +0000 |
---|---|---|
committer | Taylor R Campbell <campbell@mumble.net> | 2011-03-20 18:45:37 +0000 |
commit | 4d3ad1edcbd29358ac343a0e5fbe137e4fdf90fd (patch) | |
tree | c021603a4052823c11c7d7e2edb9059ed2073c83 /paredit.el | |
parent | 135c94043eee6a97a94a41b0fa2cb79677165c41 (diff) |
Simplify definition of `paredit-count-sexps-forward'.
Ignore-this: 76e5c8178ddc5dede762dc101e526095
Use the atrocious idiom (while (setq tmp ...) ...)...
darcs-hash:20110320184537-00fcc-ad46fdaac5b45670aa781cd61c105e1ee6ade7f5
Diffstat (limited to 'paredit.el')
-rw-r--r-- | paredit.el | 18 |
1 files changed, 5 insertions, 13 deletions
@@ -1865,19 +1865,11 @@ By default OPEN and CLOSE are round delimiters." (defun paredit-count-sexps-forward () (save-excursion - (let ((n 0)) - (catch 'exit - (paredit-ignore-sexp-errors - (while (not (eobp)) - (let ((start (point))) - (forward-sexp) - ;; Don't count whitespace at the end of the buffer as - ;; another S-expression. - (if (and (eobp) - (save-excursion (backward-sexp) - (or (bobp) (< (point) start)))) - (throw 'exit nil))) - (setq n (+ n 1))))) + (let ((n 0) (p nil)) ;hurk + (paredit-ignore-sexp-errors + (while (setq p (scan-sexps (point) +1)) + (goto-char p) + (setq n (+ n 1)))) n))) (defun paredit-yank-pop (&optional argument) |