1 2020-05-12 Vladimir Sedach <vas@oneofus.la>
3 * docs/reference.html (Parenscript Reference Manual): Updated
6 2020-04-26 Vladimir Sedach <vas@oneofus.la>
8 * src/compiler.lisp, src/deprecated-interface.lisp,
9 src/function-definition.lisp, src/js-dom-symbol-exports.lisp,
10 src/js-ir-package.lisp, src/macros.lisp, src/namespace.lisp,
11 src/non-cl.lisp, src/package.lisp, src/printer.lisp,
12 src/special-operators.lisp: Stop :use-ing NAMED-READTABLES package
14 2020-04-26 Vladimir Sedach <vas@oneofus.la>
16 * TODO.org: Added some more items to the TODO file
18 2020-04-11 Vladimir Sedach <vas@oneofus.la>
20 * docs/reference.html, runtime/ps-runtime-lib.lisp,
21 src/lib/ps-loop.lisp, tests/output-tests.lisp: Updated dates on
22 reference manual and copyright notices
24 2020-04-11 Vladimir Sedach <vas@oneofus.la>
26 * docs/reference.html: Added note about __PS_MV_REG in strict mode.
27 Thanks to Bill St. Clair
29 2019-12-31 Jason Miller <aidenn0@geocities.com>
31 * tests/output-tests.lisp: Add tests for limitless for-as-arithmetic
34 2019-01-14 Jason Miller <aidenn0@geocities.com>
36 * src/lib/ps-loop.lisp: Fix for-as-arithmetic loop clause when no
37 limit is present When negative looping was added (7d2536d8dbd1) it broke cases like: (loop for i from x ...) Instead of omitting the test it would instead add a test of (i <
38 null). This patch corrects the bug that was introduced
40 2020-04-11 Vladimir Sedach <vas@oneofus.la>
42 * TODO.org: Removed Fix multiple COLLECT clauses in LOOP from TODO
44 2020-04-11 Vladimir Sedach <vas@oneofus.la>
46 * tests/output-tests.lisp: Added unit test for 83e1cda fix for LOOP
47 collect redundant initialization
49 2019-03-12 Philipp Marek <philipp@marek.priv.at>
51 * runtime/ps-runtime-lib.lisp: Provide STRINGP, CHARACTERP, ZEROP,
54 2019-03-06 Philipp Marek <philipp@marek.priv.at>
56 * src/lib/ps-loop.lisp: Avoid initializing the same JS variable
57 multiple times. Example input of (ps:ps (loop ... collect ... collect ...)) resulted in (function () { var collect41 = []; var collect41 = []; ...
59 2020-04-11 Vladimir Sedach <vas@oneofus.la>
61 * ros-tests.lisp: Added script for running tests in multiple
62 implementations using Roswell
64 2019-10-15 Vladimir Sedach <vas@oneofus.la>
66 * docs/reference.html: Updated copyright notice year in reference
69 2019-10-15 Vladimir Sedach <vas@oneofus.la>
71 * docs/reference.html: Fixed two broken anchor links in the
74 2019-10-15 Vladimir Sedach <vas@oneofus.la>
76 * docs/reference.html: In reference manual, MAP-UNTIL should be
77 MAP-INTO Thanks to Daniel Lowe for the bug report
79 2019-03-05 Vladimir Sedach <vas@oneofus.la>
81 * TODO.org: Added recent LOOP issues reported on Github to TODO file
83 2019-03-05 Vladimir Sedach <vas@oneofus.la>
85 * TODO.org: Added a TODO file
87 2019-03-05 Vladimir Sedach <vas@oneofus.la>
89 * extras/firebug-tracing.lisp, extras/swank-parenscript.lisp,
90 parenscript.asd, parenscript.tests.asd,
91 runtime/ps-runtime-lib.lisp, src/compilation-interface.lisp,
92 src/compiler.lisp, src/deprecated-interface.lisp,
93 src/function-definition.lisp, src/js-dom-symbol-exports.lisp,
94 src/js-ir-package.lisp, src/lib/ps-dom.lisp, src/lib/ps-html.lisp,
95 src/lib/ps-loop.lisp, src/macros.lisp, src/namespace.lisp,
96 src/non-cl.lisp, src/package.lisp, src/parse-lambda-list.lisp,
97 src/printer.lisp, src/special-operators.lisp, src/utils.lisp,
98 tests/eval-tests.lisp, tests/output-tests.lisp,
99 tests/package-system-tests.lisp, tests/test-package.lisp,
100 tests/test.lisp: Added a UTF-8 encoding specifier to source files
103 2018-12-05 Vladimir Sedach <vas@oneofus.la>
105 * src/deprecated-interface.lisp, src/utils.lisp: Change
106 ENCODE-JS-IDENTIFIER warnings to SIMPLE-STYLE-WARNING
108 2018-12-01 Vladimir Sedach <vas@oneofus.la>
110 * docs/LICENSE, docs/reference.html, docs/tutorial.html: GNU Free
111 Documentation License for the reference manual and tutorial
113 2018-11-09 Vladimir Sedach <vas@oneofus.la>
115 * runtime/ps-runtime-lib.lisp: fixup! Fix initial value handling of
116 ps-runtime-lib's REDUCE
118 2018-11-08 Vladimir Sedach <vas@oneofus.la>
120 * runtime/ps-runtime-lib.lisp: Fix initial value handling of
121 ps-runtime-lib's REDUCE
123 2018-11-03 Vladimir Sedach <vas@oneofus.la>
125 * src/special-operators.lisp, tests/output-tests.lisp: Fix dynamic
126 scope multiple value return
128 2018-11-02 Vladimir Sedach <vas@oneofus.la>
130 * src/non-cl.lisp, src/special-operators.lisp, src/utils.lisp: Fix
131 bug in SWITCH handling of nested blocks
133 2018-11-02 Vladimir Sedach <vas@oneofus.la>
135 * tests/eval-tests.lisp: Added tests for new multiple value
138 2018-11-02 Vladimir Sedach <vas@oneofus.la>
140 * src/special-operators.lisp, tests/eval-tests.lisp,
141 tests/output-tests.lisp: Change (values) and equivalent to return
144 2018-11-02 Vladimir Sedach <vas@oneofus.la>
146 * src/special-operators.lisp, tests/output-tests.lisp,
147 tests/package-system-tests.lisp: Fix dynamic returns getting
148 precedence over lexical ones
150 2018-11-02 Vladimir Sedach <vas@oneofus.la>
152 * tests/output-tests.lisp: Updated some unit tests for new MV
155 2018-11-02 Vladimir Sedach <vas@oneofus.la>
157 * src/compiler.lisp, src/function-definition.lisp,
158 src/special-operators.lisp: Optimize out clearing MV register for
159 procedures that do not call other procedures
161 2018-11-02 Vladimir Sedach <vas@oneofus.la>
163 * : Initial merge of Jason Miller's multiple value implementation
165 2018-10-27 Vladimir Sedach <vas@oneofus.la>
167 * src/macros.lisp, tests/eval-tests.lisp, tests/test.lisp: Added
168 ARRAYP, LISTP predicates Thanks to Paul M. Rodriguez for the patch.
170 2018-10-27 Vladimir Sedach <vas@oneofus.la>
172 * docs/reference.html, src/non-cl.lisp, src/utils.lisp: Simplified
173 *JS-TARGET-VERSION* checks
175 2018-10-26 Vladimir Sedach <vas@oneofus.la>
177 * src/printer.lisp, tests/output-tests.lisp,
178 tests/package-system-tests.lisp: Undid
179 88c61599074dfaa40fae285f62f8910e0a201561 No longer going to parenthesize lambdas and objects at toplevel.
180 The REPL use case (the original motivation for parenthesizing at
181 toplevel[1]) is a not very compelling special case. Apparently,
182 MongoDB has some brain damage with parsing parenthesized
183 expressions, which is a more compelling use case, and a reason not
184 to parenthesize. Thanks to Lukas Phaf for the bug report. [1]
186 https://mailman.common-lisp.net/pipermail/parenscript-devel/2011-November/000838.html
188 2018-10-26 Vladimir Sedach <vas@oneofus.la>
190 * tests/eval-tests.lisp, tests/output-tests.lisp: Misc. unit tests
192 2018-10-26 Vladimir Sedach <vas@oneofus.la>
194 * src/non-cl.lisp: Simpler implementation of CHAIN
196 2018-10-25 Vladimir Sedach <vas@oneofus.la>
198 * tests/eval-tests.lisp, tests/output-tests.lisp: Added some more
201 2018-10-25 Vladimir Sedach <vas@oneofus.la>
203 * docs/reference.html, src/special-operators.lisp,
204 tests/output-tests.lisp: Added DEFPARAMETER special form Thanks to Olaf Ruppert for the suggestion.
206 2018-10-25 Vladimir Sedach <vas@oneofus.la>
208 * src/deprecated-interface.lisp, src/special-operators.lisp: Got rid
209 of *suppress-deprecation* crud Deprecated forms are no longer generated by LOOP or other macros
211 2018-10-25 Vladimir Sedach <vas@oneofus.la>
213 * src/deprecated-interface.lisp: Change class precedence of
214 simple-style-warning to work in CCL Thanks to Ben Hyde for the fix
216 2018-10-25 Vladimir Sedach <vas@oneofus.la>
218 * src/special-operators.lisp: Rename EXPRESSIONIZE-RESULT to
221 2018-10-25 Vladimir Sedach <vas@oneofus.la>
223 * src/special-operators.lisp, tests/output-tests.lisp: Fixed
224 implicit return of dynamic extent return-from
226 2018-10-24 Vladimir Sedach <vas@oneofus.la>
228 * src/function-definition.lisp, src/macros.lisp,
229 src/special-operators.lisp, tests/eval-tests.lisp,
230 tests/output-tests.lisp: Fix one bug with bogus lexical block breaks
233 2018-10-24 Vladimir Sedach <vas@oneofus.la>
235 * src/compiler.lisp, src/function-definition.lisp,
236 src/lib/ps-loop.lisp, src/special-operators.lisp, src/utils.lisp:
237 Got rid of the unnecessary crud around optimizing away .call(this)
239 2018-10-24 Vladimir Sedach <vas@oneofus.la>
241 * docs/reference.html, src/deprecated-interface.lisp,
242 src/js-ir-package.lisp, src/lib/ps-loop.lisp, src/non-cl.lisp,
243 tests/output-tests.lisp: Deprecated WHILE special form in favor of
246 2018-10-24 Vladimir Sedach <vas@oneofus.la>
248 * src/compiler.lisp, src/special-operators.lisp,
249 tests/eval-tests.lisp, tests/output-tests.lisp: Hack replacement of
250 loop lexical scope capturing WITH with LAMBDA
252 2018-10-24 Vladimir Sedach <vas@oneofus.la>
254 * src/special-operators.lisp: Fix unneeded expressionization of
257 2018-10-24 Vladimir Sedach <vas@oneofus.la>
259 * src/macros.lisp, tests/eval-tests.lisp, tests/output-tests.lisp,
260 tests/test.lisp: Bind DOLIST/DOTIMES var to nil before evaluating
263 2018-10-23 Vladimir Sedach <vas@oneofus.la>
265 * src/compiler.lisp, tests/output-tests.lisp: Misc. formatting
268 2018-10-23 Vladimir Sedach <vas@oneofus.la>
270 * src/compiler.lisp, tests/output-tests.lisp: MAYBE-ONCE-ONLY now
271 handles all kinds of macros
273 2018-10-23 Vladimir Sedach <vas@oneofus.la>
275 * src/compiler.lisp: Marked PS-ONCE-ONLY as deprecated
277 2018-10-23 Vladimir Sedach <vas@oneofus.la>
279 * src/compiler.lisp, tests/output-tests.lisp: Fix MAYBE-ONCE-ONLY to
280 evaluate arguments in order given
282 2018-10-23 Vladimir Sedach <vas@oneofus.la>
284 * src/compiler.lisp: Made definition of ps-once-only easier to read
286 2018-10-22 Vladimir Sedach <vas@oneofus.la>
288 * docs/reference.html, src/compiler.lisp, tests/output-tests.lisp:
289 Fixed MAYBE-ONCE-ONLY to handle symbol macros
291 2018-10-21 Vladimir Sedach <vas@oneofus.la>
293 * src/non-cl.lisp, tests/output-tests.lisp: Олексій
294 Замковий's hack for writing arbitrary strings to Parenscript
297 2018-10-21 Vladimir Sedach <vas@oneofus.la>
299 * tests/eval-tests.lisp, tests/output-tests.lisp: Added misc tests
301 2018-10-21 Vladimir Sedach <vas@oneofus.la>
303 * src/printer.lisp, tests/output-tests.lisp: Better output of
306 2018-10-21 Vladimir Sedach <vas@oneofus.la>
308 * docs/reference.html, src/macros.lisp, tests/eval-tests.lisp: Made
309 CASE treat symbol literals as strings, behave more like CL
311 2018-10-20 Vladimir Sedach <vas@oneofus.la>
313 * src/macros.lisp, tests/eval-tests.lisp: Make RANDOM generate
316 2018-10-20 Vladimir Sedach <vas@oneofus.la>
318 * tests/eval-tests.lisp, tests/output-tests.lisp: Added more unit
321 2018-10-20 Vladimir Sedach <vas@oneofus.la>
323 * src/compiler.lisp: Updated *version*, which has been neglected
326 2018-10-16 Vladimir Sedach <vas@oneofus.la>
328 * src/function-definition.lisp, src/special-operators.lisp: Fixed
329 loop capture of renamed lexical variables
331 2018-10-16 Vladimir Sedach <vas@oneofus.la>
333 * src/function-definition.lisp, src/special-operators.lisp,
334 tests/eval-tests.lisp, tests/output-tests.lisp: Fixed capture of
335 loop variables, up to let renaming
337 2018-10-15 Vladimir Sedach <vas@oneofus.la>
339 * src/macros.lisp, src/special-operators.lisp,
340 tests/output-tests.lisp: Fix RETURN trying to grab declarations from
341 body-less let/flet/etc
343 2018-10-15 Vladimir Sedach <vas@oneofus.la>
345 * src/function-definition.lisp, src/macros.lisp,
346 src/special-operators.lisp, tests/eval-tests.lisp,
347 tests/output-tests.lisp: Fix: (lambda () "str") to return "str", not
348 treat "str" as docstring
350 2018-10-15 Vladimir Sedach <vas@oneofus.la>
352 * tests/eval-tests.lisp, tests/output-tests.lisp: Added misc unit
355 2018-10-13 Vladimir Sedach <vas@oneofus.la>
357 * src/compiler.lisp, src/lib/ps-html.lisp, src/lib/ps-loop.lisp,
358 src/macros.lisp, src/namespace.lisp, src/package.lisp,
359 src/special-operators.lisp, src/utils.lisp, tests/output-tests.lisp:
360 Added compatibility for :preserve readtable-case (Allegro modern)
362 2018-10-12 Vladimir Sedach <vas@oneofus.la>
364 * src/compilation-interface.lisp, tests/output-tests.lisp,
365 tests/package-system-tests.lisp: Added a couple of unit tests
367 2018-10-10 Vladimir Sedach <vas@oneofus.la>
369 * COPYING, src/compilation-interface.lisp, src/compiler.lisp,
370 src/deprecated-interface.lisp, src/function-definition.lisp,
371 src/js-dom-symbol-exports.lisp, src/js-ir-package.lisp,
372 src/lib/ps-dom.lisp, src/lib/ps-html.lisp, src/lib/ps-loop.lisp,
373 src/macros.lisp, src/namespace.lisp, src/non-cl.lisp,
374 src/package.lisp, src/parse-lambda-list.lisp, src/printer.lisp,
375 src/special-operators.lisp, src/utils.lisp, tests/eval-tests.lisp,
376 tests/output-tests.lisp, tests/package-system-tests.lisp,
377 tests/test.lisp: Added copyright and license notices to source files
379 2018-10-10 Vladimir Sedach <vas@oneofus.la>
381 * src/printer.lisp, tests/output-tests.lisp, tests/test.lisp: Make
382 sure double quotes inside strings are always escaped
384 2018-10-09 Vladimir Sedach <vas@oneofus.la>
386 * README: README: send patches to the mailing list
388 2018-10-09 Vladimir Sedach <vas@oneofus.la>
390 * README: Updated README with contributing instructions
392 2018-10-09 Vladimir Sedach <vas@oneofus.la>
394 * tests/test.lisp: Clean up some CL-JS test code
396 2018-10-09 Vladimir Sedach <vas@oneofus.la>
398 * tests/eval-tests.lisp, tests/output-tests.lisp,
399 tests/package-system-tests.lisp, tests/test-package.lisp,
400 tests/test.lisp: Tests: Refer to fiveam symbols by package,
401 run-tests runs top-level suite
403 2018-10-07 Vladimir Sedach <vas@oneofus.la>
405 * tests/output-tests.lisp, tests/package-system-tests.lisp,
406 tests/test.lisp: Simplified test whitespace normalization
408 2018-10-07 Vladimir Sedach <vas@oneofus.la>
410 * tests/eval-tests.lisp: Eval test for existing symbol-macrolet
413 2018-10-07 Vladimir Sedach <vas@oneofus.la>
415 * .dir-locals.el: Emacs dir-local indenting hint for test-js-eval
417 2018-10-07 Vladimir Sedach <vas@oneofus.la>
419 * tests/output-tests.lisp: Added a few output tests for existing
422 2018-10-07 Vladimir Sedach <vas@oneofus.la>
424 * tests/output-tests.lisp: Removed explicit return-from in CASE
427 2018-10-07 Vladimir Sedach <vas@oneofus.la>
429 * .dir-locals.el: Added Emacs dir-local lisp-indent-rule for
432 2018-10-07 Vladimir Sedach <vas@oneofus.la>
434 * tests/output-tests.lisp, tests/package-system-tests.lisp: Tests to
435 clarify behavior of SYMBOL-MACROLET wrt CREATE and GETPROP
437 2018-10-06 Vladimir Sedach <vas@oneofus.la>
439 * parenscript.tests.asd, tests/test-package.lisp: Go back to using
440 FiveAM for unit tests
442 2018-10-06 Vladimir Sedach <vas@oneofus.la>
444 * README: Added instructions on running unit tests to README
446 2018-10-06 Vladimir Sedach <vas@oneofus.la>
448 * parenscript.test.asd => parenscript.tests.asd,
449 tests/eval-tests.lisp, tests/output-tests.lisp,
450 tests/package-system-tests.lisp, tests/test-package.lisp,
451 tests/test.lisp: Long, unambiguous names for test packages
453 2018-10-06 Vladimir Sedach <vas@oneofus.la>
455 * parenscript.test.asd, {t => tests}/eval-tests.lisp, {t =>
456 tests}/output-tests.lisp, {t => tests}/package-system-tests.lisp,
457 {t => tests}/test-package.lisp, {t => tests}/test.lisp: Renamed 't'
460 2018-10-03 Vladimir Sedach <vas@oneofus.la>
462 * src/special-operators.lisp: Fix nconc clobbering of (declare
463 (special …)) declarations
465 2018-10-01 Vladimir Sedach <vas@oneofus.la>
467 * t/output-tests.lisp: Added another unit test for &whole macro
470 2018-08-26 Vladimir Sedach <vas@oneofus.la>
472 * src/utils.lisp: Fix deprecation warnings for symbols like foo.bar
473 and foo[bar] Thanks to appleby for the bug report.
474 https://github.com/vsedach/Parenscript/issues/41
476 2018-08-26 Vladimir Sedach <vas@oneofus.la>
478 * .dir-locals.el: Revise Emacs dir-locals. Coding cannot be a dir-local. No tabs. Narrow fill column by 1.
480 2018-07-08 Vladimir Sedach <vas@oneofus.la>
482 * docs/reference.html, t/eval-tests.lisp: Updated reference manual
483 with info about BLOCK and RETURN
485 2018-07-08 Vladimir Sedach <vas@oneofus.la>
487 * .dir-locals.el: Added .dir-locals file with formatting guidelines
489 2018-07-08 Vladimir Sedach <vas@oneofus.la>
491 * docs/introduction.lisp: Updated docs/introduction.lisp
493 2018-07-07 Vladimir Sedach <vas@oneofus.la>
495 * README, README.md, docs/tutorial.html: Updated README, got rid of
498 2018-07-07 Vladimir Sedach <vas@oneofus.la>
500 * .boring: Deleted darcs vestige .boring file
502 2018-07-07 Vladimir Sedach <vas@oneofus.la>
504 * COPYING, extras/firebug-tracing.lisp, extras/js-expander.el,
505 extras/swank-parenscript.lisp, parenscript.asd,
506 runtime/ps-runtime-lib.lisp, src/compilation-interface.lisp,
507 src/compiler.lisp, src/deprecated-interface.lisp,
508 src/function-definition.lisp, src/js-dom-symbol-exports.lisp,
509 src/js-ir-package.lisp, src/lib/ps-dom.lisp, src/lib/ps-html.lisp,
510 src/lib/ps-loop.lisp, src/macros.lisp, src/namespace.lisp,
511 src/non-cl.lisp, src/package.lisp, src/parse-lambda-list.lisp,
512 src/printer.lisp, src/special-operators.lisp, src/utils.lisp,
513 t/eval-tests.lisp, t/output-tests.lisp,
514 t/package-system-tests.lisp, t/test.lisp: Clarified that the license
515 is BSD 3-clause. Added SPDX identifiers
517 2018-06-29 Vladimir Sedach <vas@oneofus.la>
519 * docs/reference.html: Updated reference manual list of boolean
522 2018-06-29 Vladimir Sedach <vas@oneofus.la>
524 * : Merge pull request #38 from WarrenWilkinson/master Move *ps-gensym-counter* to stop compile warning
526 2018-06-08 Warren Wilkinson <wwilkinson@dwavesys.com>
528 * src/compiler.lisp: Move *ps-gensym-counter* to stop compile
531 2018-03-29 Vladimir Sedach <vas@oneofus.la>
533 * docs/tutorial.html: Fix ambiguities in tutorial slideshow and add
536 2018-03-28 Vladimir Sedach <vas@oneofus.la>
538 * docs/reference.html: Fixed last updated date on reference manual
540 2018-03-28 Vladimir Sedach <vas@oneofus.la>
542 * docs/reference.html: Markup and spelling corrections to the
545 2018-03-28 Vladimir Sedach <vas@oneofus.la>
547 * docs/tutorial.html: Updated tutorial
549 2018-03-28 Vladimir Sedach <vas@oneofus.la>
551 * docs/tutorial.html: Added old tutorial to source control
553 2018-02-03 Vladimir Sedach <vsedach@users.noreply.github.com>
555 * : Merge pull request #37 from neil-lindquist/improve-ps-loop Improve loop
557 2018-01-31 Neil Lindquist <archer1mail@gmail.com>
559 * src/lib/ps-loop.lisp: Add -ing forms of accumulation variables
561 2018-01-31 Neil Lindquist <archer1mail@gmail.com>
563 * src/lib/ps-loop.lisp: Add :initially and :downfrom
565 2017-02-09 Vladimir Sedach <vas@oneofus.la>
567 * : Merge pull request #33 from jasom/ps-dom-fixes Correct two keywords in ps-dom.lisp
569 2017-02-09 Javier Olaechea <pirata@gmail.com>
571 * docs/reference.html: Fix symbol conversion in example code
573 2016-12-05 Jason Miller <jason@milr.com>
575 * : Merge pull request #30 from PuercoPop/update-docs Update the Arithmetic and Boolean section of the reference
578 2016-08-29 Javier Olaechea <pirata@gmail.com>
580 * docs/reference.html: Reference: Update the Arith. and Boolean
583 2016-08-29 Javier Olaechea <pirata@gmail.com>
585 * docs/reference.html: reference.html: = is converted to ===, not =
587 2016-03-17 Jason Miller <jason@milr.com>
589 * : Merge pull request #28 from TatriX/master Create README.md
591 2016-03-15 TatriX <tatrics@gmail.com>
593 * README.md: Create README.md
595 2016-02-17 Jason Miller <aidenn0@geocities.com>
597 * src/macros.lisp, src/special-operators.lisp: Improve
598 multiple-value support Previously multiple-values were very fragile. Examples of things that didn't work, but now do: (multiple-value-bind (x y) (values 1 2) y) (defun foo () (values 1 2)) (defun bar () foo) (multiple-value-bind (x y) (bar) y) Biggest downside of this change is that every return statement must
599 be prefixed by a clearing of the MV register.
601 2015-06-09 Boris Smilga <boris.smilga@gmail.com>
603 * src/compiler.lisp, src/function-definition.lisp,
604 src/lib/ps-loop.lisp, src/special-operators.lisp,
605 t/output-tests.lisp: Additions to 116f9ca9, to not replace Φ() with
606 Φ.call(this) unless Φ refers to this. Also, fixed / added tests.
608 2015-06-09 Boris Smilga <boris.smilga@gmail.com>
610 * : Merge pull request #19 from jasom/master Preserve "this" in implicit lambdas
612 2015-02-10 Boris Smilga <boris.smilga@gmail.com>
614 * : Merge pull request #16 from agrostis/upstream-quater Fix for https://github.com/vsedach/Parenscript/issues/15
616 2015-02-04 Boris Smilga <boris.smilga@gmail.com>
618 * : Merge pull request #9 from agrostis/upstream Added support for getters and setters in object literals (when
619 *js-target-version* ≥ 1.8.5).
621 2015-02-03 Boris Smilga <boris.smilga@gmail.com>
623 * src/compilation-interface.lisp, src/utils.lisp: Added
624 version-string comparison functions.
626 2015-01-13 Vladimir Sedach <vas@oneofus.la>
628 * : Merge pull request #13 from agrostis/upstream-quater Fixed unparenthesized comma-sequences in for(;;) variable
629 initializer expressions inside blocks.
631 2015-01-13 Vladimir Sedach <vas@oneofus.la>
633 * : Merge pull request #8 from agrostis/master Fix to have RETURN-FROM a nested block in tail context behave as
634 RETURN-FROM the outer block
636 2015-01-13 Vladimir Sedach <vas@oneofus.la>
638 * : Merge pull request #11 from agrostis/upstream-bis Fixed: empty-body clauses in COND should evaluate to the result of
641 2014-12-26 Boris Smilga <boris.smilga@gmail.com>
643 * : Merge remote-tracking branch 'upstream/master' into upstream-ter Conflicts: src/function-definition.lisp
645 2014-12-26 Boris Smilga <boris.smilga@gmail.com>
647 * : Merge remote-tracking branch 'upstream/master' into upstream
649 2014-12-25 Boris Smilga <boris.smilga@gmail.com>
651 * src/function-definition.lisp, src/macros.lisp,
652 src/special-operators.lisp, t/output-tests.lisp: Improved handling
653 of declarations. 1. Named function bodies in Common Lisp may contain multiple DECLARE forms before or after the docstring (or even before *and* after). This feature is important for meta-programming by macros, and so PS should also support it. 2. Declarations should be allowed in PS forms whose Lisp namesakes allow them, to wit: in the macros WITH-SLOTS,
654 MULTIPLE-VALUE-BIND, DO*, DO, DOTIMES, DOLIST,
655 DESTRUCTURING-BIND, LET*, DEFUN, DEFSETF, and in the special forms
656 LET, FLET, LABELS (letting out DEFMACRO, MACROLET, SYMBOL-MACROLET
657 who are not translated to JavaScript). Before the present commit,
658 most of them didn't handle declarations correctly. 3. Individual DECLARE forms should be allowed to contain multiple declaration specifiers, in particular, multiple SPECIAL
659 specifiers. WITH-DECLARATION-EFFECTS used to ignore SPECIALs
660 after the first one. 4. This commit also introduces LOCALLY as PS form because it simplifies the implementation of stuff from (2).
662 2014-12-21 Vladimir Sedach <vas@oneofus.la>
664 * : Merge pull request #6 from lemaster/master Added support for output of asm.js compatible code.
666 2014-12-21 Vladimir Sedach <vas@oneofus.la>
668 * : Merge pull request #2 from pjstirling/master Fixed DEFPSMACRO and DEFINE-PS-SYMBOL-MACRO
670 2014-12-16 Francis St-Amour <fr.stamour@gmail.com>
672 * src/non-cl.lisp: Fixed issue: *js-string-delimiter* was not
673 properly forwarded in (lisp ...) forms. For example: (ps-inline (alert (lisp "21"))) Would give "javascript:alert('21')" instead of
674 "javascript:alert(\"21\")".
676 2014-12-15 Boris Smilga <boris.smilga@gmail.com>
678 * src/js-ir-package.lisp, src/non-cl.lisp, src/printer.lisp,
679 t/output-tests.lisp: Added support for getters and setters in object
680 literals. Getters and setter are defined in ECMAScript 5.1 sec. 11.1.5. A getter would be specified in a (CREATE ...) form as a name-value
681 pair of the form (GET <NAME>) <EXPR>, where <NAME> is a symbol
682 naming the object slot, and <EXPR> is the body of the getter. A setter would be specified as a name-value pair of the form (SET
683 <NAME> <NEW-PARAM>) <EXPR>, where <NAME> is a symbol naming the
684 object slot, <NEW-PARAM> is a symbol naming the setter's formal
685 parameter for the assignment value, and <EXPR> is the body of the
688 2014-10-01 Boris Smilga <boris.smilga@gmail.com>
690 * src/special-operators.lisp: Fixed: RETURN-FROM a nested block in
691 tail context should behave as RETURN-FROM the outer block. See https://groups.google.com/forum/#!topic/parenscript/eQ4NS5lslHE
692 for a more detailed description of the bug.
694 2014-07-10 Fred LeMaster <fred.lemaster@gmail.com>
696 * src/js-ir-package.lisp, src/printer.lisp,
697 src/special-operators.lisp: Added support for output of asm.js
698 compatible code. Added a unary-plus to the IR and removed the automatic conversion of
699 (setf x (logior x 0)) to "x |= 0;".
701 2014-03-13 Max Rottenkolber <max@mr.gy>
703 * src/function-definition.lisp: Removed obsolete PROGN in
704 PARSE-EXTENDED-FUNCTION &REST handling.
706 2014-02-23 Max Rottenkolber <eugeneia@users.noreply.github.com>
708 * t/output-tests.lisp: Updated tests for changed &REST
711 2014-02-23 Max Rottenkolber <eugeneia@users.noreply.github.com>
713 * src/function-definition.lisp: Simplified &REST implementation. I think using the built in Array.slice is the saner choice here.
715 2014-02-21 Peter Stirling <peter@pjstirling.plus.com>
717 * src/compiler.lisp: fixed DEFPSMACRO and DEFINE-PS-SYMBOL-MACRO to
718 ensure that any macros defined with them will be expanded properly
719 when needed in the same file
721 2013-10-27 Vladimir Sedach <vas@oneofus.la>
723 * COPYING, README: Added README file
725 2013-02-23 Daniel Gackle <danielgackle@gmail.com>
727 * src/function-definition.lisp, src/macros.lisp, src/printer.lisp,
728 src/special-operators.lisp: Whitespace
730 2013-02-27 Daniel Gackle <danielgackle@gmail.com>
732 * src/function-definition.lisp, src/lib/ps-loop.lisp,
733 src/macros.lisp, src/non-cl.lisp, src/printer.lisp,
734 src/special-operators.lisp, t/output-tests.lisp: Minor refactoring;
737 2013-03-03 Daniel Gackle <danielgackle@gmail.com>
739 * src/deprecated-interface.lisp, src/lib/ps-loop.lisp: Undeprecated
740 BIND because it is used by LOOP; moved BIND and BIND* into
743 2013-03-06 Daniel Gackle <danielgackle@gmail.com>
745 * src/deprecated-interface.lisp, src/special-operators.lisp:
746 Suppress inappropriate deprecation warnings that were arising during
747 the poor-man's codewalking of try-expressionizing-if?. Example: (try-expressionizing-if? '(for-in (label (foo)))) The codewalker macroexpands (label (foo)) even though it is not a
748 macro invocation. Since LABEL is a deprecated macro, a warning was
751 2013-03-02 Daniel Gackle <danielgackle@gmail.com>
753 * src/macros.lisp: Deleted dead code
755 2013-02-23 Daniel Gackle <danielgackle@gmail.com>
757 * src/special-operators.lisp: Minor refactoring: hide multiple-value
758 vs. single-value distinction inside RETURN-EXP so it presents one
759 interface to the outside world. This makes the implementation of source mappings a little easier.
761 2013-02-28 Daniel Gackle <danielgackle@gmail.com>
763 * src/function-definition.lisp: Minor refactoring: made the order of
764 bindings in LABELS the same as in FLET so the symmetry between the
765 two is more apparent.
767 2013-02-28 Daniel Gackle <danielgackle@gmail.com>
769 * src/macros.lisp, t/output-tests.lisp: Minor refactoring: removed
770 unused gensym (was producing a compiler warning in CCL.)
772 2013-03-01 Daniel Gackle <danielgackle@gmail.com>
774 * src/macros.lisp, t/output-tests.lisp: Fixed bug: multiple
775 evaluation in WITH-SLOTS.
777 2013-02-24 Daniel Gackle <danielgackle@gmail.com>
779 * src/printer.lisp: Refactoring: got rid of PARENTHESIZE-EQUALITY. There is no need for PARENTHESIZE-EQUALITY as distinct from
780 PRINT-OP-ARGUMENT, because the latter always parenthesizes equality
781 expressions when they are an operand in some other equality
782 expression. (In such a case, OP and ARG-OP have the same precedence,
783 and neither is associative.)
785 2013-02-04 Daniel Gackle <danielgackle@gmail.com>
787 * src/lib/ps-loop.lisp: Fixed bug in PS-LOOP: test conditions in
788 FOR..OF clauses were being dropped. Unfortunately, CL-JS doesn't compile for..in loops, so a unit test
789 can't currently be added for this. (I reported the issue to the
790 CL-JS project on Github.)
792 2013-02-01 Daniel Gackle <danielgackle@gmail.com>
794 * src/lib/ps-loop.lisp, t/eval-tests.lisp: Fixed bug: PS LOOP's
795 implementation assumed that all iteration clauses come before all
796 body clauses, and this is not the case. See added tests.
798 2013-02-01 Daniel Gackle <danielgackle@gmail.com>
800 * src/lib/ps-loop.lisp, t/eval-tests.lisp: Refactoring of
801 ps-loop.lisp, added loop tests.
803 2013-01-31 Daniel Gackle <danielgackle@gmail.com>
805 * src/lib/ps-loop.lisp: Fixed bug in ps-loop: count clause was
808 2013-01-31 Daniel Gackle <danielgackle@gmail.com>
810 * src/lib/ps-loop.lisp, t/eval-tests.lisp: Minor refactoring,
813 2013-01-30 Daniel Gackle <danielgackle@gmail.com>
815 * src/package.lisp: Export maybe-once-only, since it's preferable
816 almost everywhere to ps-once-only.
818 2013-01-30 Daniel Gackle <danielgackle@gmail.com>
820 * src/special-operators.lisp: Ignore no-op LETs (i.e. LET with empty
821 binding list) when deciding whether or not to expressionize an IF.
823 2012-11-28 Vladimir Sedach <vas@oneofus.la>
825 * t/output-tests.lisp: Fixed output test trig-bind1 to be consistent
826 between Lisps that know that (floor 3.14) is a constant and those
829 2012-11-28 Vladimir Sedach <vas@oneofus.la>
831 * src/macros.lisp, t/output-tests.lisp: Replaced let of ps-gensyms
832 with with-ps-gensysms in make-array
834 2012-11-28 Vladimir Sedach <vas@oneofus.la>
836 * t/eval-tests.lisp: Added eval unit tests for Boris Smilga's
837 Lisp-like initialization options for MAKE-ARRAY patch and nested
840 2012-11-13 Boris Smilga <boris.smilga@gmail.com>
842 * src/macros.lisp, t/output-tests.lisp: Lisp-like initialization
843 options for MAKE-ARRAY.
845 2012-11-24 Vladimir Sedach <vas@oneofus.la>
847 * src/macros.lisp, t/output-tests.lisp: Simplified output of APPLY
848 for code like (apply (@ an-object foo) nil) where the object is a
851 2012-11-24 Vladimir Sedach <vas@oneofus.la>
853 * src/macros.lisp, src/package.lisp: Removed 'apply-to' macro
854 introduced in 7f27b5b10ec4413713091c19bdce802a0e42bc6b
856 2012-10-19 Boris Smilga <boris.smilga@gmail.com>
858 * t/output-tests.lisp: Unit tests for APPLY as used with object
861 2012-10-17 Boris Smilga <boris.smilga@gmail.com>
863 * src/macros.lisp, src/package.lisp: Method functions should be
864 applied to their host objects as thisArgs, rather than to the
865 callers' this. Also, we might want a way to apply functions to whatever thisArg we
868 2012-10-13 Vladimir Sedach <vas@oneofus.la>
870 * src/package.lisp: Reorganized symbol listing in package.lisp to
871 make it easier to see what's defined and not from the CL symbols
873 2012-10-13 Vladimir Sedach <vas@oneofus.la>
875 * src/deprecated-interface.lisp, src/macros.lisp: Deprecated BIND
878 2012-10-10 Vladimir Sedach <vas@oneofus.la>
880 * parenscript.asd, parenscript.test.asd: Added :description to asd
883 2012-10-09 Vladimir Sedach <vas@oneofus.la>
885 * src/special-operators.lisp: suppress-values? special variable nil
888 2012-10-08 Vladimir Sedach <vas@oneofus.la>
890 * src/compiler.lisp, src/macros.lisp, t/eval-tests.lisp,
891 t/output-tests.lisp, t/test-package.lisp, t/test.lisp: Converted
892 other trig functions to use maybe-once-only
894 2012-10-08 Vladimir Sedach <vas@oneofus.la>
896 * src/macros.lisp, src/special-operators.lisp, src/utils.lisp,
897 t/eval-tests.lisp: First try at a maybe-once-only macro that doesn't
898 introduce bindings for constant and variable expressions in PS code
900 2012-10-07 Vladimir Sedach <vas@oneofus.la>
902 * src/macros.lisp, src/package.lisp, t/eval-tests.lisp: Added MOD
904 2012-09-22 Vladimir Sedach <vas@oneofus.la>
906 * docs/reference.html, {src => extras}/swank-parenscript.lisp: Moved
907 swank-parenscript.lisp to extras and added note about it in
910 2012-09-22 Vladimir Sedach <vas@oneofus.la>
912 * docs/reference.html: Updated last modified date in reference
915 2012-09-15 Vladimir Sedach <vas@oneofus.la>
917 * src/compiler.lisp, src/lib/ps-loop.lisp, src/non-cl.lisp,
918 src/special-operators.lisp, t/output-tests.lisp: Fixed problem with
919 loop-return-arg and loop bodies getting double compiled by getting
920 rid of loop-return-arg. Thanks to Daniel Gackle for the bug report.
922 2012-09-13 Daniel Gackle <danielgackle@gmail.com>
924 * t/eval-tests.lisp: Added a failing test to capture bug involving
925 inconsistent gensym suffixes when returning from a loop with more
928 2012-09-13 Vladimir Sedach <vas@oneofus.la>
930 * docs/reference.html, src/macros.lisp, t/eval-tests.lisp: Macro
931 keys in CASE forms now macroexpanded (thanks to Daniel Gackle for
934 2012-09-13 Vladimir Sedach <vas@oneofus.la>
936 * src/compiler.lisp, src/function-definition.lisp, src/macros.lisp,
937 src/special-operators.lisp, t/eval-tests.lisp, t/output-tests.lisp:
938 Removed the pass-through capability from the new global
939 variable-based multiple value return system and prettied up
940 associated code generation.
942 2012-09-12 Vladimir Sedach <vas@oneofus.la>
944 * t/eval-tests.lisp: Ok, an actual test case of a nonlocal return
945 that would fail with global variables
947 2012-09-12 Vladimir Sedach <vas@oneofus.la>
949 * t/eval-tests.lisp: Set MV and throw test case
951 2012-09-12 Vladimir Sedach <vas@oneofus.la>
953 * t/eval-tests.lisp: More test cases for mv-return
955 2012-09-12 Vladimir Sedach <vas@oneofus.la>
957 * src/compiler.lisp, src/function-definition.lisp, src/macros.lisp,
958 src/special-operators.lisp, t/eval-tests.lisp: Full multiple values
959 implementation. Works correctly but produces ugly code. This is here
960 for later use, but will be rolled back in the next patch.
962 2012-09-12 Vladimir Sedach <vas@oneofus.la>
964 * docs/reference.html, src/macros.lisp: Added unwind-protect
966 2012-09-03 Vladimir Sedach <vas@oneofus.la>
968 * docs/reference.html, src/deprecated-interface.lisp,
969 src/js-ir-package.lisp, src/macros.lisp, src/non-cl.lisp,
970 src/package.lisp, src/printer.lisp, t/eval-tests.lisp,
971 t/output-tests.lisp: Clarified the behavior of CASE when it comes to
972 symbols and fixed some other bugs in CASE and SWITCH forms. Thanks
973 to Boris Smilga for the bug report.
975 2012-08-29 Vladimir Sedach <vas@oneofus.la>
977 * t/test.lisp: Changed test-js-eval macro to handle nested arrays
980 2012-08-29 Vladimir Sedach <vas@oneofus.la>
982 * t/test.lisp: Modified output tests macro to report mismatches in a
983 more readable format, per Daniel Gackle's suggestion.
985 2012-08-27 Daniel Gackle <danielgackle@gmail.com>
987 * t/eval-tests.lisp, t/output-tests.lisp: Added some LOOP tests.
989 2012-06-23 Daniel Gackle <danielgackle@gmail.com>
991 * src/macros.lisp, src/package.lisp: Added BOOLEANP.
993 2012-04-05 Daniel Gackle <danielgackle@gmail.com>
995 * src/lib/ps-loop.lisp, src/macros.lisp, t/output-tests.lisp:
996 Rewrote PS LOOP to support FOR..OF clauses that compile to JS for-in
997 loops (basically the equivalent of CL's "BEING THE HASH KEYS OF"). Because JS for-in loops can't be simulated with WHILE, this required
998 changing how LOOP generates code - with these additional benefits:
999 simpler implementation; smaller generated loops; all iteration vars
1000 now within the scope of the JS loop form, so that the LOOP macro now
1001 has consistent scoping behavior with hard-coded FOR, WHILE, etc.
1002 (notably with respect to whether to generate a new binding per
1003 iteration for variables captured by a closure). There is also the
1004 disadvantage that for some complex loops a temporary local variable
1005 must be used to track whether the loop is on its first iteration or
1008 2012-04-10 Daniel Gackle <danielgackle@gmail.com>
1010 * src/lib/ps-loop.lisp: Added a MAP..TO clause to PS LOOP to build a
1011 collection of key-value pairs much as COLLECT builds a list. Example: (loop :for key :in list :map key :to (length key))
1013 2012-04-04 Daniel Gackle <danielgackle@gmail.com>
1015 * src/lib/ps-loop.lisp: Fixed bug in PS LOOP: in ":for first? = t
1016 :then nil", the nil wasn't being picked up.
1018 2012-04-04 Daniel Gackle <danielgackle@gmail.com>
1020 * src/lib/ps-loop.lisp: In FOR..ON clauses of PS LOOP, allow :BY to
1021 be a number so that the caller can say "(LOOP :for (a b) :on c :by
1022 2..." and doesn't need to invoke a non-Javascripty construct like
1025 2012-08-10 Vladimir Sedach <vas@oneofus.la>
1027 * src/macros.lisp: Small fixes to defun-setf
1029 2012-08-10 Vladimir Sedach <vas@oneofus.la>
1031 * src/macros.lisp, src/special-operators.lisp, t/eval-tests.lisp,
1032 t/output-tests.lisp: Fixed a bunch of bugs related to returning from
1035 2012-07-16 Boris Smilga <boris.smilga@gmail.com>
1037 * src/compiler.lisp, src/non-cl.lisp, src/special-operators.lisp:
1038 Check dynamically whether a RETURN operator has been invoked inside
1039 a loop. This fixes incorrect handling of conditional returns, such as in (block nil (dotimes (i 10) (if (test i) (return i))) (return -1))
1041 2012-08-10 Vladimir Sedach <vas@oneofus.la>
1043 * t/eval-tests.lisp: Added unit tests for LOOP improvements
1044 introduced by Boris Smilga in patches b7d9be318de33c96 and
1045 331b7e580f0579554999
1047 2012-08-10 Vladimir Sedach <vas@oneofus.la>
1049 * t/output-tests.lisp: Fixed up output-tests to correspond to
1050 changes introduced in 00b39e6409845bdd7f
1052 2012-08-10 Vladimir Sedach <vas@oneofus.la>
1054 * src/utils.lisp: Fixed tree-search to work correctly for dotted
1057 2012-07-16 Boris Smilga <boris.smilga@gmail.com>
1059 * src/lib/ps-loop.lisp: Improved RETURN and NAMED in LOOP.
1061 2012-08-10 Vladimir Sedach <vas@oneofus.la>
1063 * src/special-operators.lisp, src/utils.lisp, t/output-tests.lisp:
1064 Suppressed printing of JS labels for CL BLOCK expressions when there
1065 is no explicit returning from those blocks
1067 2012-07-28 Vladimir Sedach <vas@oneofus.la>
1069 * src/compiler.lisp, src/non-cl.lisp: Stylistic changes to CREATE
1072 2012-07-27 Vladimir Sedach <vas@oneofus.la>
1074 * contributors, src/non-cl.lisp, t/output-tests.lisp: Fixed bug with
1075 quoted symbol arguments to CREATE (thanks to Russell Sim for the bug
1078 2012-07-27 Vladimir Sedach <vas@oneofus.la>
1080 * docs/reference.html: Updated documentation to reflect current
1081 state of LET. Thanks to Yakov Zaytsev for spotting the error.
1083 2012-07-27 Vladimir Sedach <vas@oneofus.la>
1085 * contributors: Added Boris Smilga to list of contributors
1087 2012-07-27 Vladimir Sedach <vas@oneofus.la>
1089 * src/special-operators.lisp, t/output-tests.lisp: Fixed
1090 inconsistency in way quoted arrays are treated (thanks to Daniel
1091 Gackle for the bug report).
1093 2012-07-16 Boris Smilga <boris.smilga@gmail.com>
1095 * src/lib/ps-loop.lisp: Implicit initialization of local vars (WITH
1098 2012-07-16 Boris Smilga <boris.smilga@gmail.com>
1100 * src/lib/ps-loop.lisp: Improved LOOP conditional clauses (IF, ELSE,
1103 2012-05-09 Vladimir Sedach <vas@oneofus.la>
1105 * contributors: Added 3b to contributors file
1107 2012-05-09 Vladimir Sedach <vas@oneofus.la>
1109 * t/output-tests.lisp: Added unit tests for 3b's
1110 b5d18b1670cda55178b72b7 patch
1112 2012-04-10 Bart Botta <00003b@gmail.com>
1114 * src/special-operators.lisp: don't expand arguments to QUOTE in
1115 TRY-EXPRESSIONIZING-IF? fixes infinite recursion in something like (define-symbol-macro foo (ps:@ a foo)) (lambda () (when (> foo 1) 2))
1117 2012-05-08 Vladimir Sedach <vas@oneofus.la>
1119 * src/js-ir-package.lisp, t/output-tests.lisp: ps-js intermediate
1120 representation package no longer uses Common Lisp symbols.
1122 2012-05-05 Vladimir Sedach <vas@oneofus.la>
1124 * src/non-cl.lisp, t/eval-tests.lisp, t/output-tests.lisp: Fixed
1125 loop return for most cases
1127 2012-05-05 Vladimir Sedach <vas@oneofus.la>
1129 * src/package.lisp, src/printer.lisp: Removed line breaking code
1130 introduced in 60154a465a5a29b4b5136f. Now only object literals with
1131 more than 2 members are line broken.
1133 2012-03-12 Vladimir Sedach <vas@oneofus.la>
1135 * t/test-package.lisp, t/test.lisp: Made unit tests all part of the
1136 same test suite (thanks to Anton Vodonosov for the suggestion).
1138 2012-02-13 Vladimir Sedach <vas@oneofus.la>
1140 * docs/reference.html: Updated reference manual modified date.
1142 2012-02-13 Vladimir Sedach <vas@oneofus.la>
1144 * docs/reference.html: Added description of NEW operator to
1147 2012-02-06 Vladimir Sedach <vas@oneofus.la>
1149 * src/special-operators.lisp, t/eval-tests.lisp: Fixed bug where
1150 forms of type (incf x (incf x)) were giving wrong results because of
1151 differences in how CL and JS increment operators worked.
1153 2012-02-05 Vladimir Sedach <vas@oneofus.la>
1155 * src/package.lisp, src/printer.lisp, t/output-tests.lisp: Added
1156 line breaking to pretty-printer
1158 2012-02-04 Vladimir Sedach <vas@oneofus.la>
1160 * src/printer.lisp, t/eval-tests.lisp, t/output-tests.lisp: Fixed
1161 bug w/+ string concatenation non-associativity. Thanks to Daniel
1162 Gackle for the bug report.
1164 2012-02-03 Vladimir Sedach <vas@oneofus.la>
1166 * src/macros.lisp, src/special-operators.lisp, t/eval-tests.lisp,
1167 t/output-tests.lisp: Added multiple return values for dynamic
1170 2012-02-01 Vladimir Sedach <vas@oneofus.la>
1172 * docs/reference.html: Added documentation for EVAL-WHEN to the
1173 reference documentation.
1175 2012-01-12 Vladimir Sedach <vas@oneofus.la>
1177 * docs/reference.html: Updated last modified date in manual
1179 2012-01-12 Vladimir Sedach <vas@oneofus.la>
1181 * docs/reference.html: Added documentation for the [] macro.
1183 2012-01-07 Vladimir Sedach <vas@oneofus.la>
1185 * COPYING: Updated dates in copying file
1187 2012-01-07 Vladimir Sedach <vas@oneofus.la>
1189 * contributors: Added Scott Bell to contributors file
1191 2012-01-07 Vladimir Sedach <vas@oneofus.la>
1193 * src/printer.lisp: Made hex escaping of char codes in strings
1194 always print alphabetic hex digits in upper case (fixes test
1195 failures on Allegro).
1197 2011-12-26 Scott Bell <scott@skysheet.com>
1199 * src/lib/ps-loop.lisp, src/macros.lisp, src/package.lisp: Define
1200 BIND macro for destructuring and property binding. Destructuring lists in the LOOP macro now use BIND rather than
1203 2011-12-24 Vladimir Sedach <vas@oneofus.la>
1205 * src/macros.lisp, src/special-operators.lisp, t/output-tests.lisp:
1206 Fixed up bug where defuns were getting wrapped in lambdas because
1207 toplevel form checking weren't getting macroexpanded.
1209 2011-12-21 Vladimir Sedach <vas@oneofus.la>
1211 * src/special-operators.lisp, t/output-tests.lisp: Fixed bug where
1212 expressionize-if macroexpansion attempts would throw errors.
1214 2011-12-21 Vladimir Sedach <vas@oneofus.la>
1216 * src/special-operators.lisp, t/eval-tests.lisp,
1217 t/output-tests.lisp: Fixed bug where top-level defuns and defvars
1218 inside toplevel lets were being wrapped in lambdas and not defined
1221 2011-12-18 Vladimir Sedach <vas@oneofus.la>
1223 * src/compiler.lisp, src/function-definition.lisp, src/non-cl.lisp,
1224 src/special-operators.lisp, t/eval-tests.lisp, t/output-tests.lisp:
1225 Made returns from CL loops (implicit nil blocks) work.
1227 2011-12-18 Vladimir Sedach <vas@oneofus.la>
1229 * src/non-cl.lisp, src/special-operators.lisp: Made output of
1230 variable declarations prettier in some cases.
1232 2011-12-18 Vladimir Sedach <vas@oneofus.la>
1234 * src/compiler.lisp, src/lib/ps-loop.lisp, src/non-cl.lisp,
1235 src/printer.lisp, src/special-operators.lisp, t/eval-tests.lisp,
1236 t/output-tests.lisp: Fixed the behavior of return in case clauses
1238 2011-12-18 Vladimir Sedach <vas@oneofus.la>
1240 * src/special-operators.lisp, t/eval-tests.lisp,
1241 t/output-tests.lisp: Fixed compilation of return from blocks,
1244 2011-12-17 Vladimir Sedach <vas@oneofus.la>
1246 * t/output-tests.lisp: Fixed up unit tests for changes in
1249 2011-12-17 Vladimir Sedach <vas@oneofus.la>
1251 * src/function-definition.lisp, src/special-operators.lisp,
1252 t/output-tests.lisp: Labels/flet now lambda wrapped as well.
1254 2011-12-16 Vladimir Sedach <vas@oneofus.la>
1256 * src/compilation-interface.lisp, src/compiler.lisp,
1257 src/function-definition.lisp, src/macros.lisp,
1258 src/special-operators.lisp, t/eval-tests.lisp, t/output-tests.lisp,
1259 t/test-package.lisp: Wrap let in lambda when there is no outer
1260 lexical scope to introduce one, and avoid spurious global variables.
1262 2011-12-16 Vladimir Sedach <vas@oneofus.la>
1264 * src/function-definition.lisp, t/eval-tests.lisp: Made sure returns
1265 from LABELS functions work properly. Thanks to Daniel Gackle for
1268 2011-12-16 Vladimir Sedach <vas@oneofus.la>
1270 * src/compiler.lisp, src/function-definition.lisp, src/non-cl.lisp,
1271 src/special-operators.lisp, t/eval-tests.lisp, t/output-tests.lisp,
1272 t/test.lisp: Fix for closures using the same variable name. Got rid
1273 of duplicate calls to the printer when compiling. Thanks to Canhua
1274 and Scott Bell for the bug reports.
1276 2011-12-16 Vladimir Sedach <vas@oneofus.la>
1278 * src/special-operators.lisp: Refactored let code
1280 2011-12-14 Daniel Gackle <danielgackle@gmail.com>
1282 * src/non-cl.lisp: Use the standard JS idiom for detecting
1283 undefinedness. Its advantage is that it doesn't crash if you give it
1284 an undefined symbol.
1286 2011-12-12 Daniel Gackle <danielgackle@gmail.com>
1288 * src/printer.lisp: Added an ignore for an unused variable.
1290 2011-12-12 Vladimir Sedach <vas@oneofus.la>
1292 * src/compiler.lisp, src/function-definition.lisp,
1293 src/lib/ps-loop.lisp, src/non-cl.lisp, src/special-operators.lisp,
1294 t/eval-tests.lisp, t/output-tests.lisp, t/test-package.lisp,
1295 t/test.lisp: Made return-from and statement expressionization work
1298 2011-12-11 Vladimir Sedach <vas@oneofus.la>
1300 * src/special-operators.lisp, t/eval-tests.lisp,
1301 t/output-tests.lisp: Restored fcb936231d by Daniel Gackle for now.
1303 2011-12-11 Vladimir Sedach <vas@oneofus.la>
1305 * src/printer.lisp, t/output-tests.lisp: Made toplevel lambda forms
1306 print with parentheses around them so JS parsers work (thanks to
1307 Scott Bell for the bug report).
1309 2011-12-11 Vladimir Sedach <vas@oneofus.la>
1311 * src/printer.lisp, t/output-tests.lisp,
1312 t/package-system-tests.lisp: Made structures printed at toplevel be
1313 wrapped in parentheses to prevent parsing bugs in JS implementations
1314 (thanks to Scott Bell for the bug report).
1316 2011-12-09 Vladimir Sedach <vas@oneofus.la>
1318 * src/special-operators.lisp, t/eval-tests.lisp,
1319 t/output-tests.lisp: Fixed "return break" bug in fall-through case
1320 statements (thanks to Scott Bell for the bug report).
1322 2011-12-09 Vladimir Sedach <vas@oneofus.la>
1324 * src/printer.lisp, t/eval-tests.lisp, t/output-tests.lisp: Fixed
1325 problem with operator associativity and parenthesizing (thanks to
1326 Canhua for the bug report).
1328 2011-12-08 Vladimir Sedach <vas@oneofus.la>
1330 * src/special-operators.lisp, t/eval-tests.lisp: Undid fcb936231da
1331 by Daniel Gackle for now; will fix later after smaller bugs.
1333 2011-09-15 Daniel Gackle <danielgackle@gmail.com>
1335 * src/special-operators.lisp: Fixed bug: return-from value was not
1336 being returned. This fix is still wrong, because a warning is generated, but it's
1337 less wrong than the preceding behavior.
1339 2011-09-13 Vladimir Sedach <vas@oneofus.la>
1341 * src/package.lisp, src/printer.lisp: [Scott Bell] Eliminate
1342 STYLE-WARNINGs during compilation
1344 2011-09-13 Vladimir Sedach <vas@oneofus.la>
1346 * src/compiler.lisp, src/function-definition.lisp,
1347 src/special-operators.lisp, t/eval-tests.lisp, t/output-tests.lisp:
1348 Fixed bug with function arguments not being respected for renaming
1349 by LET. Thanks to Scott Bell for the bug report.
1351 2011-09-06 Vladimir Sedach <vas@oneofus.la>
1353 * src/special-operators.lisp, t/output-tests.lisp: Fixed division
1354 bug introduced in abf27a29f. Thanks to Scott Bell and Daniel Gackle
1357 2011-08-25 Vladimir Sedach <vas@oneofus.la>
1359 * src/lib/ps-html.lisp, t/output-tests.lisp: Fixed who-ps-html bug.
1360 Thanks to Canhua for the report.
1362 2011-08-25 Vladimir Sedach <vas@oneofus.la>
1364 * src/non-cl.lisp: Fixed problem with CL-side definition of VAR
1365 having an optional instead of required value. Thanks to Erik
1366 Huelsmann for the bug report.
1368 2011-08-09 Vladimir Sedach <vas@oneofus.la>
1370 * src/printer.lisp, t/output-tests.lisp: Fixed bug w/division
1371 non-associativity (thanks to Anthony Fairchild for the bug report).
1373 2011-07-12 Vladimir Sedach <vas@oneofus.la>
1375 * src/special-operators.lisp, t/output-tests.lisp: Fixed behavior
1376 for one-arg / operator (thanks to Leslie Polzer for the bug report).
1378 2011-05-31 Vladimir Sedach <vas@oneofus.la>
1380 * extras/js-expander.el: Synced js-expander.el with latest SLIME
1381 (thanks to Andy Peterson for the fix).
1383 2011-05-04 Vladimir Sedach <vas@oneofus.la>
1385 * runtime/ps-runtime-lib.lisp: Fixed up bogus returns in
1388 2011-03-12 Vladimir Sedach <vas@oneofus.la>
1390 * parenscript.test.asd, t/eval-tests.lisp, t/output-tests.lisp,
1391 t/package-system-tests.lisp, t/test-package.lisp, t/test.lisp: Added
1392 CL-JavaScript test stubs.
1394 2010-06-24 Red Daly <reddaly@gmail.com>
1396 * src/compiler.lisp, src/macros.lisp, src/swank-parenscript.lisp:
1399 2011-02-28 Vladimir Sedach <vas@oneofus.la>
1401 * src/special-operators.lisp, t/output-tests.lisp: Fixed issue
1402 w/failing unit test because of differences in order of list elements
1403 after remove-duplicates in different implementations.
1405 2011-02-28 Vladimir Sedach <vas@oneofus.la>
1407 * src/compiler.lisp, src/function-definition.lisp,
1408 t/output-tests.lisp: Fixed error with symbol-macrolet overriding
1409 lexical bindings introduced by functions. Thanks to Scott Bell for
1412 2011-02-25 Vladimir Sedach <vas@oneofus.la>
1414 * src/printer.lisp: Fixed output in CLisp: specified integer
1415 printing as decimal (in CLisp, with-standard-io-syntax set
1416 *print-readably* to t, which caused number like 123 to print like
1417 123. with a trailing dot). This does not print a trailing dot.
1419 2011-02-22 Vladimir Sedach <vas@oneofus.la>
1421 * t/package-system-tests.lisp: Fixed test execution order dependency
1422 bug in package system tests.
1424 2011-02-02 Vladimir Sedach <vas@oneofus.la>
1426 * src/special-operators.lisp, t/output-tests.lisp: Fixed case of
1427 cond fallthrough (thanks to Daniel Gackle for the bug report)
1429 2011-02-02 Vladimir Sedach <vas@oneofus.la>
1431 * parenscript.asd: Fixed file loading order so ps-js-symbols get
1432 re-exported before other files use them.
1434 2011-02-02 Vladimir Sedach <vas@oneofus.la>
1436 * docs/reference.html, src/js-dom-symbol-exports.lisp: Added
1437 case-sensitive exports to DOM symbol packages, described them and
1438 case-sensitivity in the reference manual.
1440 2011-02-02 Vladimir Sedach <vas@oneofus.la>
1442 * src/utils.lisp, t/output-tests.lisp: Fixed error w/all upper-case
1443 inverted symbols not being printed in uppercase.
1445 2011-01-31 Vladimir Sedach <vas@oneofus.la>
1447 * parenscript.test.asd, t/test-package.lisp: Replaced FiveAM with
1448 EOS (EOS is a drop-in replacement with better code and no
1449 dependencies on Arnesi, which breaks in recent Lispworks and
1450 probably other implementations).
1452 2011-01-30 Vladimir Sedach <vas@oneofus.la>
1454 * src/printer.lisp, t/output-tests.lisp: Fixed equality operators
1455 not being parenthesized.
1457 2011-01-30 Vladimir Sedach <vas@oneofus.la>
1459 * src/printer.lisp, t/output-tests.lisp: Fixed error with |,|
1460 operator precedence and CREATE.
1462 2011-01-30 Vladimir Sedach <vas@oneofus.la>
1464 * docs/reference.html: Documented use/in-package, explained
1467 2011-01-30 Vladimir Sedach <vas@oneofus.la>
1469 * docs/reference.html, src/compiler.lisp, src/package.lisp: API for
1470 PS version and defined operators info.
1472 2011-01-30 Vladimir Sedach <vas@oneofus.la>
1474 * parenscript.asd, src/compiler.lisp, src/function-definition.lisp,
1475 src/printer.lisp, src/special-operators.lisp, t/output-tests.lisp:
1476 Made lambda/flet/labels/defun share code for compiling their bodies,
1477 which should eliminate a lot of bugs.
1479 2011-01-20 Vladimir Sedach <vas@oneofus.la>
1481 * src/compiler.lisp, src/deprecated-interface.lisp: Changed special
1482 operator redefinition and deprecated warnings to issue a real 'style
1483 warning' which should hopefully not mess w/compilation in compilers
1486 2011-01-20 Vladimir Sedach <vas@oneofus.la>
1488 * src/macros.lisp: Fixed broken multiple-value-bind. Thanks to
1489 Daniel Gackle for the bug report.
1491 2011-01-20 Vladimir Sedach <vas@oneofus.la>
1493 * src/macros.lisp, src/printer.lisp, src/special-operators.lisp,
1494 t/output-tests.lisp: Fixed bug w/flet and labels not parsing
1495 extended lambda lists. Thanks to Daniel Gackle for the bug report.
1497 2011-01-17 Vladimir Sedach <vas@oneofus.la>
1499 * src/special-operators.lisp, t/output-tests.lisp: Fixed bug in
1500 return of conditional inside a case.
1502 2011-01-17 Vladimir Sedach <vas@oneofus.la>
1504 * t/output-tests.lisp: Fixed unit tests for change to keyword
1507 2011-01-11 Daniel Gackle <danielgackle@gmail.com>
1509 * src/special-operators.lisp: Fixed bug: only assign INIT-FORM to
1510 keyword arg if it is undefined. (It is incorrect to assign it when
1511 the arg was supplied with null, 0, or false.)
1513 2011-01-11 Daniel Gackle <danielgackle@gmail.com>
1515 * src/macros.lisp: Use a gensym for error variable in IGNORE-ERRORS.
1517 2011-01-07 Daniel Gackle <danielgackle@gmail.com>
1519 * src/utils.lisp: Added caret to the characters PS translates in
1522 2010-12-10 Vladimir Sedach <vas@oneofus.la>
1524 * src/special-operators.lisp, t/output-tests.lisp: Changed heuristic
1525 for deciding to compile a conditional to a statement or expression
1526 to examine the hypothetical output instead of measuring s-exp depth.
1528 2010-12-10 Vladimir Sedach <vas@oneofus.la>
1530 * src/special-operators.lisp, t/output-tests.lisp: Fixed &key
1531 default argument handling not to evaluate default value all the
1532 time. Thanks to Daniel Gackle for the bug report.
1534 2010-12-09 Vladimir Sedach <vas@oneofus.la>
1536 * src/special-operators.lisp, t/output-tests.lisp: Fixed throw
1537 compiling into an expression (thanks to Daniel Gackle for the bug
1540 2010-12-09 Vladimir Sedach <vas@oneofus.la>
1542 * src/compiler.lisp, src/special-operators.lisp,
1543 t/output-tests.lisp: Made top-level blocks in function bodies work
1544 correctly wrt return-from.
1546 2010-12-07 Vladimir Sedach <vas@oneofus.la>
1548 * : commit 86dcc1fe227b13ce6dae10bb10b29495cd2aad05 Author: Vladimir
1549 Sedach <vas@oneofus.la> Date: Tue Dec 7 01:51:27 2010 -0500
1551 2010-12-06 Daniel Gackle <danielgackle@gmail.com>
1553 * src/lib/ps-loop.lisp: Fixed call to PS-GENSYM that was triggering
1554 an assertion failure.
1556 2010-12-06 Vladimir Sedach <vas@oneofus.la>
1558 * src/lib/ps-loop.lisp, src/macros.lisp, src/package.lisp,
1559 src/printer.lisp, src/special-operators.lisp, t/output-tests.lisp:
1560 Added Scott Bell's implementation of ASH.
1562 2010-11-23 Vladimir Sedach <vas@oneofus.la>
1564 * src/non-cl.lisp: No longer defining ps:f as a special variable in
1567 2010-11-22 Vladimir Sedach <vas@oneofus.la>
1569 * parenscript.asd, src/compiler.lisp,
1570 src/deprecated-interface.lisp, src/js-dom-symbol-exports.lisp,
1571 src/js-ir-package.lisp, src/lib/ps-html.lisp, src/macros.lisp,
1572 src/namespace.lisp, src/package.lisp, src/special-operators.lisp,
1573 src/utils.lisp, t/output-tests.lisp, t/package-system-tests.lisp:
1574 Added support for case-sensitive symbols via readtable-case :invert
1575 (thanks to Matthias Benkard for the idea)
1577 2010-11-21 Vladimir Sedach <vas@oneofus.la>
1579 * COPYING, parenscript.test.asd, t/{ps-tests.lisp =>
1580 output-tests.lisp}, t/package-system-tests.lisp,
1581 t/reference-tests.lisp, t/test-package.lisp, t/test.lisp: Put output
1582 tests code into its own package, put that under GNU all-permissive
1585 2010-11-21 Vladimir Sedach <vas@oneofus.la>
1587 * src/compiler.lisp, src/deprecated-interface.lisp,
1588 src/js-ir-package.lisp, src/non-cl.lisp, src/printer.lisp,
1589 src/special-operators.lisp: Renamed package JS to PS-JS to avoid
1590 possible future conflicts (I know CL-JavaScript at one point wanted
1593 2010-11-21 Vladimir Sedach <vas@oneofus.la>
1595 * parenscript.asd, src/macros.lisp, src/non-cl.lisp,
1596 src/special-operators.lisp: Moved PS-specific exported macros and
1597 special forms to their own file (easier to keep track of them to
1598 provide CL equivalent implementations, and for future deprecation)
1600 2010-11-21 Vladimir Sedach <vas@oneofus.la>
1602 * src/compiler.lisp, src/deprecated-interface.lisp,
1603 src/package.lisp: Added warnings when redefining Parenscript
1604 operators or macros, provided a list of operators and macros defined
1605 by Parenscript. Thanks to John Fremlin for the request.
1607 2010-11-21 Vladimir Sedach <vas@oneofus.la>
1609 * src/compiler.lisp, src/special-operators.lisp, t/ps-tests.lisp:
1610 Fixed bug with BLOCK erroneously interpreting lexical returns as
1611 dynamic, added more RETURN tests.
1613 2010-11-13 Vladimir Sedach <vas@oneofus.la>
1615 * parenscript.asd, src/compiler.lisp, src/js-ir-package.lisp,
1616 src/package.lisp, src/special-operators.lisp,
1617 t/package-system-tests.lisp, t/ps-tests.lisp,
1618 t/reference-tests.lisp: Added lexical and dynamic extent RETURN-FROM
1621 2010-11-12 Vladimir Sedach <vas@oneofus.la>
1623 * src/compiler.lisp, src/deprecated-interface.lisp,
1624 src/package.lisp, src/special-operators.lisp, t/ps-tests.lisp:
1625 Implemented implicit blocks for defun/flet/labels and for loops.
1627 2010-11-10 Vladimir Sedach <vas@oneofus.la>
1629 * docs/reference.html, src/deprecated-interface.lisp,
1630 src/package.lisp, src/special-operators.lisp,
1631 t/reference-tests.lisp: Deprecated WITH special operator.
1633 2010-11-09 Vladimir Sedach <vas@oneofus.la>
1635 * src/special-operators.lisp, t/ps-tests.lisp: Fixed bug with
1636 compiling dotted lists (thanks to Scott Bell for the bug report)
1638 2010-11-08 Vladimir Sedach <vas@oneofus.la>
1640 * src/compiler.lisp, src/macros.lisp, src/special-operators.lisp,
1641 t/ps-tests.lisp: Made closures capture loop variables properly (that
1642 is, closures over variables introduced in loops should close over a
1643 new binding of those variables for each loop iteration), with a
1644 'with' scoping trick borrowed from Scheme2JS.
1646 2010-11-07 Vladimir Sedach <vas@oneofus.la>
1648 * src/printer.lisp, t/ps-tests.lisp: Wrapped the printer in a
1649 with-standard-io-syntax to hopefully prevent surprises (I hope this
1652 2010-11-07 Vladimir Sedach <vas@oneofus.la>
1654 * src/special-operators.lisp, t/ps-tests.lisp: Made &optional
1655 parameter not generate null assignment code when default value is
1658 2010-11-06 Vladimir Sedach <vas@oneofus.la>
1660 * src/compilation-interface.lisp, src/macros.lisp,
1661 src/package.lisp, t/package-system-tests.lisp, t/ps-tests.lisp:
1662 Implemented IN-PACKAGE and USE-PACKAGE. Thanks to Red Daly and
1663 Alessio Stalla for providing pieces of the implementation.
1665 2010-11-06 Vladimir Sedach <vas@oneofus.la>
1667 * src/special-operators.lisp, t/ps-tests.lisp: Fixed bug in
1668 RETURN-FROM (thanks to Scott Bell for the bug report).
1670 2010-11-04 Vladimir Sedach <vas@oneofus.la>
1672 * docs/reference.html, src/js-dom-symbol-exports.lisp: Removed
1673 trailing whitespace in reference manual.
1675 2010-11-04 Vladimir Sedach <vas@oneofus.la>
1677 * parenscript.asd, src/compilation-interface.lisp,
1678 src/compiler.lisp, src/macros.lisp, src/{special-forms.lisp =>
1679 special-operators.lisp}, t/package-system-tests.lisp,
1680 t/ps-tests.lisp, t/reference-tests.lisp: Reimplemented special
1681 operator handling to better handle the expression/statement
1684 2010-10-17 Vladimir Sedach <vas@oneofus.la>
1686 * src/deprecated-interface.lisp, src/lib/ps-html.lisp,
1687 src/macros.lisp, src/package.lisp: Changed str back to stringify
1690 2010-08-25 Vladimir Sedach <vas@oneofus.la>
1692 * src/deprecated-interface.lisp, src/lib/ps-html.lisp,
1693 src/macros.lisp, src/package.lisp: Rename stringify to str (clojure
1696 2010-08-25 Vladimir Sedach <vas@oneofus.la>
1698 * src/printer.lisp, src/special-forms.lisp, t/ps-tests.lisp: Added
1699 docstring output for var and defun when *js-print-pretty* is t.
1701 2010-08-24 Vladimir Sedach <vas@oneofus.la>
1703 * src/special-forms.lisp, t/ps-tests.lisp: Removed JS 1.6 specific
1704 keyword arg handling since it was broken, and fixing it would make
1705 it uglier than using the regular keyword handling.
1707 2010-08-22 Vladimir Sedach <vas@oneofus.la>
1709 * src/deprecated-interface.lisp, src/lib/ps-html.lisp,
1710 src/macros.lisp, src/package.lisp: Renamed concat-string to
1713 2010-08-22 Vladimir Sedach <vas@oneofus.la>
1715 * parenscript.asd: Removed test-op method from parenscript.asd
1717 2010-08-18 Vladimir Sedach <vas@oneofus.la>
1719 * src/package.lisp: Push :parenscript onto features instead of
1720 provide to undo change in fe16b36557f (read the CLHS a bit and
1721 realized the latter is not a good idea).
1723 2010-08-18 Vladimir Sedach <vas@oneofus.la>
1725 * src/special-forms.lisp, t/ps-tests.lisp: Cleaned up generated code
1726 for processing &key and &optional parameters.
1728 2010-08-17 Vladimir Sedach <vas@oneofus.la>
1730 * src/special-forms.lisp, t/ps-tests.lisp: Fixed duplicate hoisted
1731 lexical variable declaration (thanks to Daniel Gackle for bug
1734 2010-08-13 Vladimir Sedach <vas@oneofus.la>
1736 * runtime/ps-runtime-lib.lisp, src/compilation-interface.lisp,
1737 src/compiler.lisp, src/deprecated-interface.lisp,
1738 src/js-dom-symbol-exports.lisp, src/lib/ps-dom.lisp,
1739 src/lib/ps-html.lisp, src/lib/ps-loop.lisp, src/macros.lisp,
1740 src/namespace.lisp, src/package.lisp, src/parse-lambda-list.lisp,
1741 src/printer.lisp, src/special-forms.lisp, src/utils.lisp,
1742 t/package-system-tests.lisp, t/ps-tests.lisp,
1743 t/reference-tests.lisp, t/test.lisp: Changed package designators to
1744 uninterned symbols (should protect against reader changes and enable
1745 safe usage with case-sensitive lisps)
1747 2010-08-13 Vladimir Sedach <vas@oneofus.la>
1749 * parenscript.asd, parenscript.test.asd, src/package.lisp: Changed
1750 ASD system definitions to conform to some of Juanjo Garcia Ripoll's
1751 recommendations (see
1753 http://tream.dreamhosters.com/tream/musings/49-lisp/76-analysis-of-existing-asdf-files)
1755 2010-08-13 Vladimir Sedach <vas@oneofus.la>
1757 * docs/reference.html, src/deprecated-interface.lisp,
1758 src/macros.lisp, src/package.lisp, t/ps-tests.lisp: Deprecated
1761 2010-08-13 Vladimir Sedach <vas@oneofus.la>
1763 * src/macros.lisp, src/special-forms.lisp, t/ps-tests.lisp,
1764 t/reference-tests.lisp: Fixed compilation of LET forms without
1765 bodies (thanks to Maciej Katafiasz <mathrick@gmail.com> for the bug
1766 report). Simplified implicit-return code, generalized expressionizing of
1767 statements (should be possible to use this for things like loops
1768 inside expressions etc. without too much work now).
1770 2010-07-12 Vladimir Sedach <vas@oneofus.la>
1772 * t/package-system-tests.lisp: Changed package system tests to use
1773 deterministic obfuscator to make unit tests work independent of
1774 which order they are executed.
1776 2010-07-11 Vladimir Sedach <vas@oneofus.la>
1778 * t/reference-tests.lisp: Removed state dependencies between
1779 different unit tests (this was causing test failures in different CL
1782 2010-07-11 Vladimir Sedach <vas@oneofus.la>
1784 * t/ps-tests.lisp, t/reference-tests.lisp: Updated unit tests for
1785 new HTML string concatenation scheme.
1787 2010-06-21 Vladimir Sedach <vas@oneofus.la>
1789 * src/special-forms.lisp, t/ps-tests.lisp: Fixed compilation of COND
1790 clauses with unspecified consequents, empty PROGN expressions. Thanks to Daniel Gackle for the bug report.
1792 2010-06-21 Vladimir Sedach <vas@oneofus.la>
1794 * src/compilation-interface.lisp, t/ps-tests.lisp: Fixed PS-INLINE
1795 (thanks to Olof-Joachim Frahm <Olof.Frahm@web.de> for the patch).
1797 2010-06-20 Daniel Gackle <danielgackle@gmail.com>
1799 * src/lib/ps-html.lisp: Extended the amount of compile-time string
1800 concatentation PS can do when emitting HTML.
1802 2010-06-20 Daniel Gackle <danielgackle@gmail.com>
1804 * src/macros.lisp: Made CONCAT-STRING use the buffer join technique
1805 rather than the + operator which is notoriously slow for string
1806 concatenation in some browsers.
1808 2010-06-17 Daniel Gackle <danielgackle@gmail.com>
1810 * src/lib/ps-dom.lisp: Added HCENTER and VCENTER keys to the OFFSET
1813 2010-06-15 Vladimir Sedach <vas@oneofus.la>
1815 * src/printer.lisp, t/ps-tests.lisp: Fixed bug with +/- precedence
1816 (thanks to Daniel Gackle for the bug report).
1818 2010-05-23 Daniel Gackle <danielgackle@gmail.com>
1820 * src/lib/ps-loop.lisp: Fixed bug in PS-LOOP: variable names like
1821 COUNT were being converted to LOOP keywords inappropriately, causing
1822 them to be compiled incorrectly.
1824 2010-05-23 Daniel Gackle <danielgackle@gmail.com>
1826 * src/macros.lisp: Fixed bug in DESTRUCTURING-BIND: the default when
1827 binding to the tail of a list should be [], not null.
1829 2010-05-23 Daniel Gackle <danielgackle@gmail.com>
1831 * src/macros.lisp: Replaced deprecated % with REM in ODDP.
1833 2010-05-14 Chew Theam Yong <chew.theam.yong@gmail.com>
1835 * src/printer.lisp, t/ps-tests.lisp: Operator precedence - fixed
1836 parenthesizing for comma in arrays.
1838 2010-05-14 Chew Theam Yong <chew.theam.yong@gmail.com>
1840 * src/printer.lisp, t/ps-tests.lisp: Operator precedence - fixed
1841 handling of nested lets.
1843 2010-05-19 Vladimir Sedach <vas@oneofus.la>
1845 * src/macros.lisp: Undid last patch (didn't really think through how
1846 it would work with arrays).
1848 2010-05-19 Vladimir Sedach <vas@oneofus.la>
1850 * src/macros.lisp: Changed random not to floor all numbers (thanks
1851 to Chew Theam Yong <senatorzergling@gmail.com>) for the suggestion).
1853 2010-05-11 Chew Theam Yong <senatorzergling@gmail.com>
1855 * src/lib/ps-loop.lisp: Changed gensym to ps-gensym for
1856 consistency/replicable gensyms.
1858 2010-05-11 Chew Theam Yong <senatorzergling@gmail.com>
1860 * runtime/ps-runtime-lib.lisp: Renamed function argument 'as' to
1861 'arrs' for consistency, just like in nconc. (PS ok, it's really
1862 because 'as' is an Actionscript 3 keyword).
1864 2010-05-19 Vladimir Sedach <vas@oneofus.la>
1866 * src/printer.lisp, t/ps-tests.lisp: Fixed problem with calling
1867 methods on anonymous functions (thanks to Daniel Gackle for the bug
1870 2010-05-19 Vladimir Sedach <vas@oneofus.la>
1872 * src/macros.lisp: Use funcall instead of Scheme-like function
1873 calling convention in macros.lisp
1875 2010-05-19 Vladimir Sedach <vas@oneofus.la>
1877 * docs/reference.html: Slight fix to reference doc.
1879 2010-05-03 Vladimir Sedach <vas@oneofus.la>
1881 * docs/reference.html: Fixed typo in docs/reference.html
1883 2010-04-28 Vladimir Sedach <vas@oneofus.la>
1885 * src/printer.lisp, src/special-forms.lisp: Made syntax of js:switch
1888 2010-04-27 Vladimir Sedach <vas@oneofus.la>
1890 * src/compiler.lisp, src/printer.lisp: Simplified handling of
1893 2010-04-27 Vladimir Sedach <vas@oneofus.la>
1895 * src/compiler.lisp: Stopped defpsmacro/define-ps-symbol-macro from
1896 clobbering special forms.
1898 2010-04-27 Vladimir Sedach <vas@oneofus.la>
1900 * src/compiler.lisp: Removed %check-once-only type check.
1902 2010-04-25 Vladimir Sedach <vas@oneofus.la>
1904 * src/printer.lisp, t/ps-tests.lisp: Fixed operator associativity
1905 printing bug (thanks to Daniel Gackle for the bug report).
1907 2010-04-23 Vladimir Sedach <vas@oneofus.la>
1909 * src/deprecated-interface.lisp, src/package.lisp: Added != and !==
1910 to deprecated interface.
1912 2010-04-22 Daniel Gackle <danielgackle@gmail.com>
1914 * src/printer.lisp: Fixed &=, |=, and ^=.
1916 2010-04-21 Vladimir Sedach <vas@oneofus.la>
1918 * parenscript.asd, src/lib/ps-macro-lib.lisp, src/macros.lisp: Moved
1919 ps-macro-lisp into macros.lisp
1921 2010-04-21 Vladimir Sedach <vas@oneofus.la>
1923 * src/macros.lisp, src/package.lisp, t/ps-tests.lisp: Removed EQUALP
1924 (it really needs to be a runtime function).
1926 2010-04-21 Vladimir Sedach <vas@oneofus.la>
1928 * src/lib/ps-macro-lib.lisp, src/macros.lisp,
1929 src/special-forms.lisp, t/ps-tests.lisp, t/reference-tests.lisp:
1930 Changed EQUAL and EQUALP to compile to '==', added STRING=.
1932 2010-04-20 Vladimir Sedach <vas@oneofus.la>
1934 * src/deprecated-interface.lisp, src/package.lisp,
1935 src/printer.lisp, src/special-forms.lisp, t/ps-tests.lisp: Fixed
1936 %/REM. Thanks to Daniel Gackle for the bug report.
1938 2010-04-20 Vladimir Sedach <vas@oneofus.la>
1940 * t/ps-tests.lisp: Fixed unit tests for NULL patch.
1942 2010-04-20 Vladimir Sedach <vas@oneofus.la>
1944 * src/lib/ps-macro-lib.lisp, src/special-forms.lisp: Made NULL treat
1945 'undefined' properly.
1947 2010-04-19 Vladimir Sedach <vas@oneofus.la>
1949 * src/compiler.lisp, t/ps-tests.lisp: Fixed vector literal printing.
1951 2010-04-19 Vladimir Sedach <vas@oneofus.la>
1953 * src/printer.lisp, t/ps-tests.lisp: Fixed *= (thanks to Daniel
1954 Gackle for the bug report).
1956 2010-04-18 Vladimir Sedach <vas@oneofus.la>
1958 * src/macros.lisp, src/special-forms.lisp, t/ps-tests.lisp: Fixed
1959 bug where FUNCALL wasn't properly accessing lexical variables
1960 (thanks to Daniel Gackle for the bug report).
1962 2010-04-18 Vladimir Sedach <vas@oneofus.la>
1964 * src/package.lisp, src/special-forms.lisp, t/ps-tests.lisp: Made
1965 LABEL work w/ new compiler.
1967 2010-04-18 Vladimir Sedach <vas@oneofus.la>
1969 * src/special-forms.lisp: Fixed FOR special form to work w/ compiler
1972 2010-04-18 Vladimir Sedach <vas@oneofus.la>
1974 * : commit 4e602569fa56b07f0d622e8b3d5c10049cd59a68 Author: Vladimir
1975 Sedach <vas@oneofus.la> Date: Sat Apr 17 20:33:13 2010 -0400
1977 2010-04-17 Vladimir Sedach <vas@oneofus.la>
1979 * src/utils.lisp: Refactored symbol name mangling code.
1981 2010-04-17 Vladimir Sedach <vas@oneofus.la>
1983 * src/lib/ps-macro-lib.lisp: Fixed equality abuse in ps-macro-lib.
1985 2010-04-17 Vladimir Sedach <vas@oneofus.la>
1987 * src/namespace.lisp: Refactored symbol-to-js-string function.
1989 2010-04-17 Vladimir Sedach <vas@oneofus.la>
1991 * src/deprecated-interface.lisp: Put == and === into deprecated
1994 2010-04-17 Vladimir Sedach <vas@oneofus.la>
1996 * docs/reference.html: Removed VOID from reference.
1998 2010-04-08 Scott Bell <scott@skysheet.com>
2000 * src/deprecated-interface.lisp, src/package.lisp,
2001 src/printer.lisp, src/special-forms.lisp: Define new special form
2002 LABEL to provide general JavaScript labels. LABELED-FOR is now deprecated in favour of LABEL and FOR.
2004 2010-02-24 Scott Bell <scott@skysheet.com>
2006 * .gitignore: Add common fasl suffixes to new file .gitignore This is because git (> 1.7.0) reports submodules as modified if
2007 their working trees are considered `dirty', which happens when fasls
2010 2010-03-10 Vladimir Sedach <vas@oneofus.la>
2012 * src/compiler.lisp, t/ps-tests.lisp: Fixed '=' comparison of more
2013 than two expressions.
2015 2010-03-06 Vladimir Sedach <vas@oneofus.la>
2017 * runtime/ps-runtime-lib.lisp: Added NCONC to the runtime lib
2018 (thanks to Daniel Gackle for the implementation).
2020 2010-02-26 Vladimir Sedach <vas@oneofus.la>
2022 * src/compilation-interface.lisp, src/special-forms.lisp,
2023 t/ps-tests.lisp: Fixed PS-COMPILE-STREAM breakage (was trying to
2024 compile forms one at a time as they were read, which would make
2025 sense for an interpreter, but the desired behavior is to read all
2026 the forms in first and then compile them at once - that caused some
2027 problems with printing). Thanks to Yong <senatorzergling@gmail.com> for the bug report.
2029 2010-02-24 Vladimir Sedach <vas@oneofus.la>
2031 * docs/reference.html, src/namespace.lisp: Changed OBFUSCATE-PACKAGE
2032 to take closures for symbol-maps only.
2034 2010-02-13 Vladimir Sedach <vas@oneofus.la>
2036 * : commit 2e8fac0170bf3632fe31588472ca1a55bf6b220f Author: Vladimir
2037 Sedach <vas@oneofus.la> Date: Sat Feb 13 02:44:22 2010 -0500
2039 2010-02-13 Vladimir Sedach <vas@oneofus.la>
2041 * docs/reference.html: Removed defmacro/ps from reference doc.
2043 2010-01-21 Daniel Gackle <danielgackle@gmail.com>
2045 * src/lib/ps-loop.lisp: Fixed bug in PS LOOP: iteration variables
2046 weren't being declared when their initial value happened to be null.
2048 2010-02-01 Vladimir Sedach <vas@oneofus.la>
2050 * src/special-forms.lisp, t/ps-tests.lisp, t/reference-tests.lisp:
2051 Supressed top-level "null"s being output.
2053 2010-01-25 Vladimir Sedach <vas@oneofus.la>
2055 * src/special-forms.lisp, t/ps-tests.lisp: Added code to handle
2056 SPECIAL declarations.
2058 2010-01-04 Vladimir Sedach <vas@oneofus.la>
2060 * src/special-forms.lisp, t/ps-tests.lisp: Made WHEN/UNLESS return
2061 null in situations where a return statement was expected (switch,
2064 2010-01-04 Vladimir Sedach <vas@oneofus.la>
2066 * src/compiler.lisp, src/special-forms.lisp, t/ps-tests.lisp: Made
2067 FLET and LABELS not gensym new names when it's not necessary.
2069 2010-01-04 Daniel Gackle <danielgackle@gmail.com>
2071 * src/compilation-interface.lisp, src/compiler.lisp,
2072 src/deprecated-interface.lisp, src/package.lisp: Deprecated
2073 DEFMACRO/PS as described on parenscript-devel email list,
2076 2010-01-04 Daniel Gackle <danielgackle@gmail.com>
2078 * src/compiler.lisp, src/js-dom-symbol-exports.lisp,
2079 src/package.lisp, src/parse-lambda-list.lisp,
2080 src/special-forms.lisp: Deleted trailing whitespace.
2082 2010-01-02 Vladimir Sedach <vas@oneofus.la>
2084 * src/special-forms.lisp, t/ps-tests.lisp: Changed RETURN of
2085 conditionals not to return spurious nulls.
2087 2009-12-29 Vladimir Sedach <vas@oneofus.la>
2089 * src/namespace.lisp, t/package-system-tests.lisp,
2090 t/test-package.lisp: Made the obfuscator not obfuscate exported
2093 2009-12-28 Daniel Gackle <danielgackle@gmail.com>
2095 * src/lib/ps-loop.lisp: Fixed bug: loop accumulation was broken
2096 after the removal of WITH-LAMBDA macro in c08b0525.
2098 2009-12-28 Vladimir Sedach <vas@oneofus.la>
2100 * src/special-forms.lisp, t/ps-tests.lisp, t/reference-tests.lisp:
2101 Made DEFUN SETF work correctly for &rest parameters in argument
2102 signatures. However, this means that the store-form now gets
2103 evaluated before the arguments to the updating function.
2105 2009-12-27 Vladimir Sedach <vas@oneofus.la>
2107 * docs/internal/notes-and-links.txt: Removed "internal"
2110 2009-12-27 Vladimir Sedach <vas@oneofus.la>
2112 * src/compiler.lisp: Removed unneeded EVAL-WHEN from around macro
2113 environment definitions.
2115 2009-12-27 Vladimir Sedach <vas@oneofus.la>
2117 * t/package-system-tests.lisp, t/ps-tests.lisp,
2118 t/reference-tests.lisp, t/test-package.lisp, t/test.lisp: Removed
2119 EVAL-WHEN crud from test suite definitions.
2121 2009-12-27 Vladimir Sedach <vas@oneofus.la>
2123 * parenscript.asd: Cleaned up ASD file a bit.
2125 2009-12-27 Vladimir Sedach <vas@oneofus.la>
2127 * src/package.lisp: Removed EVAL-WHEN and #. stuff from
2130 2009-12-25 Vladimir Sedach <vas@oneofus.la>
2132 * src/special-forms.lisp, t/ps-tests.lisp: Made RETURN of TRY handle
2133 the :CATCH clause correctly.
2135 2009-12-25 Vladimir Sedach <vas@oneofus.la>
2137 * docs/build.sh, docs/pbook.py, docs/reference.html,
2138 docs/reference.lisp, parenscript.asd, t/ps-tests.lisp,
2139 t/ref2test.lisp, t/reference-tests.lisp, t/test-package.lisp,
2140 t/test.lisp: Rewrote reference manual in HTML.
2142 2009-12-24 Vladimir Sedach <vas@oneofus.la>
2144 * src/lib/ps-loop.lisp, src/lib/ps-macro-lib.lisp, src/package.lisp:
2145 Removed WITH-LAMBDA macro.
2147 2009-12-13 Vladimir Sedach <vas@oneofus.la>
2149 * src/package.lisp, src/printer.lisp, src/special-forms.lisp:
2150 Removed IE specific CC-IF form.
2152 2009-12-12 Vladimir Sedach <vas@oneofus.la>
2154 * COPYING, extras/js-expander.el: Improved doc for js-expander.el,
2155 added more recent dates to COPYING copyright notice.
2157 2009-12-07, 20 Vladimir Sedach <vas@oneofus.la>
2159 * runtime/ps-runtime-lib.lisp, src/package.lisp: Removed MAP-UNTIL
2162 2009-12-07 Vladimir Sedach <vas@oneofus.la>
2164 * src/lib/ps-macro-lib.lisp, src/package.lisp: Rearraged
2165 ps-macro-lib.lisp to make more sense, removed MEMOIZE function.
2167 2009-12-04 Daniel Gackle <danielgackle@gmail.com>
2169 * src/utils.lisp: Added < and > to the list of symbols PS accepts in
2170 identifiers and mangles into legal JS.
2172 2009-12-03 Daniel Gackle <danielgackle@gmail.com>
2174 * src/printer.lisp: Omit superfluous space after DEFAULT.
2176 2009-11-08 Daniel Gackle <danielgackle@gmail.com>
2178 * src/lib/ps-loop.lisp: Fixed bug in PS LOOP: bindings should be
2179 destructured *after* testing whether or not the loop is over. This
2180 bug was obscured by the fact that it was only activated in the
2181 comparatively rare FOR-ON clause, because FOR-IN puts bindings in a
2182 second iteration object than the end-test.
2184 2009-11-04 Daniel Gackle <danielgackle@gmail.com>
2186 * src/lib/ps-macro-lib.lisp: Added PS implementations of PROG1 and
2189 2009-12-02 Vladimir Sedach <vas@oneofus.la>
2191 * docs/reference.lisp, src/compiler.lisp,
2192 src/deprecated-interface.lisp, src/lib/ps-macro-lib.lisp,
2193 src/package.lisp, src/printer.lisp, src/special-forms.lisp,
2194 t/package-system-tests.lisp, t/ps-tests.lisp,
2195 t/reference-tests.lisp: Renamed GET-PROPERTY to GETPROP.
2197 2009-12-01 Vladimir Sedach <vas@oneofus.la>
2199 * src/special-forms.lisp, t/ps-tests.lisp: Fixed return of iteration
2202 2009-11-30 Vladimir Sedach <vas@oneofus.la>
2204 * src/special-forms.lisp, t/ps-tests.lisp: SETF now correctly looks
2205 up SETF expansions of places before attempting macroexpansion.
2207 2009-11-29 Vladimir Sedach <vas@oneofus.la>
2209 * src/special-forms.lisp, t/ps-tests.lisp: Made SWITCH flatten
2210 blocks in case statements. This prevents redundant brackets from
2213 2009-11-29 Vladimir Sedach <vas@oneofus.la>
2215 * src/special-forms.lisp, t/ps-tests.lisp: Removed redundant PROGN
2218 2009-11-29 Vladimir Sedach <vas@oneofus.la>
2220 * src/compilation-interface.lisp: Changed PS-DOC* to take multiple
2221 arguments (implicit progn) to make it consistent with PS*.
2223 2009-11-27 Vladimir Sedach <vas@oneofus.la>
2225 * src/special-forms.lisp, t/ps-tests.lisp: Fixed RETURN of COND.
2227 2009-11-26 Vladimir Sedach <vas@oneofus.la>
2229 * src/special-forms.lisp, t/ps-tests.lisp: Fixed RETURN of
2232 2009-11-26 Vladimir Sedach <vas@oneofus.la>
2234 * src/special-forms.lisp, t/ps-tests.lisp: Added VALUES and
2235 MULTIPLE-VALUE-BIND. Thanks to Red Daly and Daniel Gackle for the
2238 2009-11-23 Vladimir Sedach <vas@oneofus.la>
2240 * src/package.lisp: Exported *PARENSCRIPT-STREAM* special variable,
2241 used to control output of PS*.
2243 2009-11-22 Vladimir Sedach <vas@oneofus.la>
2245 * src/special-forms.lisp, t/ps-tests.lisp: Better RETURN handling of
2246 conditionals and statements.
2248 2009-11-18 Vladimir Sedach <vas@oneofus.la>
2250 * src/lib/ps-loop.lisp: Make NIL the value (the last form in
2251 enclosing PROGN) of a LOOP macro with no default accumulator. (Patch
2254 2009-11-05 Vladimir Sedach <vas@oneofus.la>
2256 * docs/reference.lisp, src/compiler.lisp,
2257 src/deprecated-interface.lisp, src/lib/ps-macro-lib.lisp,
2258 src/package.lisp, src/printer.lisp, src/special-forms.lisp,
2259 t/package-system-tests.lisp, t/ps-tests.lisp,
2260 t/reference-tests.lisp: Renamed SLOT-VALUE to GET-PROPERTY (and
2261 added the former to the deprecated interface).
2263 2009-11-05 Vladimir Sedach <vas@oneofus.la>
2265 * src/utils.lisp, t/ps-tests.lisp: Fixed symbol-to-js-string of
2266 things like A++ and A**. Thanks to Daniel Gackle for the bug report.
2268 2009-11-05 Vladimir Sedach <vas@oneofus.la>
2270 * src/special-forms.lisp, t/ps-tests.lisp: Fixed RETURN of CASE.
2272 2009-11-05 Vladimir Sedach <vas@oneofus.la>
2274 * docs/reference.lisp, src/special-forms.lisp,
2275 t/reference-tests.lisp: DOLIST no longer generates a gensym for the
2276 array argument if it's not needed.
2278 2009-11-05 Vladimir Sedach <vas@oneofus.la>
2280 * src/special-forms.lisp, t/ps-tests.lisp: Fixed FLET expression
2283 2009-11-04 Vladimir Sedach <vas@oneofus.la>
2285 * docs/reference.lisp, src/special-forms.lisp,
2286 t/package-system-tests.lisp, t/ps-tests.lisp,
2287 t/reference-tests.lisp: Added implicit return to function bodies.
2289 2009-10-28 Daniel Gackle <danielgackle@gmail.com>
2291 * src/special-forms.lisp: The RETURN special operator now throws an
2292 error if it encounters the syntax error of (RETURN (RETURN FOO)).
2294 2009-10-28 Daniel Gackle <danielgackle@gmail.com>
2296 * src/special-forms.lisp: Extended the optimizations in the NOT
2297 special form to convert double-negatives into positives, as in (PS
2298 (NOT (NOT X))) => "x".
2300 2009-10-28 Daniel Gackle <danielgackle@gmail.com>
2302 * src/lib/ps-loop.lisp: Made :WHILE and :UNTIL into first-class
2303 clauses in PS LOOP (they weren't working properly in conjunction
2306 2009-10-27 Daniel Gackle <danielgackle@gmail.com>
2308 * src/lib/ps-loop.lisp: Added support for :APPEND clauses to PS
2311 2009-10-27 Daniel Gackle <danielgackle@gmail.com>
2313 * src/lib/ps-loop.lisp: Added support for :WITH clauses to PS LOOP.
2315 2009-10-27 Daniel Gackle <danielgackle@gmail.com>
2317 * src/lib/ps-loop.lisp: Fixed bugs involving :INITIALLY and :FINALLY
2318 in PS LOOP. They weren't working properly in cases where the main
2319 body of the loop doesn't execute. When that happens, iteration
2320 variables should still be in scope, just null. (An exception is for
2321 iteration variables in :FROM clauses, which get set to their
2322 init-form at declaration time. This behavior is drawn from CL's
2323 LOOP, or at least CCL's implementation thereof.)
2325 2009-10-27 Daniel Gackle <danielgackle@gmail.com>
2327 * src/lib/ps-loop.lisp: Removed three nonstandard clauses in PS LOOP
2328 (:INDEX, :FIRST-TIME, and :LAST-TIME) which date back to the
2329 experimental origins of this code and which, as far as I know, are
2332 2009-10-26 Daniel Gackle <danielgackle@gmail.com>
2334 * src/compiler.lisp, src/special-forms.lisp: Literal vector notation
2335 is now supported; treated exactly like literal lists.
2337 2009-10-13 Vladimir Sedach <vas@oneofus.la>
2339 * src/printer.lisp, src/special-forms.lisp,
2340 t/package-system-tests.lisp, t/ps-tests.lisp: Changed the CREATE
2341 special form to treat its key arguments as constants.
2343 2009-09-21 Daniel Gackle <danielgackle@gmail.com>
2345 * src/lib/ps-loop.lisp, src/lib/ps-macro-lib.lisp: Fixed bug: dotted
2346 lists weren't being destructured properly.
2348 2009-09-21 Daniel Gackle <danielgackle@gmail.com>
2350 * src/lib/ps-loop.lisp: Fixed a bug in PS LOOP: the :INITIALLY and
2351 :FINALLY clauses should execute whether or not the loop body is
2354 2009-09-17 Daniel Gackle <danielgackle@gmail.com>
2356 * src/lib/ps-macro-lib.lisp: Added &OPTIONAL to DESTRUCTURING-BIND.
2357 Currently it's just ignored (next step woudl be to support default
2360 2009-09-15 Daniel Gackle <danielgackle@gmail.com>
2362 * src/lib/ps-macro-lib.lisp: DESTRUCTURING-BIND now supports &REST.
2364 2009-09-17 Vladimir Sedach <vas@oneofus.la>
2366 * src/compiler.lisp, t/ps-tests.lisp: Fixed symbol macro bug (thanks
2367 to Daniel Gackle for the bug report).
2369 2009-09-14 Vladimir Sedach <vas@oneofus.la>
2371 * src/utils.lisp, t/ref2test.lisp: Replaced redundant string
2372 functions in utils.lisp with standard/library ones.
2374 2009-09-13 Vladimir Sedach <vas@oneofus.la>
2376 * src/lib/ps-macro-lib.lisp, t/ps-tests.lisp: Fixed the CHAIN macro
2377 to correctly chain plain slot values. Thanks to Daniel White <daniel@whitehouse.id.au> for the patch.
2379 2009-09-13 Vladimir Sedach <vas@oneofus.la>
2381 * src/compiler.lisp: Changed op-precedence back to a memoized table
2382 (performance tweaks).
2384 2009-09-13 Vladimir Sedach <vas@oneofus.la>
2386 * src/utils.lisp: Memoized SYMBOL-NAME-TO-JS-STRING (performance
2389 2009-09-11 Vladimir Sedach <vas@oneofus.la>
2391 * src/compiler.lisp: Added symbolp check before the use of
2392 lookup-macro-def in ps-macroexpand (more low-hanging performance
2395 2009-09-11 Vladimir Sedach <vas@oneofus.la>
2397 * src/utils.lisp: Refactored SYMBOL-NAME-TO-JS-STRING.
2399 2009-09-11 Vladimir Sedach <vas@oneofus.la>
2401 * docs/reference.lisp, src/compilation-interface.lisp,
2402 src/package.lisp, src/printer.lisp, t/ps-tests.lisp,
2403 t/reference-tests.lisp: Changed printing subsystem interface to
2404 allow direct output to streams. Added 'ps-to-stream' function.
2406 2009-09-11 Vladimir Sedach <vas@oneofus.la>
2408 * src/compilation-interface.lisp, src/compiler.lisp,
2409 src/package.lisp, src/printer.lisp, src/special-forms.lisp:
2410 Refactored compile-parenscript-form code.
2412 2009-09-11 Vladimir Sedach <vas@oneofus.la>
2414 * src/compiler.lisp, src/special-forms.lisp: Refactored ps-compiler
2415 method name for symbols.
2417 2009-08-19 Daniel Gackle <danielgackle@gmail.com>
2419 * src/lib/ps-loop.lisp: Factored out duplication between simple and
2422 2009-08-18 Daniel Gackle <danielgackle@gmail.com>
2424 * src/lib/ps-loop.lisp, src/lib/ps-macro-lib.lisp: Correcting how
2425 parallel loop handles destructuring lists.
2427 2009-08-18 Daniel Gackle <danielgackle@gmail.com>
2429 * src/lib/ps-loop.lisp: Separated the processing of single and
2432 2009-08-18 Daniel Gackle <danielgackle@gmail.com>
2434 * src/lib/ps-loop.lisp: Fixed problem with destructuring-lists in
2435 multiple-for clauses (they need binding before the first execution
2436 of the loop). This solution is not optimal, because it creates new
2437 bindings for the variable inside the loop, and emits the pre-loop
2438 bindings even when they aren't being used.
2440 2009-08-15 Daniel Gackle <danielgackle@gmail.com>
2442 * src/special-forms.lisp: Removed trailing whitespace.
2444 2009-08-15 Daniel Gackle <danielgackle@gmail.com>
2446 * src/special-forms.lisp: Eliminated unused local variables that
2447 caused compiler warnings in CCL.
2449 2009-08-14 Daniel Gackle <danielgackle@gmail.com>
2451 * src/lib/ps-loop.lisp: Made PS LOOP conform to LOOP's semantics
2452 regarding parallel FOR clauses. A clause's end-test should take
2453 place before the next clause's step form.
2455 2009-08-13 Daniel Gackle <danielgackle@gmail.com>
2457 * src/lib/ps-loop.lisp: Broke up loop parsing by pushing local
2458 functions to top level and passing a state object around.
2460 2009-08-12 Vladimir Sedach <vas@oneofus.la>
2462 * docs/reference.lisp, src/compiler.lisp, src/printer.lisp,
2463 src/special-forms.lisp, t/ps-tests.lisp, t/reference-tests.lisp:
2464 Fixed a bug where 'create' was special-casing keywords in
2465 inappropriate ways. (slot-value (create :foo-bar 1) :foo-bar) was being translated as ({
2466 fooBar : 1 })['foo-bar']
2468 2009-08-06 Vladimir Sedach <vas@oneofus.la>
2470 * : commit a14fb2cb9bce1d6956cc9be3a7e7b67451b7032f Author: Vladimir
2471 Sedach <vas@oneofus.la> Date: Thu Aug 6 22:21:11 2009 -0600
2473 2009-08-05 Daniel Gackle <danielgackle@gmail.com>
2475 * src/lib/ps-loop.lisp: Made the COUNT clause in PS LOOP evaluate
2476 its term before counting (and skip nil) like CL does.
2478 2009-07-31 Daniel Gackle <danielgackle@gmail.com>
2480 * src/lib/ps-loop.lisp: Added :REPEAT clauses to PS's LOOP.
2482 2009-08-01 Vladimir Sedach <vas@oneofus.la>
2484 * src/package.lisp: Exported 'chain' helper macro.
2486 2009-07-27 Vladimir Sedach <vas@oneofus.la>
2488 * src/lib/ps-macro-lib.lisp, src/printer.lisp, t/ps-tests.lisp:
2489 Changed 'slot-value' to print keyword slot names as strings.
2491 2009-07-26 Red Daly <reddaly@gmail.com>
2493 * src/compiler.lisp, t/ps-tests.lisp: Fixed eval-when special form
2494 and added tests to prevent future breakage.
2496 2009-07-25 Vladimir Sedach <vas@oneofus.la>
2498 * src/compiler.lisp, src/special-forms.lisp, t/ps-tests.lisp:
2499 Changed 'create' and 'slot-value' to treat reserved JS keywords as
2500 strings. Thanks to Alexey Lebedeff for the idea.
2502 http://common-lisp.net/pipermail/parenscript-devel/2009-July/000558.html
2504 2009-07-25 Vladimir Sedach <vas@oneofus.la>
2506 * src/compiler.lisp: Revised PS literal mechanism to use
2507 'symbol-name-to-js-string' instead of 'symbol-name' to check symbol
2508 names for conflicts with reserved JS keywords. Added list of
2509 currently reserved JS keyword names.
2511 2009-07-10 Daniel Gackle <danielgackle@gmail.com>
2513 * src/lib/ps-loop.lisp: PS LOOP now supports ON.
2515 2009-07-10 Daniel Gackle <danielgackle@gmail.com>
2517 * src/lib/ps-macro-lib.lisp: DESTRUCTURING-BIND can now handle
2518 dotted and nested binding lists.
2520 2009-06-30 Daniel Gackle <danielgackle@gmail.com>
2522 * src/lib/ps-loop.lisp: Added support for COUNT, MINIMIZE and
2523 MAXIMIZE to PS-LOOP.
2525 2009-06-30 Daniel Gackle <danielgackle@gmail.com>
2527 * src/lib/ps-loop.lisp: Extended PS-LOOP to allow explicit
2528 accumulation variables (declared by INTO as in "sum x into y").
2530 2009-07-06 Vladimir Sedach <vas@oneofus.la>
2532 * src/compilation-interface.lisp: Rewrote 'ps' macro to expand into
2533 'with-output-to-string' instead of 'concatenate,' which gives better
2534 runtime performance.
2536 2009-06-18 Vladimir Sedach <vas@oneofus.la>
2538 * src/lib/ps-macro-lib.lisp: Added the 'chain' convenience macro for
2539 method call chaining (ex: (chain ($ "foo") (bar x z) (baz 5)) =>
2540 $('foo').bar(x, z).baz(5);)
2542 2009-06-07 Vladimir Sedach <vas@oneofus.la>
2544 * src/lib/ps-macro-lib.lisp: Changed destructuring-bind to use let*
2545 instead of let in its macroexpansion. Bug report due to Scott Bell.
2547 http://common-lisp.net/pipermail/parenscript-devel/2009-June/000532.html
2549 2009-06-07 Vladimir Sedach <vas@oneofus.la>
2551 * src/special-forms.lisp, t/ps-tests.lisp: Fixed several special
2552 forms that were not macroexpanding their arguments. Bug reports thanks to Scott Bell.
2554 http://common-lisp.net/pipermail/parenscript-devel/2009-June/000530.html
2556 2009-06-07 Vladimir Sedach <vas@oneofus.la>
2558 * src/special-forms.lisp, t/ps-tests.lisp: Introduced 'function'
2559 special form to further help with faking Lisp2 in JavaScript. Previously, 'apply,' among others, did not recognize the second
2560 namespace as introduced by flet/labels. Thanks to Scott Bell for the
2563 http://common-lisp.net/pipermail/parenscript-devel/2009-June/000529.html
2565 2009-06-07 Vladimir Sedach <vas@oneofus.la>
2567 * src/utils.lisp: Fixed 'flatten' to correctly handle lists with
2568 non-nil cdr (ie '(1 . 2)). Thanks to Scott Bell for the bug report.
2570 http://common-lisp.net/pipermail/parenscript-devel/2009-June/000528.html
2572 2009-05-24 Vladimir Sedach <vas@oneofus.la>
2574 * src/lib/ps-html.lisp: Changed process-html-forms-lhtml loop in
2575 lib/ps-html.lisp from 'loop' to 'do' due to bug in CLISP's 'loop'
2576 implementation (this also made the code shorter). Thanks to Olaf Ruppert <oruppert@googlemail.com> for the bug report.
2578 2009-05-15 Vladimir Sedach <vas@oneofus.la>
2580 * src/special-forms.lisp, t/ps-tests.lisp: Fixed some special forms
2581 that weren't macro-expanding their arguments.
2583 2009-05-14 Vladimir Sedach <vas@oneofus.la>
2585 * docs/reference.lisp, src/special-forms.lisp, src/utils.lisp,
2586 t/package-system-tests.lisp, t/ps-tests.lisp,
2587 t/reference-tests.lisp: let/let* no longer gensym variable names
2588 when they are not bound in enclosing lexical scopes, resulting in
2589 prettier output ("var x = 1", instead of "var x1 = 1") in typical
2592 2009-05-10 Vladimir Sedach <vas@oneofus.la>
2594 * src/compilation-interface.lisp: Made compiled-form-to-string use
2595 write-string instead of printc, which results in a much more
2598 2009-05-08 Daniel Gackle <danielgackle@gmail.com>
2600 * src/special-forms.lisp: Added support for supplied-p parameters to
2601 optional and keyword arguments.
2603 2009-05-08 Daniel Gackle <danielgackle@gmail.com>
2605 * src/lib/ps-macro-lib.lisp: Extended DESTRUCTURING-BIND to allow
2606 NIL bindings to indicate a place should be ignored, the way that CL
2609 2009-05-09 Vladimir Sedach <vas@oneofus.la>
2611 * docs/reference.lisp, parenscript.asd,
2612 src/compilation-interface.lisp, src/compiler.lisp,
2613 src/deprecated-interface.lisp, src/package.lisp,
2614 src/special-forms.lisp, src/utils.lisp,
2615 t/package-system-tests.lisp, t/ps-tests.lisp,
2616 t/reference-tests.lisp: Substantially modified the way Parenscript
2617 compilation and macro-expansion take place. This gives control of
2618 macroexpansion to special forms, and lets Parenscript do things like
2619 fake being a Lisp2 (different function and variable namespaces), and
2620 overall makes Parenscript compilation look a lot more like CL
2623 2009-05-08 Vladimir Sedach <vas@oneofus.la>
2625 * src/special-forms.lisp, t/ps-tests.lisp: Fixed bug where macrolet
2626 and symbol-macrolet special forms were always compiling their
2627 implicit progn bodies to statements.
2629 2009-05-03 Vladimir Sedach <vas@oneofus.la>
2631 * src/special-forms.lisp, t/ps-tests.lisp: Reimplemented flet and
2632 labels to use the same renaming tricks as the let/let* patch to
2633 correctly implement lexical scoping.
2635 2009-05-03 Vladimir Sedach <vas@oneofus.la>
2637 * docs/reference.lisp, parenscript.asd, src/compiler.lisp,
2638 src/lib/ps-macro-lib.lisp, src/namespace.lisp, src/package.lisp,
2639 src/printer.lisp, src/special-forms.lisp, src/utils.lisp,
2640 t/package-system-tests.lisp, t/ps-tests.lisp,
2641 t/reference-tests.lisp: Implemented LET and LET* by variable
2642 renaming, which provides the correct scoping semantics, and
2643 simplifies both the producing and the produced code. Removed the "." and "[]" name-mangling conventions from
2644 symbol-to-js-string. Any code that uses symbols such as
2645 "foo.bar[baz]" will now issue a warning, and needs to be rewritten
2646 to use standard Lisp accessors. This is needed for variable renaming
2647 to work, and is an extension of the patch that eliminated the
2648 ".method" method-calling convention. Thanks to Daniel Gackle and Dough Hoyte for opening my eyes to this
2649 technique, which was right in front of me all along.
2651 2009-05-03 Vladimir Sedach <vas@oneofus.la>
2653 * src/utils.lisp: Removed unused function val-to-string from
2656 2009-04-29 Vladimir Sedach <vas@oneofus.la>
2658 * src/compilation-interface.lisp, src/compiler.lisp,
2659 src/package.lisp, src/special-forms.lisp: Added file compilation and
2660 eval-when facilities (patch from Red Daly).
2662 2009-04-28 Vladimir Sedach <vas@oneofus.la>
2664 * src/printer.lisp, t/ps-tests.lisp: Fixed bug with incorrectly
2665 parenthesized if expressions. Thanks to Daniel Gackle for the bug report.
2667 2009-04-28 Vladimir Sedach <vas@oneofus.la>
2669 * src/namespace.lisp, src/printer.lisp, src/special-forms.lisp,
2670 src/utils.lisp, t/package-system-tests.lisp: Fixed non-uniform
2671 handling of quoted symbols that manifested itself in broken package
2672 obfuscation. Thanks to Red Daly for the bug report.
2674 2009-04-27 Vladimir Sedach <vas@oneofus.la>
2676 * src/compilation-interface.lisp, src/special-forms.lisp,
2677 t/ps-tests.lisp: Fixed bug in keyword argument handling (patch
2678 thanks to Red Daly).
2680 2009-04-22 Kelly McDonald <kelly@jehu.(none)>
2682 * docs/reference.lisp: method trick was yanked in
2683 79630c82ac03066ceb1dac50015eb6b7a2151bbe but the documentation makes
2684 it look as if you can still do this. A further note with something about a backwards incompatible change
2685 might also be useful
2687 2009-04-19 Vladimir Sedach <vas@oneofus.la>
2689 * src/lib/ps-macro-lib.lisp: Fixed typo in ps-macro-lib.lisp
2691 2009-04-13 Vladimir Sedach <vas@oneofus.la>
2693 * src/utils.lisp: Added the colon character (:) to the list of
2694 special characters that have special translations in
2695 symbol-to-js-string.
2697 2009-04-13 Vladimir Sedach <vas@oneofus.la>
2699 * parenscript.asd, src/compilation-interface.lisp,
2700 src/package.lisp, src/special-forms.lisp, t/ps-tests.lisp,
2701 t/test.lisp: Introduced the *js-target-version* special variable,
2702 which is designed to control which version of JavaScript Parenscript
2703 is emitting code for. This can be used to emit shorter code for
2704 certain constructs (this patch uses this facility to generate
2705 shorter keyword-handling code for JS version 1.6 and later).
2707 2009-04-13 Vladimir Sedach <vas@oneofus.la>
2709 * src/compiler.lisp, src/namespace.lisp, src/special-forms.lisp: Got
2710 rid of 'ensure-ps-symbol' internal function (at this point all it
2711 was doing was polluting the PS package).
2713 2009-04-12 Daniel Gackle <danielgackle@gmail.com>
2715 * src/lib/ps-loop.lisp: Added destructuring lists to PS-LOOP.
2717 2009-04-12 Vladimir Sedach <vas@oneofus.la>
2719 * src/compiler.lisp, src/utils.lisp: Removed some unnecessary code
2720 that ignored an anaphor in define-ps-special-form (declare
2721 (ignorable sufficed.
2723 2009-04-12 Vladimir Sedach <vas@oneofus.la>
2725 * src/package.lisp, src/printer.lisp, src/special-forms.lisp,
2726 t/ps-tests.lisp: Changed representation of expression blocks and
2727 'if' to look more like JS in intermediate code.
2729 2009-04-12 Vladimir Sedach <vas@oneofus.la>
2731 * : commit ba417109ddd2303e50b21d4ad8371ebe923abf46 Author: Vladimir
2732 Sedach <vas@oneofus.la> Date: Sun Apr 12 17:16:12 2009 -0600
2734 2009-04-11 Daniel Gackle <danielgackle@gmail.com>
2736 * parenscript.asd, src/lib/ps-dom.lisp, src/package.lisp: Added a
2737 file PS-DOM with handy utility macros for DOM functionality, e.g.
2738 Lispy ways of accessing offsetWidth, offsetHeight, etc.
2740 2009-04-11 Daniel Gackle <danielgackle@gmail.com>
2742 * src/lib/ps-macro-lib.lisp, src/package.lisp: Added several new
2743 utility macros, including a primitive DESTRUCTURING-BIND.
2745 2009-04-11 Daniel Gackle <danielgackle@gmail.com>
2747 * src/lib/ps-loop.lisp: Modified the way the PS-LOOP does SUM (it
2748 now gensyms an accumulation var rather than accepting INTO) and
2749 added COLLECT to work the same way.
2751 2009-04-11 Daniel Gackle <danielgackle@gmail.com>
2753 * src/lib/ps-macro-lib.lisp, src/package.lisp: Added a macro
2754 WITH-LAMBDA that's useful for wrapping one or more statements up
2757 2009-04-11 Vladimir Sedach <vas@oneofus.la>
2759 * t/ps-tests.lisp: Updated tests to reflect changes in latest
2760 patches from Daniel Gackle.
2762 2009-04-11 Vladimir Sedach <vas@oneofus.la>
2764 * src/printer.lisp, src/special-forms.lisp, t/ps-tests.lisp: Fixed
2765 'lisp' form to produce code that captures enclosing lexical scope
2766 correctly in 'ps' macro (broke it in my previous patch 0ce67a33),
2767 added unit tests to check for expansion in correct environment.
2769 2009-04-11 Vladimir Sedach <vas@oneofus.la>
2771 * src/lib/ps-loop.lisp, src/package.lisp, src/utils.lisp: Exported
2772 'loop' from Parenscript package, moved utility functions to
2775 2009-04-11 Vladimir Sedach <vas@oneofus.la>
2777 * t/ps-tests.lisp: Updated tests to reflect changes in latest
2778 patches from Daniel Gackle.
2780 2009-04-11 Vladimir Sedach <vas@oneofus.la>
2782 * src/printer.lisp, src/special-forms.lisp, t/ps-tests.lisp: Fixed
2783 'lisp' form to produce code that captures enclosing lexical scope
2784 correctly in 'ps' macro (broke it in my previous patch 0ce67a33),
2785 added unit tests to check for expansion in correct environment.
2787 2009-04-11 Vladimir Sedach <vas@oneofus.la>
2789 * src/lib/ps-loop.lisp, src/package.lisp, src/utils.lisp: Exported
2790 'loop' from Parenscript package, moved utility functions to
2793 2009-04-11 Daniel Gackle <danielgackle@gmail.com>
2795 * src/special-forms.lisp: Restored the old psmacro for LISP
2796 evaluation, because the new special form wasn't working.
2798 2009-04-11 Daniel Gackle <danielgackle@gmail.com>
2800 * src/special-forms.lisp: When turning a quoted list into a JS
2801 array, compile elements that are NIL as "null", not "[]". There is
2802 no way to make JS completely consistent with Lisp here, because NIL
2803 means two different things in JS (null or an empty list) where it
2804 means only one thing in Lisp. We have to pick one thing in this
2805 context, and "[null]" is more common than "[[]]".
2807 2009-04-11 Daniel Gackle <danielgackle@gmail.com>
2809 * src/printer.lisp, src/special-forms.lisp: Quoted symbols should be
2810 emitted as literal strings, not converted first to JS symbols,
2811 otherwise symbols with characters like * and ? will be emitted as
2812 "star" and "what", which makes sense only if you're trying to define
2813 a function or variable name, but not if you're generating arbitrary
2816 2009-04-11 Daniel Gackle <danielgackle@gmail.com>
2818 * src/special-forms.lisp: Generate "[]" rather than "new Array()"
2821 2009-04-11 Daniel Gackle <danielgackle@gmail.com>
2823 * src/lib/ps-loop.lisp: Changed PS-LOOP to emit DO* (i.e. normal JS
2824 for-loop code) rather than DO. It was originally written when DO
2825 meant DO* (in today's terms). Using DO here makes the generated code
2826 slower and breaks a bunch of our existing cases. Also, DO* produces
2827 more idiomatic JS code and should be the default case (there is
2828 unfortunately no single default here that gives all the desired
2829 behavior, but this is a better tradeoff).
2831 2009-04-11 Daniel Gackle <danielgackle@gmail.com>
2833 * src/compilation-interface.lisp: Use WITH-OUTPUT-TO-STRING instead
2834 of CONCATENATE, because the latter fails when there are too many
2835 arguments (this happens in Clozure more often than SBCL).
2837 2009-04-06 Vladimir Sedach <vas@oneofus.la>
2839 * docs/reference.lisp, src/compiler.lisp, src/package.lisp,
2840 src/printer.lisp, src/special-forms.lisp, src/utils.lisp,
2841 t/ps-tests.lisp, t/reference-tests.lisp: Modified the PS compiler to
2842 produce an intermediate representation that looks like raw
2843 JavaScript in s-exp notation. Removed the doeach macro.
2845 2009-04-05 Vladimir Sedach <vas@oneofus.la>
2847 * t/package-system-tests.lisp, t/ps-tests.lisp: Changed tests to
2848 reflect Daniel Gackle's keyword arguments patch.
2850 2009-04-02 Daniel Gackle <danielgackle@gmail.com>
2852 * src/compiler.lisp, src/special-forms.lisp: Initialize keyword
2853 arguments from js ARGUMENTS, allowing keywords to also be passed as
2854 normal function arguments without an error being thrown.
2856 2009-04-01 Daniel Gackle <danielgackle@gmail.com>
2858 * parenscript.asd, src/lib/ps-loop.lisp: Added a partial
2859 implementation of LOOP to PS.
2861 2009-04-05 Vladimir Sedach <vas@oneofus.la>
2863 * src/compiler.lisp, src/utils.lisp: Made the ignore declaration in
2864 define-ps-special-form be generated on the condition that 'expecting
2865 is used in the body. While it's not an error to use variables
2866 previously declared ignored, it does raise annoying compiler
2867 warnings in some Lisps.
2869 2009-04-04 Vladimir Sedach <vas@oneofus.la>
2871 * docs/reference.lisp, src/printer.lisp, t/ps-tests.lisp,
2872 t/reference-tests.lisp: Removed compile-time constant string
2873 concatenation from the Parenscript printer, which was significantly
2874 slowing down compilation.
2876 2009-03-31 Vladimir Sedach <vas@oneofus.la>
2878 * src/compiler.lisp, src/package.lisp, src/printer.lisp,
2879 src/special-forms.lisp: Changed the definition of
2880 define-ps-special-form to make "expecting" an anaphor.
2882 2009-03-30 Vladimir Sedach <vas@oneofus.la>
2884 * src/compiler.lisp, src/printer.lisp, src/special-forms.lisp,
2885 t/ps-tests.lisp: Changed the implementation of quote from being
2886 special cased in several Parenscript internal functions to a
2887 Parenscript macro. This makes the code simpler and allows for
2888 extensibility of how quoted forms are translated. One example is
2889 quoted strings being translated to JavaScript array literals.
2891 2009-03-12 Vladimir Sedach <vas@oneofus.la>
2893 * src/lib/ps-html.lisp, src/package.lisp: Renamed
2894 *html-empty-tag-aware-p* to *ps-html-empty-tag-aware-p* and
2895 *html-mode* to *ps-html-mode* to not clash with CL-WHO symbols, but
2896 still follow the same naming convention.
2898 2009-03-12 Vladimir Sedach <vas@oneofus.la>
2900 * docs/build.sh, docs/tutorial.lisp: Removed tutorial.lisp from
2901 repository (it is now updated and placed online in HTML format:
2902 http://common-lisp.net/project/parenscript/tutorial.html)
2904 2009-03-05 Vladimir Sedach <vas@oneofus.la>
2906 * src/lib/ps-html.lisp, src/package.lisp, t/ps-tests.lisp: Changed
2907 ps-html generators to behave more like CL-WHO when it comes to
2908 XML/SGML, self-closing/empty tags. Changed the name of
2909 *self-closing-tags-p* flag to *html-empty-tag-aware-p*, added
2910 *html-mode* parameter.
2912 2009-03-05 Vladimir Sedach <vas@oneofus.la>
2914 * t/reference-tests.lisp: Regenerated reference-tests.lisp from
2915 reference doc with latest changes.
2917 2009-03-05 Vladimir Sedach <vas@oneofus.la>
2919 * t/package-system-tests.lisp, t/ps-tests.lisp, t/test.lisp: Rewrote
2920 some unit tests to simplify code.
2922 2009-03-05 Vladimir Sedach <vas@oneofus.la>
2924 * src/compilation-interface.lisp, src/package.lisp: Added ps-doc*
2925 function to PS compilation interface.
2927 2009-03-05 Vladimir Sedach <vas@oneofus.la>
2929 * docs/reference.lisp: Added example of closure symbol-map usage for
2930 obfuscate-package in reference doc.
2932 2009-03-05 Vladimir Sedach <vas@oneofus.la>
2934 * docs/reference.lisp: Removed literal backspace character from the
2935 JS escape sequence part of the reference doc since it caused an
2936 error when generating PDFs.
2938 2009-02-28 Vladimir Sedach <vas@oneofus.la>
2940 * docs/reference.lisp, t/reference-tests.lisp: Added note about
2941 printing special characters to escape sequences to the reference.
2943 2009-02-23 Vladimir Sedach <vas@oneofus.la>
2945 * src/js-dom-symbol-exports.lisp: Added all symbols from DOM levels
2946 1 and 2, Window working draft to the DOM symbol export convenience
2947 packages (used with obfuscation). Moved non-standard DOM symbols to
2948 their own package. Removed the Prototype symbol export convenience
2951 2009-02-20 Vladimir Sedach <vas@oneofus.la>
2953 * src/lib/ps-macro-lib.lisp, t/ps-tests.lisp: Fixed the 'pi'
2956 2009-02-09 Vladimir Sedach <vas@oneofus.la>
2958 * src/special-forms.lisp: Introduced the "funcall" macro (which
2959 really doesn't do anything - only CL needs it because of the weird
2960 way it treats form evaluation).
2962 2009-02-09 Vladimir Sedach <vas@oneofus.la>
2964 * extras/js-expander.el: Updated js-expander to work with the latest
2965 CVS version of SLIME.
2967 2009-02-08 Vladimir Sedach <vas@oneofus.la>
2969 * runtime/ps-runtime-lib.lisp: Added 'reduce' function to runtime
2972 2009-02-08 Vladimir Sedach <vas@oneofus.la>
2974 * src/special-forms.lisp, t/ps-tests.lisp: Fixed a bug where
2975 variable initializations inside for loops were being compiled as
2976 statements instead of expressions.
2978 2009-02-06 Vladimir Sedach <vas@oneofus.la>
2980 * src/package.lisp, src/special-forms.lisp, t/ps-tests.lisp:
2981 Implemented 'flet' and 'labels' as PS macros.
2983 2009-02-05 Vladimir Sedach <vas@oneofus.la>
2985 * src/lib/ps-html.lisp, t/ps-tests.lisp: Made who-ps-html handle
2986 multiple html forms correctly (ie - things like (:ul (:li) (:li))).
2988 2009-02-02 Vladimir Sedach <vas@oneofus.la>
2990 * src/special-forms.lisp: Changed let to not introduce any extra
2991 variables (for parallel binding) when only one variable is being
2994 2009-02-02 Vladimir Sedach <vas@oneofus.la>
2996 * docs/reference.lisp, src/compiler.lisp,
2997 src/js-dom-symbol-exports.lisp, src/printer.lisp,
2998 src/special-forms.lisp, t/ps-tests.lisp, t/reference-tests.lisp: Got
2999 rid of the "(.method-name object args)" method-calling convention.
3000 It breaks package prefixing/obfuscation, and while sometimes a handy
3001 shortcut it obscures how method calls are really done, and
3002 introduces a redundant way of doing them which complicates
3003 code-walkers and (future) attempts at Parenscript compiler
3004 open-implementation facilities.
3006 2009-02-02 Vladimir Sedach <vas@oneofus.la>
3008 * src/lib/ps-macro-lib.lisp: Changed the @ (slot-value composition
3009 macro) not to do the dollar sign thing if the first argument is a
3010 string ('$' is a Prototype library function), and not to do spurious
3013 2009-02-02 Vladimir Sedach <vas@oneofus.la>
3015 * docs/reference.lisp, src/compilation-interface.lisp,
3016 t/ps-tests.lisp, t/reference-tests.lisp: Defined ps-inline as a PS
3017 macro in addition to a CL macro.
3019 2009-02-01 Vladimir Sedach <vas@oneofus.la>
3021 * src/printer.lisp, t/ps-tests.lisp: Fixed bug where expressions
3022 could not be applied correctly (ex - ((or a b) c) did not compile to
3025 2009-02-01 Vladimir Sedach <vas@oneofus.la>
3027 * docs/reference.lisp, src/compiler.lisp, src/special-forms.lisp,
3028 t/ps-tests.lisp: Modified the Parenscript macro facilities so that
3029 defpsmacro and define-ps-symbol-macro define their macros in their
3030 lexical environment (previously they were always defining in the
3031 null lexical environment). This cleared up the implementation of the macro facilities, and now
3032 defmacro and define-symbol-macro explicitly define macros in the
3033 null lexical environment inside Parenscript code (the behavior is
3034 unchanged and the only one that makes sense since Parenscript code
3035 is translated and not evaluated, but previously this was not obvious
3036 from looking at the implementation).
3038 2009-01-28 Vladimir Sedach <vas@oneofus.la>
3040 * contributors: Added Daniel Gackle and William Halliburton to the
3041 list of contributors.
3043 2009-01-28 Vladimir Sedach <vas@oneofus.la>
3045 * src/deprecated-interface.lisp, src/package.lisp: Added
3046 symbol-to-js to the deprecated interface since it was used in
3047 several 3rd party libraries (despite not being exported).
3049 2009-01-21 Vladimir Sedach <vas@oneofus.la>
3051 * src/js-dom-symbol-exports.lisp, src/lib/ps-html.lisp,
3052 src/package.lisp: Made the ps-html macros generate self-closing
3055 2009-01-19 Vladimir Sedach <vas@oneofus.la>
3057 * src/namespace.lisp: Made the package symbol obfuscator be able to
3058 take closures, for more interesting obfuscation possibilities (ex:
3059 using various Unicode characters).
3061 2009-01-19 Vladimir Sedach <vas@oneofus.la>
3063 * parenscript.asd, src/js-dom-symbol-exports.lisp: Added convenience
3064 packages that export JS and browser DOM symbols, to be used to make
3065 package obfuscation work.
3067 2008-12-30 Vladimir Sedach <vas@oneofus.la>
3069 * docs/reference.lisp: Changed the capitalization of "ParenScript"
3070 to "Parenscript" in the reference.
3072 2008-12-30 Vladimir Sedach <vas@oneofus.la>
3074 * docs/reference.lisp, src/compilation-interface.lisp,
3075 src/deprecated-interface.lisp, src/package.lisp, src/printer.lisp,
3076 src/special-forms.lisp, t/package-system-tests.lisp,
3077 t/ps-tests.lisp, t/test.lisp: Modified the printer so that PS and
3078 PS-INLINE compile and print Parenscript code at macro-expansion
3079 time. Renamed COMPILE-SCRIPT to PS1* and got rid of its
3080 output-stream argument.
3082 2008-12-30 Vladimir Sedach <vas@oneofus.la>
3084 * src/lib/ps-macro-lib.lisp, src/package.lisp: Added an
3085 implementation of 'elt' to ps-macro-lib.
3087 2008-12-30 Vladimir Sedach <vas@oneofus.la>
3089 * extras/{firebug-tracing.cl => firebug-tracing.lisp},
3090 parenscript.asd, {src/lib => runtime}/ps-runtime-lib.lisp: Added a
3091 "runtime" directory for runtime libs and moved ps-runtime-lib there.
3093 2008-12-12 Vladimir Sedach <vas@oneofus.la>
3095 * src/lib/ps-html.lisp: Fixed content handling in ps-who-html.
3097 2008-12-07 Vladimir Sedach <vas@oneofus.la>
3099 * src/lib/ps-macro-lib.lisp, src/package.lisp, t/ps-tests.lisp:
3100 Added Daniel Gackle <danielgackle@gmail.com>'s contributed []
3101 (nested) array literal macro to the macro library.
3103 2008-12-07 Vladimir Sedach <vas@oneofus.la>
3105 * extras/js-expander.el: Changed extras/js-expander.el to work with
3106 the latest CVS snapshot of SLIME.
3108 2008-12-07 Vladimir Sedach <vas@oneofus.la>
3110 * extras/firebug-tracing.cl: Added William Halliburton
3111 <whalliburton@gmail.com>'s tracing macro to extras folder.
3113 2008-12-07 Vladimir Sedach <vas@oneofus.la>
3115 * src/printer.lisp, t/package-system-tests.lisp: Made operator
3116 precedence handling not throw away symbol package information. This fixed a bug where for example (ps (#:new)) => ";" instead of
3119 2008-12-06 Vladimir Sedach <vas@oneofus.la>
3121 * t/ps-tests.lisp: Added a few more unit tests related to fixes in
3124 2008-12-05 Vladimir Sedach <vas@oneofus.la>
3126 * src/compiler.lisp, src/printer.lisp, src/special-forms.lisp,
3127 t/ps-tests.lisp: Fixed compilation of caller argument lists. Changed
3128 the handling of keyword symbols in the process. Now they are no
3129 longer output as JavaScript variables, but as strings. The former
3130 behavior was a hack introduced to get around some (in hindsight)
3131 deficient macrology in an application that used Parenscript, while
3132 the latter behavior is more CL-like in that it compiles a
3133 self-evaluating object to a self-evaluating object. Thanks to Daniel
3134 Gackle for the suggestion on the treatment of keywords.
3136 2008-12-05 Vladimir Sedach <vas@oneofus.la>
3138 * src/compiler.lisp, src/package.lisp, t/test-package.lisp: Got rid
3139 of parenscript-symbol object; special forms and macros are now
3140 regular Common Lisp symbols so that the package system works as
3143 2008-12-03 Vladimir Sedach <vas@oneofus.la>
3145 * src/lib/ps-macro-lib.lisp, src/package.lisp: Exported
3146 concat-string CL/PS utility function/macro.
3148 2008-12-03 Vladimir Sedach <vas@oneofus.la>
3150 * src/lib/ps-html.lisp: Fixed unterminating recursion in who-ps-html
3151 when element has attributes but no content.
3153 2008-12-03 Vladimir Sedach <vas@oneofus.la>
3155 * src/compiler.lisp, src/namespace.lisp, src/package.lisp,
3156 src/utils.lisp: Renamed symbol-to-js to symbol-to-js-string and
3159 2008-12-03 Vladimir Sedach <vas@oneofus.la>
3161 * docs/reference.lisp: Corrected reference doc to explain 'var'
3162 special form as 'global variable' instead of 'function variable.'
3164 2008-11-25 Vladimir Sedach <vas@oneofus.la>
3166 * docs/reference.lisp, src/lib/ps-html.lisp,
3167 src/lib/ps-macro-lib.lisp, src/package.lisp, src/utils.lisp,
3168 t/ps-tests.lisp, t/reference-tests.lisp: Implemented who-ps-html,
3169 which is like the ps-html macro but taking CL-WHO like syntax.
3170 Changed the behavior of ps-html to preserve the case of tag and
3171 attribute symbols when printing.
3173 2008-11-17 Vladimir Sedach <vas@oneofus.la>
3175 * t/ps-tests.lisp: Added a bunch of unit tests from recent bug
3178 2008-11-15 Travis Cross <tc@traviscross.com>
3180 * src/printer.lisp, src/special-forms.lisp: Overhauled operator
3181 precedence handling. In particular the changes here cleaned up unary operator handling,
3182 which was badly broken.
3184 2008-11-15 Travis Cross <tc@traviscross.com>
3186 * src/special-forms.lisp, t/ps-tests.lisp: Corrected the defaultf
3187 psmacro for cases where the rhs value is false in JS. This affected &optional and &key default parameters in lambda lists. Thanks to Daniel Gackle for the bug report.
3189 2008-08-29 Travis Cross <tc@traviscross.com>
3191 * src/printer.lisp: Revise slot-value fix to not print useless
3192 parens. Now prints: "foo.bar.baz" rather than "(foo.bar).baz"
3194 2008-08-22 Travis Cross <tc@traviscross.com>
3196 * src/printer.lisp: js-slot-value printer now handles generic
3197 operators passed as the object. (slot-value (or a b c) 'd) now works correctly.
3199 2008-08-22 Travis Cross <tc@traviscross.com>
3201 * src/printer.lisp: Updated js-aref for expression-precedence fixes.
3203 2008-08-22 Travis Cross <tc@traviscross.com>
3205 * src/printer.lisp: Updated operator-precedence to handle more
3206 cases. It now correctly deals with aref, slot-value and unary operators.
3208 2008-08-22 Travis Cross <tc@traviscross.com>
3210 * src/printer.lisp: Reordered expression-precedence clauses to match
3213 2008-08-22 Travis Cross <tc@traviscross.com>
3215 * src/printer.lisp: Fixed AREF when an expression is passed as the
3216 array. (aref (or a b c) 0) now works. Thanks to Daniel Gackle for the bug report.
3218 2008-08-22 Travis Cross <tc@traviscross.com>
3220 * src/special-forms.lisp: Compile anything that follows a unary JS
3221 operator as an expression. Thanks to: Daniel Gackle <danielgackle@gmail.com>
3223 2008-08-22 Travis Cross <tc@traviscross.com>
3225 * src/special-forms.lisp: Improved handling of quoted symbols in
3226 CASE. (case val ('a (b))) ; now produces an error, just like: (case
3227 val (('a 'b) (c))) ; did before. Thanks to: Daniel Gackle <danielgackle@gmail.com>
3229 2008-08-17 Travis Cross <tc@traviscross.com>
3231 * src/lib/ps-macro-lib.lisp: Corrected the definition of ps:length. Thanks to Daniel Gackle for pointing out the problem and the most
3234 2008-05-12 Travis Cross <tc@traviscross.com>
3236 * t/ps-tests.lisp: Added a test for correct output of the JS:in
3239 2008-05-12 Travis Cross <tc@traviscross.com>
3241 * src/printer.lisp: Output JS operators in lowercase.
3243 2008-04-05 Travis Cross <tc@traviscross.com>
3245 * src/compiler.lisp: Updated so as to ps-intern fewer extraneous
3248 2008-04-05 Travis Cross <tc@traviscross.com>
3250 * src/deprecated-interface.lisp, src/package.lisp: Deprecated
3251 define-script-symbol-macro since it was part of the public
3254 2008-04-05 Travis Cross <tc@traviscross.com>
3256 * src/package.lisp: Updated the define-script-symbol-macro export to
3257 define-ps-symbol-macro.
3259 2008-04-05 Travis Cross <tc@traviscross.com>
3261 * src/package.lisp: Reorganized the package exports.
3263 2008-04-05 Travis Cross <tc@traviscross.com>
3265 * src/package.lisp: Corrected parameter docstring.
3267 2008-04-05 Travis Cross <tc@traviscross.com>
3269 * src/compiler.lisp, src/printer.lisp: Moved the definition of
3270 ps-convert-op-name since we compile compile.lisp before
3273 2008-04-05 Travis Cross <tc@traviscross.com>
3275 * src/namespace.lisp, src/printer.lisp, src/special-forms.lisp:
3276 Added some symbol mangling fixes.
3278 2008-04-05 Travis Cross <tc@traviscross.com>
3280 * src/lib/ps-macro-lib.lisp: Fixed one remaining
3281 define-script-symbol-macro.
3283 2008-04-05 Travis Cross <tc@traviscross.com>
3285 * src/compiler.lisp, src/namespace.lisp, src/package.lisp:
3286 Introduced ps-symbols and removed use of :parenscript-special-forms
3287 package. The idea here is to stop abusing the CL package system while still
3288 allowing the user control of the PS environment.
3290 2008-04-05 Travis Cross <tc@traviscross.com>
3292 * src/compiler.lisp: Whitespace fix.
3294 2008-04-05 Travis Cross <tc@traviscross.com>
3296 * src/compilation-interface.lisp, src/compiler.lisp,
3297 src/printer.lisp, src/special-forms.lisp: Changed script-* to ps-*
3298 across the board for consistency.
3300 2008-04-05 Travis Cross <tc@traviscross.com>
3302 * src/compiler.lisp: Quoted parens in a docstring to make Emacs
3305 2008-04-01 Travis Cross <tc@traviscross.com>
3307 * src/compiler.lisp, src/special-forms.lisp: Intern all special form
3308 symbols in the :parenscript-special-forms package.
3310 2008-04-01 Travis Cross <tc@traviscross.com>
3312 * src/package.lisp: Exported PI.
3314 2008-04-01 Travis Cross <tc@traviscross.com>
3316 * src/package.lisp: Exported hyperbolic trig symbols.
3318 2008-04-01 Travis Cross <tc@traviscross.com>
3320 * src/package.lisp: Rearranged math-related exports.
3322 2008-04-01 Travis Cross <tc@traviscross.com>
3324 * src/lib/ps-macro-lib.lisp: Added handling for PI.
3326 2008-04-01 Travis Cross <tc@traviscross.com>
3328 * src/lib/ps-macro-lib.lisp, src/special-forms.lisp: Relocated the
3329 definitions for the 1+ and 1- psmacros with the other math
3332 2008-04-01 Travis Cross <tc@traviscross.com>
3334 * src/lib/ps-macro-lib.lisp: Implemented equivalents for the CL
3335 hyperbolic trigometric functions.
3337 2008-04-01 Travis Cross <tc@traviscross.com>
3339 * src/compiler.lisp, src/package.lisp: Added PS-ONCE-ONLY macro
3342 2008-03-31 Travis Cross <tc@traviscross.com>
3344 * src/lib/ps-macro-lib.lisp: Rearranged math psmacros to match the
3345 order that the corresponding functions appear in the HyperSpec.
3347 2008-03-31 Travis Cross <tc@traviscross.com>
3349 * src/lib/ps-macro-lib.lisp, src/package.lisp: Added support for
3352 2008-03-31 Travis Cross <tc@traviscross.com>
3354 * src/lib/ps-macro-lib.lisp, src/package.lisp: Added support for LOG
3355 function. Thanks to: Daniel Gackle <danielgackle@gmail.com>
3357 2008-03-31 Travis Cross <tc@traviscross.com>
3359 * src/lib/ps-macro-lib.lisp: Updated atan to support two arguments
3360 as in CL. ATAN with two arguments translates into atan2 in JS.
3362 2008-03-31 Travis Cross <tc@traviscross.com>
3364 * t/ps-tests.lisp: Added a couple of test cases for object literals.
3366 2008-03-31 Travis Cross <tc@traviscross.com>
3368 * t/ps-tests.lisp: Updated the blank-object-literal test for the now
3371 2008-03-31 Travis Cross <tc@traviscross.com>
3373 * src/special-forms.lisp: Added {} to *ps-literals*. Using {} as a literal to create an empty object literal was only
3374 working by accident previously. When not in the function position,
3375 {} was being compiled as a JS variable rather than an
3376 object-literal, which just happened to work sometimes. In concert
3377 with correctly checking symbols that aren't in the parenscript
3378 package, this should provide for more reliable behavior.
3380 2008-03-31 Travis Cross <tc@traviscross.com>
3382 * src/compiler.lisp: Updated ps-literal-p to correctly identify
3383 literal symbols without regard to the symbol's package.
3385 2008-03-31 Travis Cross <tc@traviscross.com>
3387 * t/test.lisp: Silence an unused variable warning.
3389 2008-03-31 Travis Cross <tc@traviscross.com>
3391 * src/compiler.lisp: Updated ps-special-form-p to correctly identify
3392 a special form even if the symbol identifying the special form is in
3395 2008-03-30 Travis Cross <tc@traviscross.com>
3397 * docs/reference.lisp, t/reference-tests.lisp: Cleaned up and
3398 standardized indentation of JS code in the reference documentation.
3400 2008-03-30 Travis Cross <tc@traviscross.com>
3402 * contributors: Added myself to the list of contributors.
3404 2008-03-30 Travis Cross <tc@traviscross.com>
3406 * extras/js-expander.el, src/compilation-interface.lisp,
3407 src/package.lisp: Added a mechanism for expanding parenscript forms
3408 in a clean environment.
3410 2008-03-30 Travis Cross <tc@traviscross.com>
3412 * src/package.lisp: Removed deprecated exports that are no longer
3415 2008-03-30 Travis Cross <tc@traviscross.com>
3417 * src/package.lisp: Cleaned up and rearranged the package exports a
3420 2008-03-30 Travis Cross <tc@traviscross.com>
3422 * docs/introduction.lisp, docs/reference.lisp, t/ps-tests.lisp,
3423 t/reference-tests.lisp: Updated the documentation and test cases.
3425 2008-03-30 Travis Cross <tc@traviscross.com>
3427 * docs/introduction.lisp, src/compiler.lisp,
3428 src/deprecated-interface.lisp, src/lib/ps-html.lisp,
3429 src/package.lisp, src/parse-lambda-list.lisp, src/printer.lisp,
3430 src/special-forms.lisp, src/utils.lisp: Some minor comment and
3433 2008-03-30 Travis Cross <tc@traviscross.com>
3435 * docs/pbook.py, src/compiler.lisp, src/parse-lambda-list.lisp,
3436 src/special-forms.lisp, src/utils.lisp, t/ps-tests.lisp,
3437 t/test.lisp: Whitespaceification: removed indentation tabs
3438 throughout project. ...and replaced each tab with 8 spaces. Tab indentation had
3439 previously been used inconsistently and was dominated by space-based
3440 indentation. In the future, disable indent-tabs-mode in emacs! (setq indent-tabs-mode nil)
3442 2008-03-30 Travis Cross <tc@traviscross.com>
3444 * src/package.lisp, src/printer.lisp, src/special-forms.lisp:
3445 Improved, extended, and refactored iteration special forms. * Added support for DO*. * DO now does parallel assignment. * DO/DO* now correctly support init-forms such as: (do (a (b) (c 1) (d 1 (1+ d))) ...) * DO/DO*/DOTIMES/DOLIST/DOEACH now support return values via a
3446 lambda transform. * DOEACH now supports implicit key/value destructuring, e.g.: (doeach ((key val) arr res) ...) * Added labeled-for to facilitate creating labeled for loops. * Restructured low level printer operators to better match the underlying JS.
3448 2008-03-30 Travis Cross <tc@traviscross.com>
3450 * src/special-forms.lisp: Updated let1-dynamic to clean up its
3451 temporary stack variable after use.
3453 2008-03-30 Travis Cross <tc@traviscross.com>
3455 * src/package.lisp, src/special-forms.lisp: Added setq and psetq.
3457 2008-03-30 Travis Cross <tc@traviscross.com>
3459 * src/package.lisp, src/special-forms.lisp: Added psetf.
3461 2008-03-30 Travis Cross <tc@traviscross.com>
3463 * src/special-forms.lisp: Aliased let to simple-let.
3465 2008-03-30 Travis Cross <tc@traviscross.com>
3467 * src/package.lisp, src/special-forms.lisp: Added simple-let, which
3468 does parallel binding without a lambda.
3470 2008-03-30 Travis Cross <tc@traviscross.com>
3472 * src/package.lisp, src/special-forms.lisp: Added simple-let* and
3475 2008-03-30 Travis Cross <tc@traviscross.com>
3477 * src/package.lisp, src/special-forms.lisp: Added lexical-let.
3479 2008-03-30 Travis Cross <tc@traviscross.com>
3481 * src/special-forms.lisp: Greatly simplified implementation of
3484 2008-03-30 Travis Cross <tc@traviscross.com>
3486 * src/printer.lisp, src/special-forms.lisp: Added support for
3487 breaking and continuing to arbitrary labels.
3489 2008-02-26 Travis Cross <tc@traviscross.com>
3491 * src/package.lisp: Whitespace standardization in src/package.lisp.
3493 2008-02-26 Travis Cross <tc@traviscross.com>
3495 * src/package.lisp: Corrected spelling error.
3497 2008-02-01 Vladimir Sedach <vas@oneofus.la>
3499 * src/utils.lisp, t/ps-tests.lisp: Added #\= to *special-chars*. Now you can write boolean= function names. As requested by Daniel Gackle.
3501 2008-02-01 Vladimir Sedach <vas@oneofus.la>
3503 * docs/reference.lisp, src/special-forms.lisp, t/ps-tests.lisp,
3504 t/reference-tests.lisp: Fixed bug where (setf x (- x 1 2)) yielded x
3507 2007-12-26 Vladimir Sedach <vas@oneofus.la>
3509 * src/lib/ps-html.lisp: Made the ps-html facility work both in
3510 Parenscript and in Common Lisp.
3512 2007-12-26 Vladimir Sedach <vas@oneofus.la>
3514 * src/lib/ps-macro-lib.lisp, src/package.lisp: Added 'concatenate'
3515 to Parenscript macro utilities.
3517 2007-12-26 Vladimir Sedach <vas@oneofus.la>
3519 * docs/reference.lisp, parenscript.asd, src/lib/css.lisp,
3520 src/lib/{js-html.lisp => ps-html.lisp}, src/lib/{js-utils.lisp =>
3521 ps-macro-lib.lisp}, src/lib/{js-lib.lisp => ps-runtime-lib.lisp},
3522 src/package.lisp, src/utils.lisp, t/ps-tests.lisp,
3523 t/reference-tests.lisp: Renamed src/lib Parenscript library files,
3524 got rid of Parenscript CSS system.
3526 2007-12-26 Vladimir Sedach <vas@oneofus.la>
3528 * src/lib/functional.lisp, src/lib/js-lib.lisp, src/package.lisp:
3529 Moved functional runtime PS utilities from src/libs/functional.lisp
3530 into *ps-lisp-library* in src/lib/js-lib.lisp.
3532 2007-12-25 Vladimir Sedach <vas@oneofus.la>
3534 * src/compiler.lisp, src/special-forms.lisp, t/ps-tests.lisp: Fixed
3535 literals error. Introduced by patch: Mon Dec 24 17:02:17 MST 2007 Vladimir Sedach
3538 2007-12-25 Vladimir Sedach <vas@oneofus.la>
3540 * docs/reference.lisp, src/compiler.lisp, src/package.lisp,
3541 src/printer.lisp, src/special-forms.lisp,
3542 t/package-system-tests.lisp, t/ps-tests.lisp,
3543 t/reference-tests.lisp: Introduced special global variables to
3544 Parenscript; renamed let and lexical-let to let* and lexical-let*,
3545 and made let itself expand to let* until parallel assignment let is
3548 2007-12-25 Vladimir Sedach <vas@oneofus.la>
3550 * src/compiler.lisp, src/namespace.lisp, src/package.lisp,
3551 src/special-forms.lisp, t/package-system-tests.lisp,
3552 t/ps-tests.lisp: Made special forms be compiled into named functions
3553 in a new package, parenscript-special-forms, and introduced literal
3554 special forms. The literal special forms should improve error messages and
3557 2007-12-24 Vladimir Sedach <vas@oneofus.la>
3559 * src/compiler.lisp, t/ps-tests.lisp, t/reference-tests.lisp: Made
3560 with-ps-gensyms prefix the given gensym with the symbol-to-js name
3561 of the given gensym variable binding if an explicit prefix was not
3562 provided. (the rationale for this is to save a little typing)
3564 2007-12-24 Vladimir Sedach <vas@oneofus.la>
3566 * src/printer.lisp, src/special-forms.lisp: Got rid of js-keyword
3569 2007-11-15 Vladimir Sedach <vas@oneofus.la>
3571 * parenscript.asd, src/compilation-interface.lisp,
3572 src/compiler.lisp, src/js-macrology.lisp, src/package.lisp,
3573 src/ps-macrology.lisp, src/special-forms.lisp: Moved code from
3574 js/ps-macrology.lisp to special-forms.lisp; straightened out
3575 parenscript.asd to use serial file dependencies; unexported
3576 defaultf; rewrote rebind as lexical-let and exported it.
3578 2007-11-11 Vladimir Sedach <vas@oneofus.la>
3580 * src/compiler.lisp, src/js-macrology.lisp, src/printer.lisp,
3581 src/ps-macrology.lisp, t/ps-tests.lisp: Fixed problems with
3582 expressions being compiled to statements inside expression progns;
3583 introduced mechanism for declaring variables in expression scopes;
3584 refactored function compilation.
3586 2007-11-04 Vladimir Sedach <vas@oneofus.la>
3588 * docs/internal/architecture.txt, docs/internal/asdf.lisp: Removed
3589 outdated internal documentation.
3591 2007-11-04 Vladimir Sedach <vas@oneofus.la>
3593 * src/lib/js-lib.lisp: Fixed definition of *ps-lisp-library*.
3595 2007-11-04 Vladimir Sedach <vas@oneofus.la>
3597 * parenscript.asd, src/lib/js-lib.lisp, src/lib/js-utils.lisp,
3598 src/package.lisp: Added length, @, mapcar utility functions,
3599 exported all library function symbols.
3601 2007-11-01 Vladimir Sedach <vas@oneofus.la>
3603 * t/ps-tests.lisp: Added define-symbol-macro unit test.
3605 2007-11-01 Vladimir Sedach <vas@oneofus.la>
3607 * src/compiler.lisp, src/ps-macrology.lisp: Fixed
3608 define-symbol-macro.
3610 2007-10-31 Vladimir Sedach <vas@oneofus.la>
3612 * src/parse-lambda-list.lisp, t/ref2test.lisp: Prettied up
3613 whitespace and comments in parse-lambda-list, ref2test.
3615 2007-10-31 Vladimir Sedach <vas@oneofus.la>
3617 * src/utils.lisp: Got rid of unused functions in util.lisp, slight
3620 2007-10-29 Vladimir Sedach <vas@oneofus.la>
3622 * parenscript.asd, src/compilation-interface.lisp,
3623 src/package.lisp, src/{js-translation.lisp => printer.lisp}: More
3624 refactorings to the printer, exported symbols that control printer
3627 2007-10-26 Vladimir Sedach <vas@oneofus.la>
3629 * src/js-translation.lisp: Refactored Parenscript printer code.
3631 2007-10-16 Vladimir Sedach <vas@oneofus.la>
3633 * docs/reference.lisp, src/compilation-interface.lisp,
3634 t/ps-tests.lisp, t/reference-tests.lisp: Changed ps-inline to take a
3635 form instead of an implicit progn as a parameter; gave ps-inline and
3636 ps-inline* optional arguments. The optional arguments bind *js-quote-char* to make it more
3637 convenient to use the two functions with different html generation
3638 macros (which may use single or double quotes to delimit attribute
3641 2007-10-16 Vladimir Sedach <vas@oneofus.la>
3643 * src/js-translation.lisp, src/lib/js-html.lisp: Further ignore
3644 declarations for unused variables. Thanks to: Kevin Layer <layer@known.net>
3646 2007-10-14 Vladimir Sedach <vas@oneofus.la>
3648 * src/parse-lambda-list.lisp: In parse-lambda-list, made the
3649 need-symbol function work. Otherwise the conditional always evaluated to nil.
3651 2007-10-14 Vladimir Sedach <vas@oneofus.la>
3653 * src/package.lisp: In package definition, instead of exporting
3654 "NIL", exported (symbol-name 'nil). The latter causes a problem in case-sensitive Allegro. Thanks to Kevin Layer for the patch.
3656 2007-10-14 Vladimir Sedach <vas@oneofus.la>
3658 * src/js-macrology.lisp, src/js-translation.lisp,
3659 src/ps-macrology.lisp: Declared unused "expecting" variables in
3660 ps-special-form definitions ignorable. Thanks to: Kevin Layer <layer@known.net>
3662 2007-10-14 Vladimir Sedach <vas@oneofus.la>
3664 * parenscript.asd: Made ps-macrology depend on utils in parenscript
3665 asdf definition. Thanks to: Kevin Layer <layer@known.net>
3667 2007-10-11 Vladimir Sedach <vas@oneofus.la>
3669 * src/compiler.lisp, src/ps-macrology.lisp, t/ps-tests.lisp: Fixed a
3670 bug in how symbol-macros were defined, expanded, and used by
3673 2007-10-10 Vladimir Sedach <vas@oneofus.la>
3675 * src/js-macrology.lisp: Made defun, defvar and doeach expect a
3676 symbol as the "name" argument instead of trying to
3677 compile-parenscript-form :expecting :expression.
3679 2007-10-10 Vladimir Sedach <vas@oneofus.la>
3681 * src/compiler.lisp, t/ps-tests.lisp: Made the handling of keyword
3682 symbols across Parenscript be consistent with the treatment of other
3683 symbols. Previously a keyword symbol was being treated as a quoted symbol by
3686 2007-09-23 Vladimir Sedach <vas@oneofus.la>
3688 * parenscript.asd, src/{parser.lisp => compiler.lisp},
3689 src/ps-macrology.lisp, t/ps-tests.lisp: Added support for &whole
3690 arguments in ps macro lambda lists; renamed parser.lisp to
3693 2007-09-20 Vladimir Sedach <vas@oneofus.la>
3695 * t/ps-tests.lisp: Added macro environment unit test that tests for
3696 bug "inconsistent expansion of local macro".
3698 2007-09-20 Vladimir Sedach <vas@oneofus.la>
3700 * src/parser.lisp, t/ps-tests.lisp: Eliminated unwinding of macro
3701 environment for macro expansions. This fixed bug: "Bug: inconsistent expansion of local macro" submitted by Daniel Gackle on 2007-09-12
3703 2007-08-28 Vladimir Sedach <vas@oneofus.la>
3705 * docs/tutorial.lisp: Updated description of PS-HTML in the
3708 2007-08-24 Vladimir Sedach <vas@oneofus.la>
3710 * docs/reference.lisp, src/namespace.lisp, src/package.lisp,
3711 src/ps-macrology.lisp, t/package-system-tests.lisp,
3712 t/reference-tests.lisp: Revised obfuscation facility, added its
3713 description to the reference, and added more unit tests.
3715 2007-08-24 Vladimir Sedach <vas@oneofus.la>
3717 * docs/reference.lisp, t/reference-tests.lisp: Added description of
3718 namespace system to the reference.
3720 2007-08-24 Vladimir Sedach <vas@oneofus.la>
3722 * docs/reference.lisp, src/js-translation.lisp, t/ps-tests.lisp:
3723 Fixed problem with (- 1). Unary operator "-" didn't like number
3726 2007-08-24 Vladimir Sedach <vas@oneofus.la>
3728 * docs/reference.lisp, t/reference-tests.lisp: Added defsetf and
3729 (defun (setf examples to the reference.
3731 2007-08-24 Vladimir Sedach <vas@oneofus.la>
3733 * src/js-translation.lisp: Added ps-print method specialized on null
3734 to ignore printing of nils.
3736 2007-08-24 Vladimir Sedach <vas@oneofus.la>
3738 * src/js-macrology.lisp, src/ps-macrology.lisp, t/ps-tests.lisp:
3739 Added code to remove unreachable constant forms from progn.
3741 2007-08-24 Vladimir Sedach <vas@oneofus.la>
3743 * docs/introduction.lisp: Updated the introduction doc.
3745 2007-08-24 Vladimir Sedach <vas@oneofus.la>
3747 * docs/reference.lisp, src/compilation-interface.lisp: Updated the
3748 ParenScript reference.
3750 2007-08-23 Vladimir Sedach <vas@oneofus.la>
3752 * docs/tutorial.lisp: Updated the ParenScript tutorial.
3754 2007-08-23 Vladimir Sedach <vas@oneofus.la>
3756 * src/deprecated-interface.lisp: Removed js-file and js-script from
3757 deprecated interface. These were helper macros for net.html.generator from AllegroServe,
3758 which really don't belong in ParenScript.
3760 2007-08-23 Vladimir Sedach <vas@oneofus.la>
3762 * src/parser.lisp, t/ps-tests.lisp: Fixed error where function call
3763 arguments weren't getting compiled to expressions.
3765 2007-08-23 Vladimir Sedach <vas@oneofus.la>
3767 * src/js-macrology.lisp, src/js-translation.lisp, t/ps-tests.lisp:
3768 Added the ability to compile cond to expressions.
3770 2007-08-23 Vladimir Sedach <vas@oneofus.la>
3772 * src/js-macrology.lisp: Made progn expressions with a single
3773 statement print as that statement alone (without parens).
3775 2007-08-23 Vladimir Sedach <vas@oneofus.la>
3777 * src/js-macrology.lisp, src/js-translation.lisp, t/ps-tests.lisp:
3778 Made if-expressions return null instead of undefined when else
3779 clause wasn't specified.
3781 2007-08-23 Vladimir Sedach <vas@oneofus.la>
3783 * src/js-translation.lisp, t/ps-tests.lisp: Fixed cond.
3785 2007-08-22 Vladimir Sedach <vas@oneofus.la>
3787 * src/compilation-interface.lisp, src/parser.lisp: Fixed the problem
3788 with compile-parenscript-form not being called with the right
3789 "expecting" value if a macroexpansion took place.
3791 2007-08-20 Vladimir Sedach <vas@oneofus.la>
3793 * src/deprecated-interface.lisp: Updated and fixed the deprecated
3796 2007-08-20 Vladimir Sedach <vas@oneofus.la>
3798 * docs/reference.lisp, t/ps-tests.lisp, t/reference-tests.lisp:
3799 Updated the documentation and test suite to reflect the fact that
3800 html is now ps-html and the ps-inline special form no longer exists.
3802 2007-08-20 Vladimir Sedach <vas@oneofus.la>
3804 * docs/tutorial.lisp: Removed mention of old package system from
3807 2007-08-20 Vladimir Sedach <vas@oneofus.la>
3809 * src/compilation-interface.lisp, src/js-macrology.lisp,
3810 src/package.lisp: Removed js and ps-inline as special forms; added
3811 ps-inline and ps-inline*. js and ps-inline didn't make any sense as special forms.
3813 2007-08-20 Vladimir Sedach <vas@oneofus.la>
3815 * src/lib/js-html.lisp, src/package.lisp: Changed html -> ps-html;
3816 reorganized packages.lisp exports. Using 'html' creates a conflict with any number of existing html
3817 generation libraries.
3819 2007-08-15 Vladimir Sedach <vas@oneofus.la>
3821 * src/package.lisp, src/ps-macrology.lisp, t/ps-tests.lisp: Replaced
3822 optional-args as the keyword-object-handling parameter with a
3825 2007-08-15 Vladimir Sedach <vas@oneofus.la>
3827 * src/ps-macrology.lisp, t/ps-tests.lisp: Added in-line code to
3828 support &rest arguments.
3830 2007-08-15 Vladimir Sedach <vas@oneofus.la>
3832 * src/js-translation.lisp: Added correct indentation to the printer.
3834 2007-08-15 Vladimir Sedach <vas@oneofus.la>
3836 * parenscript.asd, src/js-ugly-translation.lisp: Removed
3837 js-ugly-translation.
3839 2007-08-15 Vladimir Sedach <vas@oneofus.la>
3841 * docs/reference.lisp, t/ps-tests.lisp, t/reference-tests.lisp:
3842 Updated the reference and tests to reflect some small changes in the
3843 new printing code. ...such as the current lack of line breaks and spaces before some
3844 opening parens. Also added a few new unit tests.
3846 2007-08-15 Vladimir Sedach <vas@oneofus.la>
3848 * src/compilation-interface.lisp, src/js-macrology.lisp,
3849 src/js-translation.lisp: Reworked printing implementation to get rid
3850 of dwim-join and gratuitious consing. Now everything gets written to a stream.
3852 2007-08-12 Vladimir Sedach <vas@oneofus.la>
3854 * src/js-translation.lisp, t/ps-tests.lisp: Fixed type bug with
3855 printing slot-value with obj/slot being a non-list.
3857 2007-08-12 Vladimir Sedach <vas@oneofus.la>
3859 * t/package-system-tests.lisp: Redid package system unit tests.
3861 2007-08-12 Vladimir Sedach <vas@oneofus.la>
3863 * src/package.lisp: Exported the new naming and namespace interface
3864 functions and variables in package.lisp.
3866 2007-08-12 Vladimir Sedach <vas@oneofus.la>
3868 * t/ps-tests.lisp, t/reference-tests.lisp, t/test.lisp: Modified
3869 ParenScript tests to reflect the big compiler refactoring.
3871 2007-08-12 Vladimir Sedach <vas@oneofus.la>
3873 * docs/reference.lisp: Updated reference.lisp to reflect recent
3876 2007-08-12 Vladimir Sedach <vas@oneofus.la>
3878 * parenscript.asd, src/builtin-packages.lisp,
3879 src/compilation-interface.lisp, src/deprecated-interface.lisp,
3880 src/js-macrology.lisp, src/js-source-model.lisp,
3881 src/js-translation.lisp, src/lib/js-html.lisp,
3882 src/lib/js-utils.lisp, src/namespace.lisp, src/package.lisp,
3883 src/parser.lisp, src/ps-macrology.lisp, src/ps-source-model.lisp:
3884 Big refactoring of the ParenScript compiler.
3886 2007-08-12 Vladimir Sedach <vas@oneofus.la>
3888 * extras/js-expander.el: Updated js-expander to use ps:ps instead of
3891 2007-08-06 Red Daly <reddaly@gmail.com>
3893 * src/parser.lisp: remove lingering format string
3895 2007-08-06 Red Daly <reddaly@gmail.com>
3897 * src/parser.lisp: fixed DEFSCRIPTMACRO evaluation problem that
3898 caused load/compilation problems DEFSCRIPTMACRO and other similar macros were not expanding into but
3899 were instead side-effecting macro definitions.
3901 2007-08-06 Red Daly <reddaly@gmail.com>
3903 * src/package.lisp: removed file compilation exports for now
3905 2007-08-04 Vladimir Sedach <vas@oneofus.la>
3907 * parenscript.asd, src/package.lisp, src/paren-asdf.lisp: Removed
3910 2007-08-04 Vladimir Sedach <vas@oneofus.la>
3912 * parenscript.asd, src/compilation-interface.lisp,
3913 src/package.lisp, src/reader.lisp: Removed parenscript.reader
3915 2007-08-04 Vladimir Sedach <vas@oneofus.la>
3917 * parenscript.asd, src/builtin-packages.lisp,
3918 src/js-translation.lisp, src/namespace.lisp, src/parser.lisp,
3919 src/ps-macrology.lisp, src/ps-source-model.lisp: Moved
3920 package-related code to namespace.lisp, added back
3921 *enable-package-system*.
3923 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3925 * src/package.lisp, src/ps-macrology.lisp, t/ps-tests.lisp: Added
3928 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3930 * src/ps-macrology.lisp, src/utils.lisp, t/ps-tests.lisp: Stopped
3931 abuse of set-difference implementation-dependent ordering in
3934 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3936 * src/ps-macrology.lisp, t/ps-tests.lisp: Fixed order of evaluation
3937 in defsetf long form.
3939 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3941 * src/ps-macrology.lisp, t/ps-tests.lisp: Added short-form defsetf.
3943 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3945 * src/js-macrology.lisp, t/ps-tests.lisp: Fixed (return).
3947 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3949 * src/package.lisp, src/ps-macrology.lisp, t/ps-tests.lisp: Renamed
3950 options to optional-args, added unit test for defun foo
3953 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3955 * src/compilation-interface.lisp, src/parser.lisp: Restored
3956 special-form getting and setting by symbol-na.
3958 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3960 * src/parser.lisp: Added a more meaningful error message to
3961 compile-to-expression.
3963 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3965 * src/parser.lisp, src/ps-macrology.lisp: Cleaned up macro-defining
3966 code, fixed handling of special forms in script-expand-form.
3968 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3970 * src/deprecated-interface.lisp: Removed reference to
3971 without-packages in deprecated-interface.lisp.
3973 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3975 * src/parser.lisp: Added a more informative print-object method for
3978 2007-08-03 Red Daly <reddaly@gmail.com>
3980 * src/compilation-interface.lisp, src/js-macrology.lisp,
3981 src/js-translation.lisp, src/package.lisp,
3982 src/parse-lambda-list.lisp, src/parser.lisp, src/ps-macrology.lisp:
3983 keyword/optional fixes, slot-value accepts many slot names I also fixed some problems with nil serialization and decomposed the
3984 compile-parenscript-form function into a generic function with
3985 different behavior depending on the type of form.
3987 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3989 * src/builtin-packages.lisp, src/parser.lisp: Fixed handling of
3992 2007-08-03 Vladimir Sedach <vas@oneofus.la>
3994 * src/builtin-packages.lisp, src/deprecated-interface.lisp,
3995 src/js-macrology.lisp, src/js-translation.lisp, src/package.lisp,
3996 src/parser.lisp, src/ps-macrology.lisp,
3997 t/package-system-tests.lisp, t/ps-tests.lisp, t/test.lisp: Changed
3998 package system so that symbols in parenscript, javascript and
3999 parenscript-user are non-prefixed. Made symbols in unknown packages
4000 be treated as though they were in parenscript-user by default. Added
4001 a prefix string preference to PS packages. Removed all
4002 *enable-package-system* stuff.
4004 2007-08-02 Vladimir Sedach <vas@oneofus.la>
4006 * docs/reference.lisp, src/js-macrology.lisp, src/parser.lisp,
4007 src/ps-macrology.lisp, t/ps-tests.lisp, t/reference-tests.lisp:
4008 Added defsetf long-form.
4010 2007-08-02 Vladimir Sedach <vas@oneofus.la>
4012 * t/test.lisp: Disabled Boyer-Moore matching for cl-ppcre in js
4013 normalization code. (breaks on Unicode lisps, on by default in PPCRE)
4015 2007-08-01 Vladimir Sedach <vas@oneofus.la>
4017 * src/js-translation.lisp, src/parser.lisp: Slightly more
4018 informative error messages for symbol-abuse.
4020 2007-08-01 Vladimir Sedach <vas@oneofus.la>
4022 * : Removed manual.pdf from source control.
4024 2007-08-01 Vladimir Sedach <vas@oneofus.la>
4026 * src/parser.lisp: Fixed ps* not being found when
4027 special-form-symbol assertion is triggered.
4029 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4031 * src/deprecated-interface.lisp, src/package.lisp: UNDO: Added
4032 functions to set up and tear down a persistent compilation
4035 2007-08-01 Red Daly <reddaly@gmail.com>
4037 * parenscript.asd, src/compilation-interface.lisp,
4038 src/js-macrology.lisp, src/js-translation.lisp, src/package.lisp,
4039 src/paren-asdf.lisp, src/parse-lambda-list.lisp, src/parser.lisp,
4040 src/ps-macrology.lisp, src/utils.lisp, t/ps-tests.lisp: fixed minor
4041 issues with advanced lambda lists, additional quoted-nil hack
4043 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4045 * src/deprecated-interface.lisp, src/package.lisp: Added functions
4046 to set up and tear down a persistent compilation environment.
4048 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4050 * src/package.lisp, src/parser.lisp: Unexported ps-to-string.
4052 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4054 * src/parser.lisp: UNDO: Changed "Lisp package already has
4055 corresponding script package" error to warning.
4057 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4059 * src/parser.lisp: UNDO: Setup *compilation-environment* to have a
4060 working default value.
4062 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4064 * t/ps-tests.lisp: Added tests for 'nil and slot-value nil patches.
4066 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4068 * src/js-macrology.lisp: Changed slot-value so that (slot-value foo
4069 nil) is now "foo" instead of "foo.null"
4071 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4073 * src/parser.lisp: Fixed handling of quoted nil. 'nil should be the same as nil, however ''nil isn't.
4075 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4077 * src/parser.lisp: Changed "Lisp package already has corresponding
4078 script package" error to warning. Besides being annoying for users, it prevented package tests from
4081 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4083 * src/deprecated-interface.lisp: Started work on implementing
4084 deprecated compatibility interface by Attila Lendvai's idea.
4086 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4088 * src/parser.lisp: Setup *compilation-environment* to have a working
4091 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4093 * src/lib/js-utils.lisp: Added null macro. Thanks to Daniel Gackle for suggestion.
4095 2007-07-31 Vladimir Sedach <vas@oneofus.la>
4097 * src/package.lisp: Corrected export of defmacro+/ps names.
4099 2007-07-31 Attila Lendvai <attila.lendvai@gmail.com>
4101 * src/deprecated-interface.lisp: make deprecation warning a only a
4104 2007-07-31 Attila Lendvai <attila.lendvai@gmail.com>
4106 * src/ps-macrology.lisp: fix rebind
4108 2007-07-31 Attila Lendvai <attila.lendvai@gmail.com>
4110 * src/ps-macrology.lisp: prefix ( in a comment
4112 2007-07-30 Vladimir Sedach <vas@oneofus.la>
4114 * src/compilation-interface.lisp, src/deprecated-interface.lisp,
4115 src/package.lisp: Revised PS interface and deprecated function list
4116 based on user input.
4118 2007-07-30 Vladimir Sedach <vas@oneofus.la>
4120 * t/ps-tests.lisp: Added tests for previous script* eval bug.
4122 2007-07-30 Vladimir Sedach <vas@oneofus.la>
4124 * src/compilation-interface.lisp: Fixed bug where script* wasn't
4125 evaluating its arguments as promised.
4127 2007-07-30 Vladimir Sedach <vas@oneofus.la>
4129 * src/parser.lisp: Changed names of defmacro+/js forms to ps, made
4130 the special-form compilation error message be more informative.
4132 2007-07-30 Vladimir Sedach <vas@oneofus.la>
4134 * docs/tutorial.lisp: Changed tutorial to reflect factoring out of
4135 the HTML generation code of Portable Allegroserve, addition of PS
4138 2007-07-28 Red Daly <reddaly@gmail.com>
4140 * src/parser.lisp: define-script-symbol-macro added
4142 2007-07-28 Daniel Gackle <danielgackle@gmail.com>
4144 * src/parser.lisp: defscriptmacro single string body fix A js macro that evaluates to a string literal can't be used: (defjsmacro blah () "abc") (js (blah)) => "null;" This seems wrong. For one thing, other literals work fine: (defjsmacro blah () 123) (js (blah)) => "123" For another, Lisp behaves differently: (defmacro blah () "abc") (blah) => "abc" Actually, I'd rather use a symbol macro but it appears there is no
4145 define-symbol-macro in Parenscript and in this case symbol-macrolet
4146 is not convenient. Signed-off-by: Red Daly <reddaly@gmail.com>
4148 2007-07-27 Red Daly <reddaly@gmail.com>
4150 * src/package.lisp, src/paren-asdf.lisp: paren-asdf hack to make
4151 parenscript-compile-op use load-op's dependencies
4153 2007-07-27 Red Daly <reddaly@gmail.com>
4155 * docs/internal/asdf.lisp, parenscript.asd,
4156 src/compilation-interface.lisp, src/deprecated-interface.lisp,
4157 src/package.lisp, src/paren-asdf.lisp, src/ps-macrology.lisp: ASDF
4158 interaction for Parenscript files see the new paren-asdf.lisp and updated compilation-interface.lisp
4159 files for implementation details. The function
4160 COMPILE-SCRIPT-SYSTEM compiles all the system's files and outputs
4161 them to a single stream. Currently it compiles each file
4162 separately; in the future we will probably need to compile the whole
4163 program and then translate it.
4165 2007-07-26 Vladimir Sedach <vas@oneofus.la>
4167 * docs/reference.lisp, src/js-translation.lisp, t/ps-tests.lisp,
4168 t/reference-tests.lisp: Fixed slot-value-conditional bug. (slot-value object slot) should now handle cases where object is an
4169 arbitrary expression correctly.
4171 2007-07-26 Vladimir Sedach <vas@oneofus.la>
4173 * src/compilation-interface.lisp, src/deprecated-interface.lisp,
4174 src/js-macrology.lisp, src/package.lisp, src/parser.lisp,
4175 src/ps-macrology.lisp: Cleaned up deprecated interface, added
4176 Lisp/ParenScript macro-defining macros back to parser.lisp.
4178 2007-07-26 Vladimir Sedach <vas@oneofus.la>
4180 * src/js-macrology.lisp: Removed redundant math library functions. (more comprehensive ones are in lib/js-utils.lisp)
4182 2007-07-25 Red Daly <reddaly@gmail.com>
4184 * parenscript.asd, src/builtin-packages.lisp,
4185 src/compilation-interface.lisp, src/js-macrology.lisp,
4186 src/package.lisp, src/parser.lisp, src/ps-macrology.lisp,
4187 src/reader.lisp, t/ps-tests.lisp, t/ref2test.lisp,
4188 t/reference-tests.lisp, t/test-package.lisp, t/test.lisp: usable
4189 package system The package system is now fairly usable. package.lisp and
4190 builtin-packages.lisp now intelligently share symbols. It is also
4191 possible to completely ignore any package system functionality.
4193 2007-07-24 Red Daly <reddaly@gmail.com>
4195 * docs/internal/architecture.txt,
4196 docs/internal/notes-and-links.txt, parenscript.asd,
4197 src/compilation-interface.lisp, src/deprecated-interface.lisp,
4198 src/js-macrology.lisp, src/{source-model.lisp =>
4199 js-source-model.lisp}, src/js-translation.lisp,
4200 src/js-ugly-translation.lisp, src/macrology.lisp, src/package.lisp,
4201 src/parser.lisp, src/ps-macrology.lisp, src/ps-source-model.lisp,
4202 src/reader.lisp, t/package-system-tests.lisp, t/ps-tests.lisp,
4203 t/test.lisp: bulk of package system, reader, and other refactoring
4205 2007-07-20 Red Daly <reddaly@gmail.com>
4207 * src/compilation-interface.lisp, src/macrology.lisp,
4208 src/parser.lisp: eval-when special form Added the EVAL-WHEN special form to the Parenscript language. It
4209 works similarly to the EVAL-WHEN form in Lisp. It has the following
4210 form: (eval-when body-forms-language? (situation*) body-forms*) SITUATION is either :compile-toplevel or :execute. BODY-FORMS-LANGUAGE is optional and either :parenscript or :lisp.
4211 It defaults to :lisp when :COMPILE-TOPLEVEL is specified and
4212 :parenscript when :EXECUTE is specified. Parenscript's EVAL-WHEN is relevant when loading toplevel forms,
4213 either from Parenscript files or from within Lisp.
4215 2007-07-20 Red Daly <reddaly@gmail.com>
4217 * parenscript.asd, src/compilation-interface.lisp,
4218 src/compile-js.lisp, src/defgenerics.lisp,
4219 src/deprecated-interface.lisp, src/js-translation.lisp, src/{ =>
4220 lib}/css.lisp, src/lib/functional.lisp, src/{ => lib}/js-html.lisp,
4221 src/{ => lib}/js-utils.lisp, src/macrology.lisp, src/package.lisp,
4222 src/parse-lambda-list.lisp, src/parser.lisp, src/reader.lisp,
4223 src/source-model.lisp, t/ps-tests.lisp, t/test-package.lisp,
4224 t/test.lisp: renaming and refactoring Changed the names of many functions and macros to get rid of the
4225 symbols with "js" in them--its not Javascript, it's Parenscript!
4226 Most of those symbols were renamed with "script" replacing "js". Also changed the main compilation interfaces to use the function
4227 COMPILE-SCRIPT and the macro SCRIPT from JS-COMPILE and JS
4228 respectively. Additionally, the first steps of the package system are included
4229 (with the addition of a the SCRIPT-PACKAGE and
4230 COMPILATION-ENVIRONMENT classes). These are integrated into the
4231 current compiler, though they probably break a few "traditional"
4232 serialization methods, specifically because macro and special form
4233 names are stored as symbols rather than strings and EQL comparisons
4234 are used rather than STRING-EQUAL comparisons of the strings. I have also split parser.lisp into parser.lisp and macrology.lisp.
4235 Parser.lisp contains mechanisms for parsing Parenscript given an
4236 input s-expression while macrology.lisp contains language
4237 definitions that make use of the parsing mechanisms. All tests now pass, though the documentation has gone slightly out
4238 of date with the symbol renaming. This will be fixed shortly. More
4239 tests and functionality need to be added to make the current
4240 Parenscript compatable with the older semantics (as dicussed,
4241 comparing macro/special form names based on their string values is
4244 2007-07-16 Vladimir Sedach <vas@oneofus.la>
4246 * src/parser.lisp: Re-introduced 'with' special form. (it got lost somewhere along the way)
4248 2007-07-14 Vladimir Sedach <vas@oneofus.la>
4250 * t/ps-tests.lisp, t/test.lisp: Improved formatting/whitespace
4251 removing code in tests. Added slot-value-setf test. Now all ps-tests pass.
4253 2007-07-13 Vladimir Sedach <vas@oneofus.la>
4255 * docs/reference.lisp: Added documentation of new macro facilities.
4257 2007-07-12 Viktor Leis <viktor.leis@googlemail.com>
4259 * src/parser.lisp: Added warnings when attempting to use reserved
4260 Javascript keywords as variable or functions names. Signed-off-by: Vladimir Sedach <vas@oneofus.la>
4262 2007-07-10 Vladimir Sedach <vas@oneofus.la>
4264 * src/js-utils.lisp, src/parser.lisp: Added oddp, evenp utility
4265 functions, added explanatory error message to js-compile-to-symbol.
4267 2007-07-03 Vladimir Sedach <vas@oneofus.la>
4269 * src/utils.lisp, t/ps-tests.lisp: Improved symbol-to-js to handle
4270 more complicated Javascript-like symbols.
4272 2007-07-03 Luca Capello <luca@pca.it>
4274 * parenscript.asd, t/ps-tests.lisp, t/test.lisp: Factor out misc
4275 tests into their own test file. Signed-off-by: Vladimir Sedach <vas@oneofus.la>
4277 2007-07-02 Red Daly <reddaly@gmail.com>
4279 * t/test.lisp: character encoding fixes in test.lisp
4281 2007-07-01 Luca Capello <luca@pca.it>
4283 * t/test.lisp: t/test.lisp: typo, remove colon at line 82
4285 2007-07-01 Luca Capello <luca@pca.it>
4287 * t/ref2test.lisp, t/reference-tests.lisp, t/test.lisp: add an
4288 (eval-when ...) when defining a test suite
4290 2007-06-28 Vladimir Sedach <vas@oneofus.la>
4292 * src/js-utils.lisp: Added divisors to ceiling, floor, round.
4294 2007-06-26 Vladimir Sedach <vas@oneofus.la>
4296 * contributors: Added Red Daly to contributors file.
4298 2007-06-26 Red Daly <reddaly@gmail.com>
4300 * parenscript.asd, src/js-translation.lisp, src/js.lisp,
4301 src/parser.lisp, src/source-model.lisp, src/utils.lisp: js.lisp
4302 breakup Broke the js.lisp file up into several three files:
4303 source-model.lisp, js-translation.lisp, and parser.lisp. source-model.lisp: class definitions that correspond to the
4304 Javascript AST. (defjsclass forms for the most part) js-translation.lisp: functions for converting AST objects to
4305 Javascript source code parser.lisp: macro definitions and the mechanisms for processing
4306 Parenscript forms into AST objects. See also:
4308 http://common-lisp.net/pipermail/parenscript-devel/2007-June/000035.html
4310 2007-06-26 Red Daly <reddaly@gmail.com>
4312 * src/compile-js.lisp, src/css.lisp, src/defgenerics.lisp,
4313 src/js-html.lisp, src/js-utils.lisp, src/js.lisp, src/package.lisp,
4314 src/utils.lisp: package rename
4316 2007-06-26 Vladimir Sedach <vas@oneofus.la>
4318 * src/js-html.lisp, src/js.lisp: Refactored macro-related code,
4319 changed "compiler macros" to special forms, added separate
4320 namespaces for macros and symbol-macros, added full macro lambda
4321 lists to macrolet, added support for docstrings to defjsmacro.
4323 2007-06-25 Vladimir Sedach <vas@oneofus.la>
4325 * contributors: Added contributors file.
4327 2007-06-25 Vladimir Sedach <vas@oneofus.la>
4329 * extras/js-expander.el: Added js-expander.el
4331 2007-06-22 Vladimir Sedach <vas@oneofus.la>
4333 * src/js.lisp: Added defmacro to ParenScript.
4335 2007-06-21 Vladimir Sedach <vas@oneofus.la>
4337 * src/js-utils.lisp: Renamed with-timeout to do-set-timeout, added
4338 ignore errors. Thanks to: John Fremlin <john@fremlin.org>
4340 2007-06-20 Vladimir Sedach <vas@oneofus.la>
4342 * src/js.lisp, src/package.lisp: Added defmacro+js
4344 2007-06-19 Vladimir Sedach <vas@oneofus.la>
4346 * src/package.lisp: Exported defmacro/js
4348 2007-06-19 Vladimir Sedach <vas@oneofus.la>
4350 * parenscript.asd, src/js-utils.lisp: Added js-utils file.
4352 2007-06-19 Vladimir Sedach <vas@oneofus.la>
4354 * src/js.lisp: Added the defmacro/js macro-defining macro.
4356 2007-06-16 Vladimir Sedach <vas@oneofus.la>
4358 * src/js.lisp: Added binary negation ~ operator.
4360 2007-06-15 Vladimir Sedach <vas@oneofus.la>
4362 * src/js.lisp: setf slot-value patch
4364 2007-06-06 Attila Lendvai <attila.lendvai@gmail.com>
4366 * src/js.lisp: Fix: add parens around instanceof to make it work in
4369 2007-05-03 Attila Lendvai <attila.lendvai@gmail.com>
4371 * src/utils.lisp: Bah, speed up list-to-string by a few factors...
4373 2007-04-27 Ray Myers <ray.myers@gmail.com>
4375 * src/js.lisp: Fix (- 1) and (incf/decf x 5) Fix the following incorrect (or at least unexpected) behavior in
4376 ParenScript. (js (- 1)) => "1;" (js (incf x 5)) => an error (js (decf x 5))
4377 => an error Signed-off-by: Attila Lendvai <attila.lendvai@gmail.com>
4379 2007-04-25 Attila Lendvai <attila.lendvai@gmail.com>
4381 * src/js.lisp: Note in the warning that we are redefining a _js_
4384 2007-04-16 Attila Lendvai <attila.lendvai@gmail.com>
4386 * src/js.lisp: Follow quote changes in SLOT-VALUE
4388 2007-04-16 Attila Lendvai <attila.lendvai@gmail.com>
4390 * src/js.lisp: Fixed (?) quoting mechanism (js:js (+ 42 '"FoooFFFOFOFooo")) => "42 + FoooFFFOFOFooo;" IOW, quote inside a parenscript form means to simply print the
4391 quoted value as-is. Among other things, this is useful for
4392 inserting literal javascript into parenscript. I hope it will not
4395 2007-01-15 Henrik Hjelte <henrik@evahjelte.com>
4397 * docs/reference.lisp, src/js-html.lisp: conditional attributes in
4400 2006-11-15 Marijn Haverbeke <marijnh@gmail.com>
4402 * src/js.lisp: add proper cond construct
4404 2006-11-22 Henrik Hjelte <henrik@evahjelte.com>
4406 * t/reference-tests.lisp: Possible to make attributes conditionally
4407 rendered with js-html generator
4409 2006-11-15 Henrik Hjelte <henrik@evahjelte.com>
4411 * docs/reference.lisp, t/reference-tests.lisp, t/test.lisp: docs
4412 updated for new setf optimization
4414 2006-11-15 Henrik Hjelte <henrik@evahjelte.com>
4416 * src/js.lisp, t/test.lisp: bugfix method-call problem
4418 2006-11-15 Henrik Hjelte <henrik@evahjelte.com>
4420 * t/test.lisp: moretests for method-call (dot-notation) syntax
4422 2006-11-15 Henrik Hjelte <henrik@evahjelte.com>
4424 * src/js.lisp, t/test.lisp: bugfix commutative plus and minus
4426 2006-11-15 Henrik Hjelte <henrik@evahjelte.com>
4428 * t/test.lisp: tests for some bugs Reported by: Marijn Haverbeke <marijnh@gmail.com>
4430 2006-11-15 Henrik Hjelte <henrik@evahjelte.com>
4432 * parenscript.asd, t/ref2test.lisp, t/reference-tests.lisp: asdf
4433 test-op added (asdf:operate 'asdf:test-op :parenscript)
4435 2006-11-15 Henrik Hjelte <henrik@evahjelte.com>
4437 * : updated pdf manual for new with syntax
4439 2006-11-15 Henrik Hjelte <henrik@evahjelte.com>
4441 * docs/build.sh: build.sh for documentation
4443 2006-11-15 Henrik Hjelte <henrik@evahjelte.com>
4445 * docs/reference.lisp, t/reference-tests.lisp: Updated documentation
4446 to reflect the new syntax of the with statement
4448 2006-11-15 Henrik Hjelte <henrik@evahjelte.com>
4450 * t/test.lisp: make the test escape-sequences-in-string work again
4452 2006-10-03 Attila Lendvai <attila.lendvai@gmail.com>
4454 * src/js.lisp: Added evenp and oddp
4456 2006-10-03 Attila Lendvai <attila.lendvai@gmail.com>
4458 * src/js.lisp: Added assert for simple catch forms
4460 2006-09-01 Attila Lendvai <attila.lendvai@gmail.com>
4462 * src/js.lisp: Killed the feature (js:js* '(let (a b) (+ a b))) =>
4465 2006-10-02 Luca Capello <luca@pca.it>
4467 * docs/pbook.py: docs/pbook.py: correct faulty check for PDF output Frank K[_\c3_][_\bc_]ster discovered that docs/pbook.py produces
4468 buggy LaTeX code, a faulty check for PDF output. It doesn't show up
4469 if you only try to create PDF. But if you want to go the traditional route and produce dvi files
4470 (and from that PostScript and maybe finally again PDF), this will
4471 fail and still produce PDF. The script itself doesn't do that (or
4472 rather, it does that in fact but ignores the output in this first
4473 run), but it's still an uglyness. Moreover, it's completely useless, because the only package that
4474 uses the information, graphicx, will detect the output format itself
4475 (and in a proper way). http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=390629
4477 2006-08-21 Attila Lendvai <attila.lendvai@gmail.com>
4479 * src/js.lisp: Use symbol-name for op matching to fix various
4480 bugs/surprises (e.g. `(foo::% 4 2))
4482 2006-07-21 Marijn Haverbeke <marijnh@gmail.com>
4484 * src/js.lisp: Allow strings and numbers as slot names in object
4487 2006-07-16 Marco Baringer <mb@bese.it>
4489 * src/js2.lisp: Drop unused js2.lisp
4491 2006-07-16 Attila Lendvai <attila.lendvai@gmail.com>
4493 * src/js.lisp: Fix compilation of (.call (lambda () ...) arg1 ...),
4494 add missing ()'s around the lambda
4496 2006-07-16 Attila Lendvai <attila.lendvai@gmail.com>
4498 * src/js.lisp: Fix compilation of ((foo) bar) -> foo()(bar)
4500 2006-07-16 Attila Lendvai <attila.lendvai@gmail.com>
4502 * src/js.lisp: Fixed js-with WARNING: this involves syntax change Previously the syntax of with was this: (with (object) body) now it's: (with object body) It was also broken when 'object' was an expression...
4504 2006-07-15 Henrik Hjelte <henrik.hjelte@evahjelte.com>
4506 * docs/reference.lisp, src/js.lisp, t/reference-tests.lisp: bugfix
4507 sometimes missing semicolons when joining js-body
4509 2006-07-11 Attila Lendvai <attila.lendvai@gmail.com>
4511 * src/js.lisp: Rebind var in dolist to make also clisp happy import-macros-from-lisp was broken due to this.
4513 2006-07-11 Henrik Hjelte <henrik.hjelte@evahjelte.com>
4515 * docs/reference.lisp, src/js.lisp, t/ref2test.lisp,
4516 t/reference-tests.lisp: regex patch Suggested by: Lou Vanek <vanek@acd.net>
4518 2006-07-11 Henrik Hjelte <henrik.hjelte@evahjelte.com>
4520 * docs/reference.lisp, t/reference-tests.lisp: documentation updated
4523 2006-07-11 Henrik Hjelte <henrik.hjelte@evahjelte.com>
4525 * t/ref2test.lisp: Made ref2test work with cl-launch
4527 2006-07-07 Attila Lendvai <attila.lendvai@gmail.com>
4529 * parenscript.asd: Fix screwed-up asd file
4531 2006-07-07 Attila Lendvai <attila.lendvai@gmail.com>
4533 * src/js.lisp: Fixed instanceof
4535 2006-07-07 Attila Lendvai <attila.lendvai@gmail.com>
4537 * parenscript.asd, src/js.lisp, src/lib/functional.lisp: Added
4538 src/lib/functional.lisp This is a first element of an parenscript library. The contents of
4539 this file is to be compiled with parenscript and the result js
4540 included in the host environment in one way or another.
4542 2006-07-07 Attila Lendvai <attila.lendvai@gmail.com>
4544 * src/compile-js.lisp: Added :eval-forms-p to
4545 compile-parenscript-file
4547 2006-07-06 Attila Lendvai <attila.lendvai@gmail.com>
4549 * src/js.lisp: Fix the return value of map-into
4551 2006-07-06 Attila Lendvai <attila.lendvai@gmail.com>
4553 * src/js.lisp: Moved some macros towards the top of the file due to
4554 dependencies In the long run we should cut js.lisp into several files. One
4555 dealing with the basic infrastructure like macro expansion, and the
4556 rest implementing the compiler based on this
4557 infrastructure/utilities.
4559 2006-07-05 Attila Lendvai <attila.lendvai@gmail.com>
4561 * src/js.lisp: Added map and map-into
4563 2006-07-05 Attila Lendvai <attila.lendvai@gmail.com>
4565 * src/js.lisp: Shortened default gensym constant
4567 2006-07-04 Attila Lendvai <attila.lendvai@gmail.com>
4569 * src/js.lisp: Don't use loop's initially clause to avoid a clisp
4570 bug For details see:
4572 http://sourceforge.net/tracker/index.php?func=detail&aid=1516684&group_id=1355&atid=101355
4574 2006-05-27 Marco Baringer <mb@bese.it>
4576 * src/js.lisp: Make defjsmacro rend's docstring a comment so clisp
4577 will stop complaining
4579 2006-05-13 Attila Lendvai <attila.lendvai@gmail.com>
4581 * src/js.lisp: Move undefine-js-compiler-macro into an eval-when. Reported by: William Halliburton <whalliburton@gmail.com>
4583 2006-05-12 Attila Lendvai <attila.lendvai@gmail.com>
4585 * src/js.lisp, src/package.lisp: Added import-macros-from-lisp that
4586 bring lisp macros into the js macroexpansion
4588 2006-05-10 Marco Baringer <mb@bese.it>
4590 * src/compile-js.lisp, src/utils.lisp: Move compile-parenscript code
4591 into a separate file so that it complies cleanly The problew is that compile-parenscript-file-to-string contains a
4592 call to the macro js:js* this macro needs to be defined before we
4593 compile the compile-parenscript-file-to-string function.
4595 2006-05-10 Marco Baringer <mb@bese.it>
4597 * parenscript.asd: Use an explicit asdf:perform :after method
4598 instead of :perform (load-op :after ...)
4600 2006-05-08 Attila Lendvai <attila.lendvai@gmail.com>
4602 * src/package.lisp, src/utils.lisp: Added compile-parenscript-file
4604 2006-05-08 Attila Lendvai <attila.lendvai@gmail.com>
4606 * src/js.lisp: Added character type conversion
4608 2006-04-16 Attila Lendvai <attila.lendvai@gmail.com>
4610 * src/js.lisp: Added a rebind js macro that rebinds variables on the
4613 2006-04-01 Marco Baringer <mb@bese.it>
4615 * src/package.lisp: Export defjsmacro
4617 2006-04-01 Marco Baringer <mb@bese.it>
4619 * src/js.lisp: Added docstring for *js-quote-char*
4621 2006-04-01 Xan Lopez <xan.lopez@gmail.com>
4623 * src/js.lisp: Add variable *js-quote-char* Signed-off-by: Marco Baringer <mb@bese.it>
4625 2006-02-26 Marco Baringer <mb@bese.it>
4627 * src/js.lisp: Implement js-to-strings for the regex class
4629 2006-02-25 Marco Baringer <mb@bese.it>
4631 * src/js.lisp, src/js2.lisp: #\$ is not a special javascript
4632 character. Reported by: Richard Morse <pukku@mac.com>
4634 2006-02-16 Luca Capello <luca@pca.it>
4636 * docs/tutorial.lisp: remove docs/images and relative references in
4639 2006-01-27 Luca Capello <luca@pca.it>
4641 * : remove docs/reference.pdf, already included in manual.pdf
4643 2006-02-05 Marco Baringer <mb@bese.it>
4645 * src/js.lisp: The #\Form is not a standard character name, use
4646 #.(code-char 12) instead.
4648 2006-02-02 Henrik Hjelte <henrik.hjelte@poboxes.com>
4650 * src/js.lisp, t/test.lisp: proper escape sequences in strings
4652 2006-02-01 Henrik Hjelte <henrik.hjelte@poboxes.com>
4654 * docs/reference.lisp, src/js.lisp, t/ref2test.lisp,
4655 t/reference-tests.lisp, t/test.lisp: ref2test finds reference.lisp
4658 2006-01-27 Luca Capello <luca@pca.it>
4660 * parenscript-test.asd, parenscript.asd: merge parenscript-test.asd
4661 into parenscript.asd
4663 2006-01-23 Luca Capello <luca@pca.it>
4665 * introduction.lisp => docs/introduction.lisp, pbook.py =>
4666 docs/pbook.py, reference.lisp => docs/reference.lisp, tutorial.lisp
4667 => docs/tutorial.lisp: move doc files to docs/
4669 2006-01-23 Luca Capello <luca@pca.it>
4671 * parenscript-test.asd, ref2test.lisp => t/ref2test.lisp,
4672 reference-tests.lisp => t/reference-tests.lisp, test-package.lisp
4673 => t/test-package.lisp, test.lisp => t/test.lisp: move test files to
4674 t/ and modify parenscript-test.asd as well
4676 2006-01-23 Luca Capello <luca@pca.it>
4678 * parenscript.asd, css.lisp => src/css.lisp, defgenerics.lisp =>
4679 src/defgenerics.lisp, js-html.lisp => src/js-html.lisp, js.lisp =>
4680 src/js.lisp, js2.lisp => src/js2.lisp, package.lisp =>
4681 src/package.lisp, utils.lisp => src/utils.lisp: move source files to
4682 src/ and modify parenscript.asd as well
4684 2006-01-23 Luca Capello <luca@pca.it>
4686 * css.lisp, introduction.lisp, js.lisp, js2.lisp, ref2test.lisp,
4687 reference-tests.lisp, reference.lisp, test.lisp, tutorial.lisp:
4688 remove trailing spaces at endlines in *.lisp
4690 2006-01-22 Luca Capello <luca@pca.it>
4692 * js-html.lisp, js.lisp, js2.lisp, package.lisp, ref2test.lisp,
4693 reference.lisp, tutorial.lisp: remove trailing spaces at empty lines
4696 2006-01-22 Luca Capello <luca@pca.it>
4698 * pbook.py: pbook.py: convert endlines to Unix format
4700 2006-01-09 Henrik Hjelte <henrik.hjelte@poboxes.com>
4702 * js-html.lisp: css-inline compiles with cmucl
4704 2005-12-19 Marco Baringer <mb@bese.it>
4706 * js.lisp, package.lisp: New function gen-js-name-string This allows you to get a unique javascript name as a string and not
4709 2005-12-19 Henrik Hjelte <henrik.hjelte@poboxes.com>
4711 * js.lisp, test.lisp: bugfix slot-value
4713 2005-12-18 Henrik Hjelte <henrik.hjelte@poboxes.com>
4715 * js.lisp, ref2test.lisp, reference-tests.lisp, test.lisp: bug in
4718 2005-12-18 Henrik Hjelte <henrik.hjelte@poboxes.com>
4720 * js-html.lisp, reference-tests.lisp, reference.lisp: css-inline
4723 2005-12-17 Henrik Hjelte <henrik.hjelte@poboxes.com>
4725 * parenscript-test.asd, ref2test.lisp, reference-tests.lisp,
4726 reference.lisp, test.lisp: cleaned reference
4728 2005-12-16 Henrik Hjelte <henrik.hjelte@poboxes.com>
4730 * parenscript-test.asd, ref2test.lisp, reference-tests.lisp,
4731 test-package.lisp, test.lisp: tests from the reference
4733 2005-12-16 Henrik Hjelte <henrik.hjelte@poboxes.com>
4735 * introduction.lisp: quotes in introduction
4737 2005-12-01 Alan-Shields <Alan-Shields@omrf.ouhsc.edu>
4739 * defgenerics.lisp, js.lisp, parenscript.asd: Added defgenerics for
4740 all the defmethods Ze style warnings! Zey drive me craaaazy.
4742 2005-11-15 Alan-Shields <Alan-Shields@omrf.ouhsc.edu>
4744 * parenscript.asd: enable #+parenscript To integrate Parenscript with Araneida without requiring
4745 Parenscript, I had to do some compile conditionals. This would make
4746 it much easier. Marco, eventually I am going to add this to every last one of your
4749 2005-11-15 Alan-Shields <Alan-Shields@omrf.ouhsc.edu>
4751 * css.lisp: need a function for css-inlining If you have code that needs to inline CSS across an array, it's
4752 difficult to use the current macro. Having a function helps -
4753 mapping the macro to the function only completes things.
4755 2005-11-15 Alan-Shields <Alan-Shields@omrf.ouhsc.edu>
4757 * css.lisp: Proper concatenation of inline CSS CSS-INLINE does a simple concatenation of the results of CSS
4758 directives. This looks like: color:blacksize:200% Unfortunately, it should look like this: color:black;size:200% It now does.
4760 2005-11-07 Luca Capello <luca@pca.it>
4762 * COPYING: added COPYING file
4764 2005-11-07 Marco Baringer <mb@bese.it>
4766 * .boring: Escape { and } chars in boring regexps
4768 2005-10-05 Marco Baringer <mb@bese.it>
4770 * js.lisp: Need to escape #\' in javascript strings
4772 2005-10-05 Marco Baringer <mb@bese.it>
4774 * js.lisp: Fix buf in JS-INLINE causing infinite macro expansion
4776 2005-09-12 Marco Baringer <mb@bese.it>
4778 * js.lisp: Add in checks to deal with functions/macros whose names
4781 2005-09-05 Marco Baringer <mb@bese.it>
4783 * js.lisp: Use strings, and not symbols, to name javascript
4784 functions/macros This effectivly flattens the namespace of javascript code. While
4785 this change makes js similar to javascript, and removes the need to
4786 export symbols from the JS package, it may break previous code which
4787 depended on, for expample, js:and not being equivalent to js:and.
4789 2005-09-05 Marco Baringer <mb@bese.it>
4791 * js.lisp: Added support for literal objects ( "{ ... }" syntax)
4793 2005-08-31 Marco Baringer <mb@bese.it>
4795 * package.lisp: Export cen-js-names and with-unique-js-names
4797 2005-08-15 Marco Baringer <mb@bese.it>
4799 * js.lisp: Added docstrings to previous patch
4801 2005-08-15 Marco Baringer <mb@bese.it>
4803 * js.lisp: Added GEN-JS-NAME and WITH-UNIQUE-JS-NAMES
4805 2005-08-15 Ivan Toshkov <itoshkov@gmail.com>
4807 * js.lisp: Fixes the infinite loop problems of `dotimes' and
4810 2005-08-15 Marco Baringer <mb@bese.it>
4812 * package.lisp, parenscript.asd, tutorial.lisp: Parenscript,
4813 documentation not withstandanding, does not depend on htmlgen
4815 2005-08-15 Marco Baringer <mb@bese.it>
4817 * js.lisp: Attempt to improve the conversion of (js ((lambda ...)
4820 2005-08-15 Marco Baringer <mb@bese.it>
4822 * js.lisp: Introduce the JS-LAMBDA class. Make JS-DEFUN a subclass
4825 2005-08-15 Marco Baringer <mb@bese.it>
4827 * js.lisp: Implement JS and JS-INLINE in terms of JS* and JS-INLINE*
4829 2005-08-14 Marco Baringer <mb@bese.it>
4831 * js.lisp: Symbols starting with #\: are left as is, no case
4832 conversion or other mangling
4834 2005-08-14 Marco Baringer <mb@bese.it>
4836 * js.lisp, package.lisp: Added JS* and JS-INLINE*.
4838 2005-08-14 Marco Baringer <mb@bese.it>
4840 * js.lisp: Javascript strings need to be quated with ' and not " to
4841 avoid interfering with the surrounding HTML.
4843 2005-08-13 Marco Baringer <mb@bese.it>
4845 * js.lisp: Ugly hack to support ((lambda ...) ...)
4847 2005-08-13 Marco Baringer <mb@bese.it>
4849 * parenscript.asd: Mention that I'm maintaining this version of
4852 2005-08-13 Marco Baringer <mb@bese.it>
4854 * parenscript.asd: Rename the system/package in the system
4855 definition. Just renaming the file doesn't cut it :(.
4857 2005-08-13 Marco Baringer <mb@bese.it>
4859 * : Added images used in documentation
4861 2005-08-13 Marco Baringer <mb@bese.it>
4863 * pbook.py: Added the pbook.py file used to generate the
4866 2005-08-08 Marco Baringer <mb@bese.it>
4868 * js.lisp: Added declare ignore forms for unused function arguments
4870 2005-08-08 Marco Baringer <mb@bese.it>
4872 * js.asd => parenscript.asd: Rename system def
4874 2005-07-26 Marco Baringer <mb@bese.it>
4876 * .boring: Setup boringfile
4878 2005-07-26 Marco Baringer <mb@bese.it>
4880 * css.lisp, introduction.lisp, js-html.lisp, js.asd, js.lisp,
4881 js2.lisp, package.lisp, reference.lisp, tutorial.lisp, utils.lisp:
4882 Added files from parenscript 0.1.0 as distributed by Manuel Odendahl