1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 03:40:56 -08:00
Commit graph

93254 commits

Author SHA1 Message Date
Eli Zaretskii
6c0cf21816 Retrospective commit from 2009-11-14.
Resurrect support for integer values of `cursor' property.
Rename paragraph-direction to bidi-paragraph-direction.

 xdisp.c (init_iterator, text_outside_line_unchanged_p)
 (try_window_id): Rename paragraph_direction to
 bidi_paragraph_direction.
 (set_cursor_from_row): Handle integer values of `cursor' property
 on display strings.

 buffer.c (init_buffer_once, syms_of_buffer): Rename
 paragraph_direction to bidi_paragraph_direction.

 buffer.h (struct buffer): Rename paragraph_direction to
 bidi_paragraph_direction.
2010-01-01 06:57:39 -05:00
Eli Zaretskii
21fce5ab36 Retrospective commit from 2009-11-07.
More fixes for iteration near ZV.

 bidi.c (bidi_paragraph_init): Don't overstep end of buffer.
 Treat end of buffer as a NEUTRAL_B character.
 (bidi_resolve_explicit): Don't special-case ZV when bidi_it->type
 is NEUTRAL_B, since bidi_set_paragraph_end no longer sets the
 new_paragraph flag.
2010-01-01 06:54:22 -05:00
Eli Zaretskii
93ba079d4e Retrospective commit from 2009-10-31.
Continue debugging set_cursor_from_row.
Continue debugging display of R2L glyph rows.

 xdisp.c (display_line): Always extend reversed_p rows to the end
 of line.
 (set_cursor_from_row): In R2L rows that don't display text, put
 the cursor on the rightmost glyph.
2010-01-01 06:49:38 -05:00
Eli Zaretskii
29e3d8d1cb Retrospective commit from 2009-10-24.
Continue working on set_cursor_from_row.
Cleanup of resolved_level and bidi_type members of struct glyph.

 xdisp.c (set_cursor_from_row): Fix off-by-one error when
 skipping over non-character glyphs at end of a reversed row.

 dispextern.h (struct glyph): The `resolved_level' member needs
 only 5 bits, not 6.  The `bidi_type' member needs only 3 bits.
 (bidi_type_t): Rearrange so that types that can appear in the
 resolved type are at the beginning and have values less than 8.

 bidi.c: Include setjmp.h.
2010-01-01 06:45:36 -05:00
Eli Zaretskii
5e65aec01a Retrospective commit from 2009-10-17.
Continue working on display of R2L glyph rows.  Reverse glyphs in
term.c:append_glyph rather than in extend_face_to_end_of_line.
Fix bidi iteration near BEGV and ZV.

 dispextern.h (struct glyph): New members resolved_level and
 bidi_type.

 xdisp.c (append_glyph, append_composite_glyph)
 (produce_image_glyph, append_stretch_glyph): Set them.

 term.c (append_glyph): Ditto.

 xdisp.c (display_line, next_element_from_buffer): Set the glyph
 row's reversed_p flag if the paragraph base direction is odd.
 (extend_face_to_end_of_line): Don't reverse the glyphs here.

 term.c (append_glyph): Reverse glyphs here.

 bidi.c (bidi_get_next_char_visually): Don't exit early when at ZV.
 (bidi_paragraph_init): Don't step over a newline if at BEGV.
 (bidi_paragraph_init): Handle empty buffers.
2010-01-01 06:39:56 -05:00
Eli Zaretskii
e5a2fec7b4 Retrospective commit from 2009-10-10.
Continue working on set_cursor_from_row.
Disable redisplay optimizations that interfere with R2L glyph rows.
Misc cleanups in bidi.c.

 xdisp.c (set_cursor_from_row): Skip over glyphs near end of row
 with integer OBJECT even if their CHARPOS is zero.

 bidi.c (bidi_cache_iterator_state): Don't cache NEW_PARAGRAPH.
 Abort if someone tries to add a cached state whose position is not
 the immediate successor to that of the last cached state.
 (bidi_paragraph_init): Don't bail out too early after a reseat.

 xdisp.c (text_outside_line_unchanged_p, try_window_id): Disable
 optimizations if we are reordering bidirectional text and the
 paragraph direction can be affected by the change.
