I have the following structure of list and want to prettify it.
The list is composed of elements as in:
((p1 . q1) . text) ((p1 . q2) . text)
((p2 . q3) . text) ((p2 . q4) . text)
And want to isolate each list with identical p
.
Thusly, some structure similar to:
((p1 . q1) . text)
((p1 . q2) . text)
((p2 . q3) . text)
((p2 . q4) . text)
Here is the actual list
'((((1 . 3) . "This buffer is for text") ((1 . 5) . "This buffer is for text")) (((1 . 3) . "buffer is for text that") ((1 . 5) . "buffer is for text that")) (((1 . 3) . "is for text that is") ((1 . 5) . "is for text that is")) (((1 . 3) . "for text that is not") ((1 . 5) . "for text that is not")) (((1 . 3) . "text that is not saved") ((1 . 5) . "text that is not saved")) (((1 . 3) . "that is not saved and") ((1 . 5) . "that is not saved and")) (((1 . 3) . "is not saved and for") ((1 . 5) . "is not saved and for")) (((1 . 3) . "not saved and for Lisp") ((1 . 5) . "not saved and for Lisp")) (((1 . 3) . "saved and for Lisp evaluation") ((1 . 5) . "saved and for Lisp evaluation")) (((2 . 3) . "and for Lisp evaluation To") ((2 . 5) . "and for Lisp evaluation To")) (((2 . 3) . "for Lisp evaluation To create") ((2 . 5) . "for Lisp evaluation To create")) (((2 . 3) . "Lisp evaluation To create a") ((2 . 5) . "Lisp evaluation To create a")) (((2 . 3) . "evaluation To create a file") ((2 . 5) . "evaluation To create a file")) (((2 . 4) . "To create a file visit") ((2 . 6) . "To create a file visit")) (((2 . 4) . "create a file visit it") ((2 . 6) . "create a file visit it")) (((2 . 4) . "a file visit it with") ((2 . 6) . "a file visit it with")) (((2 . 4) . "file visit it with C") ((2 . 6) . "file visit it with C")) (((2 . 4) . "visit it with C x") ((2 . 6) . "visit it with C x")) (((2 . 4) . "it with C x C") ((2 . 6) . "it with C x C")) (((2 . 4) . "with C x C f") ((2 . 6) . "with C x C f")) (((2 . 4) . "C x C f and") ((2 . 6) . "C x C f and")) (((2 . 4) . "x C f and enter") ((2 . 6) . "x C f and enter")) (((2 . 4) . "C f and enter text") ((2 . 6) . "C f and enter text")) (((2 . 4) . "f and enter text in") ((2 . 6) . "f and enter text in")) (((2 . 4) . "and enter text in its") ((2 . 6) . "and enter text in its")) (((2 . 4) . "enter text in its buffer") ((2 . 6) . "enter text in its buffer")) (((3 . 4) . "text in its buffer This")) (((3 . 4) . "in its buffer This buffer")) (((3 . 4) . "its buffer This buffer is")) (((3 . 4) . "buffer This buffer is for")) (((3 . 5) . "This buffer is for text")) (((3 . 5) . "buffer is for text that")) (((3 . 5) . "is for text that is")) (((3 . 5) . "for text that is not")) (((3 . 5) . "text that is not saved")) (((3 . 5) . "that is not saved and")) (((3 . 5) . "is not saved and for")) (((3 . 5) . "not saved and for Lisp")) (((3 . 5) . "saved and for Lisp evaluation")) (((4 . 5) . "and for Lisp evaluation To")) (((4 . 5) . "for Lisp evaluation To create")) (((4 . 5) . "Lisp evaluation To create a")) (((4 . 5) . "evaluation To create a file")) (((4 . 6) . "To create a file visit")) (((4 . 6) . "create a file visit it")) (((4 . 6) . "a file visit it with")) (((4 . 6) . "file visit it with C")) (((4 . 6) . "visit it with C x")) (((4 . 6) . "it with C x C")) (((4 . 6) . "with C x C f")) (((4 . 6) . "C x C f and")) (((4 . 6) . "x C f and enter")) (((4 . 6) . "C f and enter text")) (((4 . 6) . "f and enter text in")) (((4 . 6) . "and enter text in its")) (((4 . 6) . "enter text in its buffer")))