]> git.eshelyaron.com Git - emacs.git/commitdiff
bytecomp fix for bug#14565
authorGlenn Morris <rgm@gnu.org>
Thu, 6 Jun 2013 21:04:43 +0000 (17:04 -0400)
committerGlenn Morris <rgm@gnu.org>
Thu, 6 Jun 2013 21:04:43 +0000 (17:04 -0400)
* lisp/emacs-lisp/bytecomp.el (byte-compile-char-before)
(byte-compile-backward-char, byte-compile-backward-word):
Handle explicit nil arguments.

lisp/ChangeLog
lisp/emacs-lisp/bytecomp.el

index 9661cc5fa6673d41ad670a99994abee75ce760e0..8630d478fc2e184376f8456671349557b2a98de1 100644 (file)
@@ -1,3 +1,9 @@
+2013-06-06  Glenn Morris  <rgm@gnu.org>
+
+       * emacs-lisp/bytecomp.el (byte-compile-char-before)
+       (byte-compile-backward-char, byte-compile-backward-word):
+       Handle explicit nil arguments.  (Bug#14565)
+
 2013-06-05  Alan Mackenzie  <acm@muc.de>
 
        * isearch.el (isearch-allow-prefix): New user option.
index aa28c747ff6758587a26813aef5bd50089c7df94..5efdd6a675cd322d7be94f3125e7f09ec96c2efd 100644 (file)
@@ -3447,31 +3447,34 @@ discarding."
 (byte-defop-compiler nconc)
 
 (defun byte-compile-char-before (form)
-  (cond ((= 2 (length form))
+  (cond ((or (= 1 (length form))
+            (and (= 2 (length form)) (not (nth 1 form))))
+        (byte-compile-form '(char-after (1- (point)))))
+       ((= 2 (length form))
         (byte-compile-form (list 'char-after (if (numberp (nth 1 form))
                                                  (1- (nth 1 form))
                                                `(1- ,(nth 1 form))))))
-       ((= 1 (length form))
-        (byte-compile-form '(char-after (1- (point)))))
        (t (byte-compile-subr-wrong-args form "0-1"))))
 
 ;; backward-... ==> forward-... with negated argument.
 (defun byte-compile-backward-char (form)
-  (cond ((= 2 (length form))
+  (cond ((or (= 1 (length form))
+            (and (= 2 (length form)) (not (nth 1 form))))
+        (byte-compile-form '(forward-char -1)))
+       ((= 2 (length form))
         (byte-compile-form (list 'forward-char (if (numberp (nth 1 form))
                                                    (- (nth 1 form))
                                                  `(- ,(nth 1 form))))))
-       ((= 1 (length form))
-        (byte-compile-form '(forward-char -1)))
        (t (byte-compile-subr-wrong-args form "0-1"))))
 
 (defun byte-compile-backward-word (form)
-  (cond ((= 2 (length form))
+  (cond ((or (= 1 (length form))
+            (and (= 2 (length form)) (not (nth 1 form))))
+        (byte-compile-form '(forward-word -1)))
+       ((= 2 (length form))
         (byte-compile-form (list 'forward-word (if (numberp (nth 1 form))
                                                    (- (nth 1 form))
                                                  `(- ,(nth 1 form))))))
-       ((= 1 (length form))
-        (byte-compile-form '(forward-word -1)))
        (t (byte-compile-subr-wrong-args form "0-1"))))
 
 (defun byte-compile-list (form)