2010-01-01 06:35:03 -05:00
Eli Zaretskii
c143c21325 Retrospective commit from 2009-10-08.
Finish up working on paragraph's base direction.
Start working on display of right-to-left glyph rows.
Rewrite set_cursor_from_row to support bidi.

 xdisp.c (string_buffer_position_lim): New function.
 (string_buffer_position): Most of code moved to
 string_buffer_position_lim.  Last argument and return value are
 now EMACS_INT; all callers changed.
 (set_cursor_from_row): Rewritten to support bidirectional text and
 reversed glyph rows.
 dispextern.h <string_buffer_position>: Update prototype.
 bidi.c (bidi_paragraph_init): Fix initialization of POS.
 dispextern.h (struct glyph_row): New member reversed_p.
 buffer.c (syms_of_buffer): Remove DEFVAR_LISP_NOPRO for
 default-direction-reversed, default-bidi-display-reordering, and
 default-paragraph-direction.
2010-01-01 06:27:51 -05:00
Eli Zaretskii
b44d9321f2 Retrospective commit from 2009-10-05.
Continue working on paragraph base direction.
Support per-buffer default paragraph direction.

 buffer.h (struct buffer): New member paragraph_direction.
 buffer.c (init_buffer_once): Initialize it.
 (syms_of_buffer): Declare Lisp variables
 default-paragraph-direction and paragraph-direction.
 dispextern.h (struct it): New member paragraph_embedding.
 xdisp.c (init_iterator): Initialize it from the buffer's value
 of paragraph-direction.
 <Qright_to_left, Qleft_to_right>: New variables.
 (syms_of_xdisp): Initialize and staticpro them.
 (set_iterator_to_next, next_element_from_buffer): Use the value of
 paragraph_embedding to determine the paragraph direction.
 bidi.c (bidi_line_init): Fix second argument to
 bidi_set_sor_type.
 (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR.
 (bidi_get_next_char_visually): Record the last character of the
 separator in separator_limit, not the character after that.
 (bidi_find_paragraph_start): Accept character and byte positions
 instead of the whole iterator stricture.  All callers changed.
2010-01-01 06:22:52 -05:00
Eli Zaretskii
be39f003e9 Retrospective commit from 2009-10-04.
Continue working on determining paragraph's base direction.

 bidi.c (bidi_at_paragraph_end): Check for paragraph-start if
 paragraph-separate failed to match.  Return the length of the
 matched separator.
 (bidi_line_init): New function.
 (bidi_paragraph_init): Use bidi_line_init.  Do nothing if in the
 middle of a paragraph-separate sequence.  Don't override existing
 paragraph direction if no strong characters found in this
 paragraph.  Set separator_limit according to what
 bidi_at_paragraph_end returns.  Reset new_paragraph flag when a
 new paragraph is found.
 (bidi_init_it): Reset separator_limit.
 dispextern.h (struct bidi_it): New member separator_limit.
 bidi.c (bidi_find_paragraph_start): Return the byte position of
 the paragraph beginning.
 xdisp.c (set_iterator_to_next): Call bidi_paragraph_init if the
 new_paragraph flag is set in the bidi iterator.
 bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start): Use
 the buffer-local value of paragraph-start and paragraph-separate.
2010-01-01 06:17:13 -05:00
Eli Zaretskii
6bff649705 Retrospective commit from 2009-10-03.
Detect paragraph start and paragraph separators (part of determining
paragraph base direction).

(The commit of window.h belongs to the original changes by Kenichi Handa,
it was forgotten earlier.)

 bidi.c (bidi_set_paragraph_end): Don't set the new_paragraph
 flag in the iterator.
 (bidi_init_it): Set the new_paragraph flag.
 (bidi_at_paragraph_end): Arguments are now character and byte
 position of the next character.  All callers changed.
 (bidi_resolve_explicit): Don't call bidi_at_paragraph_end, and
 don't behave as if at paragraph end if it returns true.
 (bidi_get_next_char_visually): Don't call bidi_paragraph_init if
 new_paragraph flag is set.  Set new_paragraph flag when at end of
 a paragraph.
 <fallback_paragraph_start_re, fallback_paragraph_separate_re>: New
 variables.
 <Qparagraph_start, Qparagraph_separate>: New variables.
 (bidi_initialize): Initialize and staticpro them.
 dispextern.h <struct bidi_it>: New element paragraph_dir.  Make
 positional elements EMACS_INT.
 bidi.c <bidi_overriding_paragraph_direction>: Delete.
