1 |
|
2001-11-03 Neil Jerram <neil@ossau.uklinux.net> |
2 |
|
|
3 |
|
* README (Resources): Fill in missing URLs. |
4 |
|
|
5 |
|
2001-11-02 Neil Jerram <neil@ossau.uklinux.net> |
6 |
|
|
7 |
|
* Makefile.am (elisp_sources): Added base.scm, example.el, |
8 |
|
interface.scm; removed emacs.scm. |
9 |
|
|
10 |
|
* README: Updated accordingly. |
11 |
|
|
12 |
|
* internals/load.scm (load): Avoid using `load-path' if the |
13 |
|
supplied file name begins with a slash. |
14 |
|
|
15 |
|
* internals/fset.scm: Support export of defuns, defmacros and |
16 |
|
defvars to a module specified by the fluid `elisp-export-module'. |
17 |
|
This allows us to automate the importing of Elisp definitions into |
18 |
|
Scheme. |
19 |
|
|
20 |
|
* example.el: New file: example code for `load-elisp-file'. |
21 |
|
|
22 |
|
* interface.scm: New file - mechanisms to exchange definitions |
23 |
|
between Scheme and Elisp. |
24 |
|
|
25 |
|
Following changes try to make the Elisp evaluation module less |
26 |
|
Emacs-dependent; in other words, so that it isn't necessary to try |
27 |
|
to load the whole Emacs environment before evaluating basic |
28 |
|
non-Emacs-specific Elisp code. |
29 |
|
|
30 |
|
* variables.scm, internals/evaluation.scm: Changed (lang elisp |
31 |
|
emacs) to (lang elisp base). |
32 |
|
|
33 |
|
* emacs.scm (lang): Removed. |
34 |
|
|
35 |
|
* base.scm (lang): New file (non-emacs-specific replacement for |
36 |
|
emacs.scm). |
37 |
|
|
38 |
|
2001-10-28 Neil Jerram <neil@ossau.uklinux.net> |
39 |
|
|
40 |
|
* primitives/symprop.scm (symbol-name): New primitive. |
41 |
|
|
42 |
|
* primitives/strings.scm (stringp): New primitive. |
43 |
|
|
44 |
|
* primitives/pure.scm (purify-flag): New variable. |
45 |
|
|
46 |
|
* primitives/numbers.scm (numberp): New primitive. |
47 |
|
|
48 |
|
* internals/fset.scm (fset): Set procedure and macro name |
49 |
|
properties usefully to match Elisp symbol names. Also bind Elisp |
50 |
|
function definition variables to similarly named symbols in the |
51 |
|
(lang elisp variables) module. |
52 |
|
|
53 |
|
* transform.scm (transformer, m-unwind-protect): Added support for |
54 |
|
`unwind-protect'. |
55 |
|
(m-quasiquote): Use 'quasiquote rather than 'quote. |
56 |
|
(transform-lambda, m-defmacro): When no rest arguments, set the |
57 |
|
rest parameter to '() rather than #f. It shouldn't make any |
58 |
|
difference, but it feels more right. |
59 |
|
|
60 |
|
* README: Enlarged description of current status. |
61 |
|
|
62 |
|
* Makefile.am (elisp_sources): Added variables.scm. |
63 |
|
|
64 |
|
* variables.scm: New file. |
65 |
|
|
66 |
|
2001-10-26 Neil Jerram <neil@ossau.uklinux.net> |
67 |
|
|
68 |
|
* buffers.scm, calling.scm: Removed. These should have |
69 |
|
disappeared during the reorganization described below, but I |
70 |
|
missed them by mistake. |
71 |
|
|
72 |
|
* primitives/symprop.scm (set, boundp, symbol-value): Changed to |
73 |
|
use (module-xx the-elisp-module ...) rather than (local-xx ...). |
74 |
|
(symbolp): Accept either symbols or keywords. |
75 |
|
(set-default, default-boundp, default-value, |
76 |
|
local-variable-if-set-p): New. |
77 |
|
|
78 |
|
* primitives/match.scm (string-match, match-data): Store last |
79 |
|
match data in Emacs rather than Guile form, to simplify |
80 |
|
implementation of ... |
81 |
|
(set-match-data, store-match-data): New. |
82 |
|
|
83 |
|
* primitives/load.scm (autoload, current-load-list): New. (But |
84 |
|
autoload is just stubbed, not properly implemented.) |
85 |
|
|
86 |
|
* primitives/lists.scm (nth, listp, consp, nconc): New. |
87 |
|
|
88 |
|
* primitives/fns.scm (byte-code-function-p, run-hooks): New. |
89 |
|
|
90 |
|
* transform.scm (transform-application, transformer-macro): New |
91 |
|
scheme for transforming procedure arguments while leaving macro |
92 |
|
args untransformed. (See also associated change in libguile.) |
93 |
|
(m-defconst): Simplified, now uses m-setq. |
94 |
|
|
95 |
|
* Makefile.am: Changed so that it only deals with files directly |
96 |
|
in this directory; otherwise files don't install cleanly. |
97 |
|
|
98 |
|
* internals/Makefile.am, primitives/Makefile.am, |
99 |
|
internals/.cvsignore, primitives/.cvsignore: New files. |
100 |
|
|
101 |
|
2001-10-26 Neil Jerram <neil@ossau.uklinux.net> |
102 |
|
|
103 |
|
* transform.scm (transformer): New handling for (1) quasiquoting |
104 |
|
syntax like "(` ...)" as well as the more normal "` ..."; (2) |
105 |
|
`function'; (3) interactive specification in lambda body. |
106 |
|
Simplied handling for `setq'. |
107 |
|
(transform-inside-qq): Fixed to handle improper as well as proper |
108 |
|
lists. |
109 |
|
(transform-lambda/interactive): New; wraps transform-lambda to |
110 |
|
handle setting of various procedure properties. |
111 |
|
(transform-lambda, m-defmacro): Changed `args' and `num-args' to |
112 |
|
`%--args' and `%--num-args' in the hope of avoiding lexical |
113 |
|
vs. dynamic name clashes. |
114 |
|
(m-and): Use #f instead of '() where a condition fails. |
115 |
|
|
116 |
|
Plus big hierarchy reorganization, in which most of the previous |
117 |
|
occupants of lang/elisp moved to lang/elisp/primitives, with some |
118 |
|
internal processing being split out into lang/elisp/internals. |
119 |
|
The upshot looks like this: |
120 |
|
|
121 |
|
* internals/trace.scm, internals/set.scm, internals/load.scm, |
122 |
|
internals/fset.scm, internals/signal.scm, internals/time.scm, |
123 |
|
internals/format.scm, internals/null.scm, |
124 |
|
internals/evaluation.scm, primitives/buffers.scm, |
125 |
|
primitives/features.scm, primitives/format.scm, |
126 |
|
primitives/time.scm, primitives/guile.scm, primitives/keymaps.scm, |
127 |
|
primitives/lists.scm, primitives/load.scm, primitives/match.scm, |
128 |
|
primitives/numbers.scm, primitives/pure.scm, primitives/read.scm, |
129 |
|
primitives/signal.scm, primitives/strings.scm, |
130 |
|
primitives/symprop.scm, primitives/system.scm, primitives/fns.scm: |
131 |
|
New files. |
132 |
|
|
133 |
|
* features.scm, format.scm, fset.scm, guile.scm, keymaps.scm, |
134 |
|
lists.scm, load.scm, match.scm, numbers.scm, pure.scm, read.scm, |
135 |
|
signal.scm, strings.scm, symprop.scm, system.scm, time.scm, |
136 |
|
trace.scm: Removed files. |
137 |
|
|
138 |
|
2001-10-23 Neil Jerram <neil@ossau.uklinux.net> |
139 |
|
|
140 |
|
* match.scm (string-match): New implementation using new |
141 |
|
`make-emacs-regexp' primitive; old workaround implementation |
142 |
|
renamed to `string-match-workaround'. |
143 |
|
|
144 |
|
2001-10-21 Neil Jerram <neil@ossau.uklinux.net> |
145 |
|
|
146 |
|
* transform.scm (m-defun, m-defmacro, m-let, m-defvar, |
147 |
|
m-defconst): Use more selective tracing mechanism (provided by new |
148 |
|
file trace.scm). |
149 |
|
|
150 |
|
* symprop.scm (get, boundp), transform.scm (transform-lambda, |
151 |
|
m-defmacro): Remove unnecessary uses of nil-ify and t-ify. |
152 |
|
|
153 |
|
* match.scm (string-match): Workaround Guile/libc regex |
154 |
|
parenthesis bug. |
155 |
|
|
156 |
|
* emacs.scm: Move elisp primitive definitions into more specific |
157 |
|
files, so that emacs.scm contains only overall code. |
158 |
|
|
159 |
|
* Makefile.am: Added new files. |
160 |
|
|
161 |
|
* numbers.scm, trace.scm, time.scm, pure.scm, system.scm, |
162 |
|
read.scm, calling.scm, guile.scm: New files. |
163 |
|
|
164 |
|
2001-10-20 Neil Jerram <neil@ossau.uklinux.net> |
165 |
|
|
166 |
|
* Makefile.am (elisp_sources): Added match.scm and strings.scm. |
167 |
|
|
168 |
|
* match.scm, strings.scm: New files. |
169 |
|
|
170 |
|
2001-10-19 Neil Jerram <neil@ossau.uklinux.net> |
171 |
|
|
172 |
|
* transform.scm: Replace uses of `nil' by `#f' or `'()'. |
173 |
|
|
174 |
|
* Makefile.am (elisp_sources): Added lists.scm. |
175 |
|
|
176 |
|
* load.scm (the-elisp-module): Corrected (lang elisp emacs) module |
177 |
|
name. |
178 |
|
|
179 |
|
* lists.scm (lang): New file containing list-related primitives. |
180 |
|
|
181 |
|
* emacs.scm: Corrected module name. |
182 |
|
|
183 |
|
2001-10-19 Neil Jerram <neil@ossau.uklinux.net> |
184 |
|
|
185 |
|
Initial implementation of an Emacs Lisp translator, based on |
186 |
|
transformer code originally written by Mikael Djurfeldt. |
187 |
|
|
188 |
|
* Makefile.am, .cvsignore: New. |
189 |
|
|
190 |
|
* ChangeLog, README, buffers.scm, emacs.scm, features.scm, |
191 |
|
format.scm, fset.scm, keymaps.scm, load.scm, signal.scm, |
192 |
|
symprop.scm, transform.scm: New files. |
193 |
|
|
194 |
|
|