File: ChangeLog

package info (click to toggle)
pymacs 0.22-6
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 992 kB
  • ctags: 337
  • sloc: python: 2,519; lisp: 460; makefile: 78; sh: 34
file content (482 lines) | stat: -rw-r--r-- 16,110 bytes parent folder | download | duplicates (2)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
2003-06-30  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.22.

	* setup: Simplified a bit, substitutions now made by other means.
	* Makefile: Simplified, distribution now made by other means.

2003-06-29  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el (pymacs-round-trip): Handle pymacs-trace-transit being
	a cons cell.

2003-05-19  Franois Pinard  <pinard@iro.umontreal.ca>

	* setup.py: Install Pymacs.Nn.
	Reported by Carel Fellinger.

2003-05-18  Franois Pinard  <pinard@iro.umontreal.ca>

	* setup (main): Correctly process -n option.
	Reported by Carel Fellinger.

	* scripts: New directory for receiving scripts, so Allout and
	allout do not conflict on some operating systems ignoring case.
	* doc/Makefile: Adjusted.
	Reported by Carel Fellinger.

2003-05-17  Franois Pinard  <pinard@iro.umontreal.ca>

	* doc: New directory to hold the manual, extracted from README.
	* README: Simplified.
	* Allout: New sub-package to help processing documentation.
	* allout: New script.

	* Pymacs/Rebox: New sub-package to hold only rebox.py.
	* rebox: Adjusted.

	* Pymacs/Nn: New sub-package for receiving another example.

	* MANIFEST, setup.py: Adjusted.

2003-05-16  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el (pymacs-call): Call pymacs-server-until-reply directly,
	instead of going through pymacs-apply.  Merely cosmetic, no bug.

2002-12-24  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el (pymacs-print-for-eval): Increase counter while
	printing vectors.
	Reported by Marco Gidde.

2002-12-14  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.21.

	* Pymacs/__init__.py (__package__, __version__): New names for
	package and version.
	* setup, setup.py, Pymacs/pymacs.py: Adjusted.

	* pymacs.el (pymacs-print-for-eval): In the case of pymacs-python,
	done was not set to t, causing spurious text when passing opaque
	Python references back to Python.
	Reported by Marco Gidde.

2002-11-23  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.20.

	* Pymacs/__init__.py: Integrate version.py.
	* Pymacs/version.py: Deleted.
	* setup, setup.py, Pymacs/pymacs.py: Adjusted.

2002-11-15  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el (pymacs-python-reference): Handle when function is
	defined as a mere variable, or when a function is being advised.

2002-11-14  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.19.

	* Pymacs/pymacs.py (List.__getitem__): Raise IndexError when
	out of bounds.  This should allow for iterating over a list.

	* README.html: New, merely a template for Webert.

2002-11-13  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el (pymacs-call): New.  Use it whenever adequate.

2002-09-26  Franois Pinard  <pinard@iro.umontreal.ca>

	* Makefile (publish): Revised.

2002-08-18  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.18.

2002-08-09  Franois Pinard  <pinard@iro.umontreal.ca>

	* Pymacs/rebox.py (Emacs_Rebox.find_comment): Correctly spell
	backward_char, not backward-char.

2002-08-08  Franois Pinard  <pinard@iro.umontreal.ca>

	* Pymacs/rebox.py (pymacs_load_hook): Compute the interactions
	map from the bound methods, instead of from the generic ones.

2002-07-14  Franois Pinard  <pinard@iro.umontreal.ca>

	* Pymacs/pymacs.py (Lisp_Interface.__call__): Wrap argument in
	progn, so lisp() could accept a sequence of expressions.

2002-07-01  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el (pymacs-start-services): Disable undo for *Pymacs*.

2002-06-25  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.17.

	* pymacs.py: Deleted, this was the compatibility module.
	* setup: Simplified to handle the Emacs Lisp part only.
	Deleted -P, -p and -x, as well as compile_python.

	* Makefile: Adjusted.  Removed pythondir and pymacsdir.
	* pymacs.el (pymacs-load-path): Merely preset to nil.

	* setup: Changes for easing installation on Win32.
	Reported by Syver Enstad.

	* Pymacs/pymacs.py (print_lisp): Produce Emacs strings more
	explicitly, avoiding hexadecimal sequences generated by Python
	2.2.  Those hexadecimal sequences confused Emacs when immediately
	followed by more hexadecimal looking characters.

