/[guile]/guile/guile-core/lang/elisp/ChangeLog
ViewVC logotype

Contents of /guile/guile-core/lang/elisp/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.11 - (show annotations) (download)
Tue Nov 11 23:09:22 2003 UTC (20 years, 4 months ago) by ossau
Branch: MAIN
Changes since 1.10: +6 -0 lines
Avoid duplicate binding warnings from (lang elisp) modules.

1 2003-11-01 Neil Jerram <neil@ossau.uklinux.net>
2
3 * internals/format.scm (format), internals/signal.scm (error),
4 internals/load.scm (load): Export using #:replace to avoid
5 duplicate binding warnings.
6
7 2003-01-05 Marius Vollmer <mvo@zagadka.ping.de>
8
9 * primitives/Makefile.am (elisp_sources): Added char-table.scm.
10
11 2002-12-28 Neil Jerram <neil@ossau.uklinux.net>
12
13 * base.scm (lang): Use char-table module.
14
15 * primitives/char-table.scm (lang): New (stub definitions).
16
17 2002-12-08 Rob Browning <rlb@defaultvalue.org>
18
19 * Makefile.am (subpkgdatadir): VERSION -> GUILE_EFFECTIVE_VERSION.
20
21 * primitives/Makefile.am (subpkgdatadir): VERSION ->
22 GUILE_EFFECTIVE_VERSION.
23
24 * internals/Makefile.am (subpkgdatadir): VERSION ->
25 GUILE_EFFECTIVE_VERSION.
26
27 2002-02-13 Neil Jerram <neil@ossau.uklinux.net>
28
29 * base.scm (load-emacs): Add optional parameters for specifying an
30 alternative load path, and for debugging this. (Thanks to
31 Thien-Thi Nguyen!)
32
33 * primitives/syntax.scm (setq): Use `set'.
34
35 * internals/set.scm (set): Fixed to support variables that are
36 imported from other modules.
37
38 2002-02-12 Neil Jerram <neil@ossau.uklinux.net>
39
40 * transform.scm (scheme): Use set-current-module to ensure
41 expected behaviour of resolve-module.
42
43 2002-02-08 Neil Jerram <neil@ossau.uklinux.net>
44
45 * STATUS: New file.
46
47 * README: Updated.
48
49 * interface.scm (translate-elisp): New exported procedure.
50 (elisp-function): Symbol var is `obj', not `symbol'.
51
52 * internals/lambda.scm, primitives/fns.scm: Fix confusion between
53 interactive-spec and interactive-specification.
54
55 * internals/lambda.scm (transform-lambda), primitives/syntax.scm
56 (defmacro): Bind unspecified optional and rest arguments to #nil,
57 not #f.
58
59 * internals/null.scm (->nil, lambda->nil): New, exported.
60 (null): Use ->nil.
61
62 * primitives/features.scm (featurep), primitives/fns.scm
63 (fboundp, subrp): Use ->nil.
64
65 * internals/lists.scm (cons, setcdr, memq, member, assq, assoc):
66 Simplified.
67 (car, cdr): Return #nil rather than #f.
68
69 * primitives/load.scm (current-load-list), primitives/pure.scm
70 (purify-flag): Set to #nil, not #f.
71
72 * primitives/match.scm (string-match): Return #nil rather than #f.
73
74 * primitives/numbers.scm (integerp, numberp),
75 primitives/strings.scm (string-lessp, stringp): Use lambda->nil.
76
77 * primitives/symprop.scm (boundp): Use ->nil.
78 (symbolp, local-variable-if-set-p): Return #nil rather than #f.
79
80 * primitives/syntax.scm (prog1, prog2): Mangle variable names
81 further to lessen possibility of conflicts.
82 (if, and, or, cond): Return #nil rather than #f.
83 (cond): Return #t rather than t (which is undefined).
84 (let, let*): Bind uninitialized variables to #nil, not #f.
85
86 * transform.scm: Resolve inconsistency in usage of `map', and add
87 an explanatory note. Also cleaned up use of subsidiary
88 transformation functions. Also use cons-source wherever possible.
89 (transform-datum, transform-quote): New.
90 (transform-quasiquote): Renamed from `transform-inside-qq'.
91 (transform-application): Apply `transform-quote' to application
92 args.
93 (cars->nil): Removed.
94
95 * internals/null.scm (null), primitives/lists.scm (cons, car, cdr,
96 setcdr, memq, member, assq, assoc, nth): Update to take into
97 account new libguile support for Elisp nil value.
98
99 2002-02-06 Neil Jerram <neil@ossau.uklinux.net>
100
101 * example.el (time): New macro, for performance measurement.
102 Accompanying comment compares results for Guile and Emacs.
103
104 * transform.scm (scheme): New macro.
105 (transformer): New implementation of `scheme' escape that doesn't
106 rely on (lang elisp base) importing Guile bindings.
107
108 * base.scm: No longer import anything from (guile).
109 (load-emacs): Add scheme form to ensure that keywords
110 read option is set correctly.
111
112 * primitives/syntax.scm (defmacro, let, let*): Unquote uses of
113 `@bind' in transformed code.
114 (if): Unquote uses of `nil-cond' in transformed code.
115
116 * internals/lambda.scm (transform-lambda): Unquote use of `@bind'
117 in transformed code.
118
119 * transform.scm (transformer-macro): Don't quote `list' in
120 transformed code.
121 (transform-application): Don't quote `@fop' in transformed code.
122 (transformer): No need to treat `@bind' and `@fop' as special
123 cases in input to the transformer.
124
125 2002-02-04 Neil Jerram <neil@ossau.uklinux.net>
126
127 * primitives/syntax.scm (parse-formals, transform-lambda,
128 interactive-spec, set-not-subr!, transform-lambda/interactive):
129 Move into internals/lambda.scm so that these can also be used
130 by...
131
132 * internals/fset.scm (elisp-apply): Use `eval' and
133 `transform-lambda/interactive' to turn a quoted lambda expression
134 into a Scheme procedure.
135
136 * transform.scm (m-quasiquote): Don't quote `quasiquote' in
137 transformed code.
138 (transformer): Transform '() to #nil.
139
140 2002-02-03 Neil Jerram <neil@ossau.uklinux.net>
141
142 * internals/Makefile.am (elisp_sources): Add lambda.scm.
143
144 * internals/lambda.scm (lang): New file.
145
146 2002-02-01 Neil Jerram <neil@ossau.uklinux.net>
147
148 * transform.scm (transformer), primitives/syntax.scm (let*):
149 Unquote uses of `begin' in transformed code.
150
151 2002-01-29 Neil Jerram <neil@ossau.uklinux.net>
152
153 * transform.scm (transform-1, transform-2, transform-3,
154 transform-list): Removed (unused).
155
156 * transform.scm, primitives/syntax.scm: Add commas everywhere
157 before use of (guile) primitives in generated code, so that (lang
158 elisp base) doesn't have to import bindings from (guile).
159
160 * base.scm: Move use-modules expressions inside the define-module,
161 and add #:pure so that we don't import bindings from (guile).
162
163 2002-01-25 Neil Jerram <neil@ossau.uklinux.net>
164
165 * transform.scm (transform-application): Preserve source
166 properties of original elisp expression by using cons-source.
167
168 * transform.scm: Don't handle special forms specially in the
169 translator. Instead, define them as macros in ...
170
171 * primitives/syntax.scm: New file; special form definitions.
172
173 * primitives/fns.scm (run-hooks): Rewritten correctly.
174
175 * primitives/symprop.scm (symbol-value): Use `value'.
176
177 * internals/set.scm (value): New function.
178
179 * primitives/fns.scm: Use (lang elisp internals null), as null is
180 no longer a primitive. Change generated #f values to %nil.
181
182 * internals/null.scm (null): Handle nil symbol.
183
184 * primitives/lists.scm (memq, member, assq, assoc): Handle all
185 possible nil values.
186
187 * transform.scm (transformer): Translate `nil' and `t' to #nil and
188 #t.
189
190 * base.scm: Remove setting of 'language read-option.
191
192 2001-11-03 Neil Jerram <neil@ossau.uklinux.net>
193
194 * README (Resources): Fill in missing URLs.
195
196 2001-11-02 Neil Jerram <neil@ossau.uklinux.net>
197
198 * Makefile.am (elisp_sources): Added base.scm, example.el,
199 interface.scm; removed emacs.scm.
200
201 * README: Updated accordingly.
202
203 * internals/load.scm (load): Avoid using `load-path' if the
204 supplied file name begins with a slash.
205
206 * internals/fset.scm: Support export of defuns, defmacros and
207 defvars to a module specified by the fluid `elisp-export-module'.
208 This allows us to automate the importing of Elisp definitions into
209 Scheme.
210
211 * example.el: New file: example code for `load-elisp-file'.
212
213 * interface.scm: New file - mechanisms to exchange definitions
214 between Scheme and Elisp.
215
216 Following changes try to make the Elisp evaluation module less
217 Emacs-dependent; in other words, so that it isn't necessary to try
218 to load the whole Emacs environment before evaluating basic
219 non-Emacs-specific Elisp code.
220
221 * variables.scm, internals/evaluation.scm: Changed (lang elisp
222 emacs) to (lang elisp base).
223
224 * emacs.scm (lang): Removed.
225
226 * base.scm (lang): New file (non-emacs-specific replacement for
227 emacs.scm).
228
229 2001-10-28 Neil Jerram <neil@ossau.uklinux.net>
230
231 * primitives/symprop.scm (symbol-name): New primitive.
232
233 * primitives/strings.scm (stringp): New primitive.
234
235 * primitives/pure.scm (purify-flag): New variable.
236
237 * primitives/numbers.scm (numberp): New primitive.
238
239 * internals/fset.scm (fset): Set procedure and macro name
240 properties usefully to match Elisp symbol names. Also bind Elisp
241 function definition variables to similarly named symbols in the
242 (lang elisp variables) module.
243
244 * transform.scm (transformer, m-unwind-protect): Added support for
245 `unwind-protect'.
246 (m-quasiquote): Use 'quasiquote rather than 'quote.
247 (transform-lambda, m-defmacro): When no rest arguments, set the
248 rest parameter to '() rather than #f. It shouldn't make any
249 difference, but it feels more right.
250
251 * README: Enlarged description of current status.
252
253 * Makefile.am (elisp_sources): Added variables.scm.
254
255 * variables.scm: New file.
256
257 2001-10-26 Neil Jerram <neil@ossau.uklinux.net>
258
259 * buffers.scm, calling.scm: Removed. These should have
260 disappeared during the reorganization described below, but I
261 missed them by mistake.
262
263 * primitives/symprop.scm (set, boundp, symbol-value): Changed to
264 use (module-xx the-elisp-module ...) rather than (local-xx ...).
265 (symbolp): Accept either symbols or keywords.
266 (set-default, default-boundp, default-value,
267 local-variable-if-set-p): New.
268
269 * primitives/match.scm (string-match, match-data): Store last
270 match data in Emacs rather than Guile form, to simplify
271 implementation of ...
272 (set-match-data, store-match-data): New.
273
274 * primitives/load.scm (autoload, current-load-list): New. (But
275 autoload is just stubbed, not properly implemented.)
276
277 * primitives/lists.scm (nth, listp, consp, nconc): New.
278
279 * primitives/fns.scm (byte-code-function-p, run-hooks): New.
280
281 * transform.scm (transform-application, transformer-macro): New
282 scheme for transforming procedure arguments while leaving macro
283 args untransformed. (See also associated change in libguile.)
284 (m-defconst): Simplified, now uses m-setq.
285
286 * Makefile.am: Changed so that it only deals with files directly
287 in this directory; otherwise files don't install cleanly.
288
289 * internals/Makefile.am, primitives/Makefile.am,
290 internals/.cvsignore, primitives/.cvsignore: New files.
291
292 2001-10-26 Neil Jerram <neil@ossau.uklinux.net>
293
294 * transform.scm (transformer): New handling for (1) quasiquoting
295 syntax like "(` ...)" as well as the more normal "` ..."; (2)
296 `function'; (3) interactive specification in lambda body.
297 Simplied handling for `setq'.
298 (transform-inside-qq): Fixed to handle improper as well as proper
299 lists.
300 (transform-lambda/interactive): New; wraps transform-lambda to
301 handle setting of various procedure properties.
302 (transform-lambda, m-defmacro): Changed `args' and `num-args' to
303 `%--args' and `%--num-args' in the hope of avoiding lexical
304 vs. dynamic name clashes.
305 (m-and): Use #f instead of '() where a condition fails.
306
307 Plus big hierarchy reorganization, in which most of the previous
308 occupants of lang/elisp moved to lang/elisp/primitives, with some
309 internal processing being split out into lang/elisp/internals.
310 The upshot looks like this:
311
312 * internals/trace.scm, internals/set.scm, internals/load.scm,
313 internals/fset.scm, internals/signal.scm, internals/time.scm,
314 internals/format.scm, internals/null.scm,
315 internals/evaluation.scm, primitives/buffers.scm,
316 primitives/features.scm, primitives/format.scm,
317 primitives/time.scm, primitives/guile.scm, primitives/keymaps.scm,
318 primitives/lists.scm, primitives/load.scm, primitives/match.scm,
319 primitives/numbers.scm, primitives/pure.scm, primitives/read.scm,
320 primitives/signal.scm, primitives/strings.scm,
321 primitives/symprop.scm, primitives/system.scm, primitives/fns.scm:
322 New files.
323
324 * features.scm, format.scm, fset.scm, guile.scm, keymaps.scm,
325 lists.scm, load.scm, match.scm, numbers.scm, pure.scm, read.scm,
326 signal.scm, strings.scm, symprop.scm, system.scm, time.scm,
327 trace.scm: Removed files.
328
329 2001-10-23 Neil Jerram <neil@ossau.uklinux.net>
330
331 * match.scm (string-match): New implementation using new
332 `make-emacs-regexp' primitive; old workaround implementation
333 renamed to `string-match-workaround'.
334
335 2001-10-21 Neil Jerram <neil@ossau.uklinux.net>
336
337 * transform.scm (m-defun, m-defmacro, m-let, m-defvar,
338 m-defconst): Use more selective tracing mechanism (provided by new
339 file trace.scm).
340
341 * symprop.scm (get, boundp), transform.scm (transform-lambda,
342 m-defmacro): Remove unnecessary uses of nil-ify and t-ify.
343
344 * match.scm (string-match): Workaround Guile/libc regex
345 parenthesis bug.
346
347 * emacs.scm: Move elisp primitive definitions into more specific
348 files, so that emacs.scm contains only overall code.
349
350 * Makefile.am: Added new files.
351
352 * numbers.scm, trace.scm, time.scm, pure.scm, system.scm,
353 read.scm, calling.scm, guile.scm: New files.
354
355 2001-10-20 Neil Jerram <neil@ossau.uklinux.net>
356
357 * Makefile.am (elisp_sources): Added match.scm and strings.scm.
358
359 * match.scm, strings.scm: New files.
360
361 2001-10-19 Neil Jerram <neil@ossau.uklinux.net>
362
363 * transform.scm: Replace uses of `nil' by `#f' or `'()'.
364
365 * Makefile.am (elisp_sources): Added lists.scm.
366
367 * load.scm (the-elisp-module): Corrected (lang elisp emacs) module
368 name.
369
370 * lists.scm (lang): New file containing list-related primitives.
371
372 * emacs.scm: Corrected module name.
373
374 2001-10-19 Neil Jerram <neil@ossau.uklinux.net>
375
376 Initial implementation of an Emacs Lisp translator, based on
377 transformer code originally written by Mikael Djurfeldt.
378
379 * Makefile.am, .cvsignore: New.
380
381 * ChangeLog, README, buffers.scm, emacs.scm, features.scm,
382 format.scm, fset.scm, keymaps.scm, load.scm, signal.scm,
383 symprop.scm, transform.scm: New files.
384
385

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26