mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-23 10:34:07 +00:00
*** empty log message ***
This commit is contained in:
parent
0137dbf747
commit
70e1dad880
@ -1,8 +1,6 @@
|
||||
;;; -*- Mode:Emacs-Lisp -*-
|
||||
;;; The optimization passes of the emacs-lisp byte compiler.
|
||||
|
||||
;;; Copyright (c) 1991 Free Software Foundation, Inc.
|
||||
;; By Jamie Zawinski <jwz@lucid.com> and Hallvard Furuseth <hbf@ulrik.uio.no>.
|
||||
;; last modified 29-oct-91.
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
@ -131,11 +129,6 @@
|
||||
;;; the code that relies on dynamic scope of non-defvarred variables.
|
||||
|
||||
|
||||
(require 'byte-compile "bytecomp")
|
||||
|
||||
(or (fboundp 'byte-compile-lapcode)
|
||||
(error "loading bytecomp got the wrong version of the compiler."))
|
||||
|
||||
(defun byte-compile-log-lap-1 (format &rest args)
|
||||
(if (aref byte-code-vector 0)
|
||||
(error "The old version of the disassembler is loaded. Reload new-bytecomp as well."))
|
||||
@ -196,11 +189,11 @@
|
||||
(cdr form))))
|
||||
|
||||
|
||||
;; Splice the given lap code into the current instruction stream.
|
||||
;; If it has any labels in it, you're responsible for making sure there
|
||||
;; are no collisions, and that byte-compile-tag-number is reasonable
|
||||
;; after this is spliced in. The provided list is destroyed.
|
||||
(defun byte-inline-lapcode (lap)
|
||||
"splice the given lap code into the current instruction stream.
|
||||
If it has any labels in it, you're responsible for making sure there
|
||||
are no collisions, and that byte-compile-tag-number is reasonable
|
||||
after this is spliced in. the provided list is destroyed."
|
||||
(setq byte-compile-output (nconc (nreverse lap) byte-compile-output)))
|
||||
|
||||
|
||||
@ -528,10 +521,10 @@ after this is spliced in. the provided list is destroyed."
|
||||
((not (symbolp (, form))))
|
||||
((eq (, form) t)))))
|
||||
|
||||
;; If the function is being called with constant numeric args,
|
||||
;; evaluate as much as possible at compile-time. This optimizer
|
||||
;; assumes that the function is associative, like + or *.
|
||||
(defun byte-optimize-associative-math (form)
|
||||
"If the function is being called with constant numeric args,
|
||||
evaluate as much as possible at compile-time. This optimizer
|
||||
assumes that the function is associative, like + or *."
|
||||
(let ((args nil)
|
||||
(constants nil)
|
||||
(rest (cdr form)))
|
||||
@ -550,10 +543,10 @@ assumes that the function is associative, like + or *."
|
||||
(apply (car form) constants))
|
||||
form)))
|
||||
|
||||
;; If the function is being called with constant numeric args,
|
||||
;; evaluate as much as possible at compile-time. This optimizer
|
||||
;; assumes that the function is nonassociative, like - or /.
|
||||
(defun byte-optimize-nonassociative-math (form)
|
||||
"If the function is being called with constant numeric args,
|
||||
evaluate as much as possible at compile-time. This optimizer
|
||||
assumes that the function is nonassociative, like - or /."
|
||||
(if (or (not (numberp (car (cdr form))))
|
||||
(not (numberp (car (cdr (cdr form))))))
|
||||
form
|
||||
@ -1052,11 +1045,11 @@ assumes that the function is nonassociative, like - or /."
|
||||
(byte-compile-tag-number 0))
|
||||
(byte-decompile-bytecode-1 bytes constvec)))
|
||||
|
||||
;; As byte-decompile-bytecode, but updates
|
||||
;; byte-compile-{constants, variables, tag-number}.
|
||||
;; If the optional 3rd arg is true, then `return' opcodes are replaced
|
||||
;; with `goto's destined for the end of the code.
|
||||
(defun byte-decompile-bytecode-1 (bytes constvec &optional make-splicable)
|
||||
"As byte-decompile-bytecode, but updates
|
||||
byte-compile-{constants, variables, tag-number}.
|
||||
If the optional 3rd arg is true, then `return' opcodes are replaced
|
||||
with `goto's destined for the end of the code."
|
||||
(let ((length (length bytes))
|
||||
(ptr 0) optr tag tags op offset
|
||||
lap tmp
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
(load "subr")
|
||||
(garbage-collect)
|
||||
(load "bytecomp-runtime")
|
||||
(load "byte-run")
|
||||
(garbage-collect)
|
||||
(load "map-ynp")
|
||||
(garbage-collect)
|
||||
|
@ -1,24 +1,22 @@
|
||||
;;; rmailsort.el --- Rmail: sort messages.
|
||||
|
||||
;; Copyright (C) 1990 Masanobu UMEDA
|
||||
;; umerin@tc.Nagasaki.GO.JP?
|
||||
|
||||
;; Copyright (C) 1990 Free Software Foundation, Inc.
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; GNU Emacs is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY. No author or distributor
|
||||
;; accepts responsibility to anyone for the consequences of using it
|
||||
;; or for whether it serves any particular purpose or works at all,
|
||||
;; unless he says so in writing. Refer to the GNU Emacs General Public
|
||||
;; License for full details.
|
||||
;; GNU Emacs is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation; either version 1, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; GNU Emacs is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs; see the file COPYING. If not, write to
|
||||
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
;; Everyone is granted permission to copy, modify and redistribute
|
||||
;; GNU Emacs, but only under the conditions described in the
|
||||
;; GNU Emacs General Public License. A copy of this license is
|
||||
;; supposed to have been given to you along with GNU Emacs so you
|
||||
;; can know your rights and responsibilities. It should be in a
|
||||
;; file named COPYING. Among other things, the copyright notice
|
||||
;; and this notice must be preserved on all copies.
|
||||
|
||||
(require 'rmail)
|
||||
(require 'sort)
|
||||
|
Loading…
Reference in New Issue
Block a user