Function: electric-pair-skip-if-helps-balance
electric-pair-skip-if-helps-balance is a byte-compiled function
defined in elec-pair.el.gz.
Signature
(electric-pair-skip-if-helps-balance CHAR)
Documentation
Return non-nil if skipping CHAR preserves balance of delimiters.
Works by first removing the character from the buffer, then doing some list calculations, finally restoring the situation as if nothing happened.
Source Code
;; Defined in /usr/src/emacs/lisp/elec-pair.el.gz
(defun electric-pair-skip-if-helps-balance (char)
"Return non-nil if skipping CHAR preserves balance of delimiters.
Works by first removing the character from the buffer, then doing
some list calculations, finally restoring the situation as if nothing
happened."
(pcase (electric-pair-syntax-info char)
(`(,syntax ,pair ,_ ,s-or-c)
(unwind-protect
(progn
(delete-char -1)
(cond ((eq syntax ?\))
(let* ((pair-data
(electric-pair--balance-info
-1 s-or-c))
(innermost (car pair-data))
(outermost (cdr pair-data)))
(and
(cond ((car outermost)
(car innermost))
((car innermost)
(not (eq (cdr outermost) pair)))))))
((eq syntax ?\")
(electric-pair--inside-string-p char))))
(insert char)))))