src/xdisp.c (Fmove_point_visually): New function.
lisp/bindings.el (visual-order-cursor-movement): New defcustom.
(right-char, left-char): Provide visual-order cursor motion by
calling move-point-visually. Update the doc strings.
doc/emacs/basic.texi (Moving Point): Document visual-order-cursor-movement
and its effect on right-char and left-char.
doc/lispref/display.texi (Bidirectional Display): Document move-point-visually.
etc/NEWS: Document the new feature.
* doc/lispref/display.texi (ImageMagick Images): Mention :max-width and
:max-height.
* lisp/net/shr.el (shr-rescale-image): Use the new
:max-width/:max-height functionality.
* src/image.c (compute_image_size): New function to implement
:max-width and :max-height.
(imagemagick_load_image): Use it.
set-temporary-overlay-map and overriding-terminal-local-map.
* doc/lispref/modes.texi (Mode Line Data, Properties in Mode): Advertise
`keymap' rather than `local-map'.
* display.texi (Faces): Minor clarifications.
(Defining Faces): Clarify default vs custom face specs. Document
face-spec-set.
* display.texi (Overlay Properties):
* text.texi (Special Properties): Use the "anonymous face"
terminology. Describe foreground-color and background-color forms
as compatibility-only.
* doc/emacs/files.texi (File Conveniences): Not just GIFs can be animated.
* doc/lispref/display.texi (Multi-Frame Images): Minor rephrasing.
* etc/NEWS: Related edits.
* doc/lispref/display.texi (GIF Images, TIFF Images): Delete these nodes.
(ImageMagick Images): For :index, use an xref rather than duplicating.
(Other Image Types): Add GIF, adjust formatting.
(Multi-Frame Images): Rename from Animated Images. Expand section.
* doc/lispref/elisp.texi (Top): Update menu for these changes.
Be more systematic about using "@." (not ".") at end of sentence that
ends in a capital letter, and about appending "@:" after non-ends of
sentences that end in a lower case letter followed by "." followed by
whitespace. Omit unnecessary use of "@:" and "@.". Similarly for "?"
and "!". Be more consistent about putting a comma after "i.e." and
"e.g."; this is the typical American style and it's easier to code in
Texinfo.
Fixes: debbugs:12973
* doc/lispref/commands.texi (Using Interactive): Fix index entry.
* doc/lispref/customize.texi (Variable Definitions):
* doc/lispref/display.texi (Defining Faces):
* doc/lispref/sequences.texi (Char-Tables): Fix xref.
* doc/lispref/lists.texi (Property Lists): Move here from symbols.texi.
(Plist Access): Rename from Other Plists.
* doc/lispref/symbols.texi (Symbol Properties): New node.
(Symbol Plists): Make it a subsection under Symbol Properties.
(Standard Properties): New node.
* lisp/faces.el (face-underline-p, face-inverse-video-p, face-bold-p)
(face-italic-p): Add optional argument "inherit".
* doc/lispref/display.texi (Attribute Functions):
Add new "inherit" argument for face-bold-p etc.
Move description of this argument to a common section, like "frame".
* lisp/faces.el (set-face-inverse-video, set-face-bold, set-face-italic):
Remove -p suffix from names, for consistency with other set-face-*.
(set-face-inverse-video): Fix interactive spec.
* lisp/play/gamegrid.el (gamegrid-make-mono-tty-face):
* lisp/textmodes/table.el (table--update-cell-face):
Use set-face-inverse-video rather than now obsolete alias.
* doc/lispref/display.texi (Attribute Functions):
Update for set-face-* name changes.
* lisp/faces.el (face-underline-p): Doc fix. Handle :underline being
things other than `t' (a string, a list).
(face-inverse-video-p): Doc fix.
(set-face-underline): Rename it back from set-face-underline-p.
Doc fix. Allow interactive input of values other than t.
(read-face-attribute): Apply formatting to :underline,
since like :box and :stipple it can take list values.
* doc/lispref/display.texi (Face Attributes): Fix :underline COLOR description.
(Attribute Functions): Update for set-face-underline rename.
Tweak descriptions of face-underline-p, face-inverse-video-p.
* etc/NEWS: Related edit.
* doc/lispref/display.texi: Document new face attribute.
* lisp/cus-face.el (custom-face-attributes): Add wave-style underline
attribute.
* lisp/faces.el (set-face-attribute): Update docstring.
* src/dispextern.h (face_underline_type): New enum.
(face): Add field for underline type.
* src/nsterm.m (ns_draw_underwave): New function.
(ns_draw_text_decoration): Use it.
* src/w32term.c (w32_restore_glyph_string_clip, w32_draw_underwave):
New functions.
(x_draw_glyph_string): Use them.
* src/xfaces.c (Qline, Qwave): New Lisp objects.
(check_lface_attrs, merge_face_ref)
(Finternal_set_lisp_face_attribute, realize_x_face): Handle
wave-style underline face attributes.
* src/xterm.c (x_draw_underwave): New function.
(x_draw_glyph_string): Use it.
* face-remap.el (face-remap-add-relative, face-remap-set-base)
(buffer-face-set, buffer-face-toggle, buffer-face-mode-invoke):
Doc fixes.
* doc/lispref/display.texi (Face Remapping): Minor clarification.
* doc/lispref/text.texi (Special Properties): Clarify the meaning of a
list of faces in the `face' property.
Fixes: debbugs:11225
* commands.texi (Recursive Editing): recursive-edit is a
command.
* compile.texi (Docs and Compilation):
byte-compile-dynamic-docstrings is an option.
* debugging.texi (Invoking the Debugger): debug is a command.
* display.texi (Progress): progress-reporter-update and
progress-reporter-force-update have VALUE argument optional.
(Animated Images): Use non-@code{nil} instead of non-nil.
* files.texi (Format Conversion Round-Trip): Use non-@code{nil}
instead of non-nil.
* frames.texi (Creating Frames): make-frame is a command.
(Input Focus): select-frame is a command.
(Pointer Shape): void-text-area-pointer is an option.
* help.texi (Describing Characters): read-kbd-macro is a
command.
(Help Functions): describe-prefix-bindings is a command.
* markers.texi (Creating Markers): Both arguments of copy-marker
are optional.
* minibuf.texi (Reading File Names): Use @kbd instead of @code.
* modes.texi (Mode Line Variables): mode-line-remote and
mode-line-client are not options.
(Imenu): imenu-add-to-menubar is a command.
(SMIE Indentation Helpers): Use non-@code{nil} instead of
non-nil.
* os.texi (Sound Output): play-sound-file is a command.
* package.texi (Package Archives): Use @key{RET} instead of
@kbd{RET}.
* processes.texi (Signals to Processes): Use @key{RET} instead
of @code{RET}.
(Signals to Processes): signal-process is a command.
* text.texi (Clickable Text): Use @key{RET} instead of
@kbd{RET}.
(Base 64): base64-encode-string is not a command while
base64-decode-region is.
* windows.texi (Switching Buffers): pop-to-buffer is a command.
* doc/lispref/display.texi (Delayed Warnings): New node.
* doc/misc/gnus-faq.texi (FAQ 8-2): Mention EasyPG.
* doc/misc/gnus.texi: Reduce references to obsolete pgg library.
(Security): Note that epg is now the default.
* doc/misc/message.texi (Using PGP/MIME): Note that epg is now the default.
* doc/misc/nxml-mode.texi (Completion): C-RET is no longer bound to
nxml-complete.
* lisp/subr.el (delayed-warnings-hook): Doc fix.
* src/keyboard.c (Vdelayed_warnings_list): Doc fix.
* doc/lispref/display.texi (Fringes): Note that fringes are shown on graphical
displays only.
(Fringe Size/Pos, Fringe Bitmaps, Making Buttons): Clarifications.
(Replacing Specs): Clarify example.
(Manipulating Buttons): Note that button-at can return a marker.
(Buttons): Minor rewrite.
(Character Display): New node. Consolidate all character display
related nodes into its subsections.
(Usual Display): Character 127 is also affected by ctl-arrow.
(Display Tables): Improve example.
* lisp/button.el (button-at): Minor addition to docstring.
* doc/lispref/display.texi (The Echo Area): Add xref to Output Streams.
(Displaying Messages): Improve doc of message.
(Echo Area Customization, Invisible Text): Copyedits.
(Invisible Text): Mention that spec comparison is done with eq.
(Width): Improve doc of char-width.
(Faces): Recommend using symbol instead of string for face name.
Minor clarifications.
(Defining Faces): Copyedits. Update face example.
(Attribute Functions): Mark set-face-foreground etc as commands.
(Face Remapping): Mention text-scale-adjust. Clarify
face-remapping-alist and related docs.
(Face Functions): Don't document make-face or copy-face.
* lisp/faces.el (make-face, make-empty-face, copy-face):
* lisp/face-remap.el (face-remap-add-relative, face-remap-set-base):
Doc fixes.
* src/xfaces.c (Vface_remapping_alist): Doc fix.
* doc/lispref/display.texi (Forcing Redisplay): Various rewrites to reflect
new value of redisplay-dont-pause.
(Truncation): Copyedits.
* src/dispnew.c (Fredisplay, Vredisplay_preemption_period): Update doc
to reflect default non-nil value of redisplay-dont-pause.
* lisp/subr.el (save-window-excursion): Doc fix.
* doc/lispref/windows.texi (Window Configurations): save-window-excursion is
now a macro.
* doc/lispref/display.texi (Temporary Displays): with-output-to-temp-buffer is
now a macro.
Fixes: debbugs:9979