-
Notifications
You must be signed in to change notification settings - Fork 5
define-object-amendment affects source definition locations #158
Comments
Good point. The define-object-amendment mechanism needs to be hooked into slime-edit-definition. As it is currently the define-object-amendment does a rather brute-force redefinition of the class object. |
Open for submissions: $200~~-300~~. Requires full regression tests in the style of the tests in gendl/regression/source/ and e.g. gendl/regression/geom-base/source/angle-between-vectors.lisp.
|
Merging #167 into here: Macro (define-object foo ()) And then: (define-object-amendment foo ()
:computed-slots
((parent nil))) |
Some questions:
If you could provide a short-term answer to the former questions, then I'm ready to upload. |
Status update:
|
I'm not sure of any other way to do it, without getting into internal (and probably non-portable) CLOS and MOP tricks.
Do you mean a pointer to the file or to the actual class object itself? Does this work for the case where multiple define-object-amendments are invoked?
I would think it should present a list of all locations of definitions - similar to what you get for a defmethod which has several implementations for different argument signatures.
Please forget that part of the assignment, and we'll stick to the low end of the price range.
The generic "Lift" framework that we have in place already has utilities for seeding the regression-test-data, then running future tests to compare the regression-test-data with the previously seeded data. That part's not necessary to write for each individual test. So all that is necessary is to have test(s) which compute some useful regression-test-data. |
Actually for this item I'm not sure how the regression-test-data approach would work. This one might need a manual test procedure. Actually two items here - the M-. and the reserved-word check for define-object-amendment. |
Fix has been sent to you in a private message. Let me know if you have questions. Note that the test is automated, no need for a manual procedure. Note new test utilities that check for failure or absence of it. These are proposed as necessary add-ons to the lift framework and they allow for true automated testing.
Pointer to the file(s)
yes
That's how it works.
Well, I've re-audited it for the extent of checking for reserved-symbol-overrides. Please, don't suddenly change the conditions for the bounty while someone is working on it. |
When using define-object-amendment, any use of M-. (find-tag) for that class symbol will jump to the buffer where amendment was made. It is impossible (as far as I know) to retrieve the original definition. Shouldn't M-. point to original definition instead of pointing to an amendment?
The text was updated successfully, but these errors were encountered: