* lisp/allout.el: No need to load epa, epg, overlay when compiling.
(epg-context-set-passphrase-callback, epg-list-keys)
(epg-decrypt-string, epg-encrypt-string, epg-user-id-string)
(epg-key-user-id-list): Declare.
* lisp/subr.el (called-interactively-p-functions): New var.
(internal--called-interactively-p--get-frame): New macro.
(called-interactively-p, interactive-p): Rewrite in Lisp.
* lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip): New fun.
(called-interactively-p-functions): Use it.
* lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): New fun.
(called-interactively-p-functions): Use it.
* lisp/allout.el (allout-called-interactively-p): Don't assume
called-interactively-p is a subr.
* src/eval.c (Finteractive_p, Fcalled_interactively_p, interactive_p): Remove.
(syms_of_eval): Remove corresponding defsubr.
* src/bytecode.c (exec_byte_code): `interactive-p' is now a Lisp function.
* test/automated/advice-tests.el (advice-tests--data): Remove.
(advice-tests): Move the tests directly here instead.
Add called-interactively-p tests.
(python-pdbtrack-input-prompt, python-pdbtrack-track-stack-file):
Adjust to recognize ipdb as well as regular python pdb prompts.
Adjustments shamelessly taken exactly as suggested in EmacsWiki
page: http://www.emacswiki.org/PythonProgrammingInEmacs#toc14
true if the current command involved collapsing of text. It's reset to
false at the beginning of the next command.
(allout-post-command-business): Move the cursor to the beginning of entry
if the cursor is hidden and collapsing activity just happened.
to signal undo activity.
(allout-post-command-business): Run allout-post-undo-hook if an undo just
occurred.
(allout-after-copy-or-kill-hook), (allout-mode): Minor docstring changes.
* allout-widgets.el (allout-widgets-after-undo-function): Ensure the
integrity of the current item's decoration after it has been in the
vicinity of an undo.
(allout-widgets-mode): Include allout-widgets-after-undo-function on the
new allout-post-undo-hook.
exception for current topic. Also note that auto-saves are handled
differently.
(allout-auto-save-temporarily-disabled), (allout-just-did-undo): State
variables for tracking auto-save inhibition situation.
(allout-write-contents-hook-handler): Rename from
'allout-write-file-hook-handler', and describe how it depends on
write-contents-functions sensitivity to non-nil value to prevent file
write.
(allout-auto-save-hook-handler): Remove. auto-save does not check this in
individual buffers, only in the starting buffer, so this is not the right
way for us to inhibit auto-save in a buffer according to its condition.
(allout-mode): Use new allout-write-contents-hook-handler, and only with
write-contents-functions. Remove auto-save provisions - they're
implemented elsewhere.
(allout-before-change-handler): If undo is in progress, note that for
attention of allout-post-command-business.
(allout-post-command-business): If the command we're following was an undo,
check for change in the status of encrypted items and adjust auto-save
inhibitions accordingly.
(allout-toggle-subtree-encryption): Adjust auto-save inhibition according
to whether there are or aren't any plain-text topics pending encryption.
(allout-inhibit-auto-save-info-for-decryption): Adjust buffer-saved-size
and some allout state to inhibit auto-saves if there are plain-text topics
pending encryption.
(allout-maybe-resume-auto-save-info-after-encryption): Adjust
buffer-saved-size and some allout state to not inhibit auto-saves if there
are no longer any plain-text topics pending encryption.
(allout-next-topic-pending-encryption), (allout-encrypt-decrypted): No
longer provide for exemption of the current topic.
bullet and non-whitespace character in first topic when pasting, ensuring
that the actual spacing in the pasted topic following the bullet char is
preserved. This extra space was causing pasted encrypted topics to get a
decrypted status even when the content was actually still encrypted. Now
the decryption status from before the paste is preserved.
(allout-flag-region): Set all allout overlays so they evaporate when
reduced to zero length (evanescent), to prevent overlay leakage.
possibility of overlay leakage by making them volatile.
* allout-widgets.el (allout-widgets-tally): Define as nil so the hash is
not shared between buffers. Mode initialization is responsible for giving
it a useful starting value.
(allout-item-span): Reduce possibility of overlay leakage by making them
volatile.
(allout-widgets-count-buttons-in-region): Add diagnostic function for
tracking down overlay leaks.
the existing header prefix, rebulleting it if necessary, rather than
replacing it. This is necessary for proper operation of cooperative addons
like allout-widgets.
(allout-make-topic-prefix) (allout-rebullet-heading): Change SOLICIT arg to
INSTEAD, and interpret additionally a string value as alternate bullet to
be used, instead of prompting the user for a bullet character.
(allout-widgets-icons-dark-subdir): Track relocations of icons
* lisp/allout.el: Remove commentary about remove encryption passphrase
mnemonic support and verification.
* etc/images/icons/allout-widgets/dark-bg,
etc/images/icons/allout-widgets/light-bg,
encrypted-locked.{xpm,png}, unlocked-encrypted.{xpm,png}: Reorganize icon
directories and files to reconcile against windows short-filename clashes.
(allout-abbreviate-flattened-numbering): Rename to
allout-flattened-numbering-abbreviation, and define-obsolete-variable-alias
the old name.
(allout-flattened-numbering-abbreviation): Rename from
allout-abbreviate-flattened-numbering.
(allout-mode-p): Include among autoloads, for use by other modes with impunity.
(allout-listify-exposed): Use allout-flattened-numbering-abbreviation.
(allout-encrypt-string): Use set-buffer-multibyte directly.
(allout-set-buffer-multibyte): Remove.
solely by customization `allout-auto-activation'.
(allout-auto-activation-helper) (allout-setup): New autoloads implement new
custom set procedure for allout-auto-activation. Also, explicitly invoke
(allout-setup) after allout-auto-activation is custom-defined, to effect
the settings in emacs sessions besides the few where allout-auto-activation
customization is donea.
(allout-auto-activation): Use allout-auto-activation-helper to :set.
Revise the docstring.
(allout-init): Reduce functionality to just customizing
allout-auto-activation, and mark obsolete.
(allout-mode): Respect string values for allout-auto-activation. Run
allout-after-copy-or-kill-hook without any args.
(allout-mode) (allout-layout) (allout-default-layout) (outlineify-sticky):
Adjust docstring for new scheme.
(allout-after-copy-or-kill-hook): No arguments - hook implementers should
concentrate on the kill ring.