/usr/share/maxima/5.32.1/src/trprop.lisp is in maxima-src 5.32.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | ;;; -*- Mode: Lisp; Package: Maxima; Syntax: Common-Lisp; Base: 10 -*- ;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; The data in this file contains enhancments. ;;;;;
;;; ;;;;;
;;; Copyright (c) 1984,1987 by William Schelter,University of Texas ;;;;;
;;; All rights reserved ;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; (c) Copyright 1981 Massachusetts Institute of Technology ;;;
;;; GJC 10:11pm Tuesday, 14 July 1981 ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(in-package :maxima)
(macsyma-module trprop)
;; Many macsyma extension commands, e.g. $INFIX, $TELLSIMP,
;; $DEFTAYLOR work by doing explicit PUTPROPS.
;; These META-PROP functions allow selected commands to
;; also output DEFPROP's when processed in the Macsyma->lisp translation.
(defmvar meta-prop-p nil)
(defmvar meta-prop-l nil)
(defun meta-output (form)
(if *in-translate-file* (push form meta-prop-l))
;; unfortunately, MATCOM needs to see properties in order
;; to compose tellsimps. so eval it always.
(eval form))
(defmfun meta-add2lnc (item ssymbol)
(if meta-prop-p
(meta-output `(add2lnc ',item ,ssymbol))
(add2lnc item (symbol-value ssymbol))))
(defmfun meta-putprop (ssymbol item key)
(if meta-prop-p
(prog1 item (meta-output `(defprop ,ssymbol ,item ,key)))
(putprop ssymbol item key)))
(defmfun meta-mputprop (ssymbol item key)
(if meta-prop-p
(prog1 item (meta-output `(mdefprop ,ssymbol ,item ,key)))
(mputprop ssymbol item key)))
(defmfun meta-fset (ssymbol definition)
(if meta-prop-p
(prog1 definition (meta-output
`(fset ',ssymbol (coerce ',definition 'function))))
(fset ssymbol (coerce definition 'function))))
|