ftfont_variation_glyphs.
(setup_otf_gstring): New function.
(ftfont_drive_otf): Use it.
(ftfont_shape_by_flt): Handle variation selector.
(ftfont_variation_glyphs): New function.
(tar-data-swapped-p, tar-swap-data):
Use it instead of buffer-swapped-with.
(tar-write-region-annotate): Re-add (partial undo of last change).
(tar-mode): Use it again (partial undo as well).
(follow-windows-start-end, follow-pos-visible)
(follow-windows-aligned-p): Code cleanup.
(follow-select-if-visible): Try to avoid partially-visible lines.
(follow-select-if-visible-from-first): Call follow-redisplay and
move point to destination.
(follow-redisplay): New arg, to keep selected window unchanged.
(follow-post-command-hook): In final check for destination
visibility, use window-start and window-end instead of the less
accurate follow-pos-visible. If the selected window is redrawn,
tell follow-redisplay to preserve it.
(follow-windows-start-end, follow-pos-visible)
(follow-windows-aligned-p): Code cleanup.
(follow-select-if-visible): Try to avoid partially-visible lines.
(follow-select-if-visible-from-first): Call follow-redisplay and
move point to destination.
(follow-redisplay): New arg, to keep selected window unchanged.
(follow-post-command-hook): In final check for destination
visibility, use window-start and window-end instead of the less
accurate follow-pos-visible. If the selected window is redrawn,
tell follow-redisplay to preserve it.
(follow-update-window-start, follow-select-if-visible)
(follow-calculate-first-window-start-from-below)
(follow-post-command-hook): Code cleanup.
(follow-downward, follow-calculate-first-window-start): Function
deleted and merged into follow-redisplay.
(follow-redisplay): Merge code from follow-downward and
follow-calculate-first-window-start.
(follow-update-window-start, follow-select-if-visible)
(follow-calculate-first-window-start-from-below)
(follow-post-command-hook): Code cleanup.
(follow-downward, follow-calculate-first-window-start): Function
deleted and merged into follow-redisplay.
(follow-redisplay): Merge code from follow-downward and
follow-calculate-first-window-start.
(pmail-edit-current-message): Save all of buffer as old text.
Clear undo list.
(pmail-cease-edit): Widen first.
Operate in the view buffer; copy edited text back to mbox buffer
and re-encode what was decoded to display the message.
(pmail-abort-edit): Widen first.
(pmail-resent-attr-index): New variable.
(pmail-attr-array): Add r for resent.
(pmail-add-mbox-headers): Make 8 attributes.
(pmail-set-attribute): Extend attribute line if necessary.
(pmail-widen): New command.
(pmail-mode-map): o is pmail-output, C-o is pmail-output-as-seen,
(pmail-mode-map): c-w is pmail-widen.
(pmail-change-major-mode-hook): Do nothing unless buffer-swapped-with.
(pmail-show-message): Downcase character-coding.
(pmail-delete-unwanted-fields): Greatly simplified.
(pmail-output-as-babyl): New function.
(pmail-convert-to-babyl-format): Considerably simplified:
assume just one message and don't worry about Content-Type.
(pmail-output-as-mbox): New function.
(pmail-output): Total rewrite.
(pmail-output-as-seen): New command.
(pmail-output-read-pmail-file-name): Function deleted.
(pmail-output-to-babyl-file): Function deleted.
(pmail-output-body-to-file): Don't set an attribute.