]> git.eshelyaron.com Git - emacs.git/commitdiff
Markus Triska <markus.triska at gmx.at>:
authorGlenn Morris <rgm@gnu.org>
Tue, 10 Apr 2007 03:54:36 +0000 (03:54 +0000)
committerGlenn Morris <rgm@gnu.org>
Tue, 10 Apr 2007 03:54:36 +0000 (03:54 +0000)
(byte-compile-char-before): New function (modified replacement for
byte-optimize-char-before in byte-opt.el).

lisp/emacs-lisp/bytecomp.el

index 31d21fd8720a31941b02536d115fbef7a48ade29..de749e1d0c89f7767300429fbef04a0900b88921 100644 (file)
@@ -3148,6 +3148,7 @@ That command is designed for interactive use only" fn))
 \f
 ;; more complicated compiler macros
 
+(byte-defop-compiler char-before)
 (byte-defop-compiler list)
 (byte-defop-compiler concat)
 (byte-defop-compiler fset)
@@ -3159,6 +3160,13 @@ That command is designed for interactive use only" fn))
 (byte-defop-compiler19 (/ byte-quo) byte-compile-quo)
 (byte-defop-compiler19 nconc)
 
+(defun byte-compile-char-before (form)
+  (cond ((= 2 (length form))
+         (byte-compile-form `(char-after (1- ,(nth 1 form)))))
+        ((= 1 (length form))
+         (byte-compile-form '(char-after (1- (point)))))
+        (t (byte-compile-subr-wrong-args form "0-1"))))
+
 (defun byte-compile-list (form)
   (let ((count (length (cdr form))))
     (cond ((= count 0)