2002-01-30  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el (pymacs-load-path): Initialise with pymacsdir.
	* pymacs-services: Do not handle a patched pymacsdir anymore.
	* setup (complete_install): Set pymacsdir for Lisp, not Python.
	Do not accept a -b option anymore, do not install pymacs-services,
	as this is now to be done through setup.py.
	* Makefile (install): Do not use -b while calling setup.

2002-01-29  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.16.

	* Pymacs/pymacs.py: New file, previously top-level.
	* pymacs.py: Now a mere bootstrap for Pymacs/pymacs.py.
	* Pymacs/__init__.py: Define lisp and Let.
	* Makefile (pythondir): Documentation amended.
	* setup: Distinguish between empty arguments, which ask for
	autoconfiguration, and None arguments, which inhibit it.
	* pymacs-services: Import pymacs from Pymacs.

	* Pymacs/version.py: New file.  Rename pymacs to Pymacs.
	* setup, setup.py, Pymacs/pymacs.py (main): Use it.

	* setup: Substitute None for pymacsdir instead of the empty string.
	* pymacs-services: Adjusted.

	* Pymacs/pymacs.py (Let): Have all push_* methods to return self.

2002-01-20  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el, pymacs.el: Replace LISP by Lisp in comments.
	Reported by Paul Foley.

2002-01-10  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.15.

	* pymacs.el (pymacs-start-services): Properly diagnose a timeout,
	using the timeout parameter value instead of a fixed string.

2002-01-07  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.14.

	* pymacs.py: Set various __repr__() to yield Python code,
	containing the corresponding expanded LISP expression.
	Set various __str__() to yield mutable LISP code.

	* pymacs.py (Let): Point markers to nowhere once done with them.

2002-01-06  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.13.

	* pymacs.el (pymacs-load): Imply prefix correctly when the module
	is part of a package, that is, when its name has at least one dot.
	* pymacs.py (pymacs_load_helper): Idem.

	* pymacs.py (Protocol): New name for Server.

	* pymacs.py (pymacs_load_helper): Implement pymacs_load_hook.

	* MANIFEST.in, setup.py, Pymacs/__init__.py: New files.
	* Makefile: Adjusted and simplified.

2002-01-03  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.py (pymacs_load_helper): Handle module within package.
	Reported by Syver Enstad.

2001-12-18  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.bat: New file.

2001-11-29  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.12.

	* pymacs.el (pymacs-timeout-at-start, pymacs-timeout-at-reply,
	pymacs-timeout-at-line): New variables.  Use them.

2001-10-17  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.py (pymacs_load_helper): Check the function attribute
	before the interactions dictionary, for people having Python 2.x.
	Reported by Carel Fellinger.

	* pymacs.el, pymacs.py, pymacs-services: Add the usual GPL notices.
	Reported by Richard Stallman.

2001-10-16  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.11.

	* pymacs.el (pymacs-defuns): Accept interaction specifications.
	(pymacs-defun): Process an interaction specification.
	(pymacs-python-reference): Adjust for interactive functions.
	* pymacs.py (pymacs_load_helper): Transmit interaction specifications.
	Reported by Christian Tanzer and Stefan Reichr.

2001-10-15  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.py (pymacs_load_helper): Accept dashed module names.
	Reported by Stefan Reichr.

	* pymacs.el (pymacs-python-reference): Rewrite, as it was broken.
	(documentation): Say it is a Python function, even if no docstring.
	Reported by Stefan Reichr.

2001-10-12  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.10.

	* pymacs.el (pymacs-print-for-eval): Handle multi-line strings.
	Reported by Dave Sellars.

	* pymacs.el (pymacs-print-for-eval): Remove string text properties.
	Reported by Eli Zaretskii.

2001-10-06  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.py (Let.__nonzero__): New.

