Function: track-changes-unregister
track-changes-unregister is a byte-compiled function defined in
track-changes.el.gz.
Signature
(track-changes-unregister ID)
Documentation
Remove the tracker denoted by ID.
Trackers can consume resources (especially if track-changes-fetch is
not called), so it is good practice to unregister them when you don't
need them any more.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/track-changes.el.gz
(defun track-changes-unregister (id)
"Remove the tracker denoted by ID.
Trackers can consume resources (especially if `track-changes-fetch' is
not called), so it is good practice to unregister them when you don't
need them any more."
(track-changes--trace)
(unless (memq id track-changes--trackers)
(error "Unregistering a non-registered tracker: %S" id))
(setq track-changes--trackers (delq id track-changes--trackers))
(setq track-changes--clean-trackers (delq id track-changes--clean-trackers))
(setq track-changes--disjoint-trackers
(delq id track-changes--disjoint-trackers))
(when (cl-every #'track-changes--tracker-nobefore track-changes--trackers)
(setq track-changes--before-no t)
(remove-hook 'before-change-functions #'track-changes--before t))
(when (null track-changes--trackers)
(mapc #'kill-local-variable
'(track-changes--before-beg
track-changes--before-end
track-changes--before-string
track-changes--buffer-size
track-changes--before-clean
track-changes--state))
(remove-hook 'after-change-functions #'track-changes--after t)))