* Helmut Eller m2skwhcirx.fsf@common-lisp.net : Wrote on Sat, 17 May 2008 12:44:02 +0200:
| * Madhu [2008-05-04 02:30+0200] writes: | |> Working with a large array (say 510 elements) is the most simple example |> which springs to mind. Imagine you want to inspect the last 10 objects, |> by going forwards and backwards in the inspector buffer.. If you cannot |> customize the variable you are forced to hit MORE for every element > |> 500. |> |> Again, large datasets pose a problem with SLIME. Here mechanism to deal |> with it was in place. | | Are you saying that a customizable variable solves the problems with | large datasets?
That customized variable solves the specific problem instance I mentioned above in context. [Please check the description again as I'll only be repeating it again by way of explanation]
| Alan Ruttenberg's code truncated the content after a certain length (if | the limit was set and only for some data-structures, like arrays and | hash-tables [and only if the backend didn't provide it's own specialized | methods for those data-structures]). Currently, the content is always | truncated after a limit (the limit is hard-coded but works for all | data-structures). To me, this looks like the same mechanism.
[The problems I faced were with only with large hash-tables and arrays, I had extended the old implementation locally in a very simple adhoc manner with another global variable to specify the "start" of the window to inspect. This helped me inspect data whose `shape' I knew and whose indices I could specify. But Regardless of this local extension ...]
The customization variable PLUS the old mechanism would permit me to `M-x rename-uniquely' the SLIME inspector buffer, after getting the range I was interested in, and inspect different values inspected aggregatte structure I am interested in without losing context (when going forward or backward). This ability is lost in the new implementation and new framework. [I admit I have not studied the code yet to see where it breaks.]
|> No, I don't disagree, the principle is admirable. My claim is its |> application is wrong. I'll take this case as a point. The feature was |> removed based on the assumption that "most people don't work with large |> datasets", so it was not worth having. and by removing the feature we |> are able to simplify things. | | You assume that that was my assumption, but your assumption is wrong. | My primary goal was to make the mechanism work for objects of all types | and not only for some with special inspect methods. This should make | inspect methods simpler (and it did).
Sorry I projected that assumption on you. My view had been that the problematic cases (hash tables and arrays) had warranted special treatment and so had been factored out for that special treatment, and that their inspect behaviour could be improved or tweaked independently was good.
| I removed the customizable variable because a) I think the limit should | be customizable on the Emacs side and not on the Lisp side b) what I | wanted was a mechanism that only fetches the parts around point when | moving backward/forward. b) was essentially not possible with Alan's | code, it's possible now, but not (yet) implemented.
Lynn is asking for this. I'd like to see it too.
[Also, as said above I was able to hack it simply with another global which is set explicitly, in the specialized inspector method. which when combined with rename-uniquely and the contents limit variable could cut the surface of problematic data]
| The old code had bugs and Alan, who originally wrote the code, or those | people who introduced the bugs, didn't fix them for a long time. Little | is lost if we implement it from scratch.
[I have a vested interest here as I was using the old implementation after fixing the bugs I'd spotted, and extending it so it was useful to me. It seemed sound if somewhat clunky. Having to see the same issues again is disappointing, thats all]
-- Madhu