2010-01-01 06:06:48 -05:00
Eli Zaretskii
e342a24d62 Retrospective commit from 2009-09-27.
Support character mirroring.
Support iteration that starts in the middle of a line.
Misc cleanups.

 xdisp.c (next_element_from_buffer): If called not at line
 beginning, start bidi iteration from line beginning.
 bidi.c (bidi_paragraph_init): Use
 bidi_overriding_paragraph_direction instead of a literal zero.
 (bidi_initialize): Fix some character types, per Unicode 5.x.
 (bidi_get_type): Abort if called with invalid character code.
 dispextern.h: Add prototype of bidi_mirror_char.
 xdisp.c (get_next_display_element): Mirror characters whose
 resolved type is STRONG_R.
2010-01-01 06:01:34 -05:00
Eli Zaretskii
9c82e14597 Retrospective commit from 2009-09-26.
Continued working on initialization.
Started working on paragraph direction initialization.

 bidi.c (bidi_paragraph_init): Don't set bidi_it->ch_len.  Abort
 if called not at beginning of a new paragraph.
 (bidi_get_next_char_visually): Prepare and use a sentinel iterator
 state when first_elt flag is set.
 dispextern.h (struct bidi_it): New struct member first_elt.
 bidi.c (bidi_init_it): Initialize bidi_it->first_elt.
 (bidi_copy_it): Don't copy the first_elt flag.
 xdisp.c (reseat_1): Initialize bidi_it.first_elt.  Move bidi
 scan start code from here...
 (next_element_from_buffer): ...to here.  Use bidi_it.first_elt flag.
2010-01-01 05:57:17 -05:00
Eli Zaretskii
e7402cb24c Retrospective commit from 2009-09-20.
Handle positions at BEGV and ZV.  Mor initialization cleanups.

 xdisp.c (reseat_1): Handle position < BEGV.
 bidi.c (bidi_paragraph_init): Set bidi_it->ch_len.  Handle ZV.
 (bidi_init_it): Don't initialize bidi_it->ch_len.
 (bidi_resolve_explicit_1): Abort if bidi_it->ch_len was not
 initialized.
 (bidi_at_paragraph_end, bidi_resolve_explicit_1)
 (bidi_resolve_weak, bidi_level_of_next_char): Handle bytepos at
 ZV_BYTE.
 (bidi_resolve_explicit_1): Handle position < BEGV.
2009-12-31 16:31:54 -05:00
Eli Zaretskii
89d3374a8c Retrospective commit from 2009-09-19.
Begin work on bidi initialization and other cleanup.
Remove all STANDALONE code from bidi.c.

 xdisp.c (init_iterator): Call bidi_init_it.  Set
 bidi_it->bytepos if buffer position specified.
 (reseat_1): Don't call bidi_init_it.  Call bidi_paragraph_init
 instead.  Move back to preceding character before the call to
 bidi_get_next_char_visually.
 bidi.c: Remove all STANDALONE parts.
 (bidi_init_it): Init bidi_it->charpos and bidi_it->bytepos to -1.
 Don't call bidi_paragraph_init.  Change arguments.
 (bidi_paragraph_init): Remove code for negative pos.
 dispextern.h <bidi_it>: Rename orig_type to type_after_w1 and
 pristine_type to orig_type.
2009-12-31 16:20:15 -05:00
Eli Zaretskii
d8300a8a31 Retrospective commit from 2009-09-12.
Undo changes from 2009-09-11.  Set row->end and row->start in
xdisp.c:display_line.

 dispnew.c (direct_output_for_insert): Give up if we are
 reordering bidirectional text.
 dispextern.h (IT_STACK_SIZE): Enlarge to 5.
 xdisp.c (display_line): Set row->end and it->start for the next
 row to the next character in logical order.  If we are reordering
 bidi text, push and pop the iterator before and after momentarily
 iterating in logical order.
