diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 47 | ||||
| -rw-r--r-- | src/ChangeLog.11 | 6 | ||||
| -rw-r--r-- | src/ChangeLog.3 | 2 | ||||
| -rw-r--r-- | src/ChangeLog.7 | 8 | ||||
| -rw-r--r-- | src/ChangeLog.8 | 2 | ||||
| -rw-r--r-- | src/ChangeLog.9 | 2 | ||||
| -rw-r--r-- | src/callproc.c | 3 | ||||
| -rw-r--r-- | src/dispnew.c | 31 | ||||
| -rw-r--r-- | src/keyboard.c | 2 | ||||
| -rw-r--r-- | src/makefile.w32-in | 5 | ||||
| -rw-r--r-- | src/nsfns.m | 2 | ||||
| -rw-r--r-- | src/s/hpux10-20.h | 2 | ||||
| -rw-r--r-- | src/w32fns.c | 2 | ||||
| -rw-r--r-- | src/w32font.c | 4 | ||||
| -rw-r--r-- | src/window.c | 68 | ||||
| -rw-r--r-- | src/window.h | 4 | ||||
| -rw-r--r-- | src/xdisp.c | 7 | ||||
| -rw-r--r-- | src/xfaces.c | 2 | ||||
| -rw-r--r-- | src/xfns.c | 2 |
19 files changed, 108 insertions, 93 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 4e56e3c8499..533f5cf4327 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | 2011-11-10 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2011-11-14 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | Standardize on VIRT_ADDR_VARIES behavior; otherwise, valgrind | 3 | Standardize on VIRT_ADDR_VARIES behavior; otherwise, valgrind |
| 4 | does not work on some platforms. Problem reported by Andreas Schwab in | 4 | does not work on some platforms. Problem reported by Andreas Schwab in |
| @@ -17,6 +17,51 @@ | |||
| 17 | * m/ibms390.h, m/intel386.h, m/template.h, s/cygwin.h, s/hpux10-20.h: | 17 | * m/ibms390.h, m/intel386.h, m/template.h, s/cygwin.h, s/hpux10-20.h: |
| 18 | Remove VIRT_ADDR_VARIES no longer needed. | 18 | Remove VIRT_ADDR_VARIES no longer needed. |
| 19 | 19 | ||
| 20 | 2011-11-12 Eli Zaretskii <eliz@gnu.org> | ||
| 21 | |||
| 22 | * makefile.w32-in (HEAPSIZE): New variable, allows to build temacs | ||
| 23 | with user-defined heap size. Bump the default size of the temacs | ||
| 24 | heap to 27MB, to avoid memory warning when running temacs. | ||
| 25 | ($(TEMACS)): Use HEAPSIZE instead of a hardcoded value. | ||
| 26 | |||
| 27 | * dispnew.c (scrolling_window): Fix incorrect indices in accessing | ||
| 28 | current_matrix and desired_matrix. (Bug#9990) | ||
| 29 | (verify_row_hash) [XASSERTS]: New function. | ||
| 30 | (adjust_glyph_matrix, row_equal_p): Use it in xassert to verify | ||
| 31 | that the hash value of glyph rows is correct. | ||
| 32 | |||
| 33 | 2011-11-12 Martin Rudalics <rudalics@gmx.at> | ||
| 34 | |||
| 35 | * window.h (window): Remove splits slot. | ||
| 36 | * window.c (Fwindow_splits, Fset_window_splits): Remove. | ||
| 37 | (Fdelete_other_windows_internal, make_parent_window) | ||
| 38 | (make_window, Fsplit_window_internal, Fdelete_window_internal) | ||
| 39 | (Fset_window_configuration, save_window_save): Don't deal with | ||
| 40 | split status of windows. | ||
| 41 | (saved_window): Remove splits slot. | ||
| 42 | (Vwindow_splits): Rewrite doc-string. | ||
| 43 | |||
| 44 | 2011-11-11 Jan Djärv <jan.h.d@swipnet.se> | ||
| 45 | |||
| 46 | * xfns.c (unwind_create_frame): | ||
| 47 | * nsfns.m (unwind_create_frame): | ||
| 48 | * w32fns.c (unwind_create_frame): Use Fmemq to check if frame is in | ||
| 49 | Vframe_list (Bug#9999). | ||
| 50 | |||
| 51 | 2011-11-11 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 52 | |||
| 53 | * xdisp.c (syms_of_xdisp): Remove duplicated definition of Qtext. | ||
| 54 | |||
| 55 | 2011-11-11 Kenichi Handa <handa@m17n.org> | ||
| 56 | |||
| 57 | * callproc.c (Fcall_process): Set the member dst_multibyte of | ||
| 58 | process_coding. | ||
| 59 | |||
| 60 | 2011-11-11 Johan Bockgård <bojohan@gnu.org> | ||
| 61 | |||
| 62 | * xdisp.c (fill_composite_glyph_string): Always set s->face, to | ||
| 63 | avoid a crash (bug#9496). | ||
| 64 | |||
| 20 | 2011-11-09 Chong Yidong <cyd@gnu.org> | 65 | 2011-11-09 Chong Yidong <cyd@gnu.org> |
| 21 | 66 | ||
| 22 | * window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges) | 67 | * window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges) |
diff --git a/src/ChangeLog.11 b/src/ChangeLog.11 index 0a9df7d1aee..bd1a6ec5918 100644 --- a/src/ChangeLog.11 +++ b/src/ChangeLog.11 | |||
| @@ -7949,7 +7949,7 @@ | |||
| 7949 | 2010-05-11 Karel Klíč <kklic@redhat.com> | 7949 | 2010-05-11 Karel Klíč <kklic@redhat.com> |
| 7950 | 7950 | ||
| 7951 | * ftfont.c: Fix incorrect parentheses of #if condition for | 7951 | * ftfont.c: Fix incorrect parentheses of #if condition for |
| 7952 | definining M17N_FLT_USE_NEW_FEATURE. | 7952 | defining M17N_FLT_USE_NEW_FEATURE. |
| 7953 | 7953 | ||
| 7954 | 2010-05-11 Glenn Morris <rgm@gnu.org> | 7954 | 2010-05-11 Glenn Morris <rgm@gnu.org> |
| 7955 | 7955 | ||
| @@ -25474,7 +25474,7 @@ | |||
| 25474 | 25474 | ||
| 25475 | * term.c (terminal_encode_buffer): Make externally visible. | 25475 | * term.c (terminal_encode_buffer): Make externally visible. |
| 25476 | 25476 | ||
| 25477 | * makefile.w32-in: Add character.h dependancies. | 25477 | * makefile.w32-in: Add character.h dependencies. |
| 25478 | (character.o, chartab.o): New targets. | 25478 | (character.o, chartab.o): New targets. |
| 25479 | 25479 | ||
| 25480 | 2008-02-01 Kenichi Handa <handa@m17n.org> | 25480 | 2008-02-01 Kenichi Handa <handa@m17n.org> |
| @@ -29718,7 +29718,7 @@ | |||
| 29718 | * keyboard.c (restore_kboard_configuration): Only define when | 29718 | * keyboard.c (restore_kboard_configuration): Only define when |
| 29719 | MULTI_KBOARD defined. | 29719 | MULTI_KBOARD defined. |
| 29720 | 29720 | ||
| 29721 | * makefile.w32-in: Update dependancies from Makefile.in. | 29721 | * makefile.w32-in: Update dependencies from Makefile.in. |
| 29722 | (OBJ1): Add terminal.$(O) | 29722 | (OBJ1): Add terminal.$(O) |
| 29723 | 29723 | ||
| 29724 | * term.c (dissociate_if_controlling_tty) [WINDOWSNT]: | 29724 | * term.c (dissociate_if_controlling_tty) [WINDOWSNT]: |
diff --git a/src/ChangeLog.3 b/src/ChangeLog.3 index beb7a0a2ae1..79a580938d7 100644 --- a/src/ChangeLog.3 +++ b/src/ChangeLog.3 | |||
| @@ -13393,7 +13393,7 @@ | |||
| 13393 | 13393 | ||
| 13394 | * macros.c (Fstart_kbd_macro): Local cleanup. | 13394 | * macros.c (Fstart_kbd_macro): Local cleanup. |
| 13395 | 13395 | ||
| 13396 | * minibuf.c (read_minibuf): No more delcaration of | 13396 | * minibuf.c (read_minibuf): No more declaration of |
| 13397 | Frestore_screen_configuration. | 13397 | Frestore_screen_configuration. |
| 13398 | 13398 | ||
| 13399 | * search.c (Fregexp_quote): Simplified. | 13399 | * search.c (Fregexp_quote): Simplified. |
diff --git a/src/ChangeLog.7 b/src/ChangeLog.7 index d5bebec660f..fa55d6974ad 100644 --- a/src/ChangeLog.7 +++ b/src/ChangeLog.7 | |||
| @@ -592,7 +592,7 @@ | |||
| 592 | 592 | ||
| 593 | * coding.h (Qemacs_mule): Extern it. | 593 | * coding.h (Qemacs_mule): Extern it. |
| 594 | 594 | ||
| 595 | * process.c (init_process): Initilize Vdefault_process_coding_system. | 595 | * process.c (init_process): Initialize Vdefault_process_coding_system. |
| 596 | 596 | ||
| 597 | 1998-06-26 Kenichi Handa <handa@etl.go.jp> | 597 | 1998-06-26 Kenichi Handa <handa@etl.go.jp> |
| 598 | 598 | ||
| @@ -972,7 +972,7 @@ | |||
| 972 | 972 | ||
| 973 | 1998-06-01 Ken'ichi Handa <handa@melange.gnu.org> | 973 | 1998-06-01 Ken'ichi Handa <handa@melange.gnu.org> |
| 974 | 974 | ||
| 975 | * coding.c (detect_coding_mask): Initilize local variable C. | 975 | * coding.c (detect_coding_mask): Initialize local variable C. |
| 976 | 976 | ||
| 977 | 1998-06-01 Richard Stallman <rms@gnu.org> | 977 | 1998-06-01 Richard Stallman <rms@gnu.org> |
| 978 | 978 | ||
| @@ -6317,7 +6317,7 @@ | |||
| 6317 | (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise. | 6317 | (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise. |
| 6318 | (safe_terminal_coding): New variable. | 6318 | (safe_terminal_coding): New variable. |
| 6319 | (Fset_safe_terminal_coding_system_internal): New function. | 6319 | (Fset_safe_terminal_coding_system_internal): New function. |
| 6320 | (init_coding_once): Initilize safe_terminal_coding. | 6320 | (init_coding_once): Initialize safe_terminal_coding. |
| 6321 | (syms_of_coding): Declare set-safe-terminal-coding-system as a | 6321 | (syms_of_coding): Declare set-safe-terminal-coding-system as a |
| 6322 | Lisp function. | 6322 | Lisp function. |
| 6323 | 6323 | ||
| @@ -7399,7 +7399,7 @@ | |||
| 7399 | 7399 | ||
| 7400 | 1997-06-18 Kenichi Handa <handa@etl.go.jp> | 7400 | 1997-06-18 Kenichi Handa <handa@etl.go.jp> |
| 7401 | 7401 | ||
| 7402 | * coding.c (detect_coding_iso2022): Initilize mask correctly. | 7402 | * coding.c (detect_coding_iso2022): Initialize mask correctly. |
| 7403 | 7403 | ||
| 7404 | * fns.c (concat): Pay attention to multibyte characters when | 7404 | * fns.c (concat): Pay attention to multibyte characters when |
| 7405 | TARGET_TYPE is Lisp_String. | 7405 | TARGET_TYPE is Lisp_String. |
diff --git a/src/ChangeLog.8 b/src/ChangeLog.8 index 833119c9fcf..6fd4d5dea27 100644 --- a/src/ChangeLog.8 +++ b/src/ChangeLog.8 | |||
| @@ -13404,7 +13404,7 @@ | |||
| 13404 | 13404 | ||
| 13405 | 1998-10-20 Jason Rumney <jasonr@altavista.net> | 13405 | 1998-10-20 Jason Rumney <jasonr@altavista.net> |
| 13406 | 13406 | ||
| 13407 | * makefile.nt (w32fns.c): Add x-list-font.c to dependancies. | 13407 | * makefile.nt (w32fns.c): Add x-list-font.c to dependencies. |
| 13408 | 13408 | ||
| 13409 | * w32faces.c: Update comments referring to obsolete structs. | 13409 | * w32faces.c: Update comments referring to obsolete structs. |
| 13410 | (allocate_face, copy_face, face_eql, load_font) | 13410 | (allocate_face, copy_face, face_eql, load_font) |
diff --git a/src/ChangeLog.9 b/src/ChangeLog.9 index ceec5da3296..1a4abfab61b 100644 --- a/src/ChangeLog.9 +++ b/src/ChangeLog.9 | |||
| @@ -4617,7 +4617,7 @@ | |||
| 4617 | * lisp.h (detect_coding_system): Prototype adjusted. | 4617 | * lisp.h (detect_coding_system): Prototype adjusted. |
| 4618 | 4618 | ||
| 4619 | * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro. | 4619 | * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro. |
| 4620 | (detect_coding_emacs_mule, detect_coding_iso2022,) | 4620 | (detect_coding_emacs_mule, detect_coding_iso2022) |
| 4621 | (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8) | 4621 | (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8) |
| 4622 | (detect_coding_utf_16, detect_coding_ccl): Make them static. | 4622 | (detect_coding_utf_16, detect_coding_ccl): Make them static. |
| 4623 | New argument MULTIBYTEP. Callers changed. | 4623 | New argument MULTIBYTEP. Callers changed. |
diff --git a/src/callproc.c b/src/callproc.c index 0859aaef2e6..01772efce30 100644 --- a/src/callproc.c +++ b/src/callproc.c | |||
| @@ -712,6 +712,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */) | |||
| 712 | /* If BUFFER is nil, we must read process output once and then | 712 | /* If BUFFER is nil, we must read process output once and then |
| 713 | discard it, so setup coding system but with nil. */ | 713 | discard it, so setup coding system but with nil. */ |
| 714 | setup_coding_system (Qnil, &process_coding); | 714 | setup_coding_system (Qnil, &process_coding); |
| 715 | process_coding.dst_multibyte = 0; | ||
| 715 | } | 716 | } |
| 716 | else | 717 | else |
| 717 | { | 718 | { |
| @@ -747,6 +748,8 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */) | |||
| 747 | && !NILP (val)) | 748 | && !NILP (val)) |
| 748 | val = raw_text_coding_system (val); | 749 | val = raw_text_coding_system (val); |
| 749 | setup_coding_system (val, &process_coding); | 750 | setup_coding_system (val, &process_coding); |
| 751 | process_coding.dst_multibyte | ||
| 752 | = ! NILP (BVAR (current_buffer, enable_multibyte_characters)); | ||
| 750 | } | 753 | } |
| 751 | process_coding.src_multibyte = 0; | 754 | process_coding.src_multibyte = 0; |
| 752 | 755 | ||
diff --git a/src/dispnew.c b/src/dispnew.c index 46d1917b144..7b594c5b4e8 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -429,6 +429,25 @@ margin_glyphs_to_reserve (struct window *w, int total_glyphs, Lisp_Object margin | |||
| 429 | return n; | 429 | return n; |
| 430 | } | 430 | } |
| 431 | 431 | ||
| 432 | #if XASSERTS | ||
| 433 | /* Return non-zero if ROW's hash value is correct, zero if not. */ | ||
| 434 | int | ||
| 435 | verify_row_hash (struct glyph_row *row) | ||
| 436 | { | ||
| 437 | int area, k; | ||
| 438 | unsigned row_hash = 0; | ||
| 439 | |||
| 440 | for (area = LEFT_MARGIN_AREA; area < LAST_AREA; ++area) | ||
| 441 | for (k = 0; k < row->used[area]; ++k) | ||
| 442 | row_hash = ((((row_hash << 4) + (row_hash >> 24)) & 0x0fffffff) | ||
| 443 | + row->glyphs[area][k].u.val | ||
| 444 | + row->glyphs[area][k].face_id | ||
| 445 | + row->glyphs[area][k].padding_p | ||
| 446 | + (row->glyphs[area][k].type << 2)); | ||
| 447 | |||
| 448 | return row_hash == row->hash; | ||
| 449 | } | ||
| 450 | #endif | ||
| 432 | 451 | ||
| 433 | /* Adjust glyph matrix MATRIX on window W or on a frame to changed | 452 | /* Adjust glyph matrix MATRIX on window W or on a frame to changed |
| 434 | window sizes. | 453 | window sizes. |
| @@ -600,6 +619,7 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y | |||
| 600 | row->glyphs[LAST_AREA] | 619 | row->glyphs[LAST_AREA] |
| 601 | = row->glyphs[LEFT_MARGIN_AREA] + dim.width; | 620 | = row->glyphs[LEFT_MARGIN_AREA] + dim.width; |
| 602 | } | 621 | } |
| 622 | xassert (!row->enabled_p || verify_row_hash (row)); | ||
| 603 | ++row; | 623 | ++row; |
| 604 | } | 624 | } |
| 605 | } | 625 | } |
| @@ -1271,6 +1291,9 @@ line_draw_cost (struct glyph_matrix *matrix, int vpos) | |||
| 1271 | static inline int | 1291 | static inline int |
| 1272 | row_equal_p (struct glyph_row *a, struct glyph_row *b, int mouse_face_p) | 1292 | row_equal_p (struct glyph_row *a, struct glyph_row *b, int mouse_face_p) |
| 1273 | { | 1293 | { |
| 1294 | xassert (verify_row_hash (a)); | ||
| 1295 | xassert (verify_row_hash (b)); | ||
| 1296 | |||
| 1274 | if (a == b) | 1297 | if (a == b) |
| 1275 | return 1; | 1298 | return 1; |
| 1276 | else if (a->hash != b->hash) | 1299 | else if (a->hash != b->hash) |
| @@ -4334,10 +4357,10 @@ scrolling_window (struct window *w, int header_line_p) | |||
| 4334 | j = last_old; | 4357 | j = last_old; |
| 4335 | while (i - 1 > first_new | 4358 | while (i - 1 > first_new |
| 4336 | && j - 1 > first_old | 4359 | && j - 1 > first_old |
| 4337 | && MATRIX_ROW (current_matrix, i - 1)->enabled_p | 4360 | && MATRIX_ROW (current_matrix, j - 1)->enabled_p |
| 4338 | && (MATRIX_ROW (current_matrix, i - 1)->y | 4361 | && (MATRIX_ROW (current_matrix, j - 1)->y |
| 4339 | == MATRIX_ROW (desired_matrix, j - 1)->y) | 4362 | == MATRIX_ROW (desired_matrix, i - 1)->y) |
| 4340 | && !MATRIX_ROW (desired_matrix, j - 1)->redraw_fringe_bitmaps_p | 4363 | && !MATRIX_ROW (desired_matrix, i - 1)->redraw_fringe_bitmaps_p |
| 4341 | && row_equal_p (MATRIX_ROW (desired_matrix, i - 1), | 4364 | && row_equal_p (MATRIX_ROW (desired_matrix, i - 1), |
| 4342 | MATRIX_ROW (current_matrix, j - 1), 1)) | 4365 | MATRIX_ROW (current_matrix, j - 1), 1)) |
| 4343 | --i, --j; | 4366 | --i, --j; |
diff --git a/src/keyboard.c b/src/keyboard.c index 11c37d14f64..f8c31af3fbe 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -8133,7 +8133,7 @@ parse_tool_bar_item (Lisp_Object key, Lisp_Object item) | |||
| 8133 | Lisp_Object caption; | 8133 | Lisp_Object caption; |
| 8134 | int i, have_label = 0; | 8134 | int i, have_label = 0; |
| 8135 | 8135 | ||
| 8136 | /* Defininition looks like `(menu-item CAPTION BINDING PROPS...)'. | 8136 | /* Definition looks like `(menu-item CAPTION BINDING PROPS...)'. |
| 8137 | Rule out items that aren't lists, don't start with | 8137 | Rule out items that aren't lists, don't start with |
| 8138 | `menu-item' or whose rest following `tool-bar-item' is not a | 8138 | `menu-item' or whose rest following `tool-bar-item' is not a |
| 8139 | list. */ | 8139 | list. */ |
diff --git a/src/makefile.w32-in b/src/makefile.w32-in index e97f7f3aca4..36e4511d845 100644 --- a/src/makefile.w32-in +++ b/src/makefile.w32-in | |||
| @@ -24,6 +24,9 @@ ALL = emacs | |||
| 24 | # Set EMACSLOADPATH correctly (in case already defined in environment). | 24 | # Set EMACSLOADPATH correctly (in case already defined in environment). |
| 25 | EMACSLOADPATH=$(CURDIR)/../lisp | 25 | EMACSLOADPATH=$(CURDIR)/../lisp |
| 26 | 26 | ||
| 27 | # Size in MBs of the static heap in temacs.exe. | ||
| 28 | HEAPSIZE = 27 | ||
| 29 | |||
| 27 | # | 30 | # |
| 28 | # HAVE_CONFIG_H is required by some generic gnu sources stuck into | 31 | # HAVE_CONFIG_H is required by some generic gnu sources stuck into |
| 29 | # the emacs source tree. | 32 | # the emacs source tree. |
| @@ -177,7 +180,7 @@ temacs: stamp_BLD $(TEMACS) | |||
| 177 | $(TEMACS): $(TLIB0) $(TLIB1) $(TLIB2) $(TLASTLIB) $(TOBJ) $(TRES) \ | 180 | $(TEMACS): $(TLIB0) $(TLIB1) $(TLIB2) $(TLASTLIB) $(TOBJ) $(TRES) \ |
| 178 | ../nt/$(BLD)/addsection.exe $(GNULIB) | 181 | ../nt/$(BLD)/addsection.exe $(GNULIB) |
| 179 | $(LINK) $(LINK_OUT)$(TEMACS_TMP) $(FULL_LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS) | 182 | $(LINK) $(LINK_OUT)$(TEMACS_TMP) $(FULL_LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS) |
| 180 | "$(THISDIR)/../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP 21 | 183 | "$(THISDIR)/../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP $(HEAPSIZE) |
| 181 | 184 | ||
| 182 | # These omit firstfile.${O}, but there's no documentation in there | 185 | # These omit firstfile.${O}, but there's no documentation in there |
| 183 | # anyways. | 186 | # anyways. |
diff --git a/src/nsfns.m b/src/nsfns.m index 23362433a39..20b021c6f5d 100644 --- a/src/nsfns.m +++ b/src/nsfns.m | |||
| @@ -1057,7 +1057,7 @@ unwind_create_frame (Lisp_Object frame) | |||
| 1057 | return Qnil; | 1057 | return Qnil; |
| 1058 | 1058 | ||
| 1059 | /* If frame is ``official'', nothing to do. */ | 1059 | /* If frame is ``official'', nothing to do. */ |
| 1060 | if (!CONSP (Vframe_list) || !EQ (XCAR (Vframe_list), frame)) | 1060 | if (NILP (Fmemq (frame, Vframe_list))) |
| 1061 | { | 1061 | { |
| 1062 | #if GLYPH_DEBUG && XASSERTS | 1062 | #if GLYPH_DEBUG && XASSERTS |
| 1063 | struct ns_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 1063 | struct ns_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); |
diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h index 98bee64eb08..be457498add 100644 --- a/src/s/hpux10-20.h +++ b/src/s/hpux10-20.h | |||
| @@ -89,7 +89,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 89 | #undef HAVE_RANDOM | 89 | #undef HAVE_RANDOM |
| 90 | 90 | ||
| 91 | 91 | ||
| 92 | /* Rainer Malzbender <rainer@displaytech.com> says definining | 92 | /* Rainer Malzbender <rainer@displaytech.com> says defining |
| 93 | HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20 using GCC. */ | 93 | HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20 using GCC. */ |
| 94 | #ifndef HAVE_XRMSETDATABASE | 94 | #ifndef HAVE_XRMSETDATABASE |
| 95 | #define HAVE_XRMSETDATABASE | 95 | #define HAVE_XRMSETDATABASE |
diff --git a/src/w32fns.c b/src/w32fns.c index 6f32442514a..ffbcff86694 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -3986,7 +3986,7 @@ unwind_create_frame (Lisp_Object frame) | |||
| 3986 | struct frame *f = XFRAME (frame); | 3986 | struct frame *f = XFRAME (frame); |
| 3987 | 3987 | ||
| 3988 | /* If frame is ``official'', nothing to do. */ | 3988 | /* If frame is ``official'', nothing to do. */ |
| 3989 | if (!CONSP (Vframe_list) || !EQ (XCAR (Vframe_list), frame)) | 3989 | if (NILP (Fmemq (frame, Vframe_list))) |
| 3990 | { | 3990 | { |
| 3991 | #if GLYPH_DEBUG | 3991 | #if GLYPH_DEBUG |
| 3992 | struct w32_display_info *dpyinfo = FRAME_W32_DISPLAY_INFO (f); | 3992 | struct w32_display_info *dpyinfo = FRAME_W32_DISPLAY_INFO (f); |
diff --git a/src/w32font.c b/src/w32font.c index 26bf4207de5..365f8b78a5e 100644 --- a/src/w32font.c +++ b/src/w32font.c | |||
| @@ -2221,7 +2221,7 @@ font_supported_scripts (FONTSIGNATURE * sig) | |||
| 2221 | so don't need to mark them separately. */ | 2221 | so don't need to mark them separately. */ |
| 2222 | /* 1: Latin-1 supplement, 2: Latin Extended A, 3: Latin Extended B. */ | 2222 | /* 1: Latin-1 supplement, 2: Latin Extended A, 3: Latin Extended B. */ |
| 2223 | SUBRANGE (4, Qphonetic); | 2223 | SUBRANGE (4, Qphonetic); |
| 2224 | /* 5: Spacing and tone modifiers, 6: Combining Diacriticals. */ | 2224 | /* 5: Spacing and tone modifiers, 6: Combining Diacritical Marks. */ |
| 2225 | SUBRANGE (7, Qgreek); | 2225 | SUBRANGE (7, Qgreek); |
| 2226 | SUBRANGE (8, Qcoptic); | 2226 | SUBRANGE (8, Qcoptic); |
| 2227 | SUBRANGE (9, Qcyrillic); | 2227 | SUBRANGE (9, Qcyrillic); |
| @@ -2311,7 +2311,7 @@ font_supported_scripts (FONTSIGNATURE * sig) | |||
| 2311 | /* 115: Saurashtra, 116: Kayah Li, 117: Rejang. */ | 2311 | /* 115: Saurashtra, 116: Kayah Li, 117: Rejang. */ |
| 2312 | SUBRANGE (118, Qcham); | 2312 | SUBRANGE (118, Qcham); |
| 2313 | /* 119: Ancient symbols, 120: Phaistos Disc. */ | 2313 | /* 119: Ancient symbols, 120: Phaistos Disc. */ |
| 2314 | /* 121: Carian, Lycian, Lydian, 122: Dominos, Mah Jong tiles. */ | 2314 | /* 121: Carian, Lycian, Lydian, 122: Dominoes, Mahjong tiles. */ |
| 2315 | /* 123-127: Reserved. */ | 2315 | /* 123-127: Reserved. */ |
| 2316 | 2316 | ||
| 2317 | /* There isn't really a main symbol range, so include symbol if any | 2317 | /* There isn't really a main symbol range, so include symbol if any |
diff --git a/src/window.c b/src/window.c index 83a8974e88d..0a780a0170a 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -465,41 +465,6 @@ Return nil if WINDOW has no previous sibling. */) | |||
| 465 | return decode_any_window (window)->prev; | 465 | return decode_any_window (window)->prev; |
| 466 | } | 466 | } |
| 467 | 467 | ||
| 468 | DEFUN ("window-splits", Fwindow_splits, Swindow_splits, 0, 1, 0, | ||
| 469 | doc: /* Return splits status for the window WINDOW. | ||
| 470 | If WINDOW is omitted or nil, it defaults to the selected window. | ||
| 471 | |||
| 472 | If the value returned by this function is nil and WINDOW is resized, the | ||
| 473 | corresponding space is preferably taken from (or given to) WINDOW's | ||
| 474 | right sibling. When WINDOW is deleted, its space is given to its left | ||
| 475 | sibling. | ||
| 476 | |||
| 477 | If the value returned by this function is non-nil, resizing and deleting | ||
| 478 | WINDOW may resize all windows in the same combination. */) | ||
| 479 | (Lisp_Object window) | ||
| 480 | { | ||
| 481 | return decode_any_window (window)->splits; | ||
| 482 | } | ||
| 483 | |||
| 484 | DEFUN ("set-window-splits", Fset_window_splits, Sset_window_splits, 2, 2, 0, | ||
| 485 | doc: /* Set splits status of window WINDOW to STATUS. | ||
| 486 | If WINDOW is omitted or nil, it defaults to the selected window. | ||
| 487 | |||
| 488 | If STATUS is nil and WINDOW is later resized, the corresponding space is | ||
| 489 | preferably taken from (or given to) WINDOW's right sibling. When WINDOW | ||
| 490 | is deleted, its space is given to its left sibling. | ||
| 491 | |||
| 492 | If STATUS is non-nil, resizing and deleting WINDOW may resize all | ||
| 493 | windows in the same combination. */) | ||
| 494 | (Lisp_Object window, Lisp_Object status) | ||
| 495 | { | ||
| 496 | register struct window *w = decode_any_window (window); | ||
| 497 | |||
| 498 | w->splits = status; | ||
| 499 | |||
| 500 | return w->splits; | ||
| 501 | } | ||
| 502 | |||
| 503 | DEFUN ("window-nest", Fwindow_nest, Swindow_nest, 0, 1, 0, | 468 | DEFUN ("window-nest", Fwindow_nest, Swindow_nest, 0, 1, 0, |
| 504 | doc: /* Return nest status of window WINDOW. | 469 | doc: /* Return nest status of window WINDOW. |
| 505 | If WINDOW is omitted or nil, it defaults to the selected window. | 470 | If WINDOW is omitted or nil, it defaults to the selected window. |
| @@ -2769,9 +2734,6 @@ window-start value is reasonable when this function is called. */) | |||
| 2769 | 2734 | ||
| 2770 | replace_window (root, window, 1); | 2735 | replace_window (root, window, 1); |
| 2771 | 2736 | ||
| 2772 | /* Reset WINDOW's splits status. */ | ||
| 2773 | w->splits = Qnil; | ||
| 2774 | |||
| 2775 | /* This must become SWINDOW anyway ....... */ | 2737 | /* This must become SWINDOW anyway ....... */ |
| 2776 | if (!NILP (w->buffer) && !resize_failed) | 2738 | if (!NILP (w->buffer) && !resize_failed) |
| 2777 | { | 2739 | { |
| @@ -3286,7 +3248,6 @@ make_parent_window (Lisp_Object window, int horflag) | |||
| 3286 | p->start = Qnil; | 3248 | p->start = Qnil; |
| 3287 | p->pointm = Qnil; | 3249 | p->pointm = Qnil; |
| 3288 | p->buffer = Qnil; | 3250 | p->buffer = Qnil; |
| 3289 | p->splits = Qnil; | ||
| 3290 | p->nest = Qnil; | 3251 | p->nest = Qnil; |
| 3291 | p->window_parameters = Qnil; | 3252 | p->window_parameters = Qnil; |
| 3292 | } | 3253 | } |
| @@ -3334,7 +3295,7 @@ make_window (void) | |||
| 3334 | w->start_at_line_beg = w->display_table = w->dedicated = Qnil; | 3295 | w->start_at_line_beg = w->display_table = w->dedicated = Qnil; |
| 3335 | w->base_line_number = w->base_line_pos = w->region_showing = Qnil; | 3296 | w->base_line_number = w->base_line_pos = w->region_showing = Qnil; |
| 3336 | w->column_number_displayed = w->redisplay_end_trigger = Qnil; | 3297 | w->column_number_displayed = w->redisplay_end_trigger = Qnil; |
| 3337 | w->splits = w->nest = w->window_parameters = Qnil; | 3298 | w->nest = w->window_parameters = Qnil; |
| 3338 | w->prev_buffers = w->next_buffers = Qnil; | 3299 | w->prev_buffers = w->next_buffers = Qnil; |
| 3339 | /* Initialize non-Lisp data. */ | 3300 | /* Initialize non-Lisp data. */ |
| 3340 | w->desired_matrix = w->current_matrix = 0; | 3301 | w->desired_matrix = w->current_matrix = 0; |
| @@ -3776,10 +3737,6 @@ set correctly. See the code of `split-window' for how this is done. */) | |||
| 3776 | p = XWINDOW (o->parent); | 3737 | p = XWINDOW (o->parent); |
| 3777 | /* Store value of `window-nest' in new parent's nest slot. */ | 3738 | /* Store value of `window-nest' in new parent's nest slot. */ |
| 3778 | p->nest = Vwindow_nest; | 3739 | p->nest = Vwindow_nest; |
| 3779 | /* Have PARENT inherit splits slot value from OLD. */ | ||
| 3780 | p->splits = o->splits; | ||
| 3781 | /* Store value of `window-splits' in OLD's splits slot. */ | ||
| 3782 | o->splits = Vwindow_splits; | ||
| 3783 | /* These get applied below. */ | 3740 | /* These get applied below. */ |
| 3784 | p->new_total = horflag ? o->total_cols : o->total_lines; | 3741 | p->new_total = horflag ? o->total_cols : o->total_lines; |
| 3785 | p->new_normal = new_normal; | 3742 | p->new_normal = new_normal; |
| @@ -3830,9 +3787,6 @@ set correctly. See the code of `split-window' for how this is done. */) | |||
| 3830 | n->scroll_bar_width = r->scroll_bar_width; | 3787 | n->scroll_bar_width = r->scroll_bar_width; |
| 3831 | n->vertical_scroll_bar_type = r->vertical_scroll_bar_type; | 3788 | n->vertical_scroll_bar_type = r->vertical_scroll_bar_type; |
| 3832 | 3789 | ||
| 3833 | /* Store `window-splits' in NEW's splits slot. */ | ||
| 3834 | n->splits = Vwindow_splits; | ||
| 3835 | |||
| 3836 | /* Directly assign orthogonal coordinates and sizes. */ | 3790 | /* Directly assign orthogonal coordinates and sizes. */ |
| 3837 | if (horflag) | 3791 | if (horflag) |
| 3838 | { | 3792 | { |
| @@ -3972,7 +3926,6 @@ Signal an error when WINDOW is the only window on its frame. */) | |||
| 3972 | PARENT (the nest slot is not inherited). */ | 3926 | PARENT (the nest slot is not inherited). */ |
| 3973 | s->normal_cols = p->normal_cols; | 3927 | s->normal_cols = p->normal_cols; |
| 3974 | s->normal_lines = p->normal_lines; | 3928 | s->normal_lines = p->normal_lines; |
| 3975 | s->splits = p->splits; | ||
| 3976 | /* Mark PARENT as deleted. */ | 3929 | /* Mark PARENT as deleted. */ |
| 3977 | p->vchild = p->hchild = Qnil; | 3930 | p->vchild = p->hchild = Qnil; |
| 3978 | /* Try to merge SIBLING into its new parent. */ | 3931 | /* Try to merge SIBLING into its new parent. */ |
| @@ -5359,7 +5312,7 @@ struct saved_window | |||
| 5359 | Lisp_Object left_margin_cols, right_margin_cols; | 5312 | Lisp_Object left_margin_cols, right_margin_cols; |
| 5360 | Lisp_Object left_fringe_width, right_fringe_width, fringes_outside_margins; | 5313 | Lisp_Object left_fringe_width, right_fringe_width, fringes_outside_margins; |
| 5361 | Lisp_Object scroll_bar_width, vertical_scroll_bar_type, dedicated; | 5314 | Lisp_Object scroll_bar_width, vertical_scroll_bar_type, dedicated; |
| 5362 | Lisp_Object splits, nest, window_parameters; | 5315 | Lisp_Object nest, window_parameters; |
| 5363 | }; | 5316 | }; |
| 5364 | 5317 | ||
| 5365 | #define SAVED_WINDOW_N(swv,n) \ | 5318 | #define SAVED_WINDOW_N(swv,n) \ |
| @@ -5590,7 +5543,6 @@ the return value is nil. Otherwise the value is t. */) | |||
| 5590 | w->scroll_bar_width = p->scroll_bar_width; | 5543 | w->scroll_bar_width = p->scroll_bar_width; |
| 5591 | w->vertical_scroll_bar_type = p->vertical_scroll_bar_type; | 5544 | w->vertical_scroll_bar_type = p->vertical_scroll_bar_type; |
| 5592 | w->dedicated = p->dedicated; | 5545 | w->dedicated = p->dedicated; |
| 5593 | w->splits = p->splits; | ||
| 5594 | w->nest = p->nest; | 5546 | w->nest = p->nest; |
| 5595 | w->window_parameters = p->window_parameters; | 5547 | w->window_parameters = p->window_parameters; |
| 5596 | XSETFASTINT (w->last_modified, 0); | 5548 | XSETFASTINT (w->last_modified, 0); |
| @@ -5869,7 +5821,6 @@ save_window_save (Lisp_Object window, struct Lisp_Vector *vector, int i) | |||
| 5869 | p->scroll_bar_width = w->scroll_bar_width; | 5821 | p->scroll_bar_width = w->scroll_bar_width; |
| 5870 | p->vertical_scroll_bar_type = w->vertical_scroll_bar_type; | 5822 | p->vertical_scroll_bar_type = w->vertical_scroll_bar_type; |
| 5871 | p->dedicated = w->dedicated; | 5823 | p->dedicated = w->dedicated; |
| 5872 | p->splits = w->splits; | ||
| 5873 | p->nest = w->nest; | 5824 | p->nest = w->nest; |
| 5874 | p->window_parameters = w->window_parameters; | 5825 | p->window_parameters = w->window_parameters; |
| 5875 | if (!NILP (w->buffer)) | 5826 | if (!NILP (w->buffer)) |
| @@ -6333,7 +6284,7 @@ freeze_window_starts (struct frame *f, int freeze_p) | |||
| 6333 | and the like. | 6284 | and the like. |
| 6334 | 6285 | ||
| 6335 | This ignores a couple of things like the dedicatedness status of | 6286 | This ignores a couple of things like the dedicatedness status of |
| 6336 | window, splits, nest and the like. This might have to be fixed. */ | 6287 | window, nest and the like. This might have to be fixed. */ |
| 6337 | 6288 | ||
| 6338 | int | 6289 | int |
| 6339 | compare_window_configurations (Lisp_Object configuration1, Lisp_Object configuration2, int ignore_positions) | 6290 | compare_window_configurations (Lisp_Object configuration1, Lisp_Object configuration2, int ignore_positions) |
| @@ -6545,16 +6496,7 @@ variable is non-nil, splitting a window may resize all windows in the | |||
| 6545 | same combination. This also allows to split a window that is otherwise | 6496 | same combination. This also allows to split a window that is otherwise |
| 6546 | too small or of fixed size. | 6497 | too small or of fixed size. |
| 6547 | 6498 | ||
| 6548 | The value of this variable is also assigned to the split status of the | 6499 | This variable takes no effect if `window-nest' is non-nil. */); |
| 6549 | new window and, provided the old and new window form a new combination, | ||
| 6550 | to the window that was split as well. The split status of a window can | ||
| 6551 | be retrieved with the function `window-splits' and altered by the | ||
| 6552 | function `set-window-splits'. | ||
| 6553 | |||
| 6554 | If the value of the variable `window-nest' is non-nil, the space for the | ||
| 6555 | new window is exclusively taken from the window that shall be split, but | ||
| 6556 | the split status of the window that is split as well as that of the new | ||
| 6557 | window are still set to the value of this variable. */); | ||
| 6558 | Vwindow_splits = Qnil; | 6500 | Vwindow_splits = Qnil; |
| 6559 | 6501 | ||
| 6560 | DEFVAR_LISP ("window-nest", Vwindow_nest, | 6502 | DEFVAR_LISP ("window-nest", Vwindow_nest, |
| @@ -6591,8 +6533,6 @@ function `window-nest' and altered by the function `set-window-nest'. */); | |||
| 6591 | defsubr (&Swindow_left_child); | 6533 | defsubr (&Swindow_left_child); |
| 6592 | defsubr (&Swindow_next_sibling); | 6534 | defsubr (&Swindow_next_sibling); |
| 6593 | defsubr (&Swindow_prev_sibling); | 6535 | defsubr (&Swindow_prev_sibling); |
| 6594 | defsubr (&Swindow_splits); | ||
| 6595 | defsubr (&Sset_window_splits); | ||
| 6596 | defsubr (&Swindow_nest); | 6536 | defsubr (&Swindow_nest); |
| 6597 | defsubr (&Sset_window_nest); | 6537 | defsubr (&Sset_window_nest); |
| 6598 | defsubr (&Swindow_use_time); | 6538 | defsubr (&Swindow_use_time); |
diff --git a/src/window.h b/src/window.h index 6a9641e3e6d..c11235bd67b 100644 --- a/src/window.h +++ b/src/window.h | |||
| @@ -258,10 +258,6 @@ struct window | |||
| 258 | must run the redisplay-end-trigger-hook. */ | 258 | must run the redisplay-end-trigger-hook. */ |
| 259 | Lisp_Object redisplay_end_trigger; | 259 | Lisp_Object redisplay_end_trigger; |
| 260 | 260 | ||
| 261 | /* Non-nil means deleting or resizing this window distributes | ||
| 262 | space among all windows in the same combination. */ | ||
| 263 | Lisp_Object splits; | ||
| 264 | |||
| 265 | /* Non-nil means this window's child windows are never | 261 | /* Non-nil means this window's child windows are never |
| 266 | (re-)combined. */ | 262 | (re-)combined. */ |
| 267 | Lisp_Object nest; | 263 | Lisp_Object nest; |
diff --git a/src/xdisp.c b/src/xdisp.c index b4eaef9d0c7..dfb794f38d3 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -22121,6 +22121,12 @@ fill_composite_glyph_string (struct glyph_string *s, struct face *base_face, | |||
| 22121 | } | 22121 | } |
| 22122 | s->cmp_to = i; | 22122 | s->cmp_to = i; |
| 22123 | 22123 | ||
| 22124 | if (s->face == NULL) | ||
| 22125 | { | ||
| 22126 | s->face = base_face->ascii_face; | ||
| 22127 | s->font = s->face->font; | ||
| 22128 | } | ||
| 22129 | |||
| 22124 | /* All glyph strings for the same composition has the same width, | 22130 | /* All glyph strings for the same composition has the same width, |
| 22125 | i.e. the width set for the first component of the composition. */ | 22131 | i.e. the width set for the first component of the composition. */ |
| 22126 | s->width = s->first_glyph->pixel_width; | 22132 | s->width = s->first_glyph->pixel_width; |
| @@ -27968,7 +27974,6 @@ syms_of_xdisp (void) | |||
| 27968 | DEFSYM (Qhollow, "hollow"); | 27974 | DEFSYM (Qhollow, "hollow"); |
| 27969 | DEFSYM (Qhand, "hand"); | 27975 | DEFSYM (Qhand, "hand"); |
| 27970 | DEFSYM (Qarrow, "arrow"); | 27976 | DEFSYM (Qarrow, "arrow"); |
| 27971 | DEFSYM (Qtext, "text"); | ||
| 27972 | DEFSYM (Qinhibit_free_realized_faces, "inhibit-free-realized-faces"); | 27977 | DEFSYM (Qinhibit_free_realized_faces, "inhibit-free-realized-faces"); |
| 27973 | 27978 | ||
| 27974 | list_of_error = Fcons (Fcons (intern_c_string ("error"), | 27979 | list_of_error = Fcons (Fcons (intern_c_string ("error"), |
diff --git a/src/xfaces.c b/src/xfaces.c index 9faa7c79e0b..0ed6fa1d8e2 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -27,7 +27,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 27 | 27 | ||
| 28 | 1. Font family name. | 28 | 1. Font family name. |
| 29 | 29 | ||
| 30 | 2. Font foundary name. | 30 | 2. Font foundry name. |
| 31 | 31 | ||
| 32 | 3. Relative proportionate width, aka character set width or set | 32 | 3. Relative proportionate width, aka character set width or set |
| 33 | width (swidth), e.g. `semi-compressed'. | 33 | width (swidth), e.g. `semi-compressed'. |
diff --git a/src/xfns.c b/src/xfns.c index 49c4c774cae..2359a1a82c2 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -2929,7 +2929,7 @@ unwind_create_frame (Lisp_Object frame) | |||
| 2929 | return Qnil; | 2929 | return Qnil; |
| 2930 | 2930 | ||
| 2931 | /* If frame is ``official'', nothing to do. */ | 2931 | /* If frame is ``official'', nothing to do. */ |
| 2932 | if (!CONSP (Vframe_list) || !EQ (XCAR (Vframe_list), frame)) | 2932 | if (NILP (Fmemq (frame, Vframe_list))) |
| 2933 | { | 2933 | { |
| 2934 | #if GLYPH_DEBUG && XASSERTS | 2934 | #if GLYPH_DEBUG && XASSERTS |
| 2935 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); | 2935 | struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); |