2001-09-28  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.9.

2001-09-26  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.py (Let.push): Save the value of the symbol, not the
	symbol itself.

2001-09-25  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.8.

	* pymacs.py (Let): New class.

	* pymacs.el: New variable pymacs-use-hash-tables, set to t when
	hash tables are available, or nil otherwise.  Use it.  This is so
	older Emacs would work.
	Reported by Dirk Vleugels.

2001-09-21  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el (pymacs-defun): Ensure the function is registered
	at definition, not at call time.  Otherwise, it would never be
	garbage-collected if it is never called.

2001-09-20  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.7.

	* pymacs.el (pymacs-print-for-apply): Also accept Python objects
	for a function, instead of requiring strings.
	(pymacs-defun): Use a Python object, not an explicit string reference.
	(pymacs-python): Merge pymacs-save-index.
	(pymacs-save-index): Deleted.

2001-09-18  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el (pymacs-load): Accept a noerror argument.

2001-09-17  Franois Pinard  <pinard@iro.umontreal.ca>

	* setup: New script.
	* Makefile: Use it.

	* pymacs.py (Symbol.set): Make things simpler when value is None.

	* pymacs.el (pymacs-print-for-eval): Use Python lists to represent
	LISP proper lists and Python tuples to represent LISP vectors,
	instead of the other way around.
	* pymacs.py (pymacs_load_helper, print_lisp): Similar changes.
	Reported by John Wiegley.

2001-09-16  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.6.

	* pymacs.el (pymacs-start-services, pymacs-print-for-eval,
	pymacs-round-trip): Protect match data.

2001-09-15  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el (documentation): Completed.  Now into service.
	(pymacs-documentation): Deleted.
	(pymacs-python-reference): New.

	* pymacs.el (pymacs-print-for-eval): Use car-safe.

2001-09-14  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el (pymacs-print-for-eval): replace-regexp-in-string does
	not exist in older Emacs versions, so use paraphrases.
	Reported by Carey Evans.

	* pymacs.el (pymacs-start-services): Set pymacs-transit-buffer
	permanently only at end of the function, in case anything fails.
	Reported by Carey Evans.

2001-09-13  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.5.

	* pymacs.el (documentation, pymacs-documentation): New, experimental.
	* pymacs.py (doc_string): New.
	(pymacs_load_helper): The result should evaluate to the module.

2001-09-12  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.py (pymacs_load_helper): Use reload instead of __import__
	whenever the module was already loaded.

	* pymacs.py (pymacs_load_helper): Return t when there is nothing
	to define, instead of returning a noisy pymacs-defuns noop.

	* Makefile (dist): Update a version-less symbolic link.

	* pymacs.el (pymacs-python, pymacs-defun): New functions.
	(pymacs-defuns): Use pymacs-defun.
	* pymacs.py (print_lisp): Use the above.

	* pymacs.py (Server): Free all accumulated LISP indices, while
	replying for another reason.  This should decrease overhead.
	(Lisp.__del__): Delay freeing LISP, do not free one index at a time.
	* pymacs.el (pymacs-free-lisp): Free many indices at once.

	* pymacs.el (pymacs-start-services, pymacs-round-trip): Recognise
	reply even when not at beginning of line.  The Python module may
	print incomplete lines, unrelated to the communication protocol.

