exploits modified built-in versions of `fset' and `defalias' which
take care of this functionality directly:
(ad-start-advice-on-load, ad-activate-on-definition)
(ad-definition-hooks, ad-enable-definition-hooks, ad-defined-function)
(ad-advised-definers, ad-advised-byte-compilers, byte-constant)
(byte-constant-limit, byte-constant2, byte-fset)
(ad-byte-code-fset-regexp): Variables deleted.
(ad-activate-defined-function, ad-find-fset-in-byte-code)
(ad-scan-byte-code-for-fsets, ad-advised-byte-code)
(ad-recover-byte-code, ad-enable-definition-hooks)
(ad-disable-definition-hooks): Functions deleted.
(defun, defmacro, fset, defalias, define-function)
(byte-compile-from-buffer, byte-compile-top-level): Removed `defadvice'
for these functions.
(ad-save-real-definitions): Removed saving of `byte-code'.
(ad-activate-off): New dummy function.
(ad-activate-on): New name for `ad-activate'. All calls changed.
(ad-with-auto-activation-disabled): New macro prevents automatic
advice activation.
(ad-safe-fset): New function, used instead of `ad-real-fset'.
(ad-compile-function): Disable automatic advice activation while
compiling, because `byte-compile' uses `fset'.
(ad-activate-on): Renamed from `ad-activate'. Avoid recursive calls.
(ad-activate-on-top-level): New variable.
(ad-start-advice, ad-stop-advice, ad-recover-normality): Modified to
achieve de/activation of automatic advice activation by setting the
definition of `ad-activate' to `ad-activate-on' or `ad-activate-off'.
(ad-start-advice): Is now called unconditionally when Advice is loaded.
Made compilation behavior of advised definitions customizable, since
loading the byte-compiler takes some time and is not always worth the
cost, e.g., if one only wants to make a few simple modifications:
(ad-default-compilation-action): New variable which specifies whether
to compile an advised definition in case the COMPILE argument to
`ad-activate-on' or one of its friends was supplied as nil.
(ad-preactivate-advice): Supply negative COMPILE argument to prevent
compilation.
(ad-should-compile): New function.
(ad-activate-advised-definition): Use `ad-should-compile' to determine
whether an advised definition should get compiled.
(ad-activate-on, ad-update, ad-activate-regexp, ad-update-regexp)
(ad-activate-all): Doc fixes.
(ad-update): Leave handling of COMPILE up to `ad-activate-on'.
Extracted construction of freeze-advices from `defadvice':
(ad-make-freeze-definition): New function.
(defadvice): Use `ad-make-freeze-definition' to construct frozen defs.
(imenu--cleanup): New function.
(imenu-example--name-and-position): Now uses markers.
(imenu-add-to-menubar): New function to add an entry
to the menubar for the buffer's current local keymap.
(rmail): Call rmail-summary at the end if rmail-display-summary is set.
(rmail-highlight-face): New variable.
(rmail-highlight-headers): Use it if non-nil.
type-break-warning-repeat: New variables.
type-break-current-time-warning-interval,
type-break-current-keystroke-warning-interval,
type-break-time-warning-count, type-break-keystroke-warning-count: New
variables.
type-break-demo-boring: New function.
type-break-demo-functions: Add it to the default list.
type-break-post-command-hook: New variable.
type-break-run-tb-post-command-hook: New function.
type-break-mode: Install them.
type-break-keystroke-reset: New function.
type-break-check: Call it when appropriate.
type-break: call type-break-cancel-schedule.
Check that rest time was within 60 seconds of "good rest" interval, not 120.
type-break-time-warning-schedule, type-break-cancel-time-warning-schedule,
type-break-time-warning-alarm, type-break-time-warning: New functions.
type-break-schedule: Remove interactive spec and docstring.
Call type-break-time-warning-schedule.
type-break-cancel-schedule: Remove interactive spec and docstring.
Call type-break-cancel-time-warning-schedule.
type-break-check: Don't check for type-break-mode here.
type-break-run-tb-post-command-hook does that now.
type-break-keystroke-warning: New function.
type-break-check-keystroke-warning: New inline function (defsubst).
type-break-check: Call it.
type-break-query: Bind type-break-mode to nil while calling query function.
purify-flag, to avoid error message when loading ediff in a frame
that has no menu bar.
(ediff-setup): Improved mode-line-buffer-identification.
Now accommodates buffer identifications generated by
mode-line.el and uniquify.el.
(ediff-current-diff-face-A/B,
ediff-fine-diff-face-A/B,ediff-odd/even-diff-face-A/B):
Variables changed to contain face names
instead of face internal representation.
preprocess file contents before being passed to forms mode.
(forms-write-file-filter): new hook function to preprocess file
contents before it is being saved to disk. Can be used to undo the
effects of `forms-read-file-filter'.
(forms-mode): Supply a default format if no `forms-format-list' was
specified.
Preprocess file contents using `forms-read-file-filter' and attach
`forms-write-file-filter' to the `local-write-file-hooks' of the file
buffer.
Present a friendly message if the visited file is empty or new.
(forms--intuit-from-file): New subroutine to get the number of fields
from the data file; constructs a default format list.
(forms-save-buffer): Forms mode wrapper for `save-buffer'.
(forms--change-commands, forms--exit): Use it.
(forms--update): Check for the presence of the field separator in any
of the fields. Refuse update if found.
(forms-delete-record): Allow the last record of the file to be
deleted, even if not terminated by a newline.
(forms--local-write-file-function): Remove. Didn't do any good.
Replaced by `forms-save-buffer'.
type-break-keystroke-threshold: Calcuate based on 35wpm, not 30.
type-break-demo-function-vector: Variable deleted.
type-break-demo-functions: New variable.
type-break: Use new variable.
type-break-time-difference: Return absolute value.
type-break-format-time: New inline function (defsubst).
type-break-statistics, type-break: Use it.
type-break-mode: Just test prefix-numeric-value >= 0 to to enable mode.
The only visible difference is that invocation with no prefix arg the same
as if given positive numeric prefix arg now.
Do not document type-break-query-interval or type-break-query-function
here; make fritterware-happy users read the source.
type-break: If type break is much less (at least 2 minutes) than a "good
rest interval", ask user whether or not to continue with the break.
type-break-check: Do nothing if user is in the minibuffer.
When alarm is signaled but min threshold isn't reached, reschedule break.
type-break-demo-life: Eat char entered to end life demo.
(ediff-find-file, ediff-files-internal, ediff-patch-file):
Modified to work with remote and compressed files.
(ediff-read-file-name, ediff-buffers): Better defaults.
(ediff-read-file-name) Handle OS/2.
(ediff-forward-word-function) New function.
(ediff-wordify-function): Variable deleted.
(ediff-toggle-regexp-match, ediff-hide-regexp-matches): New functions.
(ediff-focus-on-regexp-matches): New function.
(ediff-status-info): New function.
(ediff-file-names, ediff-line-numbers): Functions deleted.
Only pop up the choices window if an error is found in the region.
Don't change the size of the choices window except as needed.
Don't (sit-for 0) at the start of ispell-region (i.e. don't force
redisplay at the start of the region).
(ispell-overlay-window): Small documentation fix.
value of tags-file-name before calling tags-verify-table, which switches
buffers; change all references to use local-tags-file-name. Save current
buffer before that call and on error, switch back before killing local
value of tags-file-name.
threshold to 1/5, rather than 1/4, of upper.
type-break-guestimate-keystroke-threshold: Change threshold fraction here too.
type-break-demo-life: Restart when all life perishes.
Don't print package name if pkgname is nil. Don't dump state if
varlist is nil.
(reporter-bug-hook, reporter-submit-bug-report)
(reporter-calculate-separator, reporter-initial-text):
New or modified functions and variables attempting to prohibit
submission of empty bug reporters.
(reporter-prompt-for-summary-p): Default value now nil.
(reporter-dump-state): Make sure there's a final
newline after the setq sexp.
Pass mail buffer as second arg to print fcn.
Use symbol-value to get varsym's value.
(reporter-dump-variable): Handle long sexp's even
after entering newline. Done by filling current line.
Much better pretty printing of long lists!!
Handle void variables.
(reporter-version): New variable.
(reporter-submit-bug-report-internal): Leave point after the salutation.
(reporter-submit-bug-report): Prompt for a subject.
type-break-mode (function): If setting to t and mode was already enabled,
don't reschedule breaks or reset keystroke counter.
type-break-good-rest-interval: New variable.
type-break-time-difference: New inline function (defsubst).
tyype-break-time-last-break, type-break-time-next-break,
type-break-time-last-command: New variables.
type-break-check: Reset timers and counters if user has been idle more than
type-break-good-rest-interval seconds (assuming it's set).
Never set keystroke counter to be less than the min threshold.
type-break: Admonish user if s/he rested less than
type-break-good-rest-interval seconds (assuming it's set).
type-break-demo-hanoi: Eat a char when quitting.
type-break-statistics, type-break-guestimate-keystroke-threshold: New
commands.
type-break-interval: Increase default to 1 hour.
type-break-query-interval: Variable renamed from type-break-delay-interval.
type-break-keystroke-interval: Variable deleted.
type-break-keystroke-threshold: New variable.
type-break-demo-life: Function renamed from type-break-life.
type-break-demo-hanoi: Function renamed from type-break-hanoi.
type-break-alarm-p: Variable renamed from type-break-p.
type-break: Don't query.
type-break-query: (New function) query here.
type-break-check: Call type-break-query, not type-break.
Do nothing if type-break-mode is nil.
Increment type-break-keystroke-count with the length of this-command-keys,
not just 1.
Query for break when keystroke count exceeds cdr of keystroke threshold
variable.
Query for break after an alarm only if keystroke count exceeds car of
keystroke threshold variable.
type-break-select: Function deleted.
type-break: Move that code here.
type-break-cancel-schedule: Function renamed from cancel-type-break.
Reset type-break-alarm-p.
type-break-alarm: Function renamed from type-break-soon.
(top level): Call type-break-mode; don't set up hook explicitly.
Add a few menu items and separators.
(gnus-mouse-pick-group): New function, on mouse-2 in Group mode.
(gnus-mouse-pick-article): New function, on mouse-2 in Summary mode.
windows in other frames, not just minibuffer-exclusive frames.
Resize the minibuffer window/frame now, in case it has already been
initialized with text.
even if no window-system. Call completion-fixup-function if not nil.
(completion-fixup-function): New variable.
(choose-completion): Use mouse-face properties to find string to use.
these functions are called by generic code a lot--the effect was that
a user was forced to use the threads feature no matter what. In
addition the code to turn on gnus-show-threads was incorrect.
Set vc-log-operation-hook locally.
(vc-next-action-on-file): Not here.
(vc-admin): Pass new arg.
(vc-checkin): Pass new arg instead of setting vc-log-operation-hook.