diff options
author | Glenn Morris <rgm@gnu.org> | 2007-04-10 03:54:36 +0000 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2007-04-10 03:54:36 +0000 |
commit | ec448ae2df819739cd0dfed37db977c1aeafa2b5 (patch) | |
tree | 3638632f57ae6e2200629ef31583aa5dfee9375e /lisp/emacs-lisp | |
parent | 760c1f3c569e59cc069cfae215dbce446b1c6493 (diff) | |
download | emacs-ec448ae2df819739cd0dfed37db977c1aeafa2b5.tar.gz emacs-ec448ae2df819739cd0dfed37db977c1aeafa2b5.tar.bz2 emacs-ec448ae2df819739cd0dfed37db977c1aeafa2b5.zip |
Markus Triska <markus.triska at gmx.at>:
(byte-compile-char-before): New function (modified replacement for
byte-optimize-char-before in byte-opt.el).
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 31d21fd8720..de749e1d0c8 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -3148,6 +3148,7 @@ That command is designed for interactive use only" fn)) ;; 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) |