diff options
| -rw-r--r-- | paredit.el | 16 | 
1 files changed, 12 insertions, 4 deletions
| @@ -1866,10 +1866,18 @@ By default OPEN and CLOSE are round delimiters."  (defun paredit-count-sexps-forward ()    (save-excursion      (let ((n 0)) -      (paredit-ignore-sexp-errors -        (while (not (eobp)) -          (forward-sexp) -          (setq n (+ n 1)))) +      (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)))))        n)))  (defun paredit-yank-pop (&optional argument) | 
