Commit Graph

131 Commits

Author SHA1 Message Date
Chong Yidong
2bc356d71c Add customization data to several built-in variables.
* lisp/cus-start.el (gc-cons-percentage, exec-suffixes)
(dos-display-scancodes, dos-hyper-key, dos-super-key)
(dos-keypad-mode, debug-on-signal, vertical-centering-font-regexp)
(make-cursor-line-fully-visible, void-text-area-pointer)
(font-list-limit): Add customization data.

* doc/lispref/display.texi (Font Lookup):
* doc/lispref/frames.texi (Pointer Shape):
* doc/lispref/processes.texi (Subprocess Creation): Use defopt for options.
2012-05-02 21:00:29 +08:00
Chong Yidong
a8e7d6d783 Merge changes from emacs-24 branch 2012-04-27 11:10:38 +08:00
Glenn Morris
16152b76a4 Use Texinfo recommended convention for quotes+punctuation. 2012-04-25 20:31:47 -04:00
Glenn Morris
1e103a7cd8 Remove unnecessary @setfilename commands from many doc/lispref/*.texi 2012-04-13 18:59:01 -07:00
Chong Yidong
81927dd2a4 New Lisp manual nodes, Applying Customizations and Custom Themes.
* doc/lispref/customize.texi (Applying Customizations):
(Custom Themes): New nodes.

* doc/lispref/display.texi (Defining Faces): Reference custom-set-faces.

* doc/lispref/modes.texi (Defining Minor Modes, Defining Minor Modes):
* doc/lispref/os.texi (Startup Summary): Copyedits.

* doc/emacs/custom.texi (Creating Custom Themes): Add reference to Custom
Themes node in Lisp manual.

* lisp/custom.el (custom-theme-set-variables): Doc fix.
2012-04-12 22:50:58 +08:00
Glenn Morris
2bb0eca1eb In doc/lispref, use @file for buffers, per the Texinfo manual.
It renders the same as @samp, so there is no visible change in most cases.
2012-04-10 00:11:23 -07:00
Chong Yidong
3d439cd10f Several miscellaneous doc changes.
* 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.
2012-04-04 15:54:02 +08:00
Chong Yidong
5319014e4f Updates for Display chapter of Lisp manual.
* doc/lispref/display.texi (Image Formats): Add imagemagick type.
(Image Descriptors): Mention how they are used.
(ImageMagick Images): Clarify role of imagemagick-register-types.
(Character Display): Don't mention glyph tables.
(Display Tables): Use make-glyph-code in example.
(Glyphs): Avoid "simple glyph code" terminology.  Note that glyph
tables are semi-obsolete.  De-document create-glyph.
(Glyphless Chars): Note that display tables override this.
(Bidirectional Display): Copyedits.  Introduce "bidirectional
reordering" terminology, and use it.

* doc/emacs/files.texi (File Conveniences): Clarify Imagemagick discussion.

* lisp/image.el (imagemagick-types-inhibit)
(imagemagick-register-types): Doc fix.
2012-03-31 00:31:24 +08:00
Chong Yidong
9a69676ae6 Updates to Display chapter of Lisp manual.
* 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.
2012-03-25 15:58:59 +08:00
Chong Yidong
fb5b8aca99 Updates to Display chapter of Lisp manual.
* 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.
2012-03-21 15:02:13 +08:00
Chong Yidong
025de85b07 Update doc to reflect new non-nil value of redisplay-dont-pause.
* 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.
2012-03-20 16:52:11 +08:00
Chong Yidong
2cc775f91d Doc fixes for save-window-excursion.
* 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
2012-03-12 00:10:07 +08:00
Chong Yidong
a08a07e339 Update Frames chapter of Lisp manager. Document clipboard manager.
* doc/emacs/killing.texi (Clipboard): Document clipboard manager.

* doc/lispref/windows.texi (Basic Windows, Coordinates and Windows)
(Coordinates and Windows):
* display.texi (Refresh Screen, Line Height, Face Attributes)
(Overlay Arrow, Beeping, Glyphless Chars): Likewise.

* doc/lispref/frames.texi (Frames): Remove little-used "terminal frame" and
"window frame" terminology.
(Frame Parameters, Font and Color Parameters, Initial Parameters)
(Size and Position, Visibility of Frames): Callers changed.
(Frames): Clarify which terminals in framep are graphical.
(Initial Parameters): --geometry is not the only option which adds
to initial-frame-alist.
(Position Parameters): Note that icon-left and icon-top are for
old window managers only.
(Size Parameters): Sizes are in characters even on graphical
displays.
(Management Parameters): Note that window-id and outer-window-id
can't really be changed, and that auto-raise isn't always obeyed.
(Cursor Parameters): Document cursor-type explicitly.
(Size and Position): The aliases set-screen-height and
set-screen-width have been deleted.
(Visibility of Frames): Mention "minimization".

* doc/lispref/os.texi (Startup Summary): Minor clarifications.
(Startup Summary, Suspending Emacs): Standardize on "text
terminal" terminology.
2012-03-04 14:50:18 +08:00
Glenn Morris
44e97401cd Standardize possessive apostrophe usage in manuals, docs, and comments
Ref: http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00649.html
2012-02-28 00:17:21 -08:00
Chong Yidong
d860baa0c3 Improve fringe documentation in Lisp manual.
* doc/lispref/display.texi (Fringe Indicators): Add xref to Fringe Bitmaps.
Move the list of standard bitmaps there.
(Fringe Cursors): Rewrite for clarity.
(Fringe Bitmaps): Consolidate the list of standard bitmaps here.
2012-02-11 22:56:54 +08:00
Glenn Morris
93137f94d8 Minor adjustment to previous imagemagick change. 2012-02-06 23:42:12 -08:00
Glenn Morris
e80e182501 * doc/lispref/display.texi (ImageMagick Images): General update. 2012-02-06 20:20:16 -08:00
Glenn Morris
af008560fe imagemagick-render-type fixes
* src/image.c (imagemagick-render-type): Change it from a lisp object
to an integer.  Move the doc here from the lisp manual.
Treat all values not equal to 0 the same.

* doc/lispref/display.texi (ImageMagick Images):
Move most details of imagemagick-render-type to the variable's doc.

* lisp/cus-start.el (imagemagick-render-type): Add it.
2012-02-06 19:31:29 -08:00
Glenn Morris
eea14f31d1 Document animated image API
* doc/lispref/display.texi (GIF Images): Mention animation.
Remove commented-out old example of animation.
(Animated Images): New subsection.
* doc/lispref/elisp.texi (Top):
* doc/lispref/vol1.texi (Top):
* doc/lispref/vol2.texi (Top): Add Animated Images menu entry.

* lisp/image-mode.el (image-animate-loop, image-toggle-animation): Doc fixes.

* lisp/image.el (image-animated-p): Doc fix.  Use image-animated-types.
(image-animate-timeout): Doc fix.

* etc/NEWS: Markup.
2012-02-03 00:44:30 -08:00
Glenn Morris
204e728dda * doc/lispref/display.texi (GIF Images, TIFF Images): Minor rephrasing. 2012-02-03 00:38:46 -08:00
Glenn Morris
4f5a10efb3 Small display.texi fix
* doc/lispref/display.texi (Image Formats):
Remove oddly specific information on versions of image libraries.
2012-02-03 00:17:05 -08:00
Chong Yidong
8c6e192092 * display.texi (Fringe Indicators): Clarify fringe-indicator-alist doc.
Fixes: debbugs:8568
2012-01-28 21:47:42 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Eli Zaretskii
579ebf8ff0 Clarify documentation of wrap-prefix and line-prefix.
doc/lispref/display.texi (Truncation):
 doc/lispref/text.texi (Special Properties): Describe what a stretch-glyph is
 instead of using that term without explanation.  Make the
 cross-references more accurate.
2011-11-26 16:07:22 +02:00
Eli Zaretskii
a3dcc84e76 Update and enhance documentation of display of control characters.
doc/emacs/display.texi (Text Display): Update the description,
 cross-references, and indexing related to display of control
 characters and raw bytes.
 doc/lispref/display.texi (Usual Display): Update the description,
 cross-references, and indexing related to display of control
 characters and raw bytes.
2011-11-26 15:51:58 +02:00
Stefan Monnier
f4e90db08b * doc/lispref/display.texi (Invisible Text): Clarify point adjustment.
Fixes: debbugs:10072
2011-11-20 15:21:22 -05:00
Paul Eggert
e1dbe924b5 Spelling fixes. 2011-11-19 18:29:42 -08:00
Chong Yidong
d366bd532d Edits to Display chapter of Emacs manual.
* doc/emacs/display.texi (Faces): Simplify discussion.  Move documentation
of list-faces-display here, from Standard Faces node.  Note
special role of `default' background.
(Standard Faces): Note special role of `default' background.  Note
that region face may be taken fom GTK.  Add xref to Text Display.
(Text Scale): Rename from "Temporary Face Changes".  Callers
changed.  Don't bother documenting variable-pitch-mode.
(Font Lock): Copyedits.  Remove font-lock-maximum-size.
(Useless Whitespace): Simplify description of
delete-trailing-whitespace.  Note active region case.
(Text Display): Fix description of escape-glyph face assignment.
Remove unibye mode discussion.  Update some parts for Unicode.
Move glyphless chars documentation to Lisp manual.

* doc/emacs/frames.texi (Tooltips): Document x-gtk-use-system-tooltips.

* doc/lispref/display.texi (Glyphless Chars): New node.
2011-10-17 21:42:28 -04:00
Chong Yidong
969aa7346f * display.texi (Low-Level Font, Face Attributes, Font Lookup): Fix xref.
Fixes: debbugs:9675
2011-10-05 17:39:54 -04:00
Eli Zaretskii
6bf7006fa2 Change the default value of redisplay-dont-pause to t.
src/dispnew.c (syms_of_display) <redisplay-dont-pause>: Default
 value is now t.  Doc fix.
 doc/lispref/display.texi (Forcing Redisplay): Update the description of
 redisplay-dont-pause due to change in the default value.
 etc/NEWS: Mention the change of the default value.
2011-09-24 17:38:16 +03:00
Stefan Monnier
4d3786ace1 * doc/lispref/display.texi (Face Functions): `face-list' returns faces.
Fixes: debbugs:9564
2011-09-20 21:33:33 -04:00
Chong Yidong
35137ed3a5 Document new Emacs 24 faces in Lisp manual.
* doc/lispref/display.texi (Basic Faces): New node.  Document new faces.

* doc/lispref/modes.texi (Major Mode Conventions): Move some text there.
(Mode Help): Remove major-mode var, duplicated in Major Modes.
2011-08-30 11:24:07 -04:00
Chong Yidong
ddb54206dd Update manuals for some Emacs 24 changes.
* doc/emacs/misc.texi (emacsclient Options): Document server-port.

* doc/lispref/display.texi (Progress): Document spinner functionality.

* doc/lispref/frames.texi (Layout Parameters): The defaults for the
menu-bar-lines and tool-bar-lines parameters depend on the mode.

* doc/lispref/objects.texi (Symbol Type): Document ## print representation.

* doc/lispref/os.texi (Killing Emacs): Note that kill-emacs can be called by
operating system signals.  Refer to save-buffers-kill-terminal
instead of save-buffers-kill-emacs.
2011-08-28 14:49:59 -04:00
Eli Zaretskii
0c95fcf739 Handle `(space ...)' display spec as paragraph separator.
src/xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when
 the display spec is of the form `(space ...)'.
 (handle_display_spec): Return the value returned by
 handle_single_display_spec, not just 1 or zero.
 (handle_single_display_spec): If the display spec is of the form
 `(space ...)', and specifies display in the text area, return 2
 rather than 1.
 src/dispextern.h (struct bidi_it): Rename the disp_prop_p member
 into disp_prop; all users changed.
 src/bidi.c (bidi_fetch_char): If compute_display_string_pos returns
 DISP_PROP = 2, substitute the u+2029 PARAGRAPH SEPARATOR character
 for the text covered by the display property.
 lisp/buff-menu.el (Buffer-menu-buffer+size): Remove calls to
 bidi-string-mark-left-to-right; they are unnecessary now.
 doc/lispref/display.texi (Specified Space): Mention that `space' specs
 influence bidi reordering.
 (Bidirectional Display): Explain how to use `(space . PROPS)' for
 separating fields with bidirectional content.
2011-08-25 13:45:33 +03:00
Eli Zaretskii
5980d4c6db Fix current-bidi-paragraph-direction and its doc.
src/xdisp.c (Fcurrent_bidi_paragraph_direction): For unibyte
 buffers, return left-to-right.
 doc/lispref/display.texi (Bidirectional Display): Document return value in
 buffers that are not bidi-reordered for display, and in unibyte
 buffers.
2011-08-24 14:49:54 +03:00
Eli Zaretskii
92b714445a Rename string-mark-left-to-right to bidi-string-mark-left-to-right in the manual. 2011-08-18 19:27:59 +03:00
Eli Zaretskii
c094bb0cf7 Improve documentation of bidi in ELisp manual.
doc/lispref/nonascii.texi (Character Properties): Document use of
 `bidi-class' and `mirroring' properties as part of reordering.
 Provide cross-references to "Bidirectional Display".
 doc/lispref/display.texi (Bidirectional Display): Document the pitfalls of
 concatenating strings with bidirectional content, with possible
 solutions.  Document string-mark-left-to-right.  Mention paragraph
 direction in modes that inherit from prog-mode.  Document use of
 `bidi-class' and `mirroring' properties as part of reordering.
 etc/NEWS: Mark string-mark-left-to-right as documented.
2011-08-18 13:53:55 +03:00
Chong Yidong
ebb552ed38 Note in Lisp manual that mouse-face cannot change the text size.
* doc/lispref/text.texi (Special Properties):
* doc/lispref/display.texi (Overlay Properties): Note that mouse-face cannot
change the text size.

Fixes: debbugs:8530
2011-08-09 17:14:11 -04:00
Eli Zaretskii
4cc60b9b85 Turn on bidi-display-reordering by default.
src/buffer.c (init_buffer_once, syms_of_buffer): Set
 bidi-display-reordering to t by default.
 doc/emacs/mule.texi (Bidirectional Editing): Document the fact that
 bidi-display-reordering is t by default.
 lispref/display.texi (Bidirectional Display): Document the fact that
 bidi-display-reordering is t by default.
2011-07-28 20:18:25 +03:00
Eli Zaretskii
5deb92fd9f doc/lispref/display.texi (Bidirectional Display): New section. 2011-07-23 18:36:52 +03:00
Eli Zaretskii
0bb2392728 Support bidi reordering of overlay and display strings.
Fix bugs #7616, #8133, #8867.

 src/xdisp.c (compute_display_string_pos)
 (compute_display_string_end): Accept additional argument STRING.
 (init_iterator, reseat_1): Initialize bidi_it->string.s to NULL.
 (reseat_to_string): Initialize bidi_it->string.s and
 bidi_it->string.schars.
 (Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to
 NULL (avoids a crash in bidi_paragraph_init).  Initialize
 itb.string.lstring.
 (init_iterator): Call bidi_init_it only of a valid
 buffer position was specified.  Initialize paragraph_embedding to
 L2R.
 (reseat_to_string): Initialize the bidi iterator.
 (display_string): If we need to ignore text properties of
 LISP_STRING, set IT->stop_charpos to IT->end_charpos.  (The
 original value of -1 will not work with bidi.)
 (compute_display_string_pos): First arg is now struct
 `text_pos *'; all callers changed.  Support display properties on
 Lisp strings.
 (compute_display_string_end): Support display properties on Lisp
 strings.
 (init_iterator, reseat_1, reseat_to_string): Initialize the
 string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS
 when iterating on a string not from display properties).
 (compute_display_string_pos, compute_display_string_end): Fix
 calculation of the object to scan.  Fixes an error when using
 arrow keys.
 (next_element_from_buffer): Don't abort when IT_CHARPOS is before
 base_level_stop; instead, set base_level_stop to BEGV.  Fixes
 crashes in vertical-motion.
 (next_element_from_buffer): Improve commentary for when
 the iterator is before prev_stop.
 (init_iterator): Initialize bidi_p from the default value of
 bidi-display-reordering, not from buffer-local value.  Use the
 buffer-local value only if initializing for buffer iteration.
 (handle_invisible_prop): Support invisible properties on strings
 that are being bidi-reordered.
 (set_iterator_to_next): Support bidi reordering of C strings and
 Lisp strings.
 (next_element_from_string): Support bidi reordering of Lisp
 strings.
 (handle_stop_backwards): Support Lisp strings as well.
 (display_string): Support display of R2L glyph rows.  Use
 IT_STRING_CHARPOS when displaying from a Lisp string.
 (init_iterator): Don't initialize it->bidi_p for strings
 here.
 (reseat_to_string): Initialize it->bidi_p for strings here.
 (next_element_from_string, next_element_from_c_string)
 (next_element_from_buffer): Add xassert's for correspondence
 between IT's object being iterated and it->bidi_it.string
 structure.
 (face_before_or_after_it_pos): Support bidi iteration.
 (next_element_from_c_string): Handle the case of the first string
 character that is not the first one in the visual order.
 (get_visually_first_element): New function, refactored from common
 parts of next_element_from_buffer, next_element_from_string, and
 next_element_from_c_string.
 (tool_bar_lines_needed, redisplay_tool_bar)
 (display_menu_bar): Force left-to-right direction.  Add a FIXME
 comment for making that be controlled by a user option.
 (push_it, pop_it): Save and restore the state of the
 bidi iterator.  Save and restore the bidi_p flag.
 (pop_it): Iterate out of display property for string iteration as
 well.
 (iterate_out_of_display_property): Support iteration over strings.
 (handle_single_display_spec): Set up it->bidi_it for iteration
 over a display string, and call bidi_init_it.
 (handle_single_display_spec, next_overlay_string)
 (get_overlay_strings_1, push_display_prop): Set up the bidi
 iterator for displaying display or overlay strings.
 (forward_to_next_line_start): Don't use the shortcut if
 bidi-iterating.
 (back_to_previous_visible_line_start): If handle_display_prop
 pushed the iterator stack, restore the internal state of the bidi
 iterator by calling bidi_pop_it same number of times.
 (reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero,
 and we are bidi-iterating, don't decrement the iterator position;
 instead, set the first_elt flag in the bidi iterator, to produce
 the same effect.
 (reseat_1): Remove redundant setting of string_from_display_prop_p.
 (push_display_prop): xassert that we are iterating a buffer.
 (push_it, pop_it): Save and restore paragraph_embedding member.
 (handle_single_display_spec, next_overlay_string)
 (get_overlay_strings_1, reseat_1, reseat_to_string)
 (push_display_prop): Set up the `unibyte' member of bidi_it.string
 correctly.  Don't assume unibyte strings are not bidi-reordered.
 (compute_display_string_pos)
 (compute_display_string_end): Fix handling the case of C string.
 (push_it, pop_it): Save and restore from_disp_prop_p.
 (handle_single_display_spec, push_display_prop): Set the
 from_disp_prop_p flag.
 (get_overlay_strings_1): Reset the from_disp_prop_p flag.
 (pop_it): Call iterate_out_of_display_property only if we are
 popping after iteration over a string that came from a display
 property.  Fix a typo in popping stretch info.  Add an assertion
 for verifying that the iterator position is in sync with the bidi
 iterator.
 (handle_single_display_spec, get_overlay_strings_1)
 (push_display_prop): Fix initialization of paragraph direction for
 string when that of the parent object is not yet determined.
 (reseat_1): Call bidi_init_it to resync the bidi
 iterator with IT's position.  (Bug#7616)
 (find_row_edges): If ROW->start.pos gives position
 smaller than min_pos, use it as ROW->minpos.  (Bug#7616)
 (handle_stop, back_to_previous_visible_line_start, reseat_1):
 Reset the from_disp_prop_p flag.
 (SAVE_IT, RESTORE_IT): New macros.
 (pos_visible_p, face_before_or_after_it_pos)
 (back_to_previous_visible_line_start)
 (move_it_in_display_line_to, move_it_in_display_line)
 (move_it_to, move_it_vertically_backward, move_it_by_lines)
 (try_scrolling, redisplay_window, display_line): Use them when
 saving a temporary copy of the iterator and restoring it back.
 (back_to_previous_visible_line_start, reseat_1)
 (init_iterator): Empty the bidi cache "stack".
 (move_it_in_display_line_to): If iterator ended up at
 EOL, but we never saw any buffer positions smaller than
 to_charpos, return MOVE_POS_MATCH_OR_ZV.  Fixes vertical cursor
 motion in bidi-reordered lines.
 (move_it_in_display_line_to): Record prev_method and prev_pos
 immediately before the call to set_iterator_to_next.  Fixes cursor
 motion in bidi-reordered lines with stretch glyphs and strings
 displayed in margins.  (Bug#8133) (Bug#8867)
 Return MOVE_POS_MATCH_OR_ZV only if iterator position is past
 TO_CHARPOS.
 (pos_visible_p): Support positions in bidi-reordered lines.  Save
 and restore bidi cache.
 src/bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int.
 (bidi_paragraph_info): Delete unused struct.
 (bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT.
 (bidi_cache_start): New variable.
 (bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not
 to zero.
 (bidi_cache_fetch_state, bidi_cache_search)
 (bidi_cache_find_level_change, bidi_cache_iterator_state)
 (bidi_cache_find, bidi_peek_at_next_level)
 (bidi_level_of_next_char, bidi_find_other_level_edge)
 (bidi_move_to_visually_next): Compare cache index with
 bidi_cache_start rather than with zero.
 (bidi_fetch_char): Accept new argument STRING; all callers
 changed.  Support iteration over a string.  Support strings with
 display properties.  Support unibyte strings.  Fix the type of
 `len' according to what STRING_CHAR_AND_LENGTH expects.
 (bidi_paragraph_init, bidi_resolve_explicit_1)
 (bidi_resolve_explicit, bidi_resolve_weak)
 (bidi_level_of_next_char, bidi_move_to_visually_next): Support
 iteration over a string.
 (bidi_set_sor_type, bidi_resolve_explicit_1)
 (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit
 can now be zero (for strings); special values 0 and -1 were
 changed to -1 and -2, respectively.
 (bidi_char_at_pos): New function.
 (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak):
 Call it instead of FETCH_MULTIBYTE_CHAR.
 (bidi_move_to_visually_next): Abort if charpos or bytepos were not
 initialized to valid values.
 (bidi_init_it): Don't initialize charpos and bytepos with invalid
 values.
 (bidi_level_of_next_char): Allow the sentinel "position" to pass
 the test for valid cached positions.  Fix the logic for looking up
 the sentinel state in the cache.  GCPRO the Lisp string we are
 iterating.
 (bidi_push_it, bidi_pop_it): New functions.
 (bidi_initialize): Initialize the bidi cache start stack pointer.
 (bidi_cache_ensure_space): New function, refactored from part of
 bidi_cache_iterator_state.  Don't assume the required size is just
 one BIDI_CACHE_CHUNK away.
 (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE.
 (bidi_count_bytes, bidi_char_at_pos): New functions.
 (bidi_cache_search): Don't assume bidi_cache_last_idx is
 always valid if bidi_cache_idx is valid.
 (bidi_cache_find_level_change): xassert that bidi_cache_last_idx
 is valid if it's going to be used.
 (bidi_shelve_cache, bidi_unshelve_cache): New functions.
 (bidi_cache_fetch_state, bidi_cache_search)
 (bidi_cache_find_level_change, bidi_cache_ensure_space)
 (bidi_cache_iterator_state, bidi_cache_find)
 (bidi_find_other_level_edge, bidi_cache_start_stack): All
 variables related to cache indices are now EMACS_INT.
 src/dispextern.h (struct bidi_string_data): New structure.
 (struct bidi_it): New member `string'.  Make flag members be 1-bit
 fields, and put them last in the struct.
 (compute_display_string_pos, compute_display_string_end): Update
 prototypes.
 (bidi_push_it, bidi_pop_it): Add prototypes.
 (struct iterator_stack_entry): New members bidi_p,
 paragraph_embedding, and from_disp_prop_p.
 (struct it): Member bidi_p is now a bit field 1 bit wide.
 (bidi_shelve_cache, bidi_unshelve_cache): Declare
 prototypes.
 src/.gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector)
 (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors
 and vector-like objects.
 src/dispnew.c (buffer_posn_from_coords): Save and restore the bidi
 cache around display iteration.
 src/window.c (Fwindow_end, window_scroll_pixel_based)
 (displayed_window_lines, Frecenter): Save and restore the bidi
 cache around display iteration.
 lisp/buff-menu.el (Buffer-menu-buffer+size): Accept an additional
 argument LRM; if non-nil, append an invisible LRM character to the
 buffer name.
 (list-buffers-noselect): Call Buffer-menu-buffer+size with the
 last argument non-nil, when formatting buffer names.
 (Buffer-menu-mode, list-buffers-noselect): Force left-to-right
 paragraph direction.
 doc/lispref/display.texi (Other Display Specs): Document that `left-fringe'
 and `right-fringe' display specifications are of the "replacing"
 kind.
2011-07-14 20:28:42 +03:00
Chong Yidong
b752763931 Minor xref additions to Lisp manual.
* doc/lispref/display.texi (Face Attributes, Font Selection): Add
references to the Fonts node in the Emacs manual.

Fixes: debbugs:4178
2011-07-12 18:09:28 -04:00
Chong Yidong
c830e5aeea Remove frame-local vars from Lisp manual; obsolete since Emacs 22.3.
* display.texi (Window Systems): `window-system' is terminal-local.

* doc/lispref/frames.texi (Frame Parameters, Parameter Access): Don't mention
frame-local variables.

* doc/lispref/variables.texi (Buffer-Local Variables): Don't mention obsolete
frame-local variables.  (Frame-Local Variables): Node deleted.

* doc/lispref/elisp.texi (Top): Update node listing.
2011-07-12 13:33:18 -04:00
Glenn Morris
322b7dab59 Merge from emacs-23; up to 2010-06-16T23:27:20Z!jay.p.belanger@gmail.com. 2011-07-05 19:42:10 -07:00
Chong Yidong
b00d8c1a00 * display.texi (Face Attributes): Document negative line widths (Bug#6113). 2011-07-02 20:24:00 -04:00
Lars Magne Ingebrigtsen
f68d76d0d4 * display.texi (Showing Images): Mention the point of sliced images (bug bug#7836). 2011-07-02 23:38:19 +02:00
Eli Zaretskii
a2eaa31ddf Fix the use case of popping from display property.
src/dispextern.h (struct iterator_stack_entry, struct it): New
 member from_disp_prop_p.
 src/xdisp.c (push_it, pop_it): Save and restore from_disp_prop_p.
 (handle_single_display_spec, push_display_prop): Set the
 from_disp_prop_p flag.
 (get_overlay_strings_1): Reset the from_disp_prop_p flag.
 (pop_it): Call iterate_out_of_display_property only if we are
 popping after iteration over a string that came from a display
 property.  Fix a typo in popping stretch info.  Add an assertion
 for verifying that the iterator position is in sync with the bidi
 iterator.
 (handle_single_display_spec, get_overlay_strings_1)
 (push_display_prop): Fix initialization of paragraph direction for
 string when that of the parent object is not yet determined.
2011-07-02 13:05:14 +03:00
Glenn Morris
11fdef7d0c Merge from emacs-23; up to 2010-06-15T03:34:12Z!rgm@gnu.org. 2011-06-25 11:21:00 -07:00
Chong Yidong
dfc47e3511 Fix errors in 2011-05-29 change to Lisp manual.
* doc/lispref/keymaps.texi (Searching Keymaps):
* doc/lispref/display.texi (Overlay Properties): Fix errors in 2011-05-29
change.  Suggested by Johan Bockgård.
2011-06-14 11:13:26 -04:00
Glenn Morris
ed7f1a6c5c Merge from emacs-23; up to 2010-06-12T11:17:12Z!eliz@gnu.org. 2011-05-29 15:41:06 -07:00