2009-12-31 16:14:26 -05:00
Eli Zaretskii
90fcfd71cf Retrospective commit from 2009-08-12.
An (unsuccessful) attempt to solve the issue with row->start and row->end.

 xdisp.c (set_iterator_to_next, reseat, reseat_1)
 (reseat_at_next_visible_line_start): Accept additional argument
 force_logical_p; all callers changed.  If force_logical_p is
 non-zero, force iteration in buffer's logical order even in bidi
 buffers.
 dispnew.c (direct_output_for_insert): Call set_iterator_to_next
 with additional argument zero.
 dispextern.h (set_iterator_to_next): Now accepts an additional
 argument.
2009-12-31 16:09:28 -05:00
Eli Zaretskii
a88bbf0570 Retrospective commit from 2009-08-29.
Started working on cursor motion.

 xdisp.c (set_cursor_from_row): Don't assume glyph->charpos
 increments linearly.
 (try_window_reusing_current_matrix): Don't assume glyph->charpos
 increments linearly.
 bidi.c <bidi_overriding_paragraph_direction>: Default to L2R, for now.
2009-12-31 15:56:07 -05:00
Eli Zaretskii
2d6e4628e9 Retrospective commit from 2009-08-22.
Staticpro bidi_char_table, add type checking where bidi type is assigned.

 bidi.c (bidi_initialize): staticpro bidi_char_table.
 (bidi_check_type): New function.
 (bidi_cache_iterator_state, bidi_remember_char)
 (bidi_resolve_explicit_1, bidi_resolve_explicit)
 (bidi_resolve_weak, bidi_resolve_neutral)
 (bidi_level_of_next_char): Use it to validate the bidi type
 assigned to the iterator.
2009-12-31 15:49:08 -05:00
Eli Zaretskii
f44e260c02 Retrospective commit from 2009-08-15.
Start of work on bidi Emacs 23/24.

 bidi.c (bidi_initialize): Fix initialization of bidi_type_table.

 xdisp.c (set_iterator_to_next): Fix position setting after call
 to bidi_get_next_char_visually.

 bidi.c: Include stdio.h unconditionally.  Fix and elaborate
 commentary.  Add Copyright blurb.
2009-12-31 15:04:11 -05:00
Eli Zaretskii
b7b65b1509 Retrospective commit.
These are the original changes made by Kenichi Handa on the old
pre Emacs 22 emacs-bidi branch.
2009-12-31 14:44:59 -05:00
Chong Yidong
829f35a5bb Bump version to 23.1.91. Regenerate AUTHORS and ldefs-boot.el. 2009-12-30 21:14:46 -05:00
Nick Roberts
7ee6c59b15 Further changes from EMACS_23_1_RC branch (2009-12-29 contd).
* term/x-win.el (x-gtk-stock-map): Map some GUD buttons.
* progmodes/gud.el (gud-menu-map): Add reverse-execution commands.
2009-12-31 02:19:53 +13:00
Chong Yidong
0df6175ca5 * doc/emacs/building.texi: Re-apply 2009-12-29T07:15:34Z!nickrob@snap.net.nz, which was
accidentally overwritten in the last change.
2009-12-30 05:39:47 -05:00
Nick Roberts
ac4a952936 (vc-hg-working-revision): Tweak previous change. 2009-12-30 19:53:47 +13:00
Nick Roberts
a9c8a2cdf8 Show working revision correctly for mercurial.
* vc-hg.el (vc-hg-working-revision): Use hg parent instead of
hg log as suggested by Alex Harsanyi <alexharsanyi@gmail.com>,
2009-12-30 15:22:45 +13:00
Juanma Barranquero
3570691b24 Fix typos in ChangeLogs. 2009-12-29 19:29:33 +01:00
Chong Yidong
26e533e2d9 * doc/emacs/misc.texi (Shell): Document async-shell-command.
* doc/emacs/building.texi (Grep Searching): Document zrgrep.

