2005-09-30 Ken Manheimer * allout.el: omnibus changes - new subsystem supporting easy gpg topic encryption/decryption. salient features: - both public- and symmetric-key modes are supported. - encryption being on a per-topic basis means you can intersperse encrypted and clear-text data in a single file to your heart's content. - user-provided symmetric-key hints, with consistency verification to help user avoid confusion - time-limited key reuse, a la (and using) mailcrypt's mc-passwd-timeout - write-file-hook and auto-save-hook activities to support auto encryption of pending topics on save; provision to skip currently-edited topic to avoid editing disturbance topic encryption functionality depends on both mailcrypt and crypt++ packages. (non-encryption allout functionality is not disrupted if either mailcrypt or crypt++ are absent.) `allout-toggle-current-subtree-encryption' is the central routine. there are a five new encryption customization variables: - allout-topic-encryption-bullet - allout-default-encryption-scheme - allout-key-verifier-handling - allout-key-hint-handling - allout-encrypt-unencrypted-on-saves topic encryption is included in mouse menu docstring for `allout-toggle-current-subtree-encryption' and customization variables provide detailed description. - repaired inhibition of concealed-text edits this helps preserve the structural integrity of outlines, as well as preventing insidiously invisible accidental edits (it also noticably slows massive exposure changes, but i consider the performance acceptable. eg, i have blanket auto-exposure set for my daily-notes log, which has real-world intricacy in a 1.1 Mb, 7000 topic outline, and have no problems working with it on a 200 MhZ windows laptop.) - disallow manually shifting a topic deeper than the offspring depth of the previous topic - avoiding confusing "containment discontinuities" - fixed retention of body relative hanging indent during promotion of collapsed bodies - made it easy to open new topic with same bullet as current topic - topic creation functions provided with any universal argument provokes now prompt for bullet, defaulting to the bullet of the previous topic. very ergonomic. - plain bullet alternates '.' period and ',' comma only. all other bullets are relegated to special status (but customizable) - comments and routine names better distinguish between: - topic body - the text contained after a header - topic header - the first line, before the body - topic entry - the header, body, and offspring - allout-beginning-of-current-entry now works as advertised - allout-end-of-current-entry relieved of superfluous allout-show-entry - reconciled with distributed allout.el 1.61 (current CVS version as of 09/30/2005), including interactive-p fixes, typo and coding style fixes, change of function prefix to "allout-", etc, and fixed problem created in outline yanking due to the interactive-p fixes - relocated some macros - refined many docstrings, including anything from correcting typos to conceptual clarification and correction - corrected commentary 'keywords' to legitimate ones - updated comentary author info (using my current email address, obscurified)