]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve previous bytecomp fix
authorGlenn Morris <rgm@gnu.org>
Sat, 8 Jun 2013 01:35:47 +0000 (18:35 -0700)
committerGlenn Morris <rgm@gnu.org>
Sat, 8 Jun 2013 01:35:47 +0000 (18:35 -0700)
* lisp/emacs-lisp/bytecomp.el (byte-compile-char-before)
(byte-compile-backward-char, byte-compile-backward-word):
Improve previous change, to handle non-explicit nil.

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

index 082aeeeca2e24fd0de98764fedb0c88e7402907d..4e02c72d984109556754dc35a54cd1f29a032498 100644 (file)
@@ -1,3 +1,9 @@
+2013-06-08  Glenn Morris  <rgm@gnu.org>
+
+       * emacs-lisp/bytecomp.el (byte-compile-char-before)
+       (byte-compile-backward-char, byte-compile-backward-word):
+       Improve previous change, to handle non-explicit nil.
+
 2013-06-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * emacs-lisp/smie.el: Improve show-paren-mode behavior.
index 5efdd6a675cd322d7be94f3125e7f09ec96c2efd..e603f76f41d054affbeb654eb68b24149caa0f14 100644 (file)
@@ -3446,6 +3446,7 @@ discarding."
 (byte-defop-compiler (/ byte-quo) byte-compile-quo)
 (byte-defop-compiler nconc)
 
+;; Is this worth it?  Both -before and -after are written in C.
 (defun byte-compile-char-before (form)
   (cond ((or (= 1 (length form))
             (and (= 2 (length form)) (not (nth 1 form))))
@@ -3453,10 +3454,12 @@ discarding."
        ((= 2 (length form))
         (byte-compile-form (list 'char-after (if (numberp (nth 1 form))
                                                  (1- (nth 1 form))
-                                               `(1- ,(nth 1 form))))))
+                                               `(1- (or ,(nth 1 form)
+                                                        (point)))))))
        (t (byte-compile-subr-wrong-args form "0-1"))))
 
 ;; backward-... ==> forward-... with negated argument.
+;; Is this worth it?  Both -backward and -forward are written in C.
 (defun byte-compile-backward-char (form)
   (cond ((or (= 1 (length form))
             (and (= 2 (length form)) (not (nth 1 form))))
@@ -3464,7 +3467,7 @@ discarding."
        ((= 2 (length form))
         (byte-compile-form (list 'forward-char (if (numberp (nth 1 form))
                                                    (- (nth 1 form))
-                                                 `(- ,(nth 1 form))))))
+                                                 `(- (or ,(nth 1 form) 1))))))
        (t (byte-compile-subr-wrong-args form "0-1"))))
 
 (defun byte-compile-backward-word (form)
@@ -3474,7 +3477,7 @@ discarding."
        ((= 2 (length form))
         (byte-compile-form (list 'forward-word (if (numberp (nth 1 form))
                                                    (- (nth 1 form))
-                                                 `(- ,(nth 1 form))))))
+                                                 `(- (or ,(nth 1 form) 1))))))
        (t (byte-compile-subr-wrong-args form "0-1"))))
 
 (defun byte-compile-list (form)