Subject: Re: bug#16799: 24.3.50; delete-selection-mode and electric-pair-mode interaction

From: Juanma Barranquero <[email-masked]>
Date: Wed, 19 Feb 2014 23:23:40 +0100

On Tue, Feb 18, 2014 at 9:47 PM, Harald Hanche-Olsen
<[email-masked]> wrote:

> Error in pre-command-hook (delete-selection-pre-hook): (args-out-of-range 0 1)

I think something like this is needed to avoid
electric-pair-syntax-info parsing before the start of the
region/buffer.

=== modified file 'lisp/elec-pair.el'
--- lisp/elec-pair.el   2014-02-03 00:28:57 +0000
+++ lisp/elec-pair.el   2014-02-19 22:18:02 +0000
@@ -215,8 +215,10 @@
 `electric-pair-pairs' or `electric-pair-text-pairs' were used to
 lookup syntax.  STRING-OR-COMMENT-START indicates that point is
 inside a comment of string."
-  (let* ((pre-string-or-comment (nth 8 (save-excursion
-                                         (syntax-ppss (1- (point))))))
+  (let* ((pre-string-or-comment (if (> (point) (point-min))
+                                   (nth 8 (save-excursion
+                                            (syntax-ppss (1- (point)))))
+                                 t))
          (post-string-or-comment (nth 8 (syntax-ppss (point))))
          (string-or-comment (and post-string-or-comment
                                  pre-string-or-comment))