;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
(make-variable-buffer-local 'allout-pre-was-isearching)
;;;_ = allout-isearch-prior-pos nil
(defvar allout-isearch-prior-pos nil
- "Cue for isearch-dynamic-exposure tracking, used by allout-isearch-expose.")
+ "Cue for isearch-dynamic-exposure tracking, used by `allout-isearch-expose'.")
(make-variable-buffer-local 'allout-isearch-prior-pos)
-;;;_ = allout-isearch-did-quit
-(defvar allout-isearch-did-quit nil
- "Distinguishes isearch conclusion and cancellation.
-
-Maintained by `allout-isearch-abort' \(which is wrapped around the real
-isearch-abort), and monitored by `allout-isearch-expose' for action.")
-(make-variable-buffer-local 'allout-isearch-did-quit)
;;;_ = allout-override-protect nil
(defvar allout-override-protect nil
"Used in `allout-mode' for regulate of concealed-text protection mechanism.
It's automatically reset to nil after every buffer modification.")
(make-variable-buffer-local 'allout-override-protect)
;;;_ > allout-unprotected (expr)
-(defmacro allout-unprotected (expr)
- "Evaluate EXPRESSION with `allout-override-protect' let-bound t."
+(defmacro allout-unprotected (expression)
+ "Evaluate EXPRESSION with `allout-override-protect' let-bound to t."
`(let ((allout-override-protect t))
- ,expr))
+ ,expression))
;;;_ = allout-undo-aggregation
(defvar allout-undo-aggregation 30
"Amount of successive self-insert actions to bunch together per undo.
This is purely a kludge variable, regulating the compensation for a bug in
-the way that before-change-functions and undo interact.")
+the way that `before-change-functions' and undo interact.")
(make-variable-buffer-local 'allout-undo-aggregation)
;;;_ = file-var-bug hack
(defvar allout-v18/19-file-var-hack nil
HEADER: The first line of a topic, include the topic PREFIX and header
text.
-PREFIX: The leading text of a topic which which distinguishes it from
+PREFIX: The leading text of a topic which distinguishes it from
normal text. It has a strict form, which consists of a
prefix-lead string, padding, and a bullet. The bullet may be
followed by a number, indicating the ordinal number of the
(if allout-layout
(setq do-layout t))
- (if (and allout-isearch-dynamic-expose
- (not (fboundp 'allout-real-isearch-abort)))
+ (if allout-isearch-dynamic-expose
(allout-enwrap-isearch))
(run-hooks 'allout-mode-hook)
"Buffer point last returned by `allout-end-of-current-subtree'.")
(make-variable-buffer-local 'allout-recent-end-of-subtree)
;;;_ > allout-prefix-data (beg end)
-(defmacro allout-prefix-data (beg end)
+(defmacro allout-prefix-data (beginning end)
"Register allout-prefix state data - BEGINNING and END of prefix.
For reference by `allout-recent' funcs. Returns BEGINNING."
`(setq allout-recent-prefix-end ,end
- allout-recent-prefix-beginning ,beg))
+ allout-recent-prefix-beginning ,beginning))
;;;_ > allout-recent-depth ()
(defmacro allout-recent-depth ()
"Return depth of last heading encountered by an outline maneuvering function.
The chart for a topics' offspring precedes the entry for the topic
itself.
-\(fn &optional levels)"
+\(fn &optional LEVELS)"
;; The other function parameters are for internal recursion, and should
;; not be specified by external callers. ORIG-DEPTH is depth of topic at
)
;;;_ > allout-snug-back ()
(defun allout-snug-back ()
- "Position cursor at end of previous topic
+ "Position cursor at end of previous topic.
Presumes point is at the start of a topic prefix."
(if (or (bobp) (eobp))
(if rehide-place (goto-char rehide-place))
(allout-hide-current-entry-completely))
(allout-hide-current-entry))
- (error (concat
- "Change within concealed region prevented.")))))))
+ (error "Change within concealed region prevented"))))))
) ; if
) ; defun
;;;_ = allout-post-goto-bullet
- Implement (and clear) `allout-post-goto-bullet', for hot-spot
outline commands.
-- Massages buffer-undo-list so successive, standard character self-inserts are
- aggregated. This kludge compensates for lack of undo bunching when
+- Massages `buffer-undo-list' so successive, standard character self-inserts
+ are aggregated. This kludge compensates for lack of undo bunching when
`before-change-functions' is used."
; Apply any external change func:
(let* ((this-key-num (cond
((numberp last-command-char)
last-command-char)
- ;; XXX Only XEmacs has characterp.
- ((and (fboundp 'characterp)
- (characterp last-command-char))
+ ((fboundp 'char-to-int)
(char-to-int last-command-char))
(t 0)))
mapped-binding)
Called as part of `allout-post-command-business'."
- (let ((isearching (and (boundp 'isearch-mode) isearch-mode)))
+ (let ((isearching isearch-mode))
(cond ((and isearching (not allout-pre-was-isearching))
(allout-isearch-expose 'start))
((and isearching allout-pre-was-isearching)
((and (not isearching) allout-pre-was-isearching)
(allout-isearch-expose 'final))
;; Not and wasn't isearching:
- (t (setq allout-isearch-prior-pos nil)
- (setq allout-isearch-did-quit nil)))))
+ (t (setq allout-isearch-prior-pos nil)))))
;;;_ = allout-isearch-was-font-lock
(defvar allout-isearch-was-font-lock
(and (boundp 'font-lock-mode) font-lock-mode))
;;;_ > allout-flag-region (from to flag)
(defmacro allout-flag-region (from to flag)
- "Hide or show lines from FROM to TO, via Emacs selective-display FLAG char.
+ "Hide or show lines from FROM to TO, via Emacs `selective-display' FLAG char.
Ie, text following flag C-m \(carriage-return) is hidden until the
next C-j (newline) char.
(setq allout-isearch-prior-pos nil)
(if (not (eq mode 'final))
(setq allout-isearch-prior-pos (cons (point) (allout-show-entry)))
- (if allout-isearch-did-quit
+ (if isearch-mode-end-hook-quit
nil
(setq allout-isearch-prior-pos nil)
- (allout-show-children))))
- (setq allout-isearch-did-quit nil))
+ (allout-show-children)))))
;;;_ > allout-enwrap-isearch ()
(defun allout-enwrap-isearch ()
- "Impose `allout-mode' isearch-abort wrapper for dynamic exposure in isearch.
+ "Impose `isearch-abort' wrapper for dynamic exposure in isearch.
The function checks to ensure that the rebinding is done only once."
-
- (add-hook 'isearch-mode-end-hook 'allout-isearch-rectification)
- (if (fboundp 'allout-real-isearch-abort)
- ;;
- nil
- ; Ensure load of isearch-mode:
- (if (or (and (fboundp 'isearch-mode)
- (fboundp 'isearch-abort))
- (condition-case error
- (load-library "isearch-mode")
- ('file-error (message
- "Skipping isearch-mode provisions - %s '%s'"
- (car (cdr error))
- (car (cdr (cdr error))))
- (sit-for 1)
- ;; Inhibit subsequent tries and return nil:
- (setq allout-isearch-dynamic-expose nil))))
- ;; Isearch-mode loaded, encapsulate specific entry points for
- ;; outline dynamic-exposure business:
- (progn
- ;; stash crucial isearch-mode funcs under known, private
- ;; names, then register wrapper functions under the old
- ;; names, in their stead:
- (fset 'allout-real-isearch-abort (symbol-function 'isearch-abort))
- (fset 'isearch-abort 'allout-isearch-abort)))))
-;;;_ > allout-isearch-abort ()
-(defun allout-isearch-abort ()
- "Wrapper for `allout-real-isearch-abort' \(which see), to register
-actual quits."
- (interactive)
- (setq allout-isearch-did-quit nil)
- (condition-case what
- (allout-real-isearch-abort)
- ('quit (setq allout-isearch-did-quit t)
- (signal 'quit nil))))
+ (add-hook 'isearch-mode-end-hook 'allout-isearch-rectification))
;;; Prevent unnecessary font-lock while isearching!
(defvar isearch-was-font-locking nil)
font-lock-mode nil)))
(add-hook 'isearch-mode-hook 'isearch-inhibit-font-lock)
(defun isearch-reenable-font-lock ()
- "Reenable font-lock after isearching - for use on isearch-mode-end-hook."
+ "Reenable font-lock after isearching - for use on `isearch-mode-end-hook'."
(if (and (boundp 'font-lock-mode) font-lock-mode)
(if (and (allout-mode-p) isearch-was-font-locking)
(setq isearch-was-font-locking nil
((allout-sibling-index))))))
)
)
-;;;_ > allout-open-topic (relative-depth &optional before use_sib_bullet)
-(defun allout-open-topic (relative-depth &optional before use_sib_bullet)
+;;;_ > allout-open-topic (relative-depth &optional before use-sib-bullet)
+(defun allout-open-topic (relative-depth &optional before use-sib-bullet)
"Open a new topic at depth RELATIVE-DEPTH.
New topic is situated after current one, unless optional flag BEFORE
is non-nil, or unless current line is complete empty (not even
whitespace), in which case open is done on current line.
-If USE_SIB_BULLET is true, use the bullet of the prior sibling.
+If USE-SIB-BULLET is true, use the bullet of the prior sibling.
Nuances:
;;(if doing-beginning (save-excursion (newline (if dbl-space 2 1))))
- (allout-rebullet-heading (and use_sib_bullet ref-bullet);;; solicit
+ (allout-rebullet-heading (and use-sib-bullet ref-bullet);;; solicit
depth ;;; depth
nil ;;; number-control
nil ;;; index
Numbering of yanked topics, and the successive siblings at the depth
into which they're being yanked, is adjusted.
-`allout-yank-pop' works with `allout-yank' just like normal yank-pop
-works with normal yank in non-outline buffers."
+`allout-yank-pop' works with `allout-yank' just like normal `yank-pop'
+works with normal `yank' in non-outline buffers."
(interactive "*P")
(setq this-command 'yank)
(interactive)
(if (not allout-file-xref-bullet)
(error
- "outline cross references disabled - no `allout-file-xref-bullet'")
+ "Outline cross references disabled - no `allout-file-xref-bullet'")
(if (not (string= (allout-current-bullet) allout-file-xref-bullet))
- (error "current heading lacks cross-reference bullet `%s'"
+ (error "Current heading lacks cross-reference bullet `%s'"
allout-file-xref-bullet)
(let (file-name)
(save-excursion
Cursor is left at start position.
-Use this instead of obsolete `allout-exposure'.
-
Examples:
-\(allout-exposure (-1 () () () 1) 0)
+\(allout-new-exposure (-1 () () () 1) 0)
Close current topic at current level so only the immediate
subtopics are shown, except also show the children of the
third subtopic; and close the next topic at the current level.
-\(allout-exposure : -1 0)
+\(allout-new-exposure : -1 0)
Close all topics at current level to expose only their
immediate children, except for the last topic at the current
level, in which even its immediate children are hidden.
-\(allout-exposure -2 : -1 *)
+\(allout-new-exposure -2 : -1 *)
Expose children and grandchildren of first topic at current
level, and expose children of subsequent topics at current
level *except* for the last, which should be opened completely."
(allout-next-heading)))
(error "allout-new-exposure: Can't find any outline topics"))
(list 'allout-expose-topic (list 'quote spec))))
-;;;_ > allout-exposure '()
-(defmacro allout-exposure (&rest spec)
- "Literal frontend for `allout-old-expose-topic', doesn't evaluate arguments
-and retains start position."
- (list 'save-excursion
- '(if (not (or (allout-goto-prefix)
- (allout-next-heading)))
- (error "Can't find any outline topics"))
- (cons 'allout-old-expose-topic
- (mapcar (function (lambda (x) (list 'quote x))) spec))))
-(make-obsolete 'allout-exposure 'allout-new-exposure "19.23")
;;;_ #7 Systematic outline presentation - copying, printing, flattening
;;;_ - LaTeX formatting
;;;_ > allout-latex-verb-quote (string &optional flow)
(defun allout-latex-verb-quote (string &optional flow)
- "Return copy of STRING for literal reproduction across latex processing.
+ "Return copy of STRING for literal reproduction across LaTeX processing.
Expresses the original characters \(including carriage returns) of the
-string across latex processing."
+string across LaTeX processing."
(mapconcat (function
(lambda (char)
(cond ((memq char '(?\\ ?$ ?% ?# ?& ?{ ?} ?_ ?^ ?- ?*))
""))
;;;_ > allout-latex-verbatim-quote-curr-line ()
(defun allout-latex-verbatim-quote-curr-line ()
- "Express line for exact \(literal) representation across latex processing.
+ "Express line for exact \(literal) representation across LaTeX processing.
Adjust line contents so it is unaltered \(from the original line)
-across latex processing, within the context of a `verbatim'
+across LaTeX processing, within the context of a `verbatim'
environment. Leaves point at the end of the line."
(beginning-of-line)
(let ((beg (point))
(goto-char (1+ (match-end 0))))))
;;;_ > allout-insert-latex-header (buffer)
(defun allout-insert-latex-header (buffer)
- "Insert initial latex commands at point in BUFFER."
+ "Insert initial LaTeX commands at point in BUFFER."
;; Much of this is being derived from the stuff in appendix of E in
;; the TeXBook, pg 421.
(set-buffer buffer)
)))
;;;_ > allout-insert-latex-trailer (buffer)
(defun allout-insert-latex-trailer (buffer)
- "Insert concluding latex commands at point in BUFFER."
+ "Insert concluding LaTeX commands at point in BUFFER."
(set-buffer buffer)
(insert "\n\\end{document}\n"))
;;;_ > allout-latexify-one-item (depth prefix bullet text)
)))
;;;_ > allout-latexify-exposed (arg &optional tobuf)
(defun allout-latexify-exposed (arg &optional tobuf)
- "Format current topics exposed portions to TOBUF for latex processing.
+ "Format current topics exposed portions to TOBUF for LaTeX processing.
TOBUF defaults to a buffer named the same as the current buffer, but
with \"*\" prepended and \" latex-formed*\" appended.
Representations of actual backslashes - '\\\\\\\\' - are left as a
single backslash.
-Optional arg SUCCESSIVE-BACKSLASHES is used internally for recursion."
+\(fn REGEXP)"
+;; Optional arg SUCCESSIVE-BACKSLASHES is used internally for recursion.
(if (string= regexp "")
""
(cons function (symbol-value hook)))))))
;;;_ : my-mark-marker to accommodate divergent emacsen:
(defun my-mark-marker (&optional force buffer)
- "Accommodate the different signature for mark-marker across Emacsen.
+ "Accommodate the different signature for `mark-marker' across Emacsen.
XEmacs takes two optional args, while GNU Emacs does not,
so pass them along when appropriate."