aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMiles Bader2005-03-03 10:35:22 +0000
committerMiles Bader2005-03-03 10:35:22 +0000
commitdedb5504d3464bd50b6c591d36791c5535af68c1 (patch)
tree83ce1054c597d5e7c0d9be5dffd1d08dae2e330c /src
parentc638e2237cd90a294ed01ae2d29a51e25887bd43 (diff)
parent139c65cf7b6b0bce5f4cd6e45f450ff4f02d5421 (diff)
downloademacs-dedb5504d3464bd50b6c591d36791c5535af68c1.tar.gz
emacs-dedb5504d3464bd50b6c591d36791c5535af68c1.zip
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-21
Merge from emacs--cvs-trunk--0 Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0 (patch 129-149) - Update from CVS - Merge from gnus--rel--5.10 - (make-text-button): Default button type if not specified - quick-install-emacs: Use mkdir --verbose only when requested * miles@gnu.org--gnu-2005/gnus--rel--5.10 (patch 31-33) - Merge from emacs--cvs-trunk--0 - Update from CVS
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog60
-rw-r--r--src/buffer.c2
-rw-r--r--src/dispextern.h14
-rw-r--r--src/gtkutil.c6
-rw-r--r--src/keyboard.c7
-rw-r--r--src/xdisp.c65
6 files changed, 102 insertions, 52 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index bcde95958dd..eb0a3d0cf3b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,38 @@
12005-03-02 Kim F. Storm <storm@cua.dk>
2
3 * dispextern.h (XASSERTS): Define to 0 if not already defined.
4 (xassert) [!XASSERTS]: Define dummy version.
5
62005-03-02 Kim F. Storm <storm@cua.dk>
7
8 * xdisp.c (redisplay_window): YABX (yet another bogus xassert).
9 Reported by David Kastrup.
10
112005-03-01 Ehud Karni <ehud@unix.mvs.co.il>
12
13 * xdisp.c (get_next_display_element): Fix control and escape
14 glyph from display vector.
15
162005-03-01 Stefan Monnier <monnier@iro.umontreal.ca>
17
18 * keyboard.c (Fposn_at_x_y): Check integerness of X and Y.
19
202005-02-27 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
21
22 * gtkutil.c (xg_resize_outer_widget): Remove unneeded call to
23 gtk_window_resize and x_wm_set_size_hint.
24
252005-02-25 Kim F. Storm <storm@cua.dk>
26
27 * dispextern.h (OVERLAY_STRING_CHUNK_SIZE): Increase from 3 to 16.
28
29 * xdisp.c (init_from_display_pos): Don't read past end of
30 it->overlay_strings array.
31
322005-02-25 Stephan Stahl <stahl@eos.franken.de> (tiny change)
33
34 * buffer.c (syms_of_buffer): Fix typo.
35
12005-02-23 Lute Kamstra <lute@gnu.org> 362005-02-23 Lute Kamstra <lute@gnu.org>
2 37
3 * buffer.c (Foverlay_buffer): Doc fix. 38 * buffer.c (Foverlay_buffer): Doc fix.
@@ -14,7 +49,7 @@
14 * window.c (window_scroll_pixel_based): When scrolling backwards, 49 * window.c (window_scroll_pixel_based): When scrolling backwards,
15 handle partial visible line at end of window even when we hit PT. 50 handle partial visible line at end of window even when we hit PT.
16 51
172005-02-21 Stefan <monnier@iro.umontreal.ca> 522005-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
18 53
19 * keymap.h: Declare Fcurrent_active_maps, used in doc.c. 54 * keymap.h: Declare Fcurrent_active_maps, used in doc.c.
20 55
@@ -72,8 +107,7 @@
72 (Fx_window_property): Likewise. 107 (Fx_window_property): Likewise.
73 108
74 * xselect.c (Fx_disown_selection_internal): Use union of struct 109 * xselect.c (Fx_disown_selection_internal): Use union of struct
75 input_event and struct selection_input_event to avoid aliasing 110 input_event and struct selection_input_event to avoid aliasing issues.
76 issues.
77 111
78 * xterm.c (handle_one_xevent): Use union of struct input_event and 112 * xterm.c (handle_one_xevent): Use union of struct input_event and
79 struct selection_input_event to avoid aliasing issues. 113 struct selection_input_event to avoid aliasing issues.
@@ -102,21 +136,20 @@
102 clipboard operations and delayed rendering. 136 clipboard operations and delayed rendering.
103 137
104 Drop last_clipboard_text and related code, keep track of 138 Drop last_clipboard_text and related code, keep track of
105 ownership via clipboard_owner instead. Drop old #if0 139 ownership via clipboard_owner instead. Drop old #if0 sections.
106 sections.
107 140
108 (DEFAULT_LCID, ANSICP, OEMCP, QUNICODE, QANSICP, QOEMCP) 141 (DEFAULT_LCID, ANSICP, OEMCP, QUNICODE, QANSICP, QOEMCP)
109 (clipboard_owner, modifying_clipboard, cfg_coding_system) 142 (clipboard_owner, modifying_clipboard, cfg_coding_system)
110 (cfg_codepage, cfg_lcid, cfg_clipboard_type, current_text) 143 (cfg_codepage, cfg_lcid, cfg_clipboard_type, current_text)
111 (current_coding_system, current_requires_encoding) 144 (current_coding_system, current_requires_encoding)
112 (current_num_nls, current_clipboard_type, current_lcid): New 145 (current_num_nls, current_clipboard_type, current_lcid):
113 static variables. 146 New static variables.
114 147
115 (convert_to_handle_as_ascii, convert_to_handle_as_coded) 148 (convert_to_handle_as_ascii, convert_to_handle_as_coded)
116 (render, render_all, run_protected, lisp_error_handler) 149 (render, render_all, run_protected, lisp_error_handler)
117 (owner_callback, create_owner, setup_config) 150 (owner_callback, create_owner, setup_config)
118 (enum_locale_callback, cp_from_locale, coding_from_cp): New 151 (enum_locale_callback, cp_from_locale, coding_from_cp):
119 local functions. 152 New local functions.
120 153
121 (term_w32select, globals_of_w32select): New global functions. 154 (term_w32select, globals_of_w32select): New global functions.
122 155
@@ -316,8 +349,7 @@
316 (casify_region): Fix loop condition, args to replace_range_2, and 349 (casify_region): Fix loop condition, args to replace_range_2, and
317 update opoint_byte. 350 update opoint_byte.
318 351
319 * insdel.c (replace_range_2): Fix bugs in adjusting markers and 352 * insdel.c (replace_range_2): Fix bugs in adjusting markers and point.
320 point.
321 353
3222005-02-01 Kim F. Storm <storm@cua.dk> 3542005-02-01 Kim F. Storm <storm@cua.dk>
323 355
@@ -10994,9 +11026,9 @@
10994 These changes were in part based upon suggestions made by Peter 11026 These changes were in part based upon suggestions made by Peter
10995 'Luna' Runestig [peter@runestig.com]. 11027 'Luna' Runestig [peter@runestig.com].
10996 11028
10997 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token, 11029 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token)
10998 g_b_init_get_token_information, g_b_init_lookup_account_sid, 11030 (g_b_init_get_token_information, g_b_init_lookup_account_sid)
10999 g_b_init_get_sid_identifier_authority ): Add several static 11031 (g_b_init_get_sid_identifier_authority ): Add several static
11000 global variables. 11032 global variables.
11001 11033
11002 * w32.c (globals_of_w32): New function. Used to initialize those 11034 * w32.c (globals_of_w32): New function. Used to initialize those
diff --git a/src/buffer.c b/src/buffer.c
index be4f4dcae69..224c1bbcdef 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -5689,7 +5689,7 @@ arrow bitmaps.
5689 5689
5690If value is a symbol `left' or `right', both angle and arrow bitmaps 5690If value is a symbol `left' or `right', both angle and arrow bitmaps
5691are displayed in the left or right fringe, resp. Any other value 5691are displayed in the left or right fringe, resp. Any other value
5692that doesn't look like an alist means displat the angle bitmaps in 5692that doesn't look like an alist means display the angle bitmaps in
5693the left fringe but no arrows. 5693the left fringe but no arrows.
5694 5694
5695You can exercise more precise control by using an alist as the 5695You can exercise more precise control by using an alist as the
diff --git a/src/dispextern.h b/src/dispextern.h
index 19f35a744e8..feeae776149 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -119,6 +119,13 @@ enum window_part
119#define GLYPH_DEBUG 0 119#define GLYPH_DEBUG 0
120#endif 120#endif
121 121
122/* If XASSERTS is non-zero, additional consistency checks are activated.
123 Turn it off by defining the macro XASSERTS to zero. */
124
125#ifndef XASSERTS
126#define XASSERTS 0
127#endif
128
122/* Macros to include code only if GLYPH_DEBUG != 0. */ 129/* Macros to include code only if GLYPH_DEBUG != 0. */
123 130
124#if GLYPH_DEBUG 131#if GLYPH_DEBUG
@@ -127,8 +134,11 @@ enum window_part
127#define IF_DEBUG(X) (void) 0 134#define IF_DEBUG(X) (void) 0
128#endif 135#endif
129 136
130/* Maybe move this inside the above `#ifdef GLYPH_DEBUG' for release. */ 137#if XASSERTS
131#define xassert(X) do {if (!(X)) abort ();} while (0) 138#define xassert(X) do {if (!(X)) abort ();} while (0)
139#else
140#define xassert(X) (void) 0
141#endif
132 142
133/* Macro for displaying traces of redisplay. If Emacs was compiled 143/* Macro for displaying traces of redisplay. If Emacs was compiled
134 with GLYPH_DEBUG != 0, the variable trace_redisplay_p can be set to 144 with GLYPH_DEBUG != 0, the variable trace_redisplay_p can be set to
@@ -1881,7 +1891,7 @@ struct it
1881 1891
1882 /* Vector of overlays to process. Overlay strings are processed 1892 /* Vector of overlays to process. Overlay strings are processed
1883 OVERLAY_STRING_CHUNK_SIZE at a time. */ 1893 OVERLAY_STRING_CHUNK_SIZE at a time. */
1884#define OVERLAY_STRING_CHUNK_SIZE 3 1894#define OVERLAY_STRING_CHUNK_SIZE 16
1885 Lisp_Object overlay_strings[OVERLAY_STRING_CHUNK_SIZE]; 1895 Lisp_Object overlay_strings[OVERLAY_STRING_CHUNK_SIZE];
1886 1896
1887 /* Total number of overlay strings to process. This can be > 1897 /* Total number of overlay strings to process. This can be >
diff --git a/src/gtkutil.c b/src/gtkutil.c
index c291b44f5a2..6dcba3036c0 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -556,12 +556,6 @@ xg_resize_outer_widget (f, columns, rows)
556 int columns; 556 int columns;
557 int rows; 557 int rows;
558{ 558{
559 gtk_window_resize (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
560 FRAME_PIXEL_WIDTH (f), FRAME_TOTAL_PIXEL_HEIGHT (f));
561
562 /* base_height is now changed. */
563 x_wm_set_size_hint (f, 0, 0);
564
565 /* If we are not mapped yet, set geometry once again, as window 559 /* If we are not mapped yet, set geometry once again, as window
566 height now have changed. */ 560 height now have changed. */
567 if (! GTK_WIDGET_MAPPED (FRAME_GTK_OUTER_WIDGET (f))) 561 if (! GTK_WIDGET_MAPPED (FRAME_GTK_OUTER_WIDGET (f)))
diff --git a/src/keyboard.c b/src/keyboard.c
index 32d8a34216b..fbdd768dd3a 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -1,6 +1,6 @@
1/* Keyboard and mouse input; editor command loop. 1/* Keyboard and mouse input; editor command loop.
2 Copyright (C) 1985,86,87,88,89,93,94,95,96,97,99,2000,01,02,03,04 2 Copyright (C) 1985, 1986, 1987, 1988, 1989, 1993, 1994, 1995, 1996, 1997,
3 Free Software Foundation, Inc. 3 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
4 4
5This file is part of GNU Emacs. 5This file is part of GNU Emacs.
6 6
@@ -10529,6 +10529,9 @@ The `posn-' functions access elements of such lists. */)
10529 (x, y, frame_or_window, whole) 10529 (x, y, frame_or_window, whole)
10530 Lisp_Object x, y, frame_or_window, whole; 10530 Lisp_Object x, y, frame_or_window, whole;
10531{ 10531{
10532 CHECK_NATNUM (x);
10533 CHECK_NATNUM (y);
10534
10532 if (NILP (frame_or_window)) 10535 if (NILP (frame_or_window))
10533 frame_or_window = selected_window; 10536 frame_or_window = selected_window;
10534 10537
diff --git a/src/xdisp.c b/src/xdisp.c
index 3d3225a6762..463d016381c 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -2541,7 +2541,10 @@ init_from_display_pos (it, w, pos)
2541 after-string. */ 2541 after-string. */
2542 init_iterator (it, w, charpos, bytepos, NULL, DEFAULT_FACE_ID); 2542 init_iterator (it, w, charpos, bytepos, NULL, DEFAULT_FACE_ID);
2543 2543
2544 for (i = 0; i < it->n_overlay_strings; ++i) 2544 /* This only scans the current chunk -- it should scan all chunks.
2545 However, OVERLAY_STRING_CHUNK_SIZE has been increased from 3 in 21.1
2546 to 16 in 22.1 to make this a lesser problem. */
2547 for (i = 0; i < it->n_overlay_strings && i < OVERLAY_STRING_CHUNK_SIZE; ++i)
2545 { 2548 {
2546 const char *s = SDATA (it->overlay_strings[i]); 2549 const char *s = SDATA (it->overlay_strings[i]);
2547 const char *e = s + SBYTES (it->overlay_strings[i]); 2550 const char *e = s + SBYTES (it->overlay_strings[i]);
@@ -5178,11 +5181,12 @@ get_next_display_element (it)
5178 display. Then, set IT->dpvec to these glyphs. */ 5181 display. Then, set IT->dpvec to these glyphs. */
5179 GLYPH g; 5182 GLYPH g;
5180 int ctl_len; 5183 int ctl_len;
5181 int face_id, lface_id; 5184 int face_id, lface_id = 0 ;
5182 GLYPH escape_glyph; 5185 GLYPH escape_glyph;
5183 5186
5184 if (it->c < 128 && it->ctl_arrow_p) 5187 if (it->c < 128 && it->ctl_arrow_p)
5185 { 5188 {
5189 g = '^'; /* default glyph for Control */
5186 /* Set IT->ctl_chars[0] to the glyph for `^'. */ 5190 /* Set IT->ctl_chars[0] to the glyph for `^'. */
5187 if (it->dp 5191 if (it->dp
5188 && INTEGERP (DISP_CTRL_GLYPH (it->dp)) 5192 && INTEGERP (DISP_CTRL_GLYPH (it->dp))
@@ -5190,19 +5194,18 @@ get_next_display_element (it)
5190 { 5194 {
5191 g = XINT (DISP_CTRL_GLYPH (it->dp)); 5195 g = XINT (DISP_CTRL_GLYPH (it->dp));
5192 lface_id = FAST_GLYPH_FACE (g); 5196 lface_id = FAST_GLYPH_FACE (g);
5193 if (lface_id) 5197 }
5194 { 5198 if (lface_id)
5195 g = FAST_GLYPH_CHAR (g); 5199 {
5196 face_id = merge_faces (it->f, Qt, lface_id, 5200 g = FAST_GLYPH_CHAR (g);
5197 it->face_id); 5201 face_id = merge_faces (it->f, Qt, lface_id,
5198 } 5202 it->face_id);
5199 } 5203 }
5200 else 5204 else
5201 { 5205 {
5202 /* Merge the escape-glyph face into the current face. */ 5206 /* Merge the escape-glyph face into the current face. */
5203 face_id = merge_faces (it->f, Qescape_glyph, 0, 5207 face_id = merge_faces (it->f, Qescape_glyph, 0,
5204 it->face_id); 5208 it->face_id);
5205 g = '^';
5206 } 5209 }
5207 5210
5208 XSETINT (it->ctl_chars[0], g); 5211 XSETINT (it->ctl_chars[0], g);
@@ -5212,25 +5215,25 @@ get_next_display_element (it)
5212 goto display_control; 5215 goto display_control;
5213 } 5216 }
5214 5217
5218 escape_glyph = '\\'; /* default for Octal display */
5215 if (it->dp 5219 if (it->dp
5216 && INTEGERP (DISP_ESCAPE_GLYPH (it->dp)) 5220 && INTEGERP (DISP_ESCAPE_GLYPH (it->dp))
5217 && GLYPH_CHAR_VALID_P (XFASTINT (DISP_ESCAPE_GLYPH (it->dp)))) 5221 && GLYPH_CHAR_VALID_P (XFASTINT (DISP_ESCAPE_GLYPH (it->dp))))
5218 { 5222 {
5219 escape_glyph = XFASTINT (DISP_ESCAPE_GLYPH (it->dp)); 5223 escape_glyph = XFASTINT (DISP_ESCAPE_GLYPH (it->dp));
5220 lface_id = FAST_GLYPH_FACE (escape_glyph); 5224 lface_id = FAST_GLYPH_FACE (escape_glyph);
5221 if (lface_id) 5225 }
5222 { 5226 if (lface_id)
5223 escape_glyph = FAST_GLYPH_CHAR (escape_glyph); 5227 {
5224 face_id = merge_faces (it->f, Qt, lface_id, 5228 escape_glyph = FAST_GLYPH_CHAR (escape_glyph);
5225 it->face_id); 5229 face_id = merge_faces (it->f, Qt, lface_id,
5226 } 5230 it->face_id);
5227 } 5231 }
5228 else 5232 else
5229 { 5233 {
5230 /* Merge the escape-glyph face into the current face. */ 5234 /* Merge the escape-glyph face into the current face. */
5231 face_id = merge_faces (it->f, Qescape_glyph, 0, 5235 face_id = merge_faces (it->f, Qescape_glyph, 0,
5232 it->face_id); 5236 it->face_id);
5233 escape_glyph = '\\';
5234 } 5237 }
5235 5238
5236 if (it->c == 0xA0 || it->c == 0xAD) 5239 if (it->c == 0xA0 || it->c == 0xAD)
@@ -5947,9 +5950,9 @@ move_it_in_display_line_to (it, to_charpos, to_x, op)
5947 ((op & MOVE_TO_POS) != 0 \ 5950 ((op & MOVE_TO_POS) != 0 \
5948 && BUFFERP (it->object) \ 5951 && BUFFERP (it->object) \
5949 && IT_CHARPOS (*it) >= to_charpos \ 5952 && IT_CHARPOS (*it) >= to_charpos \
5950 && (it->method == GET_FROM_BUFFER || \ 5953 && (it->method == GET_FROM_BUFFER \
5951 (it->method == GET_FROM_DISPLAY_VECTOR && \ 5954 || (it->method == GET_FROM_DISPLAY_VECTOR \
5952 it->dpvec + it->current.dpvec_index + 1 >= it->dpend))) 5955 && it->dpvec + it->current.dpvec_index + 1 >= it->dpend)))
5953 5956
5954 5957
5955 while (1) 5958 while (1)
@@ -12386,7 +12389,11 @@ redisplay_window (window, just_this_one_p)
12386 { 12389 {
12387 init_iterator (&it, w, PT, PT_BYTE, NULL, DEFAULT_FACE_ID); 12390 init_iterator (&it, w, PT, PT_BYTE, NULL, DEFAULT_FACE_ID);
12388 move_it_vertically_backward (&it, 0); 12391 move_it_vertically_backward (&it, 0);
12392#if 0
12393 /* I think this assert is bogus if buffer contains
12394 invisible text or images. KFS. */
12389 xassert (IT_CHARPOS (it) <= PT); 12395 xassert (IT_CHARPOS (it) <= PT);
12396#endif
12390 it.current_y = 0; 12397 it.current_y = 0;
12391 } 12398 }
12392 12399
@@ -20920,8 +20927,10 @@ fast_find_position (w, charpos, hpos, vpos, x, y, stop)
20920 20927
20921 /* If whole rows or last part of a row came from a display overlay, 20928 /* If whole rows or last part of a row came from a display overlay,
20922 row_containing_pos will skip over such rows because their end pos 20929 row_containing_pos will skip over such rows because their end pos
20923 equals the start pos of the overlay or interval. Backtrack if we 20930 equals the start pos of the overlay or interval.
20924 have a STOP object and previous row's end glyph came from STOP. */ 20931
20932 Move back if we have a STOP object and previous row's
20933 end glyph came from STOP. */
20925 if (!NILP (stop)) 20934 if (!NILP (stop))
20926 { 20935 {
20927 struct glyph_row *prev; 20936 struct glyph_row *prev;
@@ -20929,11 +20938,11 @@ fast_find_position (w, charpos, hpos, vpos, x, y, stop)
20929 && MATRIX_ROW_END_CHARPOS (prev) == charpos 20938 && MATRIX_ROW_END_CHARPOS (prev) == charpos
20930 && prev->used[TEXT_AREA] > 0) 20939 && prev->used[TEXT_AREA] > 0)
20931 { 20940 {
20932 end = prev->glyphs[TEXT_AREA]; 20941 struct glyph *beg = prev->glyphs[TEXT_AREA];
20933 glyph = end + prev->used[TEXT_AREA]; 20942 glyph = beg + prev->used[TEXT_AREA];
20934 while (--glyph >= end 20943 while (--glyph >= beg
20935 && INTEGERP (glyph->object)); 20944 && INTEGERP (glyph->object));
20936 if (glyph < end 20945 if (glyph < beg
20937 || !EQ (stop, glyph->object)) 20946 || !EQ (stop, glyph->object))
20938 break; 20947 break;
20939 row = prev; 20948 row = prev;
@@ -22961,8 +22970,10 @@ Bind this around calls to `message' to let it take effect. */);
22961 message_truncate_lines = 0; 22970 message_truncate_lines = 0;
22962 22971
22963 DEFVAR_LISP ("menu-bar-update-hook", &Vmenu_bar_update_hook, 22972 DEFVAR_LISP ("menu-bar-update-hook", &Vmenu_bar_update_hook,
22964 doc: /* Normal hook run for clicks on menu bar, before displaying a submenu. 22973 doc: /* Normal hook run to update the menu bar definitions.
22965Can be used to update submenus whose contents should vary. */); 22974Redisplay runs this hook before it redisplays the menu bar.
22975This is used to update submenus such as Buffers,
22976whose contents depend on various data. */);
22966 Vmenu_bar_update_hook = Qnil; 22977 Vmenu_bar_update_hook = Qnil;
22967 22978
22968 DEFVAR_BOOL ("inhibit-menubar-update", &inhibit_menubar_update, 22979 DEFVAR_BOOL ("inhibit-menubar-update", &inhibit_menubar_update,