comparison lisp/emacs-lisp/bytecomp.el @ 16274:e9819849c533

(save-current-buffer): Compile it like save-excursion. (byte-compile-save-current-buffer): New function.
author Richard M. Stallman <rms@gnu.org>
date Sun, 22 Sep 1996 04:37:55 +0000
parents d79492598ec8
children f91116721767
comparison
equal deleted inserted replaced
16273:14ff4afa06ec 16274:e9819849c533
8 8
9 ;; Subsequently modified by RMS. 9 ;; Subsequently modified by RMS.
10 10
11 ;;; This version incorporates changes up to version 2.10 of the 11 ;;; This version incorporates changes up to version 2.10 of the
12 ;;; Zawinski-Furuseth compiler. 12 ;;; Zawinski-Furuseth compiler.
13 (defconst byte-compile-version "$Revision: 2.19 $") 13 (defconst byte-compile-version "$Revision: 2.20 $")
14 14
15 ;; This file is part of GNU Emacs. 15 ;; This file is part of GNU Emacs.
16 16
17 ;; GNU Emacs is free software; you can redistribute it and/or modify 17 ;; GNU Emacs is free software; you can redistribute it and/or modify
18 ;; it under the terms of the GNU General Public License as published by 18 ;; it under the terms of the GNU General Public License as published by
487 (byte-defop 92 -1 byte-plus) 487 (byte-defop 92 -1 byte-plus)
488 (byte-defop 93 -1 byte-max) 488 (byte-defop 93 -1 byte-max)
489 (byte-defop 94 -1 byte-min) 489 (byte-defop 94 -1 byte-min)
490 (byte-defop 95 -1 byte-mult) ; v19 only 490 (byte-defop 95 -1 byte-mult) ; v19 only
491 (byte-defop 96 1 byte-point) 491 (byte-defop 96 1 byte-point)
492 (byte-defop 97 1 byte-mark-OBSOLETE) ; no longer generated as of v18 492 (byte-defop 97 0 byte-save-current-buffer
493 "To make a binding to record the current buffer")
493 (byte-defop 98 0 byte-goto-char) 494 (byte-defop 98 0 byte-goto-char)
494 (byte-defop 99 0 byte-insert) 495 (byte-defop 99 0 byte-insert)
495 (byte-defop 100 1 byte-point-max) 496 (byte-defop 100 1 byte-point-max)
496 (byte-defop 101 1 byte-point-min) 497 (byte-defop 101 1 byte-point-min)
497 (byte-defop 102 0 byte-char-after) 498 (byte-defop 102 0 byte-char-after)
2868 2869
2869 (byte-defop-compiler-1 catch) 2870 (byte-defop-compiler-1 catch)
2870 (byte-defop-compiler-1 unwind-protect) 2871 (byte-defop-compiler-1 unwind-protect)
2871 (byte-defop-compiler-1 condition-case) 2872 (byte-defop-compiler-1 condition-case)
2872 (byte-defop-compiler-1 save-excursion) 2873 (byte-defop-compiler-1 save-excursion)
2874 (byte-defop-compiler-1 save-current-buffer)
2873 (byte-defop-compiler-1 save-restriction) 2875 (byte-defop-compiler-1 save-restriction)
2874 (byte-defop-compiler-1 save-window-excursion) 2876 (byte-defop-compiler-1 save-window-excursion)
2875 (byte-defop-compiler-1 with-output-to-temp-buffer) 2877 (byte-defop-compiler-1 with-output-to-temp-buffer)
2876 (byte-defop-compiler-1 track-mouse) 2878 (byte-defop-compiler-1 track-mouse)
2877 2879
2946 (byte-compile-body-do-effect (cdr form)) 2948 (byte-compile-body-do-effect (cdr form))
2947 (byte-compile-out 'byte-unbind 1)) 2949 (byte-compile-out 'byte-unbind 1))
2948 2950
2949 (defun byte-compile-save-restriction (form) 2951 (defun byte-compile-save-restriction (form)
2950 (byte-compile-out 'byte-save-restriction 0) 2952 (byte-compile-out 'byte-save-restriction 0)
2953 (byte-compile-body-do-effect (cdr form))
2954 (byte-compile-out 'byte-unbind 1))
2955
2956 (defun byte-compile-save-current-buffer (form)
2957 (byte-compile-out 'byte-save-current-buffer 0)
2951 (byte-compile-body-do-effect (cdr form)) 2958 (byte-compile-body-do-effect (cdr form))
2952 (byte-compile-out 'byte-unbind 1)) 2959 (byte-compile-out 'byte-unbind 1))
2953 2960
2954 (defun byte-compile-save-window-excursion (form) 2961 (defun byte-compile-save-window-excursion (form)
2955 (byte-compile-push-constant 2962 (byte-compile-push-constant