* doc/emacs/mini.texi (Completion Options):
* doc/lispref/minibuf.texi (Completion Styles): Document `initials' style.
2009-12-29 13:06:16 -05:00
Juanma Barranquero
659e4408a4 Declare some functions for the byte-compiler. 2009-12-29 18:44:27 +01:00
Nick Roberts
49f073bd8a This changeset reverts GDB Graphical Interface to use annotations. It incorporates features added
(and never released) on the EMACS_23_1_RC branch.  Namely reverse debugging and the display of STL
collections as watch expressions.

The long term aim is to move to GDB/MI, so these changes will be re-instated at some time in the future.
At the moment, however, there are issues with gdb-mi.el that have not yet
2009-12-29 20:15:34 +13:00
Dan Nicolaescu
460f6e7ced Make vc-dir work on subdirectories of the bzr root.
* vc-bzr.el (vc-bzr-after-dir-status): Add new argument.  Return
file names relative to it.
(vc-bzr-dir-status, vc-bzr-dir-status-files): Pass the bzr root
relative directory to vc-bzr-after-dir-status.
2009-12-28 22:46:08 -08:00
Juanma Barranquero
5ce6e4f452 Fix typos in ChangeLogs. 2009-12-29 02:57:40 +01:00
Juanma Barranquero
96c834b62a process.c: Fix typo in comment. 2009-12-29 01:51:07 +01:00
Tassilo Horn
543f553a8d * font-lock.el (font-lock-refresh-defaults): New function, which
can be used to let font-lock react to external changes in
	variables like font-lock-defaults and keywords.
	See http://thread.gmane.org/gmane.emacs.devel/118777/focus=118802
2009-12-28 20:34:10 +01:00
Dan Nicolaescu
ac859983d7 * vc-rcs.el (vc-rcs-register): Fix registering a specific version. 2009-12-28 11:20:02 -08:00
Dan Nicolaescu
2592ab767a (vc-bzr-log-view-mode): Fix short log regexp. 2009-12-28 10:34:51 -08:00
Juanma Barranquero
6d96d18fcf INSTALL: Remove obsolete notes about line endings, and fix some typos. 2009-12-28 16:24:26 +01:00
Andreas Schwab
90412b21b1 Fix bazaar update instructions 2009-12-28 10:38:43 +01:00
Kenichi Handa
e7936c0f9f Add new entries to ChangeLog 2009-12-28 16:29:24 +09:00
Kenichi Handa
bcffff4634 *** empty log message *** 2009-12-28 15:09:58 +09:00
Juanma Barranquero
58941d03a5 Supersede color.diff settings in git log (bug#5211). 2009-12-28 03:43:28 +01:00
Juanma Barranquero
e0425934a0 Update autoload checksum. 2009-12-28 02:50:49 +01:00
Karl Fogel
5f8a92afc0 Merge: update nt/INSTALL for CVS->Bazaar switchover too. 2009-12-27 18:40:41 -05:00
Karl Fogel
ee6f37f26d * INSTALL: Update for CVS->Bazaar switchover. 2009-12-27 18:40:01 -05:00
Karl Fogel
b7e8695756 Merge: document that we are on Bazaar now. 2009-12-27 17:28:35 -05:00
Karl Fogel
8bb2590855 * INSTALL.BZR: Rename from INSTALL.CVS, edit to talk about Bazaar.
* INSTALL, autogen.sh, configure.in, configure: Adjust accordingly.
2009-12-27 17:26:27 -05:00
Chong Yidong
11e3c68412 * minibuf.c (Fall_completions): Minor optimization. 2009-12-27 08:11:12 +00:00
Kevin Ryde
651e932ee3 * man.el
(Man-bgproc-sentinel): When "-k foo" produces no output show error
"no matches" rather than "Can't find manpage", as the latter reads
like -k was interpreted as a page name, which is not so.  (My
bug#5431.)
2009-12-26 22:02:26 +00:00
Kevin Ryde
69bcb1f3b2 (Man-bgproc-sentinel): When "-k foo" produces no output show error
"no matches" rather than "Can't find manpage", as the latter reads
like -k was interpreted as a page name, which is not so.  (My
bug#5431.)
2009-12-26 22:00:47 +00:00
Kevin Ryde
b58dd70793 Tweak a comment: it's man-db on gnu/linux which agrees with posix that
man -k arg is an egrep regexp.

(No need to changelog something this small is there?)
2009-12-26 21:32:51 +00:00
Kevin Ryde
91c4831e1a * man.el (man): Revise docstring a bit to show -a and -l as
examples.  Add -k description since support for it has otherwise
been a secret.  (Further to bug#3717.)
2009-12-26 21:30:00 +00:00