[slime-devel] Re: [Patch] Implementation of a macroexpansion stack.

Marco Baringer mb at bese.it
Sat May 13 13:21:55 UTC 2006


"Tobias C. Rittweiler" <tcr at freebits.de> writes:

>> 2006-05-13  Matthias Koeppe  <mkoeppe at mail.math.uni-magdeburg.de>
>>
>> 	* slime.el (slime-eval-macroexpand): Make the macro expansion
>> 	buffer read/write, so that it is possible to `undo' in-place
>> 	macroexpansions. 
>
> Is it possible to shadow `undo' buffer-locally?

not per buffer, but slime's macroexpansion buffers have their own
keywap anyway. having an undo which works on read-only buffers is
pretty simple:

(flet ((remap (from to)
         (dolist (mapping (where-is-internal from slime-mode-map))
           (define-key slime-macroexpansion-minor-mode-map mapping to))))
  (remap 'undo '(lambda (&optional arg)
                  (interactive)
                  (setq buffer-read-only nil)
                  (undo arg)
                  (setq buffer-read-only t))))

hth.

-- 
-Marco
Ring the bells that still can ring.
Forget the perfect offering.
There is a crack in everything.
That's how the light gets in.
	-Leonard Cohen




More information about the slime-devel mailing list