all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#22658: 25.1.50; `undo-auto--boundary-timer` -- is it necessary to put this on a the `timer-list'?
@ 2016-02-14  8:04 Keith David Bershatsky
  2016-02-14 16:35 ` Eli Zaretskii
  2016-02-14 16:59 ` Keith David Bershatsky
  0 siblings, 2 replies; 4+ messages in thread
From: Keith David Bershatsky @ 2016-02-14  8:04 UTC (permalink / raw)
  To: 22658

I'm not sure when it came about, but there is a `undo-auto--boundary-timer` on a constant timer that didn't use to be there in previous versions of Emacs.  It affected my ability to work on some redisplay debugging, and there is no "convenient" way to just turn it off.

Inasmuch as Undo/Redo is such an important part of an editor, is there a way to bake this important feature into the C-source code so that it doesn't clutter up the timers and/or unnecessarily trigger a redisplay?

Thanks,

Keith

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

In GNU Emacs 25.1.50.1 (x86_64-apple-darwin10.8.0, NS appkit-1038.36 Version 10.6.8 (Build 10K549))
 of 2016-02-13 built on server.private
Repository revision: cebd899370fb3b143ba640c3b6499e982e869849
Windowing system distributor 'Apple', version 10.3.1038
Configured using:
 'configure --with-ns --without-imagemagick --enable-checking=glyphs
 CPPFLAGS=-I/Users/HOME/.0.data/.0.emacs/macports/include
 LDFLAGS=-L/Users/HOME/.0.data/.0.emacs/macports/lib'

Configured features:
JPEG RSVG DBUS NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS

Important settings:
  locale-coding-system: utf-8-unix

Major mode: Summary

Minor modes in effect:
  tabbar-mode: t
  ml-mode: t
  hl-mode: t
  sd-mode: t
  buffer-read-only: t

Recent messages:
Re-scanning...
Sorting by rdate...done
Constructing summary structure...done
Scoring...done
Emacs:  undo-auto--boundary-timer
Making change-major-mode-hook buffer-local while locally let-bound!
Saving...done
Undo...
Undo!
Loading msgdb for +/Users/HOME/.0.data/.0.emacs/.0.mail/msgdb/imap/mail.lawlist.com/lawlist/INBOX.Drafts/spool...done

Load-path shadows:
None found.

Features:
(shadow emacsbug message mml mml-sec epa epg mm-decode mm-bodies
mm-encode gmm-utils mailheader sendmail lawlist-ztree lawlist-ys
lawlist-ws lawlist-wl elmo-imap4 elmo-localdir modb-standard
modb-legacy elmo-internal elmo-flag mmelmo-imap mmelmo-buffer
elsp-generic mel-u epg-config lawlist-w3m doc-view jka-compr
image-mode ccl lawlist-vl lawlist-view lawlist-undo lawlist-txt
lawlist-tm lawlist-tex compare-w diff-mode lawlist-tabbar
lawlist-speedbar lawlist-shell info esh-groups ehelp ange-ftp
lawlist-sgml lawlist-sb lawlist-ruler lawlist-replace
lawlist-rectangle lawlist-re-builder lawlist-python skeleton
lawlist-profiler lawlist-print lawlist-php lawlist-perl lawlist-parens
lawlist-org lawlist-calendar org-agenda org org-macro org-footnote
org-pcomplete org-list org-faces org-entities org-version
ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src
ob-keys ob-comint ob-core ob-eval org-compat org-macs org-loaddefs
find-func holidays hol-loaddefs cal-menu calendar cal-loaddefs
lawlist-neotree lawlist-movement lawlist-mouse lawlist-ml lawlist-misc
lawlist-messages lawlist-mc lawlist-markdown noutline outline
lawlist-lorem lawlist-linum lawlist-keymap lawlist-js json map
thingatpt cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs lawlist-ispell lawlist-isearch
lawlist-info lawlist-imenu lawlist-ibuffer lawlist-hl lawlist-grep
lawlist-git pcvs-util ido seq server conf-mode lawlist-framebufs
lawlist-frame lawlist-fm lawlist-env lawlist-elscreen lawlist-elisp
lawlist-dv lawlist-image lawlist-files zeroconf dbus xml lawlist-ds
lawlist-dired dired dired-loaddefs format-spec lawlist-diff
lawlist-desktop frameset lawlist-saveplace lawlist-debug
lawlist-window debug lawlist-css smie lawlist-compile rx lawlist-color
lawlist-cm lawlist-cc-mode lawlist-cc-awk lawlist-font-lock cl-macs
lawlist-cc-fonts lawlist-cc-guess lawlist-cc-menus lawlist-cc-align
lawlist-cc-cmds lawlist-cc-styles lawlist-cc-engine lawlist-cc-langs
lawlist-cc-vars lawlist-cc-defs lawlist-cc-bytecomp lawlist-calc
lawlist-calc+ lawlist-bk lawlist-bc lawlist-bbdb gnus nnheader
wid-edit mail-parse rfc2231 mailabbrev mail-extr rfc822 timezone
lawlist-minibuffer gv lawlist-auth gnus-util rmail rmail-loaddefs
rfc2047 rfc2045 ietf-drums mail-utils mm-util mail-prsvr
password-cache lawlist-as lawlist-archive lawlist-apropos lawlist-+
lawlist-lcl byte-opt bytecomp byte-compile cl-extra cconv lawlist-help
disp-table easy-mmode edmacro kmacro quail help-mode easymenu
cl-loaddefs cl-lib pcase derived advice shell pcomplete comint
ansi-color ring savehist time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win
ucs-normalize term/common-win tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode
register page menu-bar rfn-eshadow timer select scroll-bar mouse
jit-lock font-lock syntax facemenu font-core frame cl-generic cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese charscript case-table
epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind kqueue cocoa
ns multi-tty make-network-process emacs)

