bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#12232: 24.1.50; regression: repeat.el commit 2012-05-05 breaks repea


From: Drew Adams
Subject: bug#12232: 24.1.50; regression: repeat.el commit 2012-05-05 breaks repeating commands
Date: Sun, 16 Sep 2012 16:31:10 -0700

> > Stefan, could you please take a look at this?
> > 
> > This comment in the version of repeat.el before your change 
> > might be pertinent, as it refers to a symptom (nesting exceeding 
> > `max-lisp-eval-depth') similar to what I am seeing now:
> > 
> >  ;; A simple recursion here gets into trouble with 
> >  ;; max-lisp-eval-depth on long sequences of repetitions
> >  ;; of a command like `forward-word' (only 32 repetitions
> >  ;; are possible given the default value of 200 for
> >  ;; max-lisp-eval-depth), but if I now locally disable 
> >  ;; the repeat char I can iterate indefinitely here
> >  ;; around a single level of recursion.
> 
> The problem arises when I add this binding to the let:
>  (repeat-message-function 'ignore)
> 
> I.e.,
> (defun repeat-command (command)
>   "Repeat COMMAND."
>  (interactive)
>  (let ((repeat-previous-repeated-command  command)
>        (repeat-message-function           'ignore) ; <=====
>        (last-repeatable-command           'repeat))
>    (repeat nil)))
>  
> (defun backward-char-repeat ()
>   "Like `backward-char'..."
>   (interactive)
>   (repeat-command 'backward-char))
>  
> (define-key ctl-x-map [up] 'backward-char-repeat)
> 
> The binding of `repeat-message-function' to `ignore' is to 
> suppress a repeat message.  If I need to do that differently
> from now on, please advise how - IOW, how to work around
> this `max-lisp-eval-depth' bug.  Thx.


ping







reply via email to

[Prev in Thread] Current Thread [Next in Thread]