2001-09-11  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.4.

	* pymacs.py (zombie): New, so to get a clear diagnostic.
	(zombie_python): Link objects to the above function.
	* pymacs.el (pymacs-terminate-services): Ask for confirmation if
	any object in LISP space is still in use on the Python side.
	* pymacs-test.el (try-lisp): Do not terminate the helper.

	* pymacs.py (Buffer): New class, yet empty for now.
	* pymacs.el (pymacs-print-for-eval): Use it.
	Reported by Brian McErlean.

	* pymacs.py (Table): New class.
	* pymacs.el (pymacs-print-for-eval): Use it.
	Reported by Brian McErlean.

	* pymacs.py (List, Vector): New classes, split out of Lisp class.
	* pymacs.el (pymacs-print-for-eval): Use them.
	(pymacs-lisp-length, pymacs-lisp-ref, pymacs-list-set):	Deleted.
	Reported by Brian McErlean.

	* pymacs.py (Server.loop): Allow keyboard interrupts through.

	* pymacs.el: Use Lisp instead of Handle.  Rename
	pymacs-handle-length to pymacs-lisp-length, pymacs-handle-ref to
	pymacs-lisp-ref, pymacs-handle-set o pymacs-lisp-set,
	pymacs-allocate-handle to pymacs-allocate-lisp and
	pymacs-free-handle to pymacs-free-lisp.

	* pymacs.py: Rename Lisp to Lisp_Interface, and Handle to Lisp.
	Adjust for other renamings above.

	* pymacs.el: Rename pymacs-id to pymacs-python.  Ajust for below.
	* pymacs.py: Rename handles to python, free_handles to
	free_python, zombie_handles to zombie_python and allocate_handle
	to allocate_python.

	* pymacs.el (pymacs-proper-list-p): New function.  Use it
	everywhere instead of listp, which is not what I thought it was!

	* pymacs.el (pymacs-serve-until-reply): In case of LISP error,
	transmit a list of one argument, instead of the argument itself,
	to print-for-apply.  This was preventing proper diagnostic.
	Correct a similar error for when expansion is requested.

	* pymacs.el (pymacs-print-for-eval):  Do not transmit a symbol
	by its name, when it comes from another oblist than the main one.

	* pymacs.py (print_lisp): Transmit pymacs-id as a dotted pair.
	* pymacs.el (pymacs-print-for-eval):  Adjusted.

	* pymacs.el (pymacs-print-for-eval): Use lisp[], not sym[].
	Avoid double escaping of the transmitted string in this case.
	Reported by Brian McErlean.

2001-09-10  Franois Pinard  <pinard@iro.umontreal.ca>

	* : Release 0.3.

	* pymacs.py (Server.send): Ensure an end of line after reply.
	* pymacs.el (pymacs-round-trip): Do not add one after Python replies.

	* pymacs.el (pymacs-round-trip): Check for vanishing helper process.
	(pymacs-serve-until-reply): Get text without catching errors, than
	eval. Else, protocol errors get reported back to Python.
	* pymacs.py (Server.ProtocolError): New.  Better than AssertError.
	If it occurs, get out of program, do not keep returning errors.
	Reported by Carey Evans.

	* pymacs.el (pymacs-round-trip): If point coincides with marker,
	just keep it that way as the buffer grows.

	* pymacs.el (pymacs-start-services): If the hash table already
	exists, inform the Python side of IDs that it should not reuse.
	Otherwise, old lambdas may randomly refer to new Python objects.
	(pymacs-terminate-services): Remember Python IDs, do not reset them.

	* pymacs.py (zombie_handles): New.

	* Makefile: Transmit $(pymacsdir) to pymacs-services.
	* pymacs-services: Handle it.

	* pymacs.py (print_lisp): Process an empty tuple properly.
	Reported by Carey Evans.

	* pymacs.el (pymacs-start-services): With run-at-time, use `20 20'
	instead of `t 20', so XEmacs is happy.
	Reported by Carey Evans.

	* pymacs.el (pymacs-start-services, pymacs-terminate-services):
	Use `post-gc-hook' if available, instead of using a timer.
	Reported by Gerd Mllman.

	* pymacs.py (Symbol.value, Symbol.copy): Add argument self.
	(print_lisp): Quote symbols if quoted=1.

2001-09-09  Franois Pinard  <pinard@iro.umontreal.ca>

	* pymacs.el (pymacs-defuns): New function.
	* pymacs.py: Use it.  This should allow faster imports.

	* Makefile, pymacs.el, pymacs.py: Use `(pymacs-version VERSION)',
	not `(started)'.  Check for version discrepancies.

	* Makefile: A bit more parameterization.

	* : Release 0.2, including ideas and suggestions from others.
	Reported by Brian McErlean, Carel Fellinger, Cedric Adjih,
	Marcin Qrczak Kowalczyk, Paul Winkler and Steffen Ries.