Memory information:
((conses 16 2633228 465822)
 (symbols 48 125045 0)
 (miscs 40 238 633)
 (strings 32 289566 82868)
 (string-bytes 1 10698689)
 (vectors 16 71523)
 (vector-slots 8 1453305 12776)
 (floats 8 1846 724)
 (intervals 56 26106 226)
 (buffers 976 26))





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#22658: 25.1.50; `undo-auto--boundary-timer` -- is it necessary to put this on a the `timer-list'?
  2016-02-14  8:04 bug#22658: 25.1.50; `undo-auto--boundary-timer` -- is it necessary to put this on a the `timer-list'? Keith David Bershatsky
@ 2016-02-14 16:35 ` Eli Zaretskii
  2016-02-14 16:59 ` Keith David Bershatsky
  1 sibling, 0 replies; 4+ messages in thread
From: Eli Zaretskii @ 2016-02-14 16:35 UTC (permalink / raw)
  To: Keith David Bershatsky; +Cc: 22658

> Date: Sun, 14 Feb 2016 00:04:43 -0800
> From: Keith David Bershatsky <esq@lawlist.com>
> 
> I'm not sure when it came about, but there is a `undo-auto--boundary-timer` on a constant timer that didn't use to be there in previous versions of Emacs.  It affected my ability to work on some redisplay debugging, and there is no "convenient" way to just turn it off.
> 
> Inasmuch as Undo/Redo is such an important part of an editor, is there a way to bake this important feature into the C-source code so that it doesn't clutter up the timers and/or unnecessarily trigger a redisplay?

You can always remove the timer from timer-list, can't you?  In Emacs
25.1.50, there's even a command to do that.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#22658: 25.1.50; `undo-auto--boundary-timer` -- is it necessary to put this on a the `timer-list'?
  2016-02-14  8:04 bug#22658: 25.1.50; `undo-auto--boundary-timer` -- is it necessary to put this on a the `timer-list'? Keith David Bershatsky
  2016-02-14 16:35 ` Eli Zaretskii
@ 2016-02-14 16:59 ` Keith David Bershatsky
  2021-07-08  1:10   ` Lars Ingebrigtsen
  1 sibling, 1 reply; 4+ messages in thread
From: Keith David Bershatsky @ 2016-02-14 16:59 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 22658

Thank you, Eli, for taking a look at #22658.

I didn't see an off switch because `undo-auto--undoable-change` is triggered from `insdel.c` and the timer will renew itself if it is merely removed from the `timer-list`.  I like undo/redo, but find myself spinning my mental wheels to see if this can somehow be moved to some type of hook or simply hard-wired to something other than a timer.

;;  Prevent the `timer-list' from receiving `undo-auto--boundary-timer'.
(defun undo-auto--undoable-change ()
  "Called after every undoable buffer change."
  ;; (add-to-list 'undo-auto--undoably-changed-buffers (current-buffer))
  ;; (undo-auto--boundary-ensure-timer)
  )
(setq timer-list (delq 'undo-auto--boundary-timer timer-list))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

At Sun, 14 Feb 2016 18:35:49 +0200,
Eli Zaretskii wrote:
> 
> 
> You can always remove the timer from timer-list, can't you?  In Emacs
> 25.1.50, there's even a command to do that.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#22658: 25.1.50; `undo-auto--boundary-timer` -- is it necessary to put this on a the `timer-list'?
  2016-02-14 16:59 ` Keith David Bershatsky
@ 2021-07-08  1:10   ` Lars Ingebrigtsen
  0 siblings, 0 replies; 4+ messages in thread
From: Lars Ingebrigtsen @ 2021-07-08  1:10 UTC (permalink / raw)
  To: Keith David Bershatsky; +Cc: 22658

Keith David Bershatsky <esq@lawlist.com> writes:

> I didn't see an off switch because `undo-auto--undoable-change` is
> triggered from `insdel.c` and the timer will renew itself if it is
> merely removed from the `timer-list`.  I like undo/redo, but find
> myself spinning my mental wheels to see if this can somehow be moved
> to some type of hook or simply hard-wired to something other than a
> timer.

(I'm going through old bug reports.)

I think using timers for the undo boundary is the right solution here --
Emacs will put a lot of stuff on the timer list, like
`blink-cursor-start' etc.  If this makes certain debugging difficult,
I'd suggest advising run-at-time to ignore the problematic timers or
something along those lines.

But Emacs is doing the right thing here, I think, so I'm closing this
bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-07-08  1:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-14  8:04 bug#22658: 25.1.50; `undo-auto--boundary-timer` -- is it necessary to put this on a the `timer-list'? Keith David Bershatsky
2016-02-14 16:35 ` Eli Zaretskii
2016-02-14 16:59 ` Keith David Bershatsky
2021-07-08  1:10   ` Lars Ingebrigtsen

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.