diff options
| author | Paul Eggert | 2011-11-19 19:07:02 -0800 |
|---|---|---|
| committer | Paul Eggert | 2011-11-19 19:07:02 -0800 |
| commit | 615a3b8d0d2c88cd664f1e0beb5a32b5b8e08f90 (patch) | |
| tree | e0458a9eac443c36a3a4bfa117fde01bbd6e4140 /src | |
| parent | c3ca24d48c10fb771ee02eb58f7d49bd82d6306e (diff) | |
| parent | e1dbe924b53c541fdf238a5a722b7177d5c8760b (diff) | |
| download | emacs-615a3b8d0d2c88cd664f1e0beb5a32b5b8e08f90.tar.gz emacs-615a3b8d0d2c88cd664f1e0beb5a32b5b8e08f90.zip | |
Merge from trunk.
Diffstat (limited to 'src')
88 files changed, 577 insertions, 395 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 533f5cf4327..17c27bc3048 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | 2011-11-14 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2011-11-20 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,99 @@ | |||
| 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-19 Eli Zaretskii <eliz@gnu.org> | ||
| 21 | |||
| 22 | * xdisp.c (x_write_glyphs, draw_phys_cursor_glyph) | ||
| 23 | (erase_phys_cursor, update_window_cursor, show_mouse_face) | ||
| 24 | (cursor_in_mouse_face_p): If the cursor position is out of bounds, | ||
| 25 | behave as if the cursor position were at the window margin. | ||
| 26 | |||
| 27 | * window.c (get_phys_cursor_glyph): If the window is hscrolled, | ||
| 28 | and the cursor position is out of bounds, behave as if the cursor | ||
| 29 | position were at the window margin. (Bug#10075) | ||
| 30 | |||
| 31 | 2011-11-18 Chong Yidong <cyd@gnu.org> | ||
| 32 | |||
| 33 | * window.c (Fwindow_combination_limit): Make first argument | ||
| 34 | non-optional, since it is meaningless for live windows like the | ||
| 35 | selected window. | ||
| 36 | |||
| 37 | 2011-11-18 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 38 | |||
| 39 | * keymap.c (Fwhere_is_internal): Add missing RETURN_UNGCPROs. | ||
| 40 | |||
| 41 | 2011-11-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 42 | |||
| 43 | * intervals.c: Fix grafting over the whole buffer (bug#10071). | ||
| 44 | (graft_intervals_into_buffer): Simplify. | ||
| 45 | |||
| 46 | 2011-11-18 Eli Zaretskii <eliz@gnu.org> | ||
| 47 | |||
| 48 | * dispnew.c (swap_glyph_pointers): Swap the used[] arrays and the | ||
| 49 | hash values of the two rows. | ||
| 50 | (copy_row_except_pointers): Preserve the used[] arrays and the | ||
| 51 | hash values of the two rows. (Bug#10035) | ||
| 52 | (add_row_entry): Add xassert to verify that ROW's hash code is valid. | ||
| 53 | |||
| 54 | * xdisp.c (row_hash): New function, body extracted from | ||
| 55 | compute_line_metrics. | ||
| 56 | (compute_line_metrics): Call row_hash, instead of computing the | ||
| 57 | hash code inline. | ||
| 58 | |||
| 59 | * dispnew.c (verify_row_hash): Call row_hash for computing the | ||
| 60 | hash code of a row, instead of duplicating code from xdisp.c. | ||
| 61 | |||
| 62 | * dispextern.h (row_hash): Add prototype. | ||
| 63 | |||
| 64 | 2011-11-18 Tassilo Horn <tassilo@member.fsf.org> | ||
| 65 | |||
| 66 | * frame.c (delete_frame): Don't delete the terminal when the last | ||
| 67 | X frame is closed if emacs is built with GTK toolkit. | ||
| 68 | |||
| 69 | 2011-11-17 Juanma Barranquero <lekktu@gmail.com> | ||
| 70 | |||
| 71 | * window.c (syms_of_window) <window-combination-resize>: Fix typo. | ||
| 72 | |||
| 73 | 2011-11-17 Martin Rudalics <rudalics@gmx.at> | ||
| 74 | |||
| 75 | * window.c (Vwindow_splits): Rename to | ||
| 76 | Vwindow_combination_resize. Suggested by Juri Linkov. | ||
| 77 | (Fsplit_window_internal): Use Vwindow_combination_resize instead | ||
| 78 | of Vwindow_splits. | ||
| 79 | |||
| 80 | 2011-11-16 Juanma Barranquero <lekktu@gmail.com> | ||
| 81 | |||
| 82 | * nsfns.m (Fns_font_name): | ||
| 83 | * window.c (syms_of_window) <window-combination-limit>: Fix typos. | ||
| 84 | |||
| 85 | 2011-11-16 Martin Rudalics <rudalics@gmx.at> | ||
| 86 | |||
| 87 | * window.h (window): Rename slot "nest" to "combination_limit". | ||
| 88 | * window.c (Fwindow_nest): Rename to Fwindow_combination_limit. | ||
| 89 | (Fset_window_nest): Rename to Fset_window_combination_limit. | ||
| 90 | (Vwindow_nest): Rename to Vwindow_combination_limit. | ||
| 91 | (recombine_windows, make_parent_window, make_window) | ||
| 92 | (Fsplit_window_internal, saved_window) | ||
| 93 | (Fset_window_configuration, save_window_save): Rename all | ||
| 94 | occurrences of window_nest to window_combination_limit. | ||
| 95 | |||
| 96 | 2011-11-15 Juanma Barranquero <lekktu@gmail.com> | ||
| 97 | |||
| 98 | * image.c (imagemagick_load_image): Fix typo. | ||
| 99 | |||
| 100 | 2011-11-14 Eli Zaretskii <eliz@gnu.org> | ||
| 101 | |||
| 102 | * xdisp.c (display_line): Move the call to | ||
| 103 | highlight_trailing_whitespace before the call to | ||
| 104 | compute_line_metrics, since the latter needs to see the final | ||
| 105 | faces of all the glyphs to compute ROW's hash value. Fixes | ||
| 106 | assertion violations in row_equal_p. (Bug#10035) | ||
| 107 | |||
| 108 | 2011-11-14 Juanma Barranquero <lekktu@gmail.com> | ||
| 109 | |||
| 110 | * w32proc.c (reader_thread): Don't check pending input if cp->fd < 0, | ||
| 111 | just return (bug#10044). | ||
| 112 | |||
| 20 | 2011-11-12 Eli Zaretskii <eliz@gnu.org> | 113 | 2011-11-12 Eli Zaretskii <eliz@gnu.org> |
| 21 | 114 | ||
| 22 | * makefile.w32-in (HEAPSIZE): New variable, allows to build temacs | 115 | * makefile.w32-in (HEAPSIZE): New variable, allows to build temacs |
| @@ -50,7 +143,7 @@ | |||
| 50 | 143 | ||
| 51 | 2011-11-11 Dmitry Antipov <dmantipov@yandex.ru> | 144 | 2011-11-11 Dmitry Antipov <dmantipov@yandex.ru> |
| 52 | 145 | ||
| 53 | * xdisp.c (syms_of_xdisp): Remove duplicated definition of Qtext. | 146 | * xdisp.c (syms_of_xdisp): Remove duplicated definition of Qtext. |
| 54 | 147 | ||
| 55 | 2011-11-11 Kenichi Handa <handa@m17n.org> | 148 | 2011-11-11 Kenichi Handa <handa@m17n.org> |
| 56 | 149 | ||
| @@ -250,7 +343,7 @@ | |||
| 250 | 343 | ||
| 251 | * w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version. | 344 | * w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version. |
| 252 | 345 | ||
| 253 | 2011-11-05 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change) | 346 | 2011-11-05 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change) |
| 254 | 347 | ||
| 255 | Support MSVC build with newer versions of Visual Studio. | 348 | Support MSVC build with newer versions of Visual Studio. |
| 256 | * w32.c: Don't include w32api.h for MSVC. | 349 | * w32.c: Don't include w32api.h for MSVC. |
| @@ -312,7 +405,7 @@ | |||
| 312 | * xdisp.c (try_cursor_movement): Make sure ROW isn't decremented | 405 | * xdisp.c (try_cursor_movement): Make sure ROW isn't decremented |
| 313 | past the beginning of the current glyph matrix. | 406 | past the beginning of the current glyph matrix. |
| 314 | 407 | ||
| 315 | 2011-10-30 Adam Sjøgren <asjo@koldfront.dk> (tiny change) | 408 | 2011-10-30 Adam Sjøgren <asjo@koldfront.dk> (tiny change) |
| 316 | 409 | ||
| 317 | * xterm.c: Include X11/Xproto.h if HAVE_GTK3. | 410 | * xterm.c: Include X11/Xproto.h if HAVE_GTK3. |
| 318 | (x_error_handler): Ignore BadMatch for X_SetInputFocus for | 411 | (x_error_handler): Ignore BadMatch for X_SetInputFocus for |
| @@ -346,7 +439,7 @@ | |||
| 346 | 439 | ||
| 347 | Fix the `xbytecode' command. | 440 | Fix the `xbytecode' command. |
| 348 | * .gdbinit (xprintbytestr): New command. | 441 | * .gdbinit (xprintbytestr): New command. |
| 349 | (xwhichsymbols): Renamed from `which'; all callers changed. | 442 | (xwhichsymbols): Rename from `which'; all callers changed. |
| 350 | (xbytecode): Print the byte-code string as well. | 443 | (xbytecode): Print the byte-code string as well. |
| 351 | 444 | ||
| 352 | 2011-10-29 Kim Storm <storm@cua.dk> | 445 | 2011-10-29 Kim Storm <storm@cua.dk> |
| @@ -3040,7 +3133,7 @@ | |||
| 3040 | * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods | 3133 | * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods |
| 3041 | cString and lossyCString on OSX >= 10.4 | 3134 | cString and lossyCString on OSX >= 10.4 |
| 3042 | 3135 | ||
| 3043 | * nsmenu.m (fillWithWidgetValue): Don't use depercated method | 3136 | * nsmenu.m (fillWithWidgetValue): Don't use deprecated method |
| 3044 | sizeToFit on OSX >= 10.2. | 3137 | sizeToFit on OSX >= 10.2. |
| 3045 | 3138 | ||
| 3046 | * nsimage.m (allocInitFromFile): Don't use deprecated method | 3139 | * nsimage.m (allocInitFromFile): Don't use deprecated method |
diff --git a/src/ChangeLog.1 b/src/ChangeLog.1 index e32db190cd0..efe77648458 100644 --- a/src/ChangeLog.1 +++ b/src/ChangeLog.1 | |||
| @@ -405,7 +405,7 @@ | |||
| 405 | Copy their own header field a_scovfrl from ohdr. | 405 | Copy their own header field a_scovfrl from ohdr. |
| 406 | 406 | ||
| 407 | * unexec.c [COFF]: | 407 | * unexec.c [COFF]: |
| 408 | Round positions of text and and data sections in output file | 408 | Round positions of text and data sections in output file |
| 409 | to page boundaries. | 409 | to page boundaries. |
| 410 | 410 | ||
| 411 | * crt0.c: Install version for Encore machines. | 411 | * crt0.c: Install version for Encore machines. |
| @@ -2375,7 +2375,7 @@ | |||
| 2375 | Often, just return what it returned. | 2375 | Often, just return what it returned. |
| 2376 | `error' still never returns to its caller. | 2376 | `error' still never returns to its caller. |
| 2377 | 2377 | ||
| 2378 | * Signalling Qargs_out_of_range: | 2378 | * Signaling Qargs_out_of_range: |
| 2379 | Use new functions args_out_of_range and args_out_of_range_3 | 2379 | Use new functions args_out_of_range and args_out_of_range_3 |
| 2380 | (in data.c) to do this. | 2380 | (in data.c) to do this. |
| 2381 | 2381 | ||
| @@ -3537,4 +3537,3 @@ | |||
| 3537 | 3537 | ||
| 3538 | You should have received a copy of the GNU General Public License | 3538 | You should have received a copy of the GNU General Public License |
| 3539 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | 3539 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 3540 | |||
diff --git a/src/ChangeLog.10 b/src/ChangeLog.10 index 6152b4c76af..1992ef96e0a 100644 --- a/src/ChangeLog.10 +++ b/src/ChangeLog.10 | |||
| @@ -5133,7 +5133,7 @@ | |||
| 5133 | it can be called in a signal handler. | 5133 | it can be called in a signal handler. |
| 5134 | (x_catch_errors_unwind): Function deleted. | 5134 | (x_catch_errors_unwind): Function deleted. |
| 5135 | (x_uncatch_errors): Deallocate last x_error_message_stack struct. | 5135 | (x_uncatch_errors): Deallocate last x_error_message_stack struct. |
| 5136 | (x_check_errors): Call x_uncatch_errors before signalling error. | 5136 | (x_check_errors): Call x_uncatch_errors before signaling error. |
| 5137 | 5137 | ||
| 5138 | (x_load_font, x_term_init, XTmouse_position, handle_one_xevent) | 5138 | (x_load_font, x_term_init, XTmouse_position, handle_one_xevent) |
| 5139 | (x_connection_closed, x_list_fonts): Use new versions of | 5139 | (x_connection_closed, x_list_fonts): Use new versions of |
| @@ -6387,7 +6387,7 @@ | |||
| 6387 | 2005-11-20 Nick Roberts <nickrob@snap.net.nz> | 6387 | 2005-11-20 Nick Roberts <nickrob@snap.net.nz> |
| 6388 | 6388 | ||
| 6389 | * lisp.h: Use typedef when Lisp_Object is EMACS_INT so that | 6389 | * lisp.h: Use typedef when Lisp_Object is EMACS_INT so that |
| 6390 | this type is recognised when debugging. | 6390 | this type is recognized when debugging. |
| 6391 | 6391 | ||
| 6392 | 2005-11-19 Andreas Schwab <schwab@suse.de> | 6392 | 2005-11-19 Andreas Schwab <schwab@suse.de> |
| 6393 | 6393 | ||
| @@ -13398,7 +13398,7 @@ | |||
| 13398 | 2004-07-04 John Paul Wallington <jpw@gnu.org> | 13398 | 2004-07-04 John Paul Wallington <jpw@gnu.org> |
| 13399 | 13399 | ||
| 13400 | * fileio.c (read_file_name_completion_ignore_case): New variable. | 13400 | * fileio.c (read_file_name_completion_ignore_case): New variable. |
| 13401 | (syms_of_fileio): Declare and initialise it. | 13401 | (syms_of_fileio): Declare and initialize it. |
| 13402 | (Fread_file_name): Bind `completion-ignore-case' to respect it. | 13402 | (Fread_file_name): Bind `completion-ignore-case' to respect it. |
| 13403 | 13403 | ||
| 13404 | 2004-07-03 Eli Zaretskii <eliz@gnu.org> | 13404 | 2004-07-03 Eli Zaretskii <eliz@gnu.org> |
| @@ -19139,7 +19139,7 @@ | |||
| 19139 | (font_rescale_ratio): New function. | 19139 | (font_rescale_ratio): New function. |
| 19140 | (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio. | 19140 | (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio. |
| 19141 | (better_font_p): On comparing point sized, pay attention to | 19141 | (better_font_p): On comparing point sized, pay attention to |
| 19142 | recale_ratio member of fonts. | 19142 | rescale_ratio member of fonts. |
| 19143 | (build_scalable_font_name): Reflect font->rescale_ratio in the | 19143 | (build_scalable_font_name): Reflect font->rescale_ratio in the |
| 19144 | font name. | 19144 | font name. |
| 19145 | (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable. | 19145 | (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable. |
| @@ -20702,11 +20702,11 @@ | |||
| 20702 | (free_frame_menubar): Only compile if not USE_GTK. GTK version | 20702 | (free_frame_menubar): Only compile if not USE_GTK. GTK version |
| 20703 | is in gtkutil.c. | 20703 | is in gtkutil.c. |
| 20704 | (popup_selection_callback): New version for USE_GTK. | 20704 | (popup_selection_callback): New version for USE_GTK. |
| 20705 | (create_and_show_popup_menu): New fuction, one USE_GTK version and | 20705 | (create_and_show_popup_menu): New function, one USE_GTK version and |
| 20706 | one USE_X_TOOLKIT version. | 20706 | one USE_X_TOOLKIT version. |
| 20707 | (xmenu_show): Call create_and_show_popup_menu. | 20707 | (xmenu_show): Call create_and_show_popup_menu. |
| 20708 | (dialog_selection_callback): New version for USE_GTK. | 20708 | (dialog_selection_callback): New version for USE_GTK. |
| 20709 | (create_and_show_dialog): New fuction, one USE_GTK version and | 20709 | (create_and_show_dialog): New function, one USE_GTK version and |
| 20710 | one USE_X_TOOLKIT version. | 20710 | one USE_X_TOOLKIT version. |
| 20711 | (xdialog_show): Call create_and_show_dialog. | 20711 | (xdialog_show): Call create_and_show_dialog. |
| 20712 | 20712 | ||
| @@ -22780,7 +22780,7 @@ | |||
| 22780 | 2002-07-23 Kenichi Handa <handa@etl.go.jp> | 22780 | 2002-07-23 Kenichi Handa <handa@etl.go.jp> |
| 22781 | 22781 | ||
| 22782 | * xdisp.c (face_before_or_after_it_pos): | 22782 | * xdisp.c (face_before_or_after_it_pos): |
| 22783 | Call FETCH_MULTIBYTE_CHAR with byte postion, not char position. | 22783 | Call FETCH_MULTIBYTE_CHAR with byte position, not char position. |
| 22784 | 22784 | ||
| 22785 | 2002-07-22 Juanma Barranquero <lektu@terra.es> | 22785 | 2002-07-22 Juanma Barranquero <lektu@terra.es> |
| 22786 | 22786 | ||
| @@ -27928,4 +27928,3 @@ See ChangeLog.9 for earlier changes. | |||
| 27928 | 27928 | ||
| 27929 | You should have received a copy of the GNU General Public License | 27929 | You should have received a copy of the GNU General Public License |
| 27930 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | 27930 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 27931 | |||
diff --git a/src/ChangeLog.11 b/src/ChangeLog.11 index bd1a6ec5918..37a75c3c998 100644 --- a/src/ChangeLog.11 +++ b/src/ChangeLog.11 | |||
| @@ -5896,7 +5896,7 @@ | |||
| 5896 | * eval.c (Feval, Ffuncall): Use the new names. | 5896 | * eval.c (Feval, Ffuncall): Use the new names. |
| 5897 | 5897 | ||
| 5898 | * lisp.h (struct Lisp_Subr): Rename `am' to aMANY and add aUNEVALLED. | 5898 | * lisp.h (struct Lisp_Subr): Rename `am' to aMANY and add aUNEVALLED. |
| 5899 | (DEFUN): Add braces around the union initialisation and use ## to | 5899 | (DEFUN): Add braces around the union initialization and use ## to |
| 5900 | specify the right union alternative and avoid a cast. | 5900 | specify the right union alternative and avoid a cast. |
| 5901 | 5901 | ||
| 5902 | 2010-07-18 Juanma Barranquero <lekktu@gmail.com> | 5902 | 2010-07-18 Juanma Barranquero <lekktu@gmail.com> |
| @@ -9266,7 +9266,7 @@ | |||
| 9266 | 9266 | ||
| 9267 | Get rid of the direct_output optimizations. | 9267 | Get rid of the direct_output optimizations. |
| 9268 | * keyboard.c (nonundocount): Remove extern declaration. | 9268 | * keyboard.c (nonundocount): Remove extern declaration. |
| 9269 | (command_loop_1): Remove brittle optimisation for cheap and | 9269 | (command_loop_1): Remove brittle optimization for cheap and |
| 9270 | common operations. | 9270 | common operations. |
| 9271 | * xdisp.c (redisplay_internal): Don't bother checking | 9271 | * xdisp.c (redisplay_internal): Don't bother checking |
| 9272 | redisplay_performed_directly_p any more. | 9272 | redisplay_performed_directly_p any more. |
| @@ -11972,7 +11972,7 @@ | |||
| 11972 | 11972 | ||
| 11973 | * image.c (xbm_read_bitmap_data): New arg inhibit_image_error. | 11973 | * image.c (xbm_read_bitmap_data): New arg inhibit_image_error. |
| 11974 | (xbm_load_image): Caller changed. | 11974 | (xbm_load_image): Caller changed. |
| 11975 | (xbm_file_p): Avoid signalling an image_error (Bug#4107). | 11975 | (xbm_file_p): Avoid signaling an image_error (Bug#4107). |
| 11976 | 11976 | ||
| 11977 | 2009-08-13 Nick Roberts <nickrob@snap.net.nz> | 11977 | 2009-08-13 Nick Roberts <nickrob@snap.net.nz> |
| 11978 | 11978 | ||
| @@ -12481,7 +12481,7 @@ | |||
| 12481 | 12481 | ||
| 12482 | * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function | 12482 | * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function |
| 12483 | xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile | 12483 | xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile |
| 12484 | for hours, when optimzation is enabled. | 12484 | for hours, when optimization is enabled. |
| 12485 | (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize) | 12485 | (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize) |
| 12486 | (xd_read_message): Make them static. | 12486 | (xd_read_message): Make them static. |
| 12487 | 12487 | ||
| @@ -13149,7 +13149,7 @@ | |||
| 13149 | (ftfont_has_char): Special handling of `ja' and `ko' adstyle. | 13149 | (ftfont_has_char): Special handling of `ja' and `ko' adstyle. |
| 13150 | 13150 | ||
| 13151 | * font.c (font_sort_entites): Change the meaning of the arg | 13151 | * font.c (font_sort_entites): Change the meaning of the arg |
| 13152 | BEST-ONLY. Don't optimize for VEC of lenght 1. | 13152 | BEST-ONLY. Don't optimize for VEC of length 1. |
| 13153 | (font_select_entity): Just return the value of font_sort_entites. | 13153 | (font_select_entity): Just return the value of font_sort_entites. |
| 13154 | 13154 | ||
| 13155 | * xfaces.c (merge_face_vectors): Reflect font properties in | 13155 | * xfaces.c (merge_face_vectors): Reflect font properties in |
| @@ -16072,7 +16072,7 @@ | |||
| 16072 | 2008-09-07 Andreas Schwab <schwab@suse.de> | 16072 | 2008-09-07 Andreas Schwab <schwab@suse.de> |
| 16073 | 16073 | ||
| 16074 | * callproc.c (Fcall_process): Don't hold references to string data | 16074 | * callproc.c (Fcall_process): Don't hold references to string data |
| 16075 | across garbage collection. Move initialisation of new_argv down | 16075 | across garbage collection. Move initialization of new_argv down |
| 16076 | to avoid compiler bug. | 16076 | to avoid compiler bug. |
| 16077 | 16077 | ||
| 16078 | 2008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> | 16078 | 2008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de> |
| @@ -16658,7 +16658,7 @@ | |||
| 16658 | 2008-08-20 Chong Yidong <cyd@stupidchicken.com> | 16658 | 2008-08-20 Chong Yidong <cyd@stupidchicken.com> |
| 16659 | 16659 | ||
| 16660 | * xselect.c (x_get_foreign_selection): Return nil if desired | 16660 | * xselect.c (x_get_foreign_selection): Return nil if desired |
| 16661 | selection could not be obtained, instead of signalling an error. | 16661 | selection could not be obtained, instead of signaling an error. |
| 16662 | 16662 | ||
| 16663 | 2008-08-20 David Reitter <david.reitter@gmail.com> | 16663 | 2008-08-20 David Reitter <david.reitter@gmail.com> |
| 16664 | 16664 | ||
| @@ -19248,7 +19248,7 @@ | |||
| 19248 | * w32menu.c (Fx_popup_menu): Unwind protect while building menu. | 19248 | * w32menu.c (Fx_popup_menu): Unwind protect while building menu. |
| 19249 | (parse_single_submenu): Remove. | 19249 | (parse_single_submenu): Remove. |
| 19250 | (digest_single_submenu): Remove. | 19250 | (digest_single_submenu): Remove. |
| 19251 | (syms_of_w32menu): Don't initialise variables that have moved | 19251 | (syms_of_w32menu): Don't initialize variables that have moved |
| 19252 | to menu.c. | 19252 | to menu.c. |
| 19253 | (set_frame_menubar): Sync with version in xmenu.c. | 19253 | (set_frame_menubar): Sync with version in xmenu.c. |
| 19254 | (w32_menu_show): Sync with xmenu_show in xmenu.c. | 19254 | (w32_menu_show): Sync with xmenu_show in xmenu.c. |
| @@ -21290,7 +21290,7 @@ | |||
| 21290 | (CACHE_BLOCKSIZE): New constants. | 21290 | (CACHE_BLOCKSIZE): New constants. |
| 21291 | 21291 | ||
| 21292 | * w32font.c (Qja, Qko, Qzh): New symbols. | 21292 | * w32font.c (Qja, Qko, Qzh): New symbols. |
| 21293 | (syms_of_w32font): Initialise them. | 21293 | (syms_of_w32font): Initialize them. |
| 21294 | (font_matches_spec): Use them to filter by language. | 21294 | (font_matches_spec): Use them to filter by language. |
| 21295 | (recompute_cached_metrics): Remove function. | 21295 | (recompute_cached_metrics): Remove function. |
| 21296 | (compute_metrics, clear_cached_metrics): New functions. | 21296 | (compute_metrics, clear_cached_metrics): New functions. |
| @@ -23551,7 +23551,7 @@ | |||
| 23551 | STORE_XCHARB a valid l-value. | 23551 | STORE_XCHARB a valid l-value. |
| 23552 | 23552 | ||
| 23553 | * w32term.c (w32_native_per_char_metric): Swap width and rbearing | 23553 | * w32term.c (w32_native_per_char_metric): Swap width and rbearing |
| 23554 | calculations for non-Truetype fonts. | 23554 | calculations for non-TrueType fonts. |
| 23555 | (x_draw_glyph_string): Sync with xterm.c. | 23555 | (x_draw_glyph_string): Sync with xterm.c. |
| 23556 | (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: | 23556 | (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]: |
| 23557 | Remove redundant code. | 23557 | Remove redundant code. |
| @@ -26748,7 +26748,7 @@ | |||
| 26748 | 2008-02-01 Kenichi Handa <handa@m17n.org> | 26748 | 2008-02-01 Kenichi Handa <handa@m17n.org> |
| 26749 | 26749 | ||
| 26750 | * xdisp.c (face_before_or_after_it_pos): | 26750 | * xdisp.c (face_before_or_after_it_pos): |
| 26751 | Call FETCH_MULTIBYTE_CHAR with byte postion, not char position. | 26751 | Call FETCH_MULTIBYTE_CHAR with byte position, not char position. |
| 26752 | 26752 | ||
| 26753 | 2008-02-01 Kenichi Handa <handa@m17n.org> | 26753 | 2008-02-01 Kenichi Handa <handa@m17n.org> |
| 26754 | 26754 | ||
| @@ -29651,7 +29651,7 @@ | |||
| 29651 | 29651 | ||
| 29652 | * callproc.c (child_setup, getenv_internal): Use the | 29652 | * callproc.c (child_setup, getenv_internal): Use the |
| 29653 | display-environment-variable and term-environment-variable frame params. | 29653 | display-environment-variable and term-environment-variable frame params. |
| 29654 | (set_initial_environment): Initialise Vprocess_environment. | 29654 | (set_initial_environment): Initialize Vprocess_environment. |
| 29655 | 29655 | ||
| 29656 | * config.in: Disable multi-keyboard support on a mac. | 29656 | * config.in: Disable multi-keyboard support on a mac. |
| 29657 | 29657 | ||
| @@ -31298,7 +31298,7 @@ | |||
| 31298 | (term_mouse_highlight, term_mouse_movement, term_mouse_position) | 31298 | (term_mouse_highlight, term_mouse_movement, term_mouse_position) |
| 31299 | (term_mouse_click, handle_one_term_event, Fterm_open_connection) | 31299 | (term_mouse_click, handle_one_term_event, Fterm_open_connection) |
| 31300 | (Fterm_close_connection): New functions. | 31300 | (Fterm_close_connection): New functions. |
| 31301 | (term_init): Initialise mouse_face_window. | 31301 | (term_init): Initialize mouse_face_window. |
| 31302 | 31302 | ||
| 31303 | 2007-05-19 Chong Yidong <cyd@stupidchicken.com> | 31303 | 2007-05-19 Chong Yidong <cyd@stupidchicken.com> |
| 31304 | 31304 | ||
diff --git a/src/ChangeLog.2 b/src/ChangeLog.2 index ca7feaee9f5..62e3de22b09 100644 --- a/src/ChangeLog.2 +++ b/src/ChangeLog.2 | |||
| @@ -1152,7 +1152,7 @@ | |||
| 1152 | 1152 | ||
| 1153 | 1987-07-29 Richard Mlynarik (mly@prep) | 1153 | 1987-07-29 Richard Mlynarik (mly@prep) |
| 1154 | 1154 | ||
| 1155 | * lread.c (init_read): Initialise load_in_progress. | 1155 | * lread.c (init_read): Initialize load_in_progress. |
| 1156 | 1156 | ||
| 1157 | 1987-07-28 Richard M. Stallman (rms@prep) | 1157 | 1987-07-28 Richard M. Stallman (rms@prep) |
| 1158 | 1158 | ||
| @@ -1222,7 +1222,7 @@ | |||
| 1222 | 1987-07-10 Chris Hanson (cph@prep) | 1222 | 1987-07-10 Chris Hanson (cph@prep) |
| 1223 | 1223 | ||
| 1224 | * xterm.h: Define macros to abstract control of input signals. | 1224 | * xterm.h: Define macros to abstract control of input signals. |
| 1225 | Alternate set of macros for hp-ux does no signalling. | 1225 | Alternate set of macros for hp-ux does no signaling. |
| 1226 | 1226 | ||
| 1227 | * xterm.c: | 1227 | * xterm.c: |
| 1228 | * xfns.c: | 1228 | * xfns.c: |
| @@ -2251,7 +2251,7 @@ | |||
| 2251 | 1987-01-16 Richard Mlynarik (mly@prep) | 2251 | 1987-01-16 Richard Mlynarik (mly@prep) |
| 2252 | 2252 | ||
| 2253 | * xfns.c (Fx_set_{background,cursor,mouse}_color): | 2253 | * xfns.c (Fx_set_{background,cursor,mouse}_color): |
| 2254 | Initialise save_color. | 2254 | Initialize save_color. |
| 2255 | 2255 | ||
| 2256 | * fileio.c, search.c, sysdep.c, filelock.c, editfns.c, process.c: | 2256 | * fileio.c, search.c, sysdep.c, filelock.c, editfns.c, process.c: |
| 2257 | Delete/replace unused/conditionalised variables | 2257 | Delete/replace unused/conditionalised variables |
| @@ -3002,7 +3002,7 @@ | |||
| 3002 | 1986-11-18 Richard Mlynarik (mly@prep) | 3002 | 1986-11-18 Richard Mlynarik (mly@prep) |
| 3003 | 3003 | ||
| 3004 | * emacs.c (main): | 3004 | * emacs.c (main): |
| 3005 | Giving `inhibit_x_windows' an initialisation loses; | 3005 | Giving `inhibit_x_windows' an initialization loses; |
| 3006 | do it explicitly. | 3006 | do it explicitly. |
| 3007 | 3007 | ||
| 3008 | * xfns.c (Fx_rubber_band): | 3008 | * xfns.c (Fx_rubber_band): |
| @@ -3291,7 +3291,7 @@ | |||
| 3291 | 1986-11-03 Richard Mlynarik (mly@prep) | 3291 | 1986-11-03 Richard Mlynarik (mly@prep) |
| 3292 | 3292 | ||
| 3293 | * xterm.c (stufflines): | 3293 | * xterm.c (stufflines): |
| 3294 | Initialise signal mask. | 3294 | Initialize signal mask. |
| 3295 | 3295 | ||
| 3296 | * xterm.h: | 3296 | * xterm.h: |
| 3297 | Add definition of sigmask | 3297 | Add definition of sigmask |
| @@ -3346,7 +3346,7 @@ | |||
| 3346 | New function. | 3346 | New function. |
| 3347 | 3347 | ||
| 3348 | * window.c (Fset_window_hscroll): | 3348 | * window.c (Fset_window_hscroll): |
| 3349 | Don't inhibit redisplay optimisations if hscroll is same. | 3349 | Don't inhibit redisplay optimizations if hscroll is same. |
| 3350 | 3350 | ||
| 3351 | * ymakefile: | 3351 | * ymakefile: |
| 3352 | rm ../etc/DOC to avoid make-docfile overwriting any files which | 3352 | rm ../etc/DOC to avoid make-docfile overwriting any files which |
| @@ -3358,7 +3358,7 @@ | |||
| 3358 | VMS changes from Sasaki | 3358 | VMS changes from Sasaki |
| 3359 | 3359 | ||
| 3360 | * termcap.c (tgetent): | 3360 | * termcap.c (tgetent): |
| 3361 | Make sure `indirect' initialised. | 3361 | Make sure `indirect' initialized. |
| 3362 | 3362 | ||
| 3363 | * xfns.c (grey_p and callers): | 3363 | * xfns.c (grey_p and callers): |
| 3364 | New function to compensate for ugly chauvinistic American | 3364 | New function to compensate for ugly chauvinistic American |
| @@ -3496,7 +3496,7 @@ | |||
| 3496 | core-dump) | 3496 | core-dump) |
| 3497 | 3497 | ||
| 3498 | Dike out global-minor-modes. This wasn't actually being used by | 3498 | Dike out global-minor-modes. This wasn't actually being used by |
| 3499 | anything (due to a bug) and wasn't even being initialised! | 3499 | anything (due to a bug) and wasn't even being initialized! |
| 3500 | minor-mode-alist does what this thought it was doing. | 3500 | minor-mode-alist does what this thought it was doing. |
| 3501 | 3501 | ||
| 3502 | 1986-10-11 Richard Mlynarik (mly@prep) | 3502 | 1986-10-11 Richard Mlynarik (mly@prep) |
| @@ -4787,4 +4787,3 @@ See ChangeLog.1 for earlier changes. | |||
| 4787 | 4787 | ||
| 4788 | You should have received a copy of the GNU General Public License | 4788 | You should have received a copy of the GNU General Public License |
| 4789 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | 4789 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
| 4790 | |||
diff --git a/src/ChangeLog.3 b/src/ChangeLog.3 index 79a580938d7..fb3ec172055 100644 --- a/src/ChangeLog.3 +++ b/src/ChangeLog.3 | |||
| @@ -900,9 +900,9 @@ | |||
| 900 | invalid overlay. | 900 | invalid overlay. |
| 901 | (syms_of_buffer): defsubr Soverlayp; initialize Qoverlayp. | 901 | (syms_of_buffer): defsubr Soverlayp; initialize Qoverlayp. |
| 902 | (Fdelete_overlay): Set the overlay's markers to point nowhere. | 902 | (Fdelete_overlay): Set the overlay's markers to point nowhere. |
| 903 | Use CHECK_OVERLAY instead of signalling a special error. | 903 | Use CHECK_OVERLAY instead of signaling a special error. |
| 904 | (Fmove_overlay, Foverlay_put): Use CHECK_OVERLAY instead of | 904 | (Fmove_overlay, Foverlay_put): Use CHECK_OVERLAY instead of |
| 905 | signalling a special error. | 905 | signaling a special error. |
| 906 | (Foverlay_get): Use CHECK_OVERLAY. | 906 | (Foverlay_get): Use CHECK_OVERLAY. |
| 907 | * fns.c (internal_equal): Define this for overlays. | 907 | * fns.c (internal_equal): Define this for overlays. |
| 908 | * buffer.h (OVERLAY_VALID): Define in terms of OVERLAYP. | 908 | * buffer.h (OVERLAY_VALID): Define in terms of OVERLAYP. |
| @@ -5549,7 +5549,7 @@ | |||
| 5549 | h->poll_suppress_count. | 5549 | h->poll_suppress_count. |
| 5550 | 5550 | ||
| 5551 | * eval.c (Fsignal): It's okay for the debugger to return to the | 5551 | * eval.c (Fsignal): It's okay for the debugger to return to the |
| 5552 | caller if the caller was signalling a quit. | 5552 | caller if the caller was signaling a quit. |
| 5553 | 5553 | ||
| 5554 | * eval.c (unbind_catch): Restore the polling suppression count | 5554 | * eval.c (unbind_catch): Restore the polling suppression count |
| 5555 | here, instead of in Fsignal and Fthrow. | 5555 | here, instead of in Fsignal and Fthrow. |
| @@ -9010,7 +9010,7 @@ | |||
| 9010 | * keyboard.c (cmd_error): If an error occurs before somebody has | 9010 | * keyboard.c (cmd_error): If an error occurs before somebody has |
| 9011 | provided a screen to print it on, print it to stderr and exit | 9011 | provided a screen to print it on, print it to stderr and exit |
| 9012 | Emacs. Handle batch-mode errors with the same code. | 9012 | Emacs. Handle batch-mode errors with the same code. |
| 9013 | * lisp.h (Qexternal_debugging_ouput): New extern declaration, for | 9013 | * lisp.h (Qexternal_debugging_output): New extern declaration, for |
| 9014 | use in cmd_error. | 9014 | use in cmd_error. |
| 9015 | 9015 | ||
| 9016 | * screen.c (Fscreen_pixel_size, Fset_screen_position): Doc fix. | 9016 | * screen.c (Fscreen_pixel_size, Fset_screen_position): Doc fix. |
| @@ -10592,7 +10592,7 @@ | |||
| 10592 | (init_x_parm_symbols, x_set_screen_param): Use x_screen_parms | 10592 | (init_x_parm_symbols, x_set_screen_param): Use x_screen_parms |
| 10593 | instead of a large switch statement. | 10593 | instead of a large switch statement. |
| 10594 | (x_figure_window_size): Make the default case of the switch call | 10594 | (x_figure_window_size): Make the default case of the switch call |
| 10595 | abort instead of signalling an error, since window_prompting's | 10595 | abort instead of signaling an error, since window_prompting's |
| 10596 | value is internally generated. | 10596 | value is internally generated. |
| 10597 | 10597 | ||
| 10598 | 1991-05-01 Jim Blandy (jimb@churchy.gnu.ai.mit.edu) | 10598 | 1991-05-01 Jim Blandy (jimb@churchy.gnu.ai.mit.edu) |
| @@ -13137,7 +13137,7 @@ | |||
| 13137 | * print.c: Include dispextern.h. | 13137 | * print.c: Include dispextern.h. |
| 13138 | (printchar, strout): Use message_buf. | 13138 | (printchar, strout): Use message_buf. |
| 13139 | 13139 | ||
| 13140 | * sysdep.c (get_screen_size): Don't use MscreenWidth, MscreenLenght. | 13140 | * sysdep.c (get_screen_size): Don't use MscreenWidth, MscreenLength. |
| 13141 | * term.c: Likewise. | 13141 | * term.c: Likewise. |
| 13142 | 13142 | ||
| 13143 | * scroll.c (CalcIDCosts, CalcIDCosts1, CalcLID): These now take a | 13143 | * scroll.c (CalcIDCosts, CalcIDCosts1, CalcLID): These now take a |
| @@ -13147,7 +13147,7 @@ | |||
| 13147 | (do_scrolling): Use alloca for queue. | 13147 | (do_scrolling): Use alloca for queue. |
| 13148 | 13148 | ||
| 13149 | * dispnew.c (remake_screen_structures): Allocate message_buf. | 13149 | * dispnew.c (remake_screen_structures): Allocate message_buf. |
| 13150 | Don't use MscreenWidth, MscreenLenght. | 13150 | Don't use MscreenWidth, MscreenLength. |
| 13151 | 13151 | ||
| 13152 | * xdisp.c: bf_cur replaced with current_buffer. | 13152 | * xdisp.c: bf_cur replaced with current_buffer. |
| 13153 | Calls to SetBfx deleted. | 13153 | Calls to SetBfx deleted. |
| @@ -14884,7 +14884,7 @@ | |||
| 14884 | 14884 | ||
| 14885 | 1989-08-07 Richard Stallman (rms@sugar-bombs.ai.mit.edu) | 14885 | 1989-08-07 Richard Stallman (rms@sugar-bombs.ai.mit.edu) |
| 14886 | 14886 | ||
| 14887 | * fileio.c (barf_or_query_if_file_exists): When signalling, | 14887 | * fileio.c (barf_or_query_if_file_exists): When signaling, |
| 14888 | provide the expected args for a file-error. | 14888 | provide the expected args for a file-error. |
| 14889 | 14889 | ||
| 14890 | 1989-08-06 Richard Stallman (rms@sugar-bombs.ai.mit.edu) | 14890 | 1989-08-06 Richard Stallman (rms@sugar-bombs.ai.mit.edu) |
| @@ -15414,7 +15414,7 @@ | |||
| 15414 | * xfns.c (Fx_create_screen): If user has specified | 15414 | * xfns.c (Fx_create_screen): If user has specified |
| 15415 | `x-iconic-startup' then start emacs in iconic form. | 15415 | `x-iconic-startup' then start emacs in iconic form. |
| 15416 | Look for icon position in `icon-left' and `icon-top', or use | 15416 | Look for icon position in `icon-left' and `icon-top', or use |
| 15417 | window postion. | 15417 | window position. |
| 15418 | 15418 | ||
| 15419 | * xterm.c (x_term_init): If server doesn't respond, use fatal | 15419 | * xterm.c (x_term_init): If server doesn't respond, use fatal |
| 15420 | instead of error. Also tell user about -d option. | 15420 | instead of error. Also tell user about -d option. |
diff --git a/src/ChangeLog.4 b/src/ChangeLog.4 index dc8fe23a221..88c9e3dbf71 100644 --- a/src/ChangeLog.4 +++ b/src/ChangeLog.4 | |||
| @@ -811,7 +811,7 @@ | |||
| 811 | 811 | ||
| 812 | 1994-04-28 Michael D. Ernst (mernst@monozygote.research.microsoft.com) | 812 | 1994-04-28 Michael D. Ernst (mernst@monozygote.research.microsoft.com) |
| 813 | 813 | ||
| 814 | * fileio.c (inhibit-file-name-handers): Correct documentation. | 814 | * fileio.c (inhibit-file-name-handlers): Correct documentation. |
| 815 | 815 | ||
| 816 | 1994-04-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) | 816 | 1994-04-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) |
| 817 | 817 | ||
| @@ -1885,7 +1885,7 @@ | |||
| 1885 | 1994-03-22 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) | 1885 | 1994-03-22 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) |
| 1886 | 1886 | ||
| 1887 | * widget.c (set_frame_size): Put #if 0 around a lot of useless code. | 1887 | * widget.c (set_frame_size): Put #if 0 around a lot of useless code. |
| 1888 | Compute explicitely the geometry of the toplevel widget. | 1888 | Compute explicitly the geometry of the toplevel widget. |
| 1889 | Call XtSetValues not XtVaSetValues. | 1889 | Call XtSetValues not XtVaSetValues. |
| 1890 | 1890 | ||
| 1891 | 1994-03-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) | 1891 | 1994-03-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) |
| @@ -3656,7 +3656,7 @@ | |||
| 3656 | 3656 | ||
| 3657 | * m/delta.h (BROKEN_CLOSEDIR): Added because closedir is interruptible. | 3657 | * m/delta.h (BROKEN_CLOSEDIR): Added because closedir is interruptible. |
| 3658 | (HAVE_UNISTD_H): Deleted because configure takes care of it. | 3658 | (HAVE_UNISTD_H): Deleted because configure takes care of it. |
| 3659 | (C_SWITCH_MACHINE): Added optimisation options for gnu cc. | 3659 | (C_SWITCH_MACHINE): Added optimization options for gnu cc. |
| 3660 | 3660 | ||
| 3661 | 1993-12-17 Mike Long (mike.long@analog.com) | 3661 | 1993-12-17 Mike Long (mike.long@analog.com) |
| 3662 | 3662 | ||
| @@ -5007,7 +5007,7 @@ | |||
| 5007 | Change display code to handle the `invisible' text property. | 5007 | Change display code to handle the `invisible' text property. |
| 5008 | * dispnew.c (direct_output_for_insert): Fail if character | 5008 | * dispnew.c (direct_output_for_insert): Fail if character |
| 5009 | just inserted has text properties. | 5009 | just inserted has text properties. |
| 5010 | (direct_ouput_forward_char): Fail if moving near invisible chars. | 5010 | (direct_output_forward_char): Fail if moving near invisible chars. |
| 5011 | * indent.c (compute_motion): Compute correctly for invisible text. | 5011 | * indent.c (compute_motion): Compute correctly for invisible text. |
| 5012 | (vmotion): Take care of invisible newlines. | 5012 | (vmotion): Take care of invisible newlines. |
| 5013 | * intervals.c (set_point): Ignore `invisible' property | 5013 | * intervals.c (set_point): Ignore `invisible' property |
diff --git a/src/ChangeLog.5 b/src/ChangeLog.5 index 1f21e9fb99c..ee79917a34d 100644 --- a/src/ChangeLog.5 +++ b/src/ChangeLog.5 | |||
| @@ -3463,7 +3463,7 @@ | |||
| 3463 | 3463 | ||
| 3464 | * lisp.h (running_asynch_code): New global flag. | 3464 | * lisp.h (running_asynch_code): New global flag. |
| 3465 | * emacs.c (running_asynch_code): New global flag. | 3465 | * emacs.c (running_asynch_code): New global flag. |
| 3466 | (main): Initialise it. | 3466 | (main): Initialize it. |
| 3467 | * process.c (read_process_output, exec_sentinel): Set and | 3467 | * process.c (read_process_output, exec_sentinel): Set and |
| 3468 | reset the running_asynch_code global flag and restore match data. | 3468 | reset the running_asynch_code global flag and restore match data. |
| 3469 | 3469 | ||
diff --git a/src/ChangeLog.6 b/src/ChangeLog.6 index f9372aa666a..af97d0de7b4 100644 --- a/src/ChangeLog.6 +++ b/src/ChangeLog.6 | |||
| @@ -1138,7 +1138,7 @@ | |||
| 1138 | ntproc.c and simplified to match other changes (all handles are | 1138 | ntproc.c and simplified to match other changes (all handles are |
| 1139 | already non-inheritable). | 1139 | already non-inheritable). |
| 1140 | 1140 | ||
| 1141 | (get_emacs_configuration): Detect Windows flavour (Windows 95 or | 1141 | (get_emacs_configuration): Detect Windows flavor (Windows 95 or |
| 1142 | NT) at run-time. Change OS name for Windows 95 to be "win95". | 1142 | NT) at run-time. Change OS name for Windows 95 to be "win95". |
| 1143 | 1143 | ||
| 1144 | (fd_info): New variable. Array of extra info for file descriptors | 1144 | (fd_info): New variable. Array of extra info for file descriptors |
| @@ -1182,7 +1182,7 @@ | |||
| 1182 | support in sys_select. | 1182 | support in sys_select. |
| 1183 | 1183 | ||
| 1184 | (term_ntproc): New function. | 1184 | (term_ntproc): New function. |
| 1185 | (init_ntproc): New function to initialise socket support and make | 1185 | (init_ntproc): New function to initialize socket support and make |
| 1186 | initial std handles non-inheritable. Also ensure stdin, stdout | 1186 | initial std handles non-inheritable. Also ensure stdin, stdout |
| 1187 | and stderr have valid handles so that pipes and sockets can't | 1187 | and stderr have valid handles so that pipes and sockets can't |
| 1188 | inadvertently use fd 0, 1, or 2. | 1188 | inadvertently use fd 0, 1, or 2. |
| @@ -1440,7 +1440,7 @@ | |||
| 1440 | Correctly detect when default_directory is absolute. | 1440 | Correctly detect when default_directory is absolute. |
| 1441 | Be strict when looking for MSDOS drive specifier; defer calling | 1441 | Be strict when looking for MSDOS drive specifier; defer calling |
| 1442 | getdefdir. Ignore drive specifier if name now has UNC prefix. | 1442 | getdefdir. Ignore drive specifier if name now has UNC prefix. |
| 1443 | Correctly recognise if name is not absolute when trying simple | 1443 | Correctly recognize if name is not absolute when trying simple |
| 1444 | method to expand; return original string if possible. | 1444 | method to expand; return original string if possible. |
| 1445 | Skip dir sep after ~ or ~user. | 1445 | Skip dir sep after ~ or ~user. |
| 1446 | Use getpwnam instead of HOME for ~user on NT. | 1446 | Use getpwnam instead of HOME for ~user on NT. |
diff --git a/src/ChangeLog.7 b/src/ChangeLog.7 index fa55d6974ad..ec4c27a4d9e 100644 --- a/src/ChangeLog.7 +++ b/src/ChangeLog.7 | |||
| @@ -5943,7 +5943,7 @@ | |||
| 5943 | Vauto_file_coding_system. | 5943 | Vauto_file_coding_system. |
| 5944 | (syms_of_fileio): Adjusted for the above change. Doc change. | 5944 | (syms_of_fileio): Adjusted for the above change. Doc change. |
| 5945 | (Finsert_file_contents): The argument for Vset_auto_coding is a | 5945 | (Finsert_file_contents): The argument for Vset_auto_coding is a |
| 5946 | concatination of the heading 1K-byte and the tailing 3K-byte. | 5946 | concatenation of the heading 1K-byte and the tailing 3K-byte. |
| 5947 | 5947 | ||
| 5948 | * cmds.c (internal_self_insert): Only set TARGET_CLM when C2 is tab. | 5948 | * cmds.c (internal_self_insert): Only set TARGET_CLM when C2 is tab. |
| 5949 | When multibyte characters are disabled, | 5949 | When multibyte characters are disabled, |
| @@ -7485,7 +7485,7 @@ | |||
| 7485 | 7485 | ||
| 7486 | 1997-06-09 Kenichi Handa <handa@etl.go.jp> | 7486 | 1997-06-09 Kenichi Handa <handa@etl.go.jp> |
| 7487 | 7487 | ||
| 7488 | * buffer.c (init_buffer_once): Inititialize the member | 7488 | * buffer.c (init_buffer_once): Initialize the member |
| 7489 | buffer_file_coding_system. | 7489 | buffer_file_coding_system. |
| 7490 | (syms_of_buffer): Declare Lisp variables | 7490 | (syms_of_buffer): Declare Lisp variables |
| 7491 | default-buffer-file-coding-system and buffer-file-coding-system. | 7491 | default-buffer-file-coding-system and buffer-file-coding-system. |
| @@ -10963,7 +10963,7 @@ | |||
| 10963 | 1996-08-28 Morten Welinder <terra@diku.dk> | 10963 | 1996-08-28 Morten Welinder <terra@diku.dk> |
| 10964 | 10964 | ||
| 10965 | * minibuf.c (Vhistory_length, Qhistory_length): New variables. | 10965 | * minibuf.c (Vhistory_length, Qhistory_length): New variables. |
| 10966 | (syms_of_minibuf): Register and initialise these. | 10966 | (syms_of_minibuf): Register and initialize these. |
| 10967 | (read_minibuf): Truncate history list if needed. | 10967 | (read_minibuf): Truncate history list if needed. |
| 10968 | 10968 | ||
| 10969 | 1996-08-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> | 10969 | 1996-08-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu> |
diff --git a/src/ChangeLog.8 b/src/ChangeLog.8 index 6fd4d5dea27..bd51e55cdc6 100644 --- a/src/ChangeLog.8 +++ b/src/ChangeLog.8 | |||
| @@ -919,7 +919,7 @@ | |||
| 919 | 1999-11-28 Eli Zaretskii <eliz@is.elta.co.il> | 919 | 1999-11-28 Eli Zaretskii <eliz@is.elta.co.il> |
| 920 | 920 | ||
| 921 | * charset.c (Fmake_char_internal): Print the charset ID when | 921 | * charset.c (Fmake_char_internal): Print the charset ID when |
| 922 | signalling an error. | 922 | signaling an error. |
| 923 | 923 | ||
| 924 | * emacs.c (synchronize_locale): Avoid compiler warnings about | 924 | * emacs.c (synchronize_locale): Avoid compiler warnings about |
| 925 | pointer type mismatch. | 925 | pointer type mismatch. |
| @@ -2196,7 +2196,7 @@ | |||
| 2196 | 2196 | ||
| 2197 | 1999-09-14 Gerd Moellmann <gerd@gnu.org> | 2197 | 1999-09-14 Gerd Moellmann <gerd@gnu.org> |
| 2198 | 2198 | ||
| 2199 | * sound.c (Fplay_sound): Remove usused variables. | 2199 | * sound.c (Fplay_sound): Remove unused variables. |
| 2200 | (be2hs): Put in #if 0 because it's currently not used. | 2200 | (be2hs): Put in #if 0 because it's currently not used. |
| 2201 | 2201 | ||
| 2202 | 1999-09-14 Ken Raeburn <raeburn@gnu.org> | 2202 | 1999-09-14 Ken Raeburn <raeburn@gnu.org> |
| @@ -7367,7 +7367,7 @@ | |||
| 7367 | 7367 | ||
| 7368 | * xfaces.c (free_font): Removed. | 7368 | * xfaces.c (free_font): Removed. |
| 7369 | (load_face_font_or_fontset): Renamed from load_font. | 7369 | (load_face_font_or_fontset): Renamed from load_font. |
| 7370 | (load_face_font_or_fontset): Use message2 instead of signalling. | 7370 | (load_face_font_or_fontset): Use message2 instead of signaling. |
| 7371 | (load_color): Likewise. | 7371 | (load_color): Likewise. |
| 7372 | (load_pixmap): Likewise. | 7372 | (load_pixmap): Likewise. |
| 7373 | 7373 | ||
| @@ -13266,7 +13266,7 @@ | |||
| 13266 | 13266 | ||
| 13267 | * charset.c (Fchar_bytes): Doc fix. | 13267 | * charset.c (Fchar_bytes): Doc fix. |
| 13268 | (char_bytes): Fix returned value to match returned type. | 13268 | (char_bytes): Fix returned value to match returned type. |
| 13269 | (syms_of_charset): Fix type clash in initialisation of | 13269 | (syms_of_charset): Fix type clash in initialization of |
| 13270 | Vauto_fill_chars. | 13270 | Vauto_fill_chars. |
| 13271 | 13271 | ||
| 13272 | 1998-10-29 Geoff Voelker <voelker@cs.washington.edu> | 13272 | 1998-10-29 Geoff Voelker <voelker@cs.washington.edu> |
| @@ -13429,7 +13429,7 @@ | |||
| 13429 | `x-list-fonts.c'. | 13429 | `x-list-fonts.c'. |
| 13430 | (w32_get_font_info, w32_query_font, w32_find_ccl_program): New | 13430 | (w32_get_font_info, w32_query_font, w32_find_ccl_program): New |
| 13431 | functions for fontset support - adapted from x_ equivalents. | 13431 | functions for fontset support - adapted from x_ equivalents. |
| 13432 | (syms_of_w32fns): New lisp variables initialised. Function | 13432 | (syms_of_w32fns): New lisp variables initialized. Function |
| 13433 | pointers for fontset.c set up. | 13433 | pointers for fontset.c set up. |
| 13434 | 13434 | ||
| 13435 | * w32term.c: Include fontset.h. Define codepage macros. | 13435 | * w32term.c: Include fontset.h. Define codepage macros. |
diff --git a/src/ChangeLog.9 b/src/ChangeLog.9 index 1a4abfab61b..9e7bd24f792 100644 --- a/src/ChangeLog.9 +++ b/src/ChangeLog.9 | |||
| @@ -8409,7 +8409,7 @@ | |||
| 8409 | (encode_coding_iso2022): New local variable safe_chars. Check | 8409 | (encode_coding_iso2022): New local variable safe_chars. Check |
| 8410 | unsafe chars. | 8410 | unsafe chars. |
| 8411 | (setup_coding_system): Delete the code to initialize | 8411 | (setup_coding_system): Delete the code to initialize |
| 8412 | coding->safe_charses. | 8412 | coding->safe_charsets. |
| 8413 | (intersection, find_safe_codings): New functions. | 8413 | (intersection, find_safe_codings): New functions. |
| 8414 | (Ffind_coding_systems_region_internal): New function. | 8414 | (Ffind_coding_systems_region_internal): New function. |
| 8415 | (syms_of_coding): Defsubr it. Initialize Qsafe_chars, | 8415 | (syms_of_coding): Defsubr it. Initialize Qsafe_chars, |
diff --git a/src/alloc.c b/src/alloc.c index 639a35c3f36..96d63f53cf9 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -876,7 +876,7 @@ safe_alloca_unwind (Lisp_Object arg) | |||
| 876 | 876 | ||
| 877 | /* Like malloc but used for allocating Lisp data. NBYTES is the | 877 | /* Like malloc but used for allocating Lisp data. NBYTES is the |
| 878 | number of bytes to allocate, TYPE describes the intended use of the | 878 | number of bytes to allocate, TYPE describes the intended use of the |
| 879 | allcated memory block (for strings, for conses, ...). */ | 879 | allocated memory block (for strings, for conses, ...). */ |
| 880 | 880 | ||
| 881 | #ifndef USE_LSB_TAG | 881 | #ifndef USE_LSB_TAG |
| 882 | static void *lisp_malloc_loser; | 882 | static void *lisp_malloc_loser; |
| @@ -1406,7 +1406,7 @@ uninterrupt_malloc (void) | |||
| 1406 | #ifdef DOUG_LEA_MALLOC | 1406 | #ifdef DOUG_LEA_MALLOC |
| 1407 | pthread_mutexattr_t attr; | 1407 | pthread_mutexattr_t attr; |
| 1408 | 1408 | ||
| 1409 | /* GLIBC has a faster way to do this, but lets keep it portable. | 1409 | /* GLIBC has a faster way to do this, but let's keep it portable. |
| 1410 | This is according to the Single UNIX Specification. */ | 1410 | This is according to the Single UNIX Specification. */ |
| 1411 | pthread_mutexattr_init (&attr); | 1411 | pthread_mutexattr_init (&attr); |
| 1412 | pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE); | 1412 | pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE); |
diff --git a/src/buffer.c b/src/buffer.c index fdf006a41eb..8bc6e37732d 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -4431,7 +4431,7 @@ static int mmap_initialized_p; | |||
| 4431 | is currently mapped. Used to prevent overwriting an existing | 4431 | is currently mapped. Used to prevent overwriting an existing |
| 4432 | memory mapping. | 4432 | memory mapping. |
| 4433 | 4433 | ||
| 4434 | Default is to conservativly assume the address range is occupied by | 4434 | Default is to conservatively assume the address range is occupied by |
| 4435 | something else. This can be overridden by system configuration | 4435 | something else. This can be overridden by system configuration |
| 4436 | files if system-specific means to determine this exists. */ | 4436 | files if system-specific means to determine this exists. */ |
| 4437 | 4437 | ||
| @@ -4439,7 +4439,7 @@ static int mmap_initialized_p; | |||
| 4439 | #define MMAP_ALLOCATED_P(start, end) 1 | 4439 | #define MMAP_ALLOCATED_P(start, end) 1 |
| 4440 | #endif | 4440 | #endif |
| 4441 | 4441 | ||
| 4442 | /* Perform necessary intializations for the use of mmap. */ | 4442 | /* Perform necessary initializations for the use of mmap. */ |
| 4443 | 4443 | ||
| 4444 | static void | 4444 | static void |
| 4445 | mmap_init (void) | 4445 | mmap_init (void) |
diff --git a/src/buffer.h b/src/buffer.h index a6b82abf053..fa65a4b81fd 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -978,7 +978,7 @@ extern int last_per_buffer_idx; | |||
| 978 | variable has an index > 0 associated with it, except when it always | 978 | variable has an index > 0 associated with it, except when it always |
| 979 | has buffer-local values, in which case the index is -1. If this is | 979 | has buffer-local values, in which case the index is -1. If this is |
| 980 | 0, this is a bug and means that the slot of VAR in | 980 | 0, this is a bug and means that the slot of VAR in |
| 981 | buffer_local_flags wasn't intiialized. */ | 981 | buffer_local_flags wasn't initialized. */ |
| 982 | 982 | ||
| 983 | #define PER_BUFFER_VAR_IDX(VAR) \ | 983 | #define PER_BUFFER_VAR_IDX(VAR) \ |
| 984 | PER_BUFFER_IDX (PER_BUFFER_VAR_OFFSET (VAR)) | 984 | PER_BUFFER_IDX (PER_BUFFER_VAR_OFFSET (VAR)) |
diff --git a/src/bytecode.c b/src/bytecode.c index 9ed29e94b54..3af0abd63cf 100644 --- a/src/bytecode.c +++ b/src/bytecode.c | |||
| @@ -271,7 +271,7 @@ struct byte_stack | |||
| 271 | /* A list of currently active byte-code execution value stacks. | 271 | /* A list of currently active byte-code execution value stacks. |
| 272 | Fbyte_code adds an entry to the head of this list before it starts | 272 | Fbyte_code adds an entry to the head of this list before it starts |
| 273 | processing byte-code, and it removed the entry again when it is | 273 | processing byte-code, and it removed the entry again when it is |
| 274 | done. Signalling an error truncates the list analoguous to | 274 | done. Signaling an error truncates the list analogous to |
| 275 | gcprolist. */ | 275 | gcprolist. */ |
| 276 | 276 | ||
| 277 | struct byte_stack *byte_stack_list; | 277 | struct byte_stack *byte_stack_list; |
| @@ -47,7 +47,7 @@ static Lisp_Object Qcode_conversion_map; | |||
| 47 | static Lisp_Object Qcode_conversion_map_id; | 47 | static Lisp_Object Qcode_conversion_map_id; |
| 48 | 48 | ||
| 49 | /* Symbols of ccl program have this property, a value of the property | 49 | /* Symbols of ccl program have this property, a value of the property |
| 50 | is an index for Vccl_protram_table. */ | 50 | is an index for Vccl_program_table. */ |
| 51 | static Lisp_Object Qccl_program_idx; | 51 | static Lisp_Object Qccl_program_idx; |
| 52 | 52 | ||
| 53 | /* Table of registered CCL programs. Each element is a vector of | 53 | /* Table of registered CCL programs. Each element is a vector of |
| @@ -484,7 +484,7 @@ static Lisp_Object Vccl_program_table; | |||
| 484 | If the element is t or lambda, finish without changing reg[rrr]. | 484 | If the element is t or lambda, finish without changing reg[rrr]. |
| 485 | If the element is a number, set reg[rrr] to the number and finish. | 485 | If the element is a number, set reg[rrr] to the number and finish. |
| 486 | 486 | ||
| 487 | Detail of the map structure is descibed in the comment for | 487 | Detail of the map structure is described in the comment for |
| 488 | CCL_MapMultiple below. */ | 488 | CCL_MapMultiple below. */ |
| 489 | 489 | ||
| 490 | #define CCL_IterateMultipleMap 0x10 /* Iterate multiple maps | 490 | #define CCL_IterateMultipleMap 0x10 /* Iterate multiple maps |
| @@ -1762,7 +1762,7 @@ ccl_driver (struct ccl_program *ccl, int *source, int *destination, int src_size | |||
| 1762 | 1762 | ||
| 1763 | case CCL_STAT_QUIT: | 1763 | case CCL_STAT_QUIT: |
| 1764 | if (! ccl->quit_silently) | 1764 | if (! ccl->quit_silently) |
| 1765 | sprintf (msg, "\nCCL: Quited."); | 1765 | sprintf (msg, "\nCCL: Quitted."); |
| 1766 | break; | 1766 | break; |
| 1767 | 1767 | ||
| 1768 | default: | 1768 | default: |
| @@ -1808,7 +1808,7 @@ ccl_driver (struct ccl_program *ccl, int *source, int *destination, int src_size | |||
| 1808 | 1808 | ||
| 1809 | /* Resolve symbols in the specified CCL code (Lisp vector). This | 1809 | /* Resolve symbols in the specified CCL code (Lisp vector). This |
| 1810 | function converts symbols of code conversion maps and character | 1810 | function converts symbols of code conversion maps and character |
| 1811 | translation tables embeded in the CCL code into their ID numbers. | 1811 | translation tables embedded in the CCL code into their ID numbers. |
| 1812 | 1812 | ||
| 1813 | The return value is a vector (CCL itself or a new vector in which | 1813 | The return value is a vector (CCL itself or a new vector in which |
| 1814 | all symbols are resolved), Qt if resolving of some symbol failed, | 1814 | all symbols are resolved), Qt if resolving of some symbol failed, |
diff --git a/src/character.c b/src/character.c index fb9b8a9b93e..88b1f11b96b 100644 --- a/src/character.c +++ b/src/character.c | |||
| @@ -588,7 +588,7 @@ parse_str_as_multibyte (const unsigned char *str, EMACS_INT len, | |||
| 588 | } | 588 | } |
| 589 | 589 | ||
| 590 | /* Arrange unibyte text at STR of NBYTES bytes as a multibyte text. | 590 | /* Arrange unibyte text at STR of NBYTES bytes as a multibyte text. |
| 591 | It actually converts only such 8-bit characters that don't contruct | 591 | It actually converts only such 8-bit characters that don't construct |
| 592 | a multibyte sequence to multibyte forms of Latin-1 characters. If | 592 | a multibyte sequence to multibyte forms of Latin-1 characters. If |
| 593 | NCHARS is nonzero, set *NCHARS to the number of characters in the | 593 | NCHARS is nonzero, set *NCHARS to the number of characters in the |
| 594 | text. It is assured that we can use LEN bytes at STR as a work | 594 | text. It is assured that we can use LEN bytes at STR as a work |
| @@ -669,7 +669,7 @@ str_as_multibyte (unsigned char *str, EMACS_INT len, EMACS_INT nbytes, | |||
| 669 | } | 669 | } |
| 670 | 670 | ||
| 671 | /* Parse unibyte string at STR of LEN bytes, and return the number of | 671 | /* Parse unibyte string at STR of LEN bytes, and return the number of |
| 672 | bytes it may ocupy when converted to multibyte string by | 672 | bytes it may occupy when converted to multibyte string by |
| 673 | `str_to_multibyte'. */ | 673 | `str_to_multibyte'. */ |
| 674 | 674 | ||
| 675 | EMACS_INT | 675 | EMACS_INT |
| @@ -969,7 +969,7 @@ character is a target to get a byte value. In this case, POSITION, if | |||
| 969 | non-nil, is an index of a target character in the string. | 969 | non-nil, is an index of a target character in the string. |
| 970 | 970 | ||
| 971 | If the current buffer (or STRING) is multibyte, and the target | 971 | If the current buffer (or STRING) is multibyte, and the target |
| 972 | character is not ASCII nor 8-bit character, an error is signalled. */) | 972 | character is not ASCII nor 8-bit character, an error is signaled. */) |
| 973 | (Lisp_Object position, Lisp_Object string) | 973 | (Lisp_Object position, Lisp_Object string) |
| 974 | { | 974 | { |
| 975 | int c; | 975 | int c; |
diff --git a/src/character.h b/src/character.h index 09bcf17ab96..5ae6cb8c49c 100644 --- a/src/character.h +++ b/src/character.h | |||
| @@ -596,7 +596,7 @@ sanitize_char_width (EMACS_INT width) | |||
| 596 | ? ASCII_CHAR_WIDTH (c) \ | 596 | ? ASCII_CHAR_WIDTH (c) \ |
| 597 | : sanitize_char_width (XINT (CHAR_TABLE_REF (Vchar_width_table, c)))) | 597 | : sanitize_char_width (XINT (CHAR_TABLE_REF (Vchar_width_table, c)))) |
| 598 | 598 | ||
| 599 | /* If C is a variation selector, return the index numnber of the | 599 | /* If C is a variation selector, return the index of the |
| 600 | variation selector (1..256). Otherwise, return 0. */ | 600 | variation selector (1..256). Otherwise, return 0. */ |
| 601 | 601 | ||
| 602 | #define CHAR_VARIATION_SELECTOR_P(c) \ | 602 | #define CHAR_VARIATION_SELECTOR_P(c) \ |
diff --git a/src/charset.c b/src/charset.c index 8d6a3982d14..266753f9d05 100644 --- a/src/charset.c +++ b/src/charset.c | |||
| @@ -162,8 +162,8 @@ static struct | |||
| 162 | /* 1 iff the following table is used for encoder. */ | 162 | /* 1 iff the following table is used for encoder. */ |
| 163 | short for_encoder; | 163 | short for_encoder; |
| 164 | 164 | ||
| 165 | /* When the following table is used for encoding, mininum and | 165 | /* When the following table is used for encoding, minimum and |
| 166 | maxinum character of the current charset. */ | 166 | maximum character of the current charset. */ |
| 167 | int min_char, max_char; | 167 | int min_char, max_char; |
| 168 | 168 | ||
| 169 | /* A Unicode character correspoinding to the code indice 0 (i.e. the | 169 | /* A Unicode character correspoinding to the code indice 0 (i.e. the |
diff --git a/src/charset.h b/src/charset.h index be02bc0feae..fc35d6bb991 100644 --- a/src/charset.h +++ b/src/charset.h | |||
| @@ -153,7 +153,7 @@ struct charset | |||
| 153 | /* Dimension of the charset: 1, 2, 3, or 4. */ | 153 | /* Dimension of the charset: 1, 2, 3, or 4. */ |
| 154 | int dimension; | 154 | int dimension; |
| 155 | 155 | ||
| 156 | /* Byte code range of each dimension. <code_space>[4N] is a mininum | 156 | /* Byte code range of each dimension. <code_space>[4N] is a minimum |
| 157 | byte code of the (N+1)th dimension, <code_space>[4N+1] is a | 157 | byte code of the (N+1)th dimension, <code_space>[4N+1] is a |
| 158 | maximum byte code of the (N+1)th dimension, <code_space>[4N+2] is | 158 | maximum byte code of the (N+1)th dimension, <code_space>[4N+2] is |
| 159 | (<code_space>[4N+1] - <code_space>[4N] + 1), <code_space>[4N+3] | 159 | (<code_space>[4N+1] - <code_space>[4N] + 1), <code_space>[4N+3] |
| @@ -199,14 +199,14 @@ struct charset | |||
| 199 | /* The method for encoding/decoding characters of the charset. */ | 199 | /* The method for encoding/decoding characters of the charset. */ |
| 200 | enum charset_method method; | 200 | enum charset_method method; |
| 201 | 201 | ||
| 202 | /* Mininum and Maximum code points of the charset. */ | 202 | /* Minimum and Maximum code points of the charset. */ |
| 203 | unsigned min_code, max_code; | 203 | unsigned min_code, max_code; |
| 204 | 204 | ||
| 205 | /* Offset value used by macros CODE_POINT_TO_INDEX and | 205 | /* Offset value used by macros CODE_POINT_TO_INDEX and |
| 206 | INDEX_TO_CODE_POINT. . */ | 206 | INDEX_TO_CODE_POINT. . */ |
| 207 | unsigned char_index_offset; | 207 | unsigned char_index_offset; |
| 208 | 208 | ||
| 209 | /* Mininum and Maximum character codes of the charset. If the | 209 | /* Minimum and Maximum character codes of the charset. If the |
| 210 | charset is compatible with ASCII, min_char is a minimum non-ASCII | 210 | charset is compatible with ASCII, min_char is a minimum non-ASCII |
| 211 | character of the charset. If the method of charset is | 211 | character of the charset. If the method of charset is |
| 212 | CHARSET_METHOD_OFFSET, even if the charset is unified, min_char | 212 | CHARSET_METHOD_OFFSET, even if the charset is unified, min_char |
diff --git a/src/chartab.c b/src/chartab.c index 1d4ac04312a..8d903749284 100644 --- a/src/chartab.c +++ b/src/chartab.c | |||
| @@ -747,7 +747,7 @@ equivalent and can be merged. It defaults to `equal'. */) | |||
| 747 | ARG is passed to C_FUNCTION when that is called. | 747 | ARG is passed to C_FUNCTION when that is called. |
| 748 | 748 | ||
| 749 | It returns the value of last character covered by TABLE (not the | 749 | It returns the value of last character covered by TABLE (not the |
| 750 | value inheritted from the parent), and by side-effect, the car part | 750 | value inherited from the parent), and by side-effect, the car part |
| 751 | of RANGE is updated to the minimum character C where C and all the | 751 | of RANGE is updated to the minimum character C where C and all the |
| 752 | following characters in TABLE have the same value. */ | 752 | following characters in TABLE have the same value. */ |
| 753 | 753 | ||
| @@ -758,7 +758,7 @@ map_sub_char_table (void (*c_function) (Lisp_Object, Lisp_Object, Lisp_Object), | |||
| 758 | { | 758 | { |
| 759 | /* Depth of TABLE. */ | 759 | /* Depth of TABLE. */ |
| 760 | int depth; | 760 | int depth; |
| 761 | /* Minimum and maxinum characters covered by TABLE. */ | 761 | /* Minimum and maximum characters covered by TABLE. */ |
| 762 | int min_char, max_char; | 762 | int min_char, max_char; |
| 763 | /* Number of characters covered by one element of TABLE. */ | 763 | /* Number of characters covered by one element of TABLE. */ |
| 764 | int chars_in_block; | 764 | int chars_in_block; |
| @@ -1196,7 +1196,7 @@ uniprop_table_uncompress (Lisp_Object table, int idx) | |||
| 1196 | } | 1196 | } |
| 1197 | 1197 | ||
| 1198 | 1198 | ||
| 1199 | /* Decode VALUE as an elemnet of char-table TABLE. */ | 1199 | /* Decode VALUE as an element of char-table TABLE. */ |
| 1200 | 1200 | ||
| 1201 | static Lisp_Object | 1201 | static Lisp_Object |
| 1202 | uniprop_decode_value_run_length (Lisp_Object table, Lisp_Object value) | 1202 | uniprop_decode_value_run_length (Lisp_Object table, Lisp_Object value) |
diff --git a/src/coding.h b/src/coding.h index fdf9b762e75..2621928adc3 100644 --- a/src/coding.h +++ b/src/coding.h | |||
| @@ -518,7 +518,7 @@ struct coding_system | |||
| 518 | #define CODING_REQUIRE_DETECTION_MASK 0x1000 | 518 | #define CODING_REQUIRE_DETECTION_MASK 0x1000 |
| 519 | #define CODING_RESET_AT_BOL_MASK 0x2000 | 519 | #define CODING_RESET_AT_BOL_MASK 0x2000 |
| 520 | 520 | ||
| 521 | /* Return 1 if the coding context CODING requires annotaion | 521 | /* Return 1 if the coding context CODING requires annotation |
| 522 | handling. */ | 522 | handling. */ |
| 523 | #define CODING_REQUIRE_ANNOTATION(coding) \ | 523 | #define CODING_REQUIRE_ANNOTATION(coding) \ |
| 524 | ((coding)->common_flags & CODING_ANNOTATION_MASK) | 524 | ((coding)->common_flags & CODING_ANNOTATION_MASK) |
diff --git a/src/composite.c b/src/composite.c index c8e4dd082ae..885e0262673 100644 --- a/src/composite.c +++ b/src/composite.c | |||
| @@ -1307,7 +1307,7 @@ composition_reseat_it (struct composition_it *cmp_it, EMACS_INT charpos, EMACS_I | |||
| 1307 | if (cmp_it->lookback == 0) | 1307 | if (cmp_it->lookback == 0) |
| 1308 | goto no_composition; | 1308 | goto no_composition; |
| 1309 | lgstring = Qnil; | 1309 | lgstring = Qnil; |
| 1310 | /* Try to find a shorter compostion that starts after CPOS. */ | 1310 | /* Try to find a shorter composition that starts after CPOS. */ |
| 1311 | composition_compute_stop_pos (cmp_it, charpos, bytepos, cpos, | 1311 | composition_compute_stop_pos (cmp_it, charpos, bytepos, cpos, |
| 1312 | string); | 1312 | string); |
| 1313 | if (cmp_it->ch == -2 || cmp_it->stop_pos < charpos) | 1313 | if (cmp_it->ch == -2 || cmp_it->stop_pos < charpos) |
diff --git a/src/composite.h b/src/composite.h index c57e2a0e9b3..60145b10bd9 100644 --- a/src/composite.h +++ b/src/composite.h | |||
| @@ -41,7 +41,7 @@ enum composition_method { | |||
| 41 | COMPOSITION_NO | 41 | COMPOSITION_NO |
| 42 | }; | 42 | }; |
| 43 | 43 | ||
| 44 | /* Maximum number of compoments a single composition can have. */ | 44 | /* Maximum number of components a single composition can have. */ |
| 45 | #define MAX_COMPOSITION_COMPONENTS 16 | 45 | #define MAX_COMPOSITION_COMPONENTS 16 |
| 46 | 46 | ||
| 47 | /* These macros access information about a composition that | 47 | /* These macros access information about a composition that |
diff --git a/src/data.c b/src/data.c index 76a54547a5d..e8d2b43198f 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -2028,7 +2028,7 @@ DEFUN ("indirect-function", Findirect_function, Sindirect_function, 1, 2, 0, | |||
| 2028 | If OBJECT is not a symbol, just return it. Otherwise, follow all | 2028 | If OBJECT is not a symbol, just return it. Otherwise, follow all |
| 2029 | function indirections to find the final function binding and return it. | 2029 | function indirections to find the final function binding and return it. |
| 2030 | If the final symbol in the chain is unbound, signal a void-function error. | 2030 | If the final symbol in the chain is unbound, signal a void-function error. |
| 2031 | Optional arg NOERROR non-nil means to return nil instead of signalling. | 2031 | Optional arg NOERROR non-nil means to return nil instead of signaling. |
| 2032 | Signal a cyclic-function-indirection error if there is a loop in the | 2032 | Signal a cyclic-function-indirection error if there is a loop in the |
| 2033 | function chain of symbols. */) | 2033 | function chain of symbols. */) |
| 2034 | (register Lisp_Object object, Lisp_Object noerror) | 2034 | (register Lisp_Object object, Lisp_Object noerror) |
diff --git a/src/dbusbind.c b/src/dbusbind.c index 52e08d8ee2a..7984be3564b 100644 --- a/src/dbusbind.c +++ b/src/dbusbind.c | |||
| @@ -184,7 +184,7 @@ static int xd_in_read_queued_messages = 0; | |||
| 184 | #endif | 184 | #endif |
| 185 | 185 | ||
| 186 | /* This was a macro. On Solaris 2.11 it was said to compile for | 186 | /* This was a macro. On Solaris 2.11 it was said to compile for |
| 187 | hours, when optimzation is enabled. So we have transferred it into | 187 | hours, when optimization is enabled. So we have transferred it into |
| 188 | a function. */ | 188 | a function. */ |
| 189 | /* Determine the DBusType of a given Lisp symbol. OBJECT must be one | 189 | /* Determine the DBusType of a given Lisp symbol. OBJECT must be one |
| 190 | of the predefined D-Bus type symbols. */ | 190 | of the predefined D-Bus type symbols. */ |
diff --git a/src/dired.c b/src/dired.c index fac3a34ab9b..acc81a6ed9d 100644 --- a/src/dired.c +++ b/src/dired.c | |||
| @@ -628,7 +628,7 @@ file_name_completion (Lisp_Object file, Lisp_Object dirname, int all_flag, int v | |||
| 628 | 628 | ||
| 629 | if (includeall && !canexclude) | 629 | if (includeall && !canexclude) |
| 630 | { /* If we have one non-excludable file, we want to exclude the | 630 | { /* If we have one non-excludable file, we want to exclude the |
| 631 | excudable files. */ | 631 | excludable files. */ |
| 632 | includeall = 0; | 632 | includeall = 0; |
| 633 | /* Throw away any previous excludable match found. */ | 633 | /* Throw away any previous excludable match found. */ |
| 634 | bestmatch = Qnil; | 634 | bestmatch = Qnil; |
diff --git a/src/dispextern.h b/src/dispextern.h index 5c60a5499da..486aa4f7a40 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -3126,6 +3126,9 @@ void compute_fringe_widths (struct frame *, int); | |||
| 3126 | void w32_init_fringe (struct redisplay_interface *); | 3126 | void w32_init_fringe (struct redisplay_interface *); |
| 3127 | void w32_reset_fringes (void); | 3127 | void w32_reset_fringes (void); |
| 3128 | #endif | 3128 | #endif |
| 3129 | |||
| 3130 | extern unsigned row_hash (struct glyph_row *); | ||
| 3131 | |||
| 3129 | /* Defined in image.c */ | 3132 | /* Defined in image.c */ |
| 3130 | 3133 | ||
| 3131 | #ifdef HAVE_WINDOW_SYSTEM | 3134 | #ifdef HAVE_WINDOW_SYSTEM |
diff --git a/src/dispnew.c b/src/dispnew.c index 7b594c5b4e8..d6bf6666ee2 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -434,18 +434,7 @@ margin_glyphs_to_reserve (struct window *w, int total_glyphs, Lisp_Object margin | |||
| 434 | int | 434 | int |
| 435 | verify_row_hash (struct glyph_row *row) | 435 | verify_row_hash (struct glyph_row *row) |
| 436 | { | 436 | { |
| 437 | int area, k; | 437 | return row->hash == row_hash (row); |
| 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 | } | 438 | } |
| 450 | #endif | 439 | #endif |
| 451 | 440 | ||
| @@ -1083,37 +1072,55 @@ swap_glyphs_in_rows (struct glyph_row *a, struct glyph_row *b) | |||
| 1083 | 1072 | ||
| 1084 | #endif /* 0 */ | 1073 | #endif /* 0 */ |
| 1085 | 1074 | ||
| 1086 | /* Exchange pointers to glyph memory between glyph rows A and B. */ | 1075 | /* Exchange pointers to glyph memory between glyph rows A and B. Also |
| 1076 | exchange the used[] array and the hash values of the rows, because | ||
| 1077 | these should all go together for the row's hash value to be | ||
| 1078 | correct. */ | ||
| 1087 | 1079 | ||
| 1088 | static inline void | 1080 | static inline void |
| 1089 | swap_glyph_pointers (struct glyph_row *a, struct glyph_row *b) | 1081 | swap_glyph_pointers (struct glyph_row *a, struct glyph_row *b) |
| 1090 | { | 1082 | { |
| 1091 | int i; | 1083 | int i; |
| 1084 | unsigned hash_tem = a->hash; | ||
| 1085 | |||
| 1092 | for (i = 0; i < LAST_AREA + 1; ++i) | 1086 | for (i = 0; i < LAST_AREA + 1; ++i) |
| 1093 | { | 1087 | { |
| 1094 | struct glyph *temp = a->glyphs[i]; | 1088 | struct glyph *temp = a->glyphs[i]; |
| 1089 | short used_tem = a->used[i]; | ||
| 1090 | |||
| 1095 | a->glyphs[i] = b->glyphs[i]; | 1091 | a->glyphs[i] = b->glyphs[i]; |
| 1096 | b->glyphs[i] = temp; | 1092 | b->glyphs[i] = temp; |
| 1093 | a->used[i] = b->used[i]; | ||
| 1094 | b->used[i] = used_tem; | ||
| 1097 | } | 1095 | } |
| 1096 | a->hash = b->hash; | ||
| 1097 | b->hash = hash_tem; | ||
| 1098 | } | 1098 | } |
| 1099 | 1099 | ||
| 1100 | 1100 | ||
| 1101 | /* Copy glyph row structure FROM to glyph row structure TO, except | 1101 | /* Copy glyph row structure FROM to glyph row structure TO, except |
| 1102 | that glyph pointers in the structures are left unchanged. */ | 1102 | that glyph pointers, the `used' counts, and the hash values in the |
| 1103 | structures are left unchanged. */ | ||
| 1103 | 1104 | ||
| 1104 | static inline void | 1105 | static inline void |
| 1105 | copy_row_except_pointers (struct glyph_row *to, struct glyph_row *from) | 1106 | copy_row_except_pointers (struct glyph_row *to, struct glyph_row *from) |
| 1106 | { | 1107 | { |
| 1107 | struct glyph *pointers[1 + LAST_AREA]; | 1108 | struct glyph *pointers[1 + LAST_AREA]; |
| 1109 | short used[1 + LAST_AREA]; | ||
| 1110 | unsigned hashval; | ||
| 1108 | 1111 | ||
| 1109 | /* Save glyph pointers of TO. */ | 1112 | /* Save glyph pointers of TO. */ |
| 1110 | memcpy (pointers, to->glyphs, sizeof to->glyphs); | 1113 | memcpy (pointers, to->glyphs, sizeof to->glyphs); |
| 1114 | memcpy (used, to->used, sizeof to->used); | ||
| 1115 | hashval = to->hash; | ||
| 1111 | 1116 | ||
| 1112 | /* Do a structure assignment. */ | 1117 | /* Do a structure assignment. */ |
| 1113 | *to = *from; | 1118 | *to = *from; |
| 1114 | 1119 | ||
| 1115 | /* Restore original pointers of TO. */ | 1120 | /* Restore original pointers of TO. */ |
| 1116 | memcpy (to->glyphs, pointers, sizeof to->glyphs); | 1121 | memcpy (to->glyphs, pointers, sizeof to->glyphs); |
| 1122 | memcpy (to->used, used, sizeof to->used); | ||
| 1123 | to->hash = hashval; | ||
| 1117 | } | 1124 | } |
| 1118 | 1125 | ||
| 1119 | 1126 | ||
| @@ -3491,7 +3498,7 @@ redraw_overlapping_rows (struct window *w, int yb) | |||
| 3491 | if (row->used[RIGHT_MARGIN_AREA]) | 3498 | if (row->used[RIGHT_MARGIN_AREA]) |
| 3492 | rif->fix_overlapping_area (w, row, RIGHT_MARGIN_AREA, overlaps); | 3499 | rif->fix_overlapping_area (w, row, RIGHT_MARGIN_AREA, overlaps); |
| 3493 | 3500 | ||
| 3494 | /* Record in neighbour rows that ROW overwrites part of | 3501 | /* Record in neighbor rows that ROW overwrites part of |
| 3495 | their display. */ | 3502 | their display. */ |
| 3496 | if (overlaps & OVERLAPS_PRED) | 3503 | if (overlaps & OVERLAPS_PRED) |
| 3497 | MATRIX_ROW (w->current_matrix, i - 1)->overlapped_p = 1; | 3504 | MATRIX_ROW (w->current_matrix, i - 1)->overlapped_p = 1; |
| @@ -4233,6 +4240,7 @@ add_row_entry (struct glyph_row *row) | |||
| 4233 | ptrdiff_t i = row->hash % row_table_size; | 4240 | ptrdiff_t i = row->hash % row_table_size; |
| 4234 | 4241 | ||
| 4235 | entry = row_table[i]; | 4242 | entry = row_table[i]; |
| 4243 | xassert (entry || verify_row_hash (row)); | ||
| 4236 | while (entry && !row_equal_p (entry->row, row, 1)) | 4244 | while (entry && !row_equal_p (entry->row, row, 1)) |
| 4237 | entry = entry->next; | 4245 | entry = entry->next; |
| 4238 | 4246 | ||
diff --git a/src/doprnt.c b/src/doprnt.c index b4d13c59137..35af2297ff4 100644 --- a/src/doprnt.c +++ b/src/doprnt.c | |||
| @@ -26,7 +26,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 26 | of the (`int') argument, suitable for display in an Emacs buffer. | 26 | of the (`int') argument, suitable for display in an Emacs buffer. |
| 27 | 27 | ||
| 28 | . For %s and %c, when field width is specified (e.g., %25s), it accounts for | 28 | . For %s and %c, when field width is specified (e.g., %25s), it accounts for |
| 29 | the diplay width of each character, according to char-width-table. That | 29 | the display width of each character, according to char-width-table. That |
| 30 | is, it does not assume that each character takes one column on display. | 30 | is, it does not assume that each character takes one column on display. |
| 31 | 31 | ||
| 32 | . If the size of the buffer is not enough to produce the formatted string in | 32 | . If the size of the buffer is not enough to produce the formatted string in |
diff --git a/src/emacs.c b/src/emacs.c index 12be7bc0808..529fa35a5bd 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -1402,7 +1402,7 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem | |||
| 1402 | #endif | 1402 | #endif |
| 1403 | 1403 | ||
| 1404 | /* argmatch must not be used after here, | 1404 | /* argmatch must not be used after here, |
| 1405 | except when bulding temacs | 1405 | except when building temacs |
| 1406 | because the -d argument has not been skipped in skip_args. */ | 1406 | because the -d argument has not been skipped in skip_args. */ |
| 1407 | 1407 | ||
| 1408 | #ifdef MSDOS | 1408 | #ifdef MSDOS |
diff --git a/src/fileio.c b/src/fileio.c index 44a85ab1977..e3586c50056 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -70,7 +70,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 70 | #define IS_DRIVE(x) isalpha ((unsigned char) (x)) | 70 | #define IS_DRIVE(x) isalpha ((unsigned char) (x)) |
| 71 | #endif | 71 | #endif |
| 72 | /* Need to lower-case the drive letter, or else expanded | 72 | /* Need to lower-case the drive letter, or else expanded |
| 73 | filenames will sometimes compare inequal, because | 73 | filenames will sometimes compare unequal, because |
| 74 | `expand-file-name' doesn't always down-case the drive letter. */ | 74 | `expand-file-name' doesn't always down-case the drive letter. */ |
| 75 | #define DRIVE_LETTER(x) (tolower ((unsigned char) (x))) | 75 | #define DRIVE_LETTER(x) (tolower ((unsigned char) (x))) |
| 76 | #endif | 76 | #endif |
| @@ -338,7 +338,7 @@ Given a Unix syntax file name, returns a string ending in slash. */) | |||
| 338 | 338 | ||
| 339 | while (p != beg && !IS_DIRECTORY_SEP (p[-1]) | 339 | while (p != beg && !IS_DIRECTORY_SEP (p[-1]) |
| 340 | #ifdef DOS_NT | 340 | #ifdef DOS_NT |
| 341 | /* only recognise drive specifier at the beginning */ | 341 | /* only recognize drive specifier at the beginning */ |
| 342 | && !(p[-1] == ':' | 342 | && !(p[-1] == ':' |
| 343 | /* handle the "/:d:foo" and "/:foo" cases correctly */ | 343 | /* handle the "/:d:foo" and "/:foo" cases correctly */ |
| 344 | && ((p == beg + 2 && !IS_DIRECTORY_SEP (*beg)) | 344 | && ((p == beg + 2 && !IS_DIRECTORY_SEP (*beg)) |
| @@ -401,7 +401,7 @@ or the entire name if it contains no slash. */) | |||
| 401 | 401 | ||
| 402 | while (p != beg && !IS_DIRECTORY_SEP (p[-1]) | 402 | while (p != beg && !IS_DIRECTORY_SEP (p[-1]) |
| 403 | #ifdef DOS_NT | 403 | #ifdef DOS_NT |
| 404 | /* only recognise drive specifier at beginning */ | 404 | /* only recognize drive specifier at beginning */ |
| 405 | && !(p[-1] == ':' | 405 | && !(p[-1] == ':' |
| 406 | /* handle the "/:d:foo" case correctly */ | 406 | /* handle the "/:d:foo" case correctly */ |
| 407 | && (p == beg + 2 || (p == beg + 4 && IS_DIRECTORY_SEP (*beg)))) | 407 | && (p == beg + 2 || (p == beg + 4 && IS_DIRECTORY_SEP (*beg)))) |
| @@ -3252,7 +3252,7 @@ DEFUN ("base64-decode-string", Fbase64_decode_string, Sbase64_decode_string, | |||
| 3252 | return decoded_string; | 3252 | return decoded_string; |
| 3253 | } | 3253 | } |
| 3254 | 3254 | ||
| 3255 | /* Base64-decode the data at FROM of LENGHT bytes into TO. If | 3255 | /* Base64-decode the data at FROM of LENGTH bytes into TO. If |
| 3256 | MULTIBYTE is nonzero, the decoded result should be in multibyte | 3256 | MULTIBYTE is nonzero, the decoded result should be in multibyte |
| 3257 | form. If NCHARS_RETRUN is not NULL, store the number of produced | 3257 | form. If NCHARS_RETRUN is not NULL, store the number of produced |
| 3258 | characters in *NCHARS_RETURN. */ | 3258 | characters in *NCHARS_RETURN. */ |
diff --git a/src/font.c b/src/font.c index f6723157de1..9559c65e7ed 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -802,7 +802,7 @@ font_expand_wildcards (Lisp_Object *field, int n) | |||
| 802 | struct { | 802 | struct { |
| 803 | /* Minimum possible field. */ | 803 | /* Minimum possible field. */ |
| 804 | int from; | 804 | int from; |
| 805 | /* Maxinum possible field. */ | 805 | /* Maximum possible field. */ |
| 806 | int to; | 806 | int to; |
| 807 | /* Bit mask of possible field. Nth bit corresponds to Nth field. */ | 807 | /* Bit mask of possible field. Nth bit corresponds to Nth field. */ |
| 808 | int mask; | 808 | int mask; |
| @@ -954,7 +954,7 @@ font_expand_wildcards (Lisp_Object *field, int n) | |||
| 954 | } | 954 | } |
| 955 | } | 955 | } |
| 956 | 956 | ||
| 957 | /* Decide all fileds from restrictions in RANGE. */ | 957 | /* Decide all fields from restrictions in RANGE. */ |
| 958 | for (i = j = 0; i < n ; i++) | 958 | for (i = j = 0; i < n ; i++) |
| 959 | { | 959 | { |
| 960 | if (j < range[i].from) | 960 | if (j < range[i].from) |
| @@ -5144,7 +5144,7 @@ the corresponding glyph code. If ENCODING is a char-table, looking up | |||
| 5144 | the table by a character gives the corresponding glyph code. | 5144 | the table by a character gives the corresponding glyph code. |
| 5145 | 5145 | ||
| 5146 | REPERTORY specifies a repertory of characters supported by the font. | 5146 | REPERTORY specifies a repertory of characters supported by the font. |
| 5147 | If REPERTORY is a charset, all characters beloging to the charset are | 5147 | If REPERTORY is a charset, all characters belonging to the charset are |
| 5148 | supported. If REPERTORY is a char-table, all characters who have a | 5148 | supported. If REPERTORY is a char-table, all characters who have a |
| 5149 | non-nil value in the table are supported. If REPERTORY is nil, Emacs | 5149 | non-nil value in the table are supported. If REPERTORY is nil, Emacs |
| 5150 | gets the repertory information by an opened font and ENCODING. */); | 5150 | gets the repertory information by an opened font and ENCODING. */); |
diff --git a/src/font.h b/src/font.h index e50eaff9a1f..42fc050b670 100644 --- a/src/font.h +++ b/src/font.h | |||
| @@ -599,7 +599,7 @@ struct font_driver | |||
| 599 | 599 | ||
| 600 | /* Optional. | 600 | /* Optional. |
| 601 | Store bitmap data for glyph-code CODE of FONT in BITMAP. It is | 601 | Store bitmap data for glyph-code CODE of FONT in BITMAP. It is |
| 602 | intended that this method is callled from the other font-driver | 602 | intended that this method is called from the other font-driver |
| 603 | for actual drawing. */ | 603 | for actual drawing. */ |
| 604 | int (*get_bitmap) (struct font *font, unsigned code, | 604 | int (*get_bitmap) (struct font *font, unsigned code, |
| 605 | struct font_bitmap *bitmap, | 605 | struct font_bitmap *bitmap, |
diff --git a/src/fontset.c b/src/fontset.c index 74a25a1ca04..e20d7957c7f 100644 --- a/src/fontset.c +++ b/src/fontset.c | |||
| @@ -1088,7 +1088,7 @@ fontset_pattern_regexp (Lisp_Object pattern) | |||
| 1088 | nescs++; | 1088 | nescs++; |
| 1089 | } | 1089 | } |
| 1090 | 1090 | ||
| 1091 | /* If PATTERN is not full XLFD we conert "*" to ".*". Otherwise | 1091 | /* If PATTERN is not full XLFD we convert "*" to ".*". Otherwise |
| 1092 | we convert "*" to "[^-]*" which is much faster in regular | 1092 | we convert "*" to "[^-]*" which is much faster in regular |
| 1093 | expression matching. */ | 1093 | expression matching. */ |
| 1094 | if (ndashes < 14) | 1094 | if (ndashes < 14) |
| @@ -1346,7 +1346,7 @@ accumulate_script_ranges (Lisp_Object arg, Lisp_Object range, Lisp_Object val) | |||
| 1346 | 1346 | ||
| 1347 | In FONTSET, set FONT_DEF in a fashion specified by ADD for | 1347 | In FONTSET, set FONT_DEF in a fashion specified by ADD for |
| 1348 | characters in RANGE and ranges in SCRIPT_RANGE_LIST before RANGE. | 1348 | characters in RANGE and ranges in SCRIPT_RANGE_LIST before RANGE. |
| 1349 | The consumed ranges are poped up from SCRIPT_RANGE_LIST, and the | 1349 | The consumed ranges are popped up from SCRIPT_RANGE_LIST, and the |
| 1350 | new SCRIPT_RANGE_LIST is stored in ARG. | 1350 | new SCRIPT_RANGE_LIST is stored in ARG. |
| 1351 | 1351 | ||
| 1352 | If ASCII is nil, don't set FONT_DEF for ASCII characters. It is | 1352 | If ASCII is nil, don't set FONT_DEF for ASCII characters. It is |
| @@ -1702,7 +1702,7 @@ static Lisp_Object auto_fontset_alist; | |||
| 1702 | /* Number of automatically created fontsets. */ | 1702 | /* Number of automatically created fontsets. */ |
| 1703 | static printmax_t num_auto_fontsets; | 1703 | static printmax_t num_auto_fontsets; |
| 1704 | 1704 | ||
| 1705 | /* Retun a fontset synthesized from FONT-OBJECT. This is called from | 1705 | /* Return a fontset synthesized from FONT-OBJECT. This is called from |
| 1706 | x_new_font when FONT-OBJECT is used for the default ASCII font of a | 1706 | x_new_font when FONT-OBJECT is used for the default ASCII font of a |
| 1707 | frame, and the returned fontset is used for the default fontset of | 1707 | frame, and the returned fontset is used for the default fontset of |
| 1708 | that frame. The fontset specifies a font of the same registry as | 1708 | that frame. The fontset specifies a font of the same registry as |
| @@ -1788,7 +1788,7 @@ update_auto_fontset_alist (Lisp_Object font_object, Lisp_Object fontset) | |||
| 1788 | /* Return a cons (FONT-OBJECT . GLYPH-CODE). | 1788 | /* Return a cons (FONT-OBJECT . GLYPH-CODE). |
| 1789 | FONT-OBJECT is the font for the character at POSITION in the current | 1789 | FONT-OBJECT is the font for the character at POSITION in the current |
| 1790 | buffer. This is computed from all the text properties and overlays | 1790 | buffer. This is computed from all the text properties and overlays |
| 1791 | that apply to POSITION. POSTION may be nil, in which case, | 1791 | that apply to POSITION. POSITION may be nil, in which case, |
| 1792 | FONT-SPEC is the font for displaying the character CH with the | 1792 | FONT-SPEC is the font for displaying the character CH with the |
| 1793 | default face. | 1793 | default face. |
| 1794 | 1794 | ||
diff --git a/src/frame.c b/src/frame.c index d56a2efb17f..984651ae9ce 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -1237,7 +1237,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force) | |||
| 1237 | else | 1237 | else |
| 1238 | { | 1238 | { |
| 1239 | #ifdef HAVE_X_WINDOWS | 1239 | #ifdef HAVE_X_WINDOWS |
| 1240 | /* Also, save clipboard to the the clipboard manager. */ | 1240 | /* Also, save clipboard to the clipboard manager. */ |
| 1241 | x_clipboard_manager_save_frame (frame); | 1241 | x_clipboard_manager_save_frame (frame); |
| 1242 | #endif | 1242 | #endif |
| 1243 | 1243 | ||
| @@ -1359,6 +1359,13 @@ delete_frame (Lisp_Object frame, Lisp_Object force) | |||
| 1359 | /* If needed, delete the terminal that this frame was on. | 1359 | /* If needed, delete the terminal that this frame was on. |
| 1360 | (This must be done after the frame is killed.) */ | 1360 | (This must be done after the frame is killed.) */ |
| 1361 | terminal->reference_count--; | 1361 | terminal->reference_count--; |
| 1362 | #ifdef USE_GTK | ||
| 1363 | /* FIXME: Deleting the terminal crashes emacs because of a GTK | ||
| 1364 | bug. | ||
| 1365 | http://lists.gnu.org/archive/html/emacs-devel/2011-10/msg00363.html */ | ||
| 1366 | if (terminal->reference_count == 0 && terminal->type == output_x_window) | ||
| 1367 | terminal->reference_count = 1; | ||
| 1368 | #endif /* USE_GTK */ | ||
| 1362 | if (terminal->reference_count == 0) | 1369 | if (terminal->reference_count == 0) |
| 1363 | { | 1370 | { |
| 1364 | Lisp_Object tmp; | 1371 | Lisp_Object tmp; |
| @@ -2487,7 +2494,7 @@ If FRAME is omitted, the selected frame is used. The exact value | |||
| 2487 | of the result depends on the window-system and toolkit in use: | 2494 | of the result depends on the window-system and toolkit in use: |
| 2488 | 2495 | ||
| 2489 | In the Gtk+ version of Emacs, it includes only any window (including | 2496 | In the Gtk+ version of Emacs, it includes only any window (including |
| 2490 | the minibuffer or eacho area), mode line, and header line. It does not | 2497 | the minibuffer or echo area), mode line, and header line. It does not |
| 2491 | include the tool bar or menu bar. | 2498 | include the tool bar or menu bar. |
| 2492 | 2499 | ||
| 2493 | With the Motif or Lucid toolkits, it also includes the tool bar (but | 2500 | With the Motif or Lucid toolkits, it also includes the tool bar (but |
diff --git a/src/frame.h b/src/frame.h index e096807b02e..a32d1c549b5 100644 --- a/src/frame.h +++ b/src/frame.h | |||
| @@ -371,7 +371,7 @@ struct frame | |||
| 371 | if greater than 1, then the frame is obscured - we still consider | 371 | if greater than 1, then the frame is obscured - we still consider |
| 372 | it to be "visible" as seen from lisp, but we don't bother | 372 | it to be "visible" as seen from lisp, but we don't bother |
| 373 | updating it. We must take care to garbage the frame when it | 373 | updating it. We must take care to garbage the frame when it |
| 374 | ceaces to be obscured though. | 374 | ceases to be obscured though. |
| 375 | 375 | ||
| 376 | iconified is nonzero if the frame is currently iconified. | 376 | iconified is nonzero if the frame is currently iconified. |
| 377 | 377 | ||
diff --git a/src/ftfont.c b/src/ftfont.c index 7858a31be21..5c540f9bf82 100644 --- a/src/ftfont.c +++ b/src/ftfont.c | |||
| @@ -272,7 +272,7 @@ ftfont_pattern_entity (FcPattern *p, Lisp_Object extra) | |||
| 272 | } | 272 | } |
| 273 | else | 273 | else |
| 274 | { | 274 | { |
| 275 | /* As this font is not scalable, parhaps this is a BDF or PCF | 275 | /* As this font is not scalable, perhaps this is a BDF or PCF |
| 276 | font. */ | 276 | font. */ |
| 277 | FT_Face ft_face; | 277 | FT_Face ft_face; |
| 278 | 278 | ||
| @@ -730,7 +730,7 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots | |||
| 730 | 730 | ||
| 731 | if ((n = FONT_SLANT_NUMERIC (spec)) >= 0 | 731 | if ((n = FONT_SLANT_NUMERIC (spec)) >= 0 |
| 732 | && n < 100) | 732 | && n < 100) |
| 733 | /* Fontconfig doesn't support reverse-italic/obligue. */ | 733 | /* Fontconfig doesn't support reverse-italic/oblique. */ |
| 734 | return NULL; | 734 | return NULL; |
| 735 | 735 | ||
| 736 | if (INTEGERP (AREF (spec, FONT_DPI_INDEX))) | 736 | if (INTEGERP (AREF (spec, FONT_DPI_INDEX))) |
diff --git a/src/ftxfont.c b/src/ftxfont.c index bbba3ca8163..608cfd8d44d 100644 --- a/src/ftxfont.c +++ b/src/ftxfont.c | |||
| @@ -55,7 +55,7 @@ struct ftxfont_frame_data | |||
| 55 | { | 55 | { |
| 56 | /* Background and foreground colors. */ | 56 | /* Background and foreground colors. */ |
| 57 | XColor colors[2]; | 57 | XColor colors[2]; |
| 58 | /* GCs interporationg the above colors. gcs[0] is for a color | 58 | /* GCs interpolating the above colors. gcs[0] is for a color |
| 59 | closest to BACKGROUND, and gcs[5] is for a color closest to | 59 | closest to BACKGROUND, and gcs[5] is for a color closest to |
| 60 | FOREGROUND. */ | 60 | FOREGROUND. */ |
| 61 | GC gcs[6]; | 61 | GC gcs[6]; |
diff --git a/src/gtkutil.c b/src/gtkutil.c index af697c72673..3df46afcd3a 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -127,7 +127,7 @@ xg_set_screen (GtkWidget *w, FRAME_PTR f) | |||
| 127 | 127 | ||
| 128 | Returns non-zero if display could be opened, zero if display could not | 128 | Returns non-zero if display could be opened, zero if display could not |
| 129 | be opened, and less than zero if the GTK version doesn't support | 129 | be opened, and less than zero if the GTK version doesn't support |
| 130 | multipe displays. */ | 130 | multiple displays. */ |
| 131 | 131 | ||
| 132 | void | 132 | void |
| 133 | xg_display_open (char *display_name, Display **dpy) | 133 | xg_display_open (char *display_name, Display **dpy) |
| @@ -348,7 +348,7 @@ file_for_image (Lisp_Object image) | |||
| 348 | 348 | ||
| 349 | /* For the image defined in IMG, make and return a GtkImage. For displays with | 349 | /* For the image defined in IMG, make and return a GtkImage. For displays with |
| 350 | 8 planes or less we must make a GdkPixbuf and apply the mask manually. | 350 | 8 planes or less we must make a GdkPixbuf and apply the mask manually. |
| 351 | Otherwise the highlightning and dimming the tool bar code in GTK does | 351 | Otherwise the highlighting and dimming the tool bar code in GTK does |
| 352 | will look bad. For display with more than 8 planes we just use the | 352 | will look bad. For display with more than 8 planes we just use the |
| 353 | pixmap and mask directly. For monochrome displays, GTK doesn't seem | 353 | pixmap and mask directly. For monochrome displays, GTK doesn't seem |
| 354 | able to use external pixmaps, it looks bad whatever we do. | 354 | able to use external pixmaps, it looks bad whatever we do. |
| @@ -891,7 +891,7 @@ xg_frame_resized (FRAME_PTR f, int pixelwidth, int pixelheight) | |||
| 891 | } | 891 | } |
| 892 | } | 892 | } |
| 893 | 893 | ||
| 894 | /* Resize the outer window of frame F after chainging the height. | 894 | /* Resize the outer window of frame F after changing the height. |
| 895 | COLUMNS/ROWS is the size the edit area shall have after the resize. */ | 895 | COLUMNS/ROWS is the size the edit area shall have after the resize. */ |
| 896 | 896 | ||
| 897 | void | 897 | void |
| @@ -1423,7 +1423,7 @@ get_dialog_title (char key) | |||
| 1423 | /* Callback for dialogs that get WM_DELETE_WINDOW. We pop down | 1423 | /* Callback for dialogs that get WM_DELETE_WINDOW. We pop down |
| 1424 | the dialog, but return TRUE so the event does not propagate further | 1424 | the dialog, but return TRUE so the event does not propagate further |
| 1425 | in GTK. This prevents GTK from destroying the dialog widget automatically | 1425 | in GTK. This prevents GTK from destroying the dialog widget automatically |
| 1426 | and we can always destrou the widget manually, regardles of how | 1426 | and we can always destroy the widget manually, regardless of how |
| 1427 | it was popped down (button press or WM_DELETE_WINDOW). | 1427 | it was popped down (button press or WM_DELETE_WINDOW). |
| 1428 | W is the dialog widget. | 1428 | W is the dialog widget. |
| 1429 | EVENT is the GdkEvent that represents WM_DELETE_WINDOW (not used). | 1429 | EVENT is the GdkEvent that represents WM_DELETE_WINDOW (not used). |
| @@ -2294,7 +2294,7 @@ tearoff_activate (GtkWidget *widget, gpointer client_data) | |||
| 2294 | 2294 | ||
| 2295 | 2295 | ||
| 2296 | /* Create a menu item widget, and connect the callbacks. | 2296 | /* Create a menu item widget, and connect the callbacks. |
| 2297 | ITEM decribes the menu item. | 2297 | ITEM describes the menu item. |
| 2298 | F is the frame the created menu belongs to. | 2298 | F is the frame the created menu belongs to. |
| 2299 | SELECT_CB is the callback to use when a menu item is selected. | 2299 | SELECT_CB is the callback to use when a menu item is selected. |
| 2300 | HIGHLIGHT_CB is the callback to call when entering/leaving menu items. | 2300 | HIGHLIGHT_CB is the callback to call when entering/leaving menu items. |
| @@ -4262,7 +4262,7 @@ xg_make_tool_item (FRAME_PTR f, | |||
| 4262 | #endif | 4262 | #endif |
| 4263 | gtk_tool_item_set_homogeneous (ti, FALSE); | 4263 | gtk_tool_item_set_homogeneous (ti, FALSE); |
| 4264 | 4264 | ||
| 4265 | /* Callback to save modifyer mask (Shift/Control, etc). GTK makes | 4265 | /* Callback to save modifier mask (Shift/Control, etc). GTK makes |
| 4266 | no distinction based on modifiers in the activate callback, | 4266 | no distinction based on modifiers in the activate callback, |
| 4267 | so we have to do it ourselves. */ | 4267 | so we have to do it ourselves. */ |
| 4268 | g_signal_connect (wb, "button-release-event", | 4268 | g_signal_connect (wb, "button-release-event", |
diff --git a/src/image.c b/src/image.c index 14c74f10607..8b61c7eefbc 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -7552,7 +7552,7 @@ imagemagick_image_p (Lisp_Object object) | |||
| 7552 | } | 7552 | } |
| 7553 | 7553 | ||
| 7554 | /* The GIF library also defines DrawRectangle, but its never used in Emacs. | 7554 | /* The GIF library also defines DrawRectangle, but its never used in Emacs. |
| 7555 | Therefore rename the function so it doesnt collide with ImageMagick. */ | 7555 | Therefore rename the function so it doesn't collide with ImageMagick. */ |
| 7556 | #define DrawRectangle DrawRectangleGif | 7556 | #define DrawRectangle DrawRectangleGif |
| 7557 | #include <wand/MagickWand.h> | 7557 | #include <wand/MagickWand.h> |
| 7558 | 7558 | ||
| @@ -7754,7 +7754,7 @@ imagemagick_load_image (struct frame *f, struct image *img, | |||
| 7754 | } | 7754 | } |
| 7755 | 7755 | ||
| 7756 | /* Finally we are done manipulating the image. Figure out the | 7756 | /* Finally we are done manipulating the image. Figure out the |
| 7757 | resulting width/height and transfer ownerwship to Emacs. */ | 7757 | resulting width/height and transfer ownership to Emacs. */ |
| 7758 | height = MagickGetImageHeight (image_wand); | 7758 | height = MagickGetImageHeight (image_wand); |
| 7759 | width = MagickGetImageWidth (image_wand); | 7759 | width = MagickGetImageWidth (image_wand); |
| 7760 | 7760 | ||
| @@ -7786,7 +7786,7 @@ imagemagick_load_image (struct frame *f, struct image *img, | |||
| 7786 | goto imagemagick_error; | 7786 | goto imagemagick_error; |
| 7787 | } | 7787 | } |
| 7788 | 7788 | ||
| 7789 | /* Copy imagegmagick image to x with primitive yet robust pixel | 7789 | /* Copy imagemagick image to x with primitive yet robust pixel |
| 7790 | pusher loop. This has been tested a lot with many different | 7790 | pusher loop. This has been tested a lot with many different |
| 7791 | images. */ | 7791 | images. */ |
| 7792 | 7792 | ||
| @@ -7824,7 +7824,7 @@ imagemagick_load_image (struct frame *f, struct image *img, | |||
| 7824 | 7824 | ||
| 7825 | if (imagemagick_rendermethod == 1) | 7825 | if (imagemagick_rendermethod == 1) |
| 7826 | { | 7826 | { |
| 7827 | /* Magicexportimage is normaly faster than pixelpushing. This | 7827 | /* Magicexportimage is normally faster than pixelpushing. This |
| 7828 | method is also well tested. Some aspects of this method are | 7828 | method is also well tested. Some aspects of this method are |
| 7829 | ad-hoc and needs to be more researched. */ | 7829 | ad-hoc and needs to be more researched. */ |
| 7830 | int imagedepth = 24;/*MagickGetImageDepth(image_wand);*/ | 7830 | int imagedepth = 24;/*MagickGetImageDepth(image_wand);*/ |
| @@ -7841,7 +7841,7 @@ imagemagick_load_image (struct frame *f, struct image *img, | |||
| 7841 | } | 7841 | } |
| 7842 | 7842 | ||
| 7843 | 7843 | ||
| 7844 | /* Oddly, the below code doesnt seem to work:*/ | 7844 | /* Oddly, the below code doesn't seem to work:*/ |
| 7845 | /* switch(ximg->bitmap_unit){ */ | 7845 | /* switch(ximg->bitmap_unit){ */ |
| 7846 | /* case 8: */ | 7846 | /* case 8: */ |
| 7847 | /* pixelwidth=CharPixel; */ | 7847 | /* pixelwidth=CharPixel; */ |
| @@ -7870,7 +7870,7 @@ imagemagick_load_image (struct frame *f, struct image *img, | |||
| 7870 | /*&(img->pixmap));*/ | 7870 | /*&(img->pixmap));*/ |
| 7871 | ximg->data); | 7871 | ximg->data); |
| 7872 | #else | 7872 | #else |
| 7873 | image_error ("You dont have MagickExportImagePixels, upgrade ImageMagick!", | 7873 | image_error ("You don't have MagickExportImagePixels, upgrade ImageMagick!", |
| 7874 | Qnil, Qnil); | 7874 | Qnil, Qnil); |
| 7875 | #endif | 7875 | #endif |
| 7876 | } | 7876 | } |
| @@ -8781,7 +8781,7 @@ syms_of_image (void) | |||
| 8781 | operation on GNU/Linux of calling dump-emacs after loading some images. */ | 8781 | operation on GNU/Linux of calling dump-emacs after loading some images. */ |
| 8782 | image_types = NULL; | 8782 | image_types = NULL; |
| 8783 | 8783 | ||
| 8784 | /* Must be defined now becase we're going to update it below, while | 8784 | /* Must be defined now because we're going to update it below, while |
| 8785 | defining the supported image types. */ | 8785 | defining the supported image types. */ |
| 8786 | DEFVAR_LISP ("image-types", Vimage_types, | 8786 | DEFVAR_LISP ("image-types", Vimage_types, |
| 8787 | doc: /* List of potentially supported image types. | 8787 | doc: /* List of potentially supported image types. |
diff --git a/src/indent.c b/src/indent.c index a70b7971b96..07a54c0c1b7 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -1675,7 +1675,7 @@ compute_motion (EMACS_INT from, EMACS_INT fromvpos, EMACS_INT fromhpos, int did_ | |||
| 1675 | val_compute_motion.prevhpos = contin_hpos; | 1675 | val_compute_motion.prevhpos = contin_hpos; |
| 1676 | else | 1676 | else |
| 1677 | val_compute_motion.prevhpos = prev_hpos; | 1677 | val_compute_motion.prevhpos = prev_hpos; |
| 1678 | /* We alalways handle all of them here; none of them remain to do. */ | 1678 | /* We always handle all of them here; none of them remain to do. */ |
| 1679 | val_compute_motion.ovstring_chars_done = 0; | 1679 | val_compute_motion.ovstring_chars_done = 0; |
| 1680 | 1680 | ||
| 1681 | /* Nonzero if have just continued a line */ | 1681 | /* Nonzero if have just continued a line */ |
diff --git a/src/indent.h b/src/indent.h index 07ca4dd87a5..55ee934f574 100644 --- a/src/indent.h +++ b/src/indent.h | |||
| @@ -19,7 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 19 | /* We introduce new member `tab_offset'. We need it because of the | 19 | /* We introduce new member `tab_offset'. We need it because of the |
| 20 | existence of wide-column characters. There is a case that the | 20 | existence of wide-column characters. There is a case that the |
| 21 | line-break occurs at a wide-column character and the number of | 21 | line-break occurs at a wide-column character and the number of |
| 22 | colums of the line gets less than width. | 22 | columns of the line gets less than width. |
| 23 | 23 | ||
| 24 | Example (where W_ stands for a wide-column character): | 24 | Example (where W_ stands for a wide-column character): |
| 25 | ---------- | 25 | ---------- |
| @@ -73,5 +73,3 @@ int disptab_matches_widthtab (struct Lisp_Char_Table *disptab, | |||
| 73 | /* Recompute BUF's width table, using the display table DISPTAB. */ | 73 | /* Recompute BUF's width table, using the display table DISPTAB. */ |
| 74 | void recompute_width_table (struct buffer *buf, | 74 | void recompute_width_table (struct buffer *buf, |
| 75 | struct Lisp_Char_Table *disptab); | 75 | struct Lisp_Char_Table *disptab); |
| 76 | |||
| 77 | |||
diff --git a/src/insdel.c b/src/insdel.c index 01e5c57b2b0..e39a362eac7 100644 --- a/src/insdel.c +++ b/src/insdel.c | |||
| @@ -1316,7 +1316,7 @@ replace_range (EMACS_INT from, EMACS_INT to, Lisp_Object new, | |||
| 1316 | 1316 | ||
| 1317 | UNGCPRO; | 1317 | UNGCPRO; |
| 1318 | 1318 | ||
| 1319 | /* Make args be valid */ | 1319 | /* Make args be valid. */ |
| 1320 | if (from < BEGV) | 1320 | if (from < BEGV) |
| 1321 | from = BEGV; | 1321 | from = BEGV; |
| 1322 | if (to > ZV) | 1322 | if (to > ZV) |
diff --git a/src/intervals.c b/src/intervals.c index a78c7f07f6c..05b7175ac3f 100644 --- a/src/intervals.c +++ b/src/intervals.c | |||
| @@ -1317,7 +1317,7 @@ interval_deletion_adjustment (register INTERVAL tree, register EMACS_INT from, | |||
| 1317 | if (NULL_INTERVAL_P (tree)) | 1317 | if (NULL_INTERVAL_P (tree)) |
| 1318 | return 0; | 1318 | return 0; |
| 1319 | 1319 | ||
| 1320 | /* Left branch */ | 1320 | /* Left branch. */ |
| 1321 | if (relative_position < LEFT_TOTAL_LENGTH (tree)) | 1321 | if (relative_position < LEFT_TOTAL_LENGTH (tree)) |
| 1322 | { | 1322 | { |
| 1323 | EMACS_INT subtract = interval_deletion_adjustment (tree->left, | 1323 | EMACS_INT subtract = interval_deletion_adjustment (tree->left, |
| @@ -1327,7 +1327,7 @@ interval_deletion_adjustment (register INTERVAL tree, register EMACS_INT from, | |||
| 1327 | CHECK_TOTAL_LENGTH (tree); | 1327 | CHECK_TOTAL_LENGTH (tree); |
| 1328 | return subtract; | 1328 | return subtract; |
| 1329 | } | 1329 | } |
| 1330 | /* Right branch */ | 1330 | /* Right branch. */ |
| 1331 | else if (relative_position >= (TOTAL_LENGTH (tree) | 1331 | else if (relative_position >= (TOTAL_LENGTH (tree) |
| 1332 | - RIGHT_TOTAL_LENGTH (tree))) | 1332 | - RIGHT_TOTAL_LENGTH (tree))) |
| 1333 | { | 1333 | { |
| @@ -1699,54 +1699,37 @@ graft_intervals_into_buffer (INTERVAL source, EMACS_INT position, | |||
| 1699 | Qnil, buf, 0); | 1699 | Qnil, buf, 0); |
| 1700 | } | 1700 | } |
| 1701 | if (! NULL_INTERVAL_P (BUF_INTERVALS (buffer))) | 1701 | if (! NULL_INTERVAL_P (BUF_INTERVALS (buffer))) |
| 1702 | /* Shouldn't be necessary. -stef */ | 1702 | /* Shouldn't be necessary. --Stef */ |
| 1703 | BUF_INTERVALS (buffer) = balance_an_interval (BUF_INTERVALS (buffer)); | 1703 | BUF_INTERVALS (buffer) = balance_an_interval (BUF_INTERVALS (buffer)); |
| 1704 | return; | 1704 | return; |
| 1705 | } | 1705 | } |
| 1706 | 1706 | ||
| 1707 | if (NULL_INTERVAL_P (tree)) | 1707 | eassert (length == TOTAL_LENGTH (source)); |
| 1708 | { | 1708 | |
| 1709 | /* The inserted text constitutes the whole buffer, so | 1709 | if ((BUF_Z (buffer) - BUF_BEG (buffer)) == length) |
| 1710 | { /* The inserted text constitutes the whole buffer, so | ||
| 1710 | simply copy over the interval structure. */ | 1711 | simply copy over the interval structure. */ |
| 1711 | if ((BUF_Z (buffer) - BUF_BEG (buffer)) == TOTAL_LENGTH (source)) | ||
| 1712 | { | ||
| 1713 | Lisp_Object buf; | 1712 | Lisp_Object buf; |
| 1714 | XSETBUFFER (buf, buffer); | 1713 | XSETBUFFER (buf, buffer); |
| 1715 | BUF_INTERVALS (buffer) = reproduce_tree_obj (source, buf); | 1714 | BUF_INTERVALS (buffer) = reproduce_tree_obj (source, buf); |
| 1716 | BUF_INTERVALS (buffer)->position = BEG; | 1715 | BUF_INTERVALS (buffer)->position = BUF_BEG (buffer); |
| 1717 | BUF_INTERVALS (buffer)->up_obj = 1; | 1716 | eassert (BUF_INTERVALS (buffer)->up_obj == 1); |
| 1718 | |||
| 1719 | return; | 1717 | return; |
| 1720 | } | 1718 | } |
| 1721 | 1719 | else if (NULL_INTERVAL_P (tree)) | |
| 1722 | /* Create an interval tree in which to place a copy | 1720 | { /* Create an interval tree in which to place a copy |
| 1723 | of the intervals of the inserted string. */ | 1721 | of the intervals of the inserted string. */ |
| 1724 | { | ||
| 1725 | Lisp_Object buf; | 1722 | Lisp_Object buf; |
| 1726 | XSETBUFFER (buf, buffer); | 1723 | XSETBUFFER (buf, buffer); |
| 1727 | tree = create_root_interval (buf); | 1724 | tree = create_root_interval (buf); |
| 1728 | } | 1725 | } |
| 1729 | } | ||
| 1730 | else if (TOTAL_LENGTH (tree) == TOTAL_LENGTH (source)) | ||
| 1731 | /* If the buffer contains only the new string, but | ||
| 1732 | there was already some interval tree there, then it may be | ||
| 1733 | some zero length intervals. Eventually, do something clever | ||
| 1734 | about inserting properly. For now, just waste the old intervals. */ | ||
| 1735 | { | ||
| 1736 | BUF_INTERVALS (buffer) = reproduce_tree (source, INTERVAL_PARENT (tree)); | ||
| 1737 | BUF_INTERVALS (buffer)->position = BEG; | ||
| 1738 | BUF_INTERVALS (buffer)->up_obj = 1; | ||
| 1739 | /* Explicitly free the old tree here. */ | ||
| 1740 | |||
| 1741 | return; | ||
| 1742 | } | ||
| 1743 | /* Paranoia -- the text has already been added, so this buffer | 1726 | /* Paranoia -- the text has already been added, so this buffer |
| 1744 | should be of non-zero length. */ | 1727 | should be of non-zero length. */ |
| 1745 | else if (TOTAL_LENGTH (tree) == 0) | 1728 | else if (TOTAL_LENGTH (tree) == 0) |
| 1746 | abort (); | 1729 | abort (); |
| 1747 | 1730 | ||
| 1748 | this = under = find_interval (tree, position); | 1731 | this = under = find_interval (tree, position); |
| 1749 | if (NULL_INTERVAL_P (under)) /* Paranoia */ | 1732 | if (NULL_INTERVAL_P (under)) /* Paranoia. */ |
| 1750 | abort (); | 1733 | abort (); |
| 1751 | over = find_interval (source, interval_start_pos (source)); | 1734 | over = find_interval (source, interval_start_pos (source)); |
| 1752 | 1735 | ||
| @@ -1917,7 +1900,7 @@ set_point (EMACS_INT charpos) | |||
| 1917 | current buffer, and the invisible property has a `stickiness' such that | 1900 | current buffer, and the invisible property has a `stickiness' such that |
| 1918 | inserting a character at position POS would inherit the property it, | 1901 | inserting a character at position POS would inherit the property it, |
| 1919 | return POS + ADJ, otherwise return POS. If TEST_INTANG is non-zero, | 1902 | return POS + ADJ, otherwise return POS. If TEST_INTANG is non-zero, |
| 1920 | then intangibility is required as well as invisibleness. | 1903 | then intangibility is required as well as invisibility. |
| 1921 | 1904 | ||
| 1922 | TEST_OFFS should be either 0 or -1, and ADJ should be either 1 or -1. | 1905 | TEST_OFFS should be either 0 or -1, and ADJ should be either 1 or -1. |
| 1923 | 1906 | ||
diff --git a/src/intervals.h b/src/intervals.h index 720598fe7a6..977f3d965a4 100644 --- a/src/intervals.h +++ b/src/intervals.h | |||
| @@ -64,71 +64,71 @@ struct interval | |||
| 64 | Lisp_Object plist; | 64 | Lisp_Object plist; |
| 65 | }; | 65 | }; |
| 66 | 66 | ||
| 67 | /* These are macros for dealing with the interval tree. */ | 67 | /* These are macros for dealing with the interval tree. */ |
| 68 | 68 | ||
| 69 | /* Size of the structure used to represent an interval */ | 69 | /* Size of the structure used to represent an interval. */ |
| 70 | #define INTERVAL_SIZE (sizeof (struct interval)) | 70 | #define INTERVAL_SIZE (sizeof (struct interval)) |
| 71 | 71 | ||
| 72 | /* Size of a pointer to an interval structure */ | 72 | /* Size of a pointer to an interval structure. */ |
| 73 | #define INTERVAL_PTR_SIZE (sizeof (struct interval *)) | 73 | #define INTERVAL_PTR_SIZE (sizeof (struct interval *)) |
| 74 | 74 | ||
| 75 | #define NULL_INTERVAL_P(i) ((i) == NULL_INTERVAL) | 75 | #define NULL_INTERVAL_P(i) ((i) == NULL_INTERVAL) |
| 76 | 76 | ||
| 77 | /* True if this interval has no right child. */ | 77 | /* True if this interval has no right child. */ |
| 78 | #define NULL_RIGHT_CHILD(i) ((i)->right == NULL_INTERVAL) | 78 | #define NULL_RIGHT_CHILD(i) ((i)->right == NULL_INTERVAL) |
| 79 | 79 | ||
| 80 | /* True if this interval has no left child. */ | 80 | /* True if this interval has no left child. */ |
| 81 | #define NULL_LEFT_CHILD(i) ((i)->left == NULL_INTERVAL) | 81 | #define NULL_LEFT_CHILD(i) ((i)->left == NULL_INTERVAL) |
| 82 | 82 | ||
| 83 | /* True if this interval has no parent. */ | 83 | /* True if this interval has no parent. */ |
| 84 | #define NULL_PARENT(i) ((i)->up_obj || (i)->up.interval == 0) | 84 | #define NULL_PARENT(i) ((i)->up_obj || (i)->up.interval == 0) |
| 85 | 85 | ||
| 86 | /* True if this interval is the left child of some other interval. */ | 86 | /* True if this interval is the left child of some other interval. */ |
| 87 | #define AM_LEFT_CHILD(i) (! NULL_PARENT (i) \ | 87 | #define AM_LEFT_CHILD(i) (! NULL_PARENT (i) \ |
| 88 | && INTERVAL_PARENT (i)->left == (i)) | 88 | && INTERVAL_PARENT (i)->left == (i)) |
| 89 | 89 | ||
| 90 | /* True if this interval is the right child of some other interval. */ | 90 | /* True if this interval is the right child of some other interval. */ |
| 91 | #define AM_RIGHT_CHILD(i) (! NULL_PARENT (i) \ | 91 | #define AM_RIGHT_CHILD(i) (! NULL_PARENT (i) \ |
| 92 | && INTERVAL_PARENT (i)->right == (i)) | 92 | && INTERVAL_PARENT (i)->right == (i)) |
| 93 | 93 | ||
| 94 | /* True if this interval has no children. */ | 94 | /* True if this interval has no children. */ |
| 95 | #define LEAF_INTERVAL_P(i) ((i)->left == NULL_INTERVAL \ | 95 | #define LEAF_INTERVAL_P(i) ((i)->left == NULL_INTERVAL \ |
| 96 | && (i)->right == NULL_INTERVAL) | 96 | && (i)->right == NULL_INTERVAL) |
| 97 | 97 | ||
| 98 | /* True if this interval has no parent and is therefore the root. */ | 98 | /* True if this interval has no parent and is therefore the root. */ |
| 99 | #define ROOT_INTERVAL_P(i) (NULL_PARENT (i)) | 99 | #define ROOT_INTERVAL_P(i) (NULL_PARENT (i)) |
| 100 | 100 | ||
| 101 | /* True if this interval is the only interval in the interval tree. */ | 101 | /* True if this interval is the only interval in the interval tree. */ |
| 102 | #define ONLY_INTERVAL_P(i) (ROOT_INTERVAL_P ((i)) && LEAF_INTERVAL_P ((i))) | 102 | #define ONLY_INTERVAL_P(i) (ROOT_INTERVAL_P ((i)) && LEAF_INTERVAL_P ((i))) |
| 103 | 103 | ||
| 104 | /* True if this interval has both left and right children. */ | 104 | /* True if this interval has both left and right children. */ |
| 105 | #define BOTH_KIDS_P(i) ((i)->left != NULL_INTERVAL \ | 105 | #define BOTH_KIDS_P(i) ((i)->left != NULL_INTERVAL \ |
| 106 | && (i)->right != NULL_INTERVAL) | 106 | && (i)->right != NULL_INTERVAL) |
| 107 | 107 | ||
| 108 | /* The total size of all text represented by this interval and all its | 108 | /* The total size of all text represented by this interval and all its |
| 109 | children in the tree. This is zero if the interval is null. */ | 109 | children in the tree. This is zero if the interval is null. */ |
| 110 | #define TOTAL_LENGTH(i) ((i) == NULL_INTERVAL ? 0 : (i)->total_length) | 110 | #define TOTAL_LENGTH(i) ((i) == NULL_INTERVAL ? 0 : (i)->total_length) |
| 111 | 111 | ||
| 112 | /* The size of text represented by this interval alone. */ | 112 | /* The size of text represented by this interval alone. */ |
| 113 | #define LENGTH(i) ((i) == NULL_INTERVAL ? 0 : (TOTAL_LENGTH ((i)) \ | 113 | #define LENGTH(i) ((i) == NULL_INTERVAL ? 0 : (TOTAL_LENGTH ((i)) \ |
| 114 | - TOTAL_LENGTH ((i)->right) \ | 114 | - TOTAL_LENGTH ((i)->right) \ |
| 115 | - TOTAL_LENGTH ((i)->left))) | 115 | - TOTAL_LENGTH ((i)->left))) |
| 116 | 116 | ||
| 117 | /* The position of the character just past the end of I. Note that | 117 | /* The position of the character just past the end of I. Note that |
| 118 | the position cache i->position must be valid for this to work. */ | 118 | the position cache i->position must be valid for this to work. */ |
| 119 | #define INTERVAL_LAST_POS(i) ((i)->position + LENGTH ((i))) | 119 | #define INTERVAL_LAST_POS(i) ((i)->position + LENGTH ((i))) |
| 120 | 120 | ||
| 121 | /* The total size of the left subtree of this interval. */ | 121 | /* The total size of the left subtree of this interval. */ |
| 122 | #define LEFT_TOTAL_LENGTH(i) ((i)->left ? (i)->left->total_length : 0) | 122 | #define LEFT_TOTAL_LENGTH(i) ((i)->left ? (i)->left->total_length : 0) |
| 123 | 123 | ||
| 124 | /* The total size of the right subtree of this interval. */ | 124 | /* The total size of the right subtree of this interval. */ |
| 125 | #define RIGHT_TOTAL_LENGTH(i) ((i)->right ? (i)->right->total_length : 0) | 125 | #define RIGHT_TOTAL_LENGTH(i) ((i)->right ? (i)->right->total_length : 0) |
| 126 | 126 | ||
| 127 | 127 | ||
| 128 | /* These macros are for dealing with the interval properties. */ | 128 | /* These macros are for dealing with the interval properties. */ |
| 129 | 129 | ||
| 130 | /* True if this is a default interval, which is the same as being null | 130 | /* True if this is a default interval, which is the same as being null |
| 131 | or having no properties. */ | 131 | or having no properties. */ |
| 132 | #define DEFAULT_INTERVAL_P(i) (NULL_INTERVAL_P (i) || EQ ((i)->plist, Qnil)) | 132 | #define DEFAULT_INTERVAL_P(i) (NULL_INTERVAL_P (i) || EQ ((i)->plist, Qnil)) |
| 133 | 133 | ||
| 134 | /* Test what type of parent we have. Three possibilities: another | 134 | /* Test what type of parent we have. Three possibilities: another |
| @@ -169,7 +169,7 @@ struct interval | |||
| 169 | } \ | 169 | } \ |
| 170 | while (0) | 170 | while (0) |
| 171 | 171 | ||
| 172 | /* Reset this interval to its vanilla, or no-property state. */ | 172 | /* Reset this interval to its vanilla, or no-property state. */ |
| 173 | #define RESET_INTERVAL(i) \ | 173 | #define RESET_INTERVAL(i) \ |
| 174 | { \ | 174 | { \ |
| 175 | (i)->total_length = (i)->position = 0; \ | 175 | (i)->total_length = (i)->position = 0; \ |
| @@ -181,7 +181,7 @@ struct interval | |||
| 181 | (i)->plist = Qnil; \ | 181 | (i)->plist = Qnil; \ |
| 182 | } | 182 | } |
| 183 | 183 | ||
| 184 | /* Copy the cached property values of interval FROM to interval TO. */ | 184 | /* Copy the cached property values of interval FROM to interval TO. */ |
| 185 | #define COPY_INTERVAL_CACHE(from,to) \ | 185 | #define COPY_INTERVAL_CACHE(from,to) \ |
| 186 | { \ | 186 | { \ |
| 187 | (to)->write_protect = (from)->write_protect; \ | 187 | (to)->write_protect = (from)->write_protect; \ |
| @@ -190,7 +190,7 @@ struct interval | |||
| 190 | (to)->rear_sticky = (from)->rear_sticky; \ | 190 | (to)->rear_sticky = (from)->rear_sticky; \ |
| 191 | } | 191 | } |
| 192 | 192 | ||
| 193 | /* Copy only the set bits of FROM's cache. */ | 193 | /* Copy only the set bits of FROM's cache. */ |
| 194 | #define MERGE_INTERVAL_CACHE(from,to) \ | 194 | #define MERGE_INTERVAL_CACHE(from,to) \ |
| 195 | { \ | 195 | { \ |
| 196 | if ((from)->write_protect) (to)->write_protect = 1; \ | 196 | if ((from)->write_protect) (to)->write_protect = 1; \ |
| @@ -201,18 +201,18 @@ struct interval | |||
| 201 | 201 | ||
| 202 | /* Macro determining whether the properties of an interval being | 202 | /* Macro determining whether the properties of an interval being |
| 203 | inserted should be merged with the properties of the text where | 203 | inserted should be merged with the properties of the text where |
| 204 | they are being inserted. */ | 204 | they are being inserted. */ |
| 205 | #define MERGE_INSERTIONS(i) 1 | 205 | #define MERGE_INSERTIONS(i) 1 |
| 206 | 206 | ||
| 207 | /* Macro determining if an invisible interval should be displayed | 207 | /* Macro determining if an invisible interval should be displayed |
| 208 | as a special glyph, or not at all. */ | 208 | as a special glyph, or not at all. */ |
| 209 | #define DISPLAY_INVISIBLE_GLYPH(i) 0 | 209 | #define DISPLAY_INVISIBLE_GLYPH(i) 0 |
| 210 | 210 | ||
| 211 | /* Is this interval visible? Replace later with cache access */ | 211 | /* Is this interval visible? Replace later with cache access. */ |
| 212 | #define INTERVAL_VISIBLE_P(i) \ | 212 | #define INTERVAL_VISIBLE_P(i) \ |
| 213 | (! NULL_INTERVAL_P (i) && NILP (textget ((i)->plist, Qinvisible))) | 213 | (! NULL_INTERVAL_P (i) && NILP (textget ((i)->plist, Qinvisible))) |
| 214 | 214 | ||
| 215 | /* Is this interval writable? Replace later with cache access */ | 215 | /* Is this interval writable? Replace later with cache access. */ |
| 216 | #define INTERVAL_WRITABLE_P(i) \ | 216 | #define INTERVAL_WRITABLE_P(i) \ |
| 217 | (! NULL_INTERVAL_P (i) \ | 217 | (! NULL_INTERVAL_P (i) \ |
| 218 | && (NILP (textget ((i)->plist, Qread_only)) \ | 218 | && (NILP (textget ((i)->plist, Qread_only)) \ |
| @@ -222,7 +222,7 @@ struct interval | |||
| 222 | : !NILP (Vinhibit_read_only))))) \ | 222 | : !NILP (Vinhibit_read_only))))) \ |
| 223 | 223 | ||
| 224 | /* Macros to tell whether insertions before or after this interval | 224 | /* Macros to tell whether insertions before or after this interval |
| 225 | should stick to it. */ | 225 | should stick to it. */ |
| 226 | /* Replace later with cache access */ | 226 | /* Replace later with cache access */ |
| 227 | /*#define FRONT_STICKY_P(i) ((i)->front_sticky != 0) | 227 | /*#define FRONT_STICKY_P(i) ((i)->front_sticky != 0) |
| 228 | #define END_STICKY_P(i) ((i)->rear_sticky != 0)*/ | 228 | #define END_STICKY_P(i) ((i)->rear_sticky != 0)*/ |
| @@ -245,11 +245,11 @@ struct interval | |||
| 245 | ? !NILP (prop) \ | 245 | ? !NILP (prop) \ |
| 246 | : invisible_p (prop, BVAR (current_buffer, invisibility_spec))) | 246 | : invisible_p (prop, BVAR (current_buffer, invisibility_spec))) |
| 247 | 247 | ||
| 248 | /* Declared in alloc.c */ | 248 | /* Declared in alloc.c. */ |
| 249 | 249 | ||
| 250 | extern INTERVAL make_interval (void); | 250 | extern INTERVAL make_interval (void); |
| 251 | 251 | ||
| 252 | /* Declared in intervals.c */ | 252 | /* Declared in intervals.c. */ |
| 253 | 253 | ||
| 254 | extern INTERVAL create_root_interval (Lisp_Object); | 254 | extern INTERVAL create_root_interval (Lisp_Object); |
| 255 | extern void copy_properties (INTERVAL, INTERVAL); | 255 | extern void copy_properties (INTERVAL, INTERVAL); |
| @@ -288,12 +288,12 @@ extern INTERVAL validate_interval_range (Lisp_Object, Lisp_Object *, | |||
| 288 | Lisp_Object *, int); | 288 | Lisp_Object *, int); |
| 289 | extern INTERVAL interval_of (EMACS_INT, Lisp_Object); | 289 | extern INTERVAL interval_of (EMACS_INT, Lisp_Object); |
| 290 | 290 | ||
| 291 | /* Defined in xdisp.c */ | 291 | /* Defined in xdisp.c. */ |
| 292 | extern int invisible_p (Lisp_Object, Lisp_Object); | 292 | extern int invisible_p (Lisp_Object, Lisp_Object); |
| 293 | 293 | ||
| 294 | /* Declared in textprop.c */ | 294 | /* Declared in textprop.c. */ |
| 295 | 295 | ||
| 296 | /* Types of hooks. */ | 296 | /* Types of hooks. */ |
| 297 | extern Lisp_Object Qpoint_left; | 297 | extern Lisp_Object Qpoint_left; |
| 298 | extern Lisp_Object Qpoint_entered; | 298 | extern Lisp_Object Qpoint_entered; |
| 299 | extern Lisp_Object Qmodification_hooks; | 299 | extern Lisp_Object Qmodification_hooks; |
| @@ -301,11 +301,11 @@ extern Lisp_Object Qcategory; | |||
| 301 | extern Lisp_Object Qlocal_map; | 301 | extern Lisp_Object Qlocal_map; |
| 302 | extern Lisp_Object Qkeymap; | 302 | extern Lisp_Object Qkeymap; |
| 303 | 303 | ||
| 304 | /* Visual properties text (including strings) may have. */ | 304 | /* Visual properties text (including strings) may have. */ |
| 305 | extern Lisp_Object Qfont; | 305 | extern Lisp_Object Qfont; |
| 306 | extern Lisp_Object Qinvisible, Qintangible; | 306 | extern Lisp_Object Qinvisible, Qintangible; |
| 307 | 307 | ||
| 308 | /* Sticky properties */ | 308 | /* Sticky properties. */ |
| 309 | extern Lisp_Object Qfront_sticky, Qrear_nonsticky; | 309 | extern Lisp_Object Qfront_sticky, Qrear_nonsticky; |
| 310 | 310 | ||
| 311 | EXFUN (Fget_char_property, 3); | 311 | EXFUN (Fget_char_property, 3); |
diff --git a/src/keyboard.c b/src/keyboard.c index f8c31af3fbe..80873fcb57a 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -932,7 +932,7 @@ pop_kboard (void) | |||
| 932 | state later. | 932 | state later. |
| 933 | 933 | ||
| 934 | If Emacs is already in single_kboard mode, and F's keyboard is | 934 | If Emacs is already in single_kboard mode, and F's keyboard is |
| 935 | locked, then this function will throw an errow. */ | 935 | locked, then this function will throw an error. */ |
| 936 | 936 | ||
| 937 | void | 937 | void |
| 938 | temporarily_switch_to_single_kboard (struct frame *f) | 938 | temporarily_switch_to_single_kboard (struct frame *f) |
| @@ -1060,7 +1060,7 @@ cmd_error_internal (Lisp_Object data, const char *context) | |||
| 1060 | struct frame *sf = SELECTED_FRAME (); | 1060 | struct frame *sf = SELECTED_FRAME (); |
| 1061 | 1061 | ||
| 1062 | /* The immediate context is not interesting for Quits, | 1062 | /* The immediate context is not interesting for Quits, |
| 1063 | since they are asyncronous. */ | 1063 | since they are asynchronous. */ |
| 1064 | if (EQ (XCAR (data), Qquit)) | 1064 | if (EQ (XCAR (data), Qquit)) |
| 1065 | Vsignaling_function = Qnil; | 1065 | Vsignaling_function = Qnil; |
| 1066 | 1066 | ||
| @@ -5393,7 +5393,7 @@ make_lispy_event (struct input_event *event) | |||
| 5393 | || !lispy_function_keys[event->code - FUNCTION_KEY_OFFSET]) | 5393 | || !lispy_function_keys[event->code - FUNCTION_KEY_OFFSET]) |
| 5394 | { | 5394 | { |
| 5395 | /* We need to use an alist rather than a vector as the cache | 5395 | /* We need to use an alist rather than a vector as the cache |
| 5396 | since we can't make a vector long enuf. */ | 5396 | since we can't make a vector long enough. */ |
| 5397 | if (NILP (KVAR (current_kboard, system_key_syms))) | 5397 | if (NILP (KVAR (current_kboard, system_key_syms))) |
| 5398 | KVAR (current_kboard, system_key_syms) = Fcons (Qnil, Qnil); | 5398 | KVAR (current_kboard, system_key_syms) = Fcons (Qnil, Qnil); |
| 5399 | return modify_event_symbol (event->code, | 5399 | return modify_event_symbol (event->code, |
| @@ -8782,7 +8782,7 @@ typedef struct keyremap | |||
| 8782 | /* Positions [START, END) in the key sequence buffer | 8782 | /* Positions [START, END) in the key sequence buffer |
| 8783 | are the key that we have scanned so far. | 8783 | are the key that we have scanned so far. |
| 8784 | Those events are the ones that we will replace | 8784 | Those events are the ones that we will replace |
| 8785 | if PAREHT maps them into a key sequence. */ | 8785 | if PARENT maps them into a key sequence. */ |
| 8786 | int start, end; | 8786 | int start, end; |
| 8787 | } keyremap; | 8787 | } keyremap; |
| 8788 | 8788 | ||
| @@ -10137,7 +10137,7 @@ will read just one key sequence. */) | |||
| 10137 | ! NILP (can_return_switch_frame), 0); | 10137 | ! NILP (can_return_switch_frame), 0); |
| 10138 | 10138 | ||
| 10139 | #if 0 /* The following is fine for code reading a key sequence and | 10139 | #if 0 /* The following is fine for code reading a key sequence and |
| 10140 | then proceeding with a lenghty computation, but it's not good | 10140 | then proceeding with a lengthy computation, but it's not good |
| 10141 | for code reading keys in a loop, like an input method. */ | 10141 | for code reading keys in a loop, like an input method. */ |
| 10142 | #ifdef HAVE_WINDOW_SYSTEM | 10142 | #ifdef HAVE_WINDOW_SYSTEM |
| 10143 | if (display_hourglass_p) | 10143 | if (display_hourglass_p) |
| @@ -12100,7 +12100,7 @@ This variable is keyboard-local. */); | |||
| 12100 | Function key definitions that apply to all terminal devices should go | 12100 | Function key definitions that apply to all terminal devices should go |
| 12101 | here. If a mapping is defined in both the current | 12101 | here. If a mapping is defined in both the current |
| 12102 | `local-function-key-map' binding and this variable, then the local | 12102 | `local-function-key-map' binding and this variable, then the local |
| 12103 | definition will take precendence. */); | 12103 | definition will take precedence. */); |
| 12104 | Vfunction_key_map = Fmake_sparse_keymap (Qnil); | 12104 | Vfunction_key_map = Fmake_sparse_keymap (Qnil); |
| 12105 | 12105 | ||
| 12106 | DEFVAR_LISP ("key-translation-map", Vkey_translation_map, | 12106 | DEFVAR_LISP ("key-translation-map", Vkey_translation_map, |
diff --git a/src/keymap.c b/src/keymap.c index 739dfd8f2de..b429ca968d7 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -998,7 +998,7 @@ copy_keymap_item (Lisp_Object elt) | |||
| 998 | } | 998 | } |
| 999 | else | 999 | else |
| 1000 | { | 1000 | { |
| 1001 | /* It may be an old fomat menu item. | 1001 | /* It may be an old format menu item. |
| 1002 | Skip the optional menu string. */ | 1002 | Skip the optional menu string. */ |
| 1003 | if (STRINGP (XCAR (tem))) | 1003 | if (STRINGP (XCAR (tem))) |
| 1004 | { | 1004 | { |
| @@ -2624,11 +2624,11 @@ remapped command in the returned list. */) | |||
| 2624 | /* We have a list of advertised bindings. */ | 2624 | /* We have a list of advertised bindings. */ |
| 2625 | while (CONSP (tem)) | 2625 | while (CONSP (tem)) |
| 2626 | if (EQ (shadow_lookup (keymaps, XCAR (tem), Qnil, 0), definition)) | 2626 | if (EQ (shadow_lookup (keymaps, XCAR (tem), Qnil, 0), definition)) |
| 2627 | return XCAR (tem); | 2627 | RETURN_UNGCPRO (XCAR (tem)); |
| 2628 | else | 2628 | else |
| 2629 | tem = XCDR (tem); | 2629 | tem = XCDR (tem); |
| 2630 | if (EQ (shadow_lookup (keymaps, tem, Qnil, 0), definition)) | 2630 | if (EQ (shadow_lookup (keymaps, tem, Qnil, 0), definition)) |
| 2631 | return tem; | 2631 | RETURN_UNGCPRO (tem); |
| 2632 | } | 2632 | } |
| 2633 | 2633 | ||
| 2634 | sequences = Freverse (where_is_internal (definition, keymaps, | 2634 | sequences = Freverse (where_is_internal (definition, keymaps, |
diff --git a/src/lisp.h b/src/lisp.h index 880de65bf65..dcd1167e0a2 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -943,7 +943,7 @@ struct Lisp_Vector | |||
| 943 | 943 | ||
| 944 | /* Compute A OP B, using the unsigned comparison operator OP. A and B | 944 | /* Compute A OP B, using the unsigned comparison operator OP. A and B |
| 945 | should be integer expressions. This is not the same as | 945 | should be integer expressions. This is not the same as |
| 946 | mathemeatical comparison; for example, UNSIGNED_CMP (0, <, -1) | 946 | mathematical comparison; for example, UNSIGNED_CMP (0, <, -1) |
| 947 | returns 1. For efficiency, prefer plain unsigned comparison if A | 947 | returns 1. For efficiency, prefer plain unsigned comparison if A |
| 948 | and B's sizes both fit (after integer promotion). */ | 948 | and B's sizes both fit (after integer promotion). */ |
| 949 | #define UNSIGNED_CMP(a, op, b) \ | 949 | #define UNSIGNED_CMP(a, op, b) \ |
diff --git a/src/lread.c b/src/lread.c index 110f3e62f71..f1f6f0cbd78 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -3984,7 +3984,7 @@ init_obarray (void) | |||
| 3984 | Qnil = intern_c_string ("nil"); | 3984 | Qnil = intern_c_string ("nil"); |
| 3985 | 3985 | ||
| 3986 | /* Fmake_symbol inits fields of new symbols with Qunbound and Qnil, | 3986 | /* Fmake_symbol inits fields of new symbols with Qunbound and Qnil, |
| 3987 | so those two need to be fixed manally. */ | 3987 | so those two need to be fixed manually. */ |
| 3988 | SET_SYMBOL_VAL (XSYMBOL (Qunbound), Qunbound); | 3988 | SET_SYMBOL_VAL (XSYMBOL (Qunbound), Qunbound); |
| 3989 | XSYMBOL (Qunbound)->function = Qunbound; | 3989 | XSYMBOL (Qunbound)->function = Qunbound; |
| 3990 | XSYMBOL (Qunbound)->plist = Qnil; | 3990 | XSYMBOL (Qunbound)->plist = Qnil; |
diff --git a/src/msdos.c b/src/msdos.c index 6b6e365a165..4c08c5b29e0 100644 --- a/src/msdos.c +++ b/src/msdos.c | |||
| @@ -1342,7 +1342,7 @@ static void | |||
| 1342 | IT_copy_glyphs (int xfrom, int xto, size_t len, int ypos) | 1342 | IT_copy_glyphs (int xfrom, int xto, size_t len, int ypos) |
| 1343 | { | 1343 | { |
| 1344 | /* The offsets of source and destination relative to the | 1344 | /* The offsets of source and destination relative to the |
| 1345 | conventional memorty selector. */ | 1345 | conventional memory selector. */ |
| 1346 | int from = 2 * (xfrom + screen_size_X * ypos) + ScreenPrimary; | 1346 | int from = 2 * (xfrom + screen_size_X * ypos) + ScreenPrimary; |
| 1347 | int to = 2 * (xto + screen_size_X * ypos) + ScreenPrimary; | 1347 | int to = 2 * (xto + screen_size_X * ypos) + ScreenPrimary; |
| 1348 | 1348 | ||
diff --git a/src/nsfns.m b/src/nsfns.m index 20b021c6f5d..280fee0b27b 100644 --- a/src/nsfns.m +++ b/src/nsfns.m | |||
| @@ -1267,7 +1267,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 1267 | #endif | 1267 | #endif |
| 1268 | 1268 | ||
| 1269 | init_frame_faces (f); | 1269 | init_frame_faces (f); |
| 1270 | 1270 | ||
| 1271 | /* The resources controlling the menu-bar and tool-bar are | 1271 | /* The resources controlling the menu-bar and tool-bar are |
| 1272 | processed specially at startup, and reflected in the mode | 1272 | processed specially at startup, and reflected in the mode |
| 1273 | variables; ignore them here. */ | 1273 | variables; ignore them here. */ |
| @@ -1656,7 +1656,7 @@ If omitted or nil, the selected frame's display is used. */) | |||
| 1656 | 1656 | ||
| 1657 | DEFUN ("x-display-backing-store", Fx_display_backing_store, | 1657 | DEFUN ("x-display-backing-store", Fx_display_backing_store, |
| 1658 | Sx_display_backing_store, 0, 1, 0, | 1658 | Sx_display_backing_store, 0, 1, 0, |
| 1659 | doc: /* Return whether the Nexstep display DISPLAY supports backing store. | 1659 | doc: /* Return whether the Nextstep display DISPLAY supports backing store. |
| 1660 | The value may be `buffered', `retained', or `non-retained'. | 1660 | The value may be `buffered', `retained', or `non-retained'. |
| 1661 | DISPLAY should be a frame, the display name as a string, or a terminal ID. | 1661 | DISPLAY should be a frame, the display name as a string, or a terminal ID. |
| 1662 | If omitted or nil, the selected frame's display is used. */) | 1662 | If omitted or nil, the selected frame's display is used. */) |
| @@ -1846,7 +1846,7 @@ DEFUN ("ns-emacs-info-panel", Fns_emacs_info_panel, Sns_emacs_info_panel, | |||
| 1846 | 1846 | ||
| 1847 | 1847 | ||
| 1848 | DEFUN ("ns-font-name", Fns_font_name, Sns_font_name, 1, 1, 0, | 1848 | DEFUN ("ns-font-name", Fns_font_name, Sns_font_name, 1, 1, 0, |
| 1849 | doc: /* Determine font postscript or family name for font NAME. | 1849 | doc: /* Determine font PostScript or family name for font NAME. |
| 1850 | NAME should be a string containing either the font name or an XLFD | 1850 | NAME should be a string containing either the font name or an XLFD |
| 1851 | font descriptor. If string contains `fontset' and not | 1851 | font descriptor. If string contains `fontset' and not |
| 1852 | `fontset-startup', it is left alone. */) | 1852 | `fontset-startup', it is left alone. */) |
diff --git a/src/nsterm.h b/src/nsterm.h index b54e182780a..574d31c962a 100644 --- a/src/nsterm.h +++ b/src/nsterm.h | |||
| @@ -447,7 +447,7 @@ struct nsfont_info | |||
| 447 | { | 447 | { |
| 448 | struct font font; | 448 | struct font font; |
| 449 | 449 | ||
| 450 | char *name; /* postscript name, uniquely identifies on NS systems */ | 450 | char *name; /* PostScript name, uniquely identifies on NS systems */ |
| 451 | float width; /* this and following metrics stored as float rather than int */ | 451 | float width; /* this and following metrics stored as float rather than int */ |
| 452 | float height; | 452 | float height; |
| 453 | float underpos; | 453 | float underpos; |
diff --git a/src/nsterm.m b/src/nsterm.m index 3d3723fc28c..c5b28d57ac5 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -3035,7 +3035,7 @@ ns_dumpglyphs_image (struct glyph_string *s, NSRect r) | |||
| 3035 | /* Currently on NS img->mask is always 0. Since | 3035 | /* Currently on NS img->mask is always 0. Since |
| 3036 | get_window_cursor_type specifies a hollow box cursor when on | 3036 | get_window_cursor_type specifies a hollow box cursor when on |
| 3037 | a non-masked image we never reach this clause. But we put it | 3037 | a non-masked image we never reach this clause. But we put it |
| 3038 | in in antipication of better support for image masks on | 3038 | in in anticipation of better support for image masks on |
| 3039 | NS. */ | 3039 | NS. */ |
| 3040 | tdCol = ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), s->f); | 3040 | tdCol = ns_lookup_indexed_color (NS_FACE_FOREGROUND (face), s->f); |
| 3041 | } | 3041 | } |
| @@ -4503,7 +4503,7 @@ ns_term_shutdown (int sig) | |||
| 4503 | //ns_app_active=YES; | 4503 | //ns_app_active=YES; |
| 4504 | 4504 | ||
| 4505 | ns_update_auto_hide_menu_bar (); | 4505 | ns_update_auto_hide_menu_bar (); |
| 4506 | // No constrining takes place when the application is not active. | 4506 | // No constraining takes place when the application is not active. |
| 4507 | ns_constrain_all_frames (); | 4507 | ns_constrain_all_frames (); |
| 4508 | } | 4508 | } |
| 4509 | - (void)applicationDidResignActive: (NSNotification *)notification | 4509 | - (void)applicationDidResignActive: (NSNotification *)notification |
diff --git a/src/print.c b/src/print.c index 62bd048cf97..fc36d29da7c 100644 --- a/src/print.c +++ b/src/print.c | |||
| @@ -1635,7 +1635,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag | |||
| 1635 | /* Detect circular list. */ | 1635 | /* Detect circular list. */ |
| 1636 | if (NILP (Vprint_circle)) | 1636 | if (NILP (Vprint_circle)) |
| 1637 | { | 1637 | { |
| 1638 | /* Simple but imcomplete way. */ | 1638 | /* Simple but incomplete way. */ |
| 1639 | if (i != 0 && EQ (obj, halftail)) | 1639 | if (i != 0 && EQ (obj, halftail)) |
| 1640 | { | 1640 | { |
| 1641 | sprintf (buf, " . #%"pMd, i / 2); | 1641 | sprintf (buf, " . #%"pMd, i / 2); |
diff --git a/src/process.c b/src/process.c index 301274676d6..bea9e72019b 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -1414,7 +1414,7 @@ usage: (start-process NAME BUFFER PROGRAM &rest PROGRAM-ARGS) */) | |||
| 1414 | val = XCDR (Vdefault_process_coding_system); | 1414 | val = XCDR (Vdefault_process_coding_system); |
| 1415 | } | 1415 | } |
| 1416 | XPROCESS (proc)->encode_coding_system = val; | 1416 | XPROCESS (proc)->encode_coding_system = val; |
| 1417 | /* Note: At this momemnt, the above coding system may leave | 1417 | /* Note: At this moment, the above coding system may leave |
| 1418 | text-conversion or eol-conversion unspecified. They will be | 1418 | text-conversion or eol-conversion unspecified. They will be |
| 1419 | decided after we read output from the process and decode it by | 1419 | decided after we read output from the process and decode it by |
| 1420 | some coding system, or just before we actually send a text to | 1420 | some coding system, or just before we actually send a text to |
| @@ -3120,7 +3120,7 @@ usage: (make-network-process &rest ARGS) */) | |||
| 3120 | { | 3120 | { |
| 3121 | struct hostent *host_info_ptr; | 3121 | struct hostent *host_info_ptr; |
| 3122 | 3122 | ||
| 3123 | /* gethostbyname may fail with TRY_AGAIN, but we don't honour that, | 3123 | /* gethostbyname may fail with TRY_AGAIN, but we don't honor that, |
| 3124 | as it may `hang' Emacs for a very long time. */ | 3124 | as it may `hang' Emacs for a very long time. */ |
| 3125 | immediate_quit = 1; | 3125 | immediate_quit = 1; |
| 3126 | QUIT; | 3126 | QUIT; |
| @@ -5377,8 +5377,8 @@ send_process (volatile Lisp_Object proc, const char *volatile buf, | |||
| 5377 | sending a multibyte text, thus we must encode it by the | 5377 | sending a multibyte text, thus we must encode it by the |
| 5378 | original coding system specified for the current process. | 5378 | original coding system specified for the current process. |
| 5379 | 5379 | ||
| 5380 | Another reason we comming here is that the coding system | 5380 | Another reason we come here is that the coding system |
| 5381 | was just complemented and new one was returned by | 5381 | was just complemented and a new one was returned by |
| 5382 | complement_process_encoding_system. */ | 5382 | complement_process_encoding_system. */ |
| 5383 | setup_coding_system (p->encode_coding_system, coding); | 5383 | setup_coding_system (p->encode_coding_system, coding); |
| 5384 | Vlast_coding_system_used = p->encode_coding_system; | 5384 | Vlast_coding_system_used = p->encode_coding_system; |
diff --git a/src/ralloc.c b/src/ralloc.c index 50d322523c1..62189ad8fc7 100644 --- a/src/ralloc.c +++ b/src/ralloc.c | |||
| @@ -219,13 +219,13 @@ find_heap (POINTER address) | |||
| 219 | If enough space is not presently available in our reserve, this means | 219 | If enough space is not presently available in our reserve, this means |
| 220 | getting more page-aligned space from the system. If the returned space | 220 | getting more page-aligned space from the system. If the returned space |
| 221 | is not contiguous to the last heap, allocate a new heap, and append it | 221 | is not contiguous to the last heap, allocate a new heap, and append it |
| 222 | to the heap list. | ||
| 222 | 223 | ||
| 223 | obtain does not try to keep track of whether space is in use | 224 | obtain does not try to keep track of whether space is in use or not |
| 224 | or not in use. It just returns the address of SIZE bytes that | 225 | in use. It just returns the address of SIZE bytes that fall within a |
| 225 | fall within a single heap. If you call obtain twice in a row | 226 | single heap. If you call obtain twice in a row with the same arguments, |
| 226 | with the same arguments, you typically get the same value. | 227 | you typically get the same value. It's the caller's responsibility to |
| 227 | to the heap list. It's the caller's responsibility to keep | 228 | keep track of what space is in use. |
| 228 | track of what space is in use. | ||
| 229 | 229 | ||
| 230 | Return the address of the space if all went well, or zero if we couldn't | 230 | Return the address of the space if all went well, or zero if we couldn't |
| 231 | allocate the memory. */ | 231 | allocate the memory. */ |
| @@ -389,7 +389,7 @@ find_bloc (POINTER *ptr) | |||
| 389 | while (p != NIL_BLOC) | 389 | while (p != NIL_BLOC) |
| 390 | { | 390 | { |
| 391 | /* Consistency check. Don't return inconsistent blocs. | 391 | /* Consistency check. Don't return inconsistent blocs. |
| 392 | Don't abort here, as callers might be expecting this, but | 392 | Don't abort here, as callers might be expecting this, but |
| 393 | callers that always expect a bloc to be returned should abort | 393 | callers that always expect a bloc to be returned should abort |
| 394 | if one isn't to avoid a memory corruption bug that is | 394 | if one isn't to avoid a memory corruption bug that is |
| 395 | difficult to track down. */ | 395 | difficult to track down. */ |
| @@ -1180,7 +1180,7 @@ r_alloc_reset_variable (POINTER *old, POINTER *new) | |||
| 1180 | 1180 | ||
| 1181 | /* Find the bloc that corresponds to the data pointed to by pointer. | 1181 | /* Find the bloc that corresponds to the data pointed to by pointer. |
| 1182 | find_bloc cannot be used, as it has internal consistency checks | 1182 | find_bloc cannot be used, as it has internal consistency checks |
| 1183 | which fail when the variable needs reseting. */ | 1183 | which fail when the variable needs resetting. */ |
| 1184 | while (bloc != NIL_BLOC) | 1184 | while (bloc != NIL_BLOC) |
| 1185 | { | 1185 | { |
| 1186 | if (bloc->data == *new) | 1186 | if (bloc->data == *new) |
diff --git a/src/regex.c b/src/regex.c index ccbad58abb3..b7699378f5a 100644 --- a/src/regex.c +++ b/src/regex.c | |||
| @@ -637,7 +637,7 @@ typedef enum | |||
| 637 | on_failure_jump_nastyloop, | 637 | on_failure_jump_nastyloop, |
| 638 | 638 | ||
| 639 | /* A smart `on_failure_jump' used for greedy * and + operators. | 639 | /* A smart `on_failure_jump' used for greedy * and + operators. |
| 640 | It analyses the loop before which it is put and if the | 640 | It analyzes the loop before which it is put and if the |
| 641 | loop does not require backtracking, it changes itself to | 641 | loop does not require backtracking, it changes itself to |
| 642 | `on_failure_keep_string_jump' and short-circuits the loop, | 642 | `on_failure_keep_string_jump' and short-circuits the loop, |
| 643 | else it just defaults to changing itself into `on_failure_jump'. | 643 | else it just defaults to changing itself into `on_failure_jump'. |
diff --git a/src/regex.h b/src/regex.h index 7747ec57629..eba62f2e769 100644 --- a/src/regex.h +++ b/src/regex.h | |||
| @@ -415,7 +415,7 @@ struct re_pattern_buffer | |||
| 415 | typedef struct re_pattern_buffer regex_t; | 415 | typedef struct re_pattern_buffer regex_t; |
| 416 | 416 | ||
| 417 | /* Type for byte offsets within the string. POSIX mandates this to be an int, | 417 | /* Type for byte offsets within the string. POSIX mandates this to be an int, |
| 418 | but the Open Group has signalled its intention to change the requirement to | 418 | but the Open Group has signaled its intention to change the requirement to |
| 419 | be that regoff_t be at least as wide as ptrdiff_t and ssize_t. Current | 419 | be that regoff_t be at least as wide as ptrdiff_t and ssize_t. Current |
| 420 | gnulib sources also use ssize_t, and we need this for supporting buffers and | 420 | gnulib sources also use ssize_t, and we need this for supporting buffers and |
| 421 | strings > 2GB on 64-bit hosts. */ | 421 | strings > 2GB on 64-bit hosts. */ |
diff --git a/src/s/msdos.h b/src/s/msdos.h index 29ca0629899..9ee13d12867 100644 --- a/src/s/msdos.h +++ b/src/s/msdos.h | |||
| @@ -119,7 +119,7 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */ | |||
| 119 | #ifdef HAVE_X_WINDOWS | 119 | #ifdef HAVE_X_WINDOWS |
| 120 | /* We need a little extra space, see ../../lisp/loadup.el and the | 120 | /* We need a little extra space, see ../../lisp/loadup.el and the |
| 121 | commentary below, in the non-X branch. The 140KB number was | 121 | commentary below, in the non-X branch. The 140KB number was |
| 122 | measured on GNU/Linux and on MS-WIndows. */ | 122 | measured on GNU/Linux and on MS-Windows. */ |
| 123 | #define SYSTEM_PURESIZE_EXTRA (-170000+140000) | 123 | #define SYSTEM_PURESIZE_EXTRA (-170000+140000) |
| 124 | #else | 124 | #else |
| 125 | /* We need a little extra space, see ../../lisp/loadup.el. | 125 | /* We need a little extra space, see ../../lisp/loadup.el. |
| @@ -138,4 +138,3 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */ | |||
| 138 | registers relevant for conservative garbage collection in the jmp_buf. */ | 138 | registers relevant for conservative garbage collection in the jmp_buf. */ |
| 139 | #define GC_SETJMP_WORKS 1 | 139 | #define GC_SETJMP_WORKS 1 |
| 140 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS | 140 | #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS |
| 141 | |||
diff --git a/src/sound.c b/src/sound.c index 362c04b7d40..39007574afc 100644 --- a/src/sound.c +++ b/src/sound.c | |||
| @@ -226,7 +226,7 @@ struct sound_device | |||
| 226 | /* Close device SD. */ | 226 | /* Close device SD. */ |
| 227 | void (* close) (struct sound_device *sd); | 227 | void (* close) (struct sound_device *sd); |
| 228 | 228 | ||
| 229 | /* Configure SD accoring to device-dependent parameters. */ | 229 | /* Configure SD according to device-dependent parameters. */ |
| 230 | void (* configure) (struct sound_device *device); | 230 | void (* configure) (struct sound_device *device); |
| 231 | 231 | ||
| 232 | /* Choose a device-dependent format for outputting sound S. */ | 232 | /* Choose a device-dependent format for outputting sound S. */ |
diff --git a/src/syssignal.h b/src/syssignal.h index 7533a5a64fd..315400d8498 100644 --- a/src/syssignal.h +++ b/src/syssignal.h | |||
| @@ -39,7 +39,7 @@ extern sigset_t empty_mask; | |||
| 39 | 39 | ||
| 40 | /* POSIX pretty much destroys any possibility of writing sigmask as a | 40 | /* POSIX pretty much destroys any possibility of writing sigmask as a |
| 41 | macro in standard C. We always define our own version because the | 41 | macro in standard C. We always define our own version because the |
| 42 | predefined macro in Glibc 2.1 is only provided for compatility for old | 42 | predefined macro in Glibc 2.1 is only provided for compatibility for old |
| 43 | programs that use int as signal mask type. */ | 43 | programs that use int as signal mask type. */ |
| 44 | #undef sigmask | 44 | #undef sigmask |
| 45 | #ifdef __GNUC__ | 45 | #ifdef __GNUC__ |
diff --git a/src/unexelf.c b/src/unexelf.c index 979d6dce629..04c029f7e80 100644 --- a/src/unexelf.c +++ b/src/unexelf.c | |||
| @@ -1019,7 +1019,7 @@ temacs: | |||
| 1019 | /* The conditional bit below was in Oliva's original code | 1019 | /* The conditional bit below was in Oliva's original code |
| 1020 | (1999-08-25) and seems to have been dropped by mistake | 1020 | (1999-08-25) and seems to have been dropped by mistake |
| 1021 | subsequently. It prevents a crash at startup under X in | 1021 | subsequently. It prevents a crash at startup under X in |
| 1022 | `IRIX64 6.5 6.5.17m', whether compiled on that relase or | 1022 | `IRIX64 6.5 6.5.17m', whether compiled on that release or |
| 1023 | an earlier one. It causes no trouble on the other ELF | 1023 | an earlier one. It causes no trouble on the other ELF |
| 1024 | platforms I could test (Irix 6.5.15m, Solaris 8, Debian | 1024 | platforms I could test (Irix 6.5.15m, Solaris 8, Debian |
| 1025 | Potato x86, Debian Woody SPARC); however, it's reported | 1025 | Potato x86, Debian Woody SPARC); however, it's reported |
| @@ -3057,7 +3057,7 @@ generate_inode_val (const char * name) | |||
| 3057 | unsigned hash; | 3057 | unsigned hash; |
| 3058 | 3058 | ||
| 3059 | /* Get the truly canonical filename, if it exists. (Note: this | 3059 | /* Get the truly canonical filename, if it exists. (Note: this |
| 3060 | doesn't resolve aliasing due to subst commands, or recognise hard | 3060 | doesn't resolve aliasing due to subst commands, or recognize hard |
| 3061 | links. */ | 3061 | links. */ |
| 3062 | if (!w32_get_long_filename ((char *)name, fullname, MAX_PATH)) | 3062 | if (!w32_get_long_filename ((char *)name, fullname, MAX_PATH)) |
| 3063 | abort (); | 3063 | abort (); |
| @@ -3403,7 +3403,7 @@ stat (const char * path, struct stat * buf) | |||
| 3403 | FILE_FLAG_BACKUP_SEMANTICS, NULL)) | 3403 | FILE_FLAG_BACKUP_SEMANTICS, NULL)) |
| 3404 | != INVALID_HANDLE_VALUE) | 3404 | != INVALID_HANDLE_VALUE) |
| 3405 | { | 3405 | { |
| 3406 | /* This is more accurate in terms of gettting the correct number | 3406 | /* This is more accurate in terms of getting the correct number |
| 3407 | of links, but is quite slow (it is noticeable when Emacs is | 3407 | of links, but is quite slow (it is noticeable when Emacs is |
| 3408 | making a list of file name completions). */ | 3408 | making a list of file name completions). */ |
| 3409 | BY_HANDLE_FILE_INFORMATION info; | 3409 | BY_HANDLE_FILE_INFORMATION info; |
| @@ -5845,7 +5845,7 @@ term_ntproc (void) | |||
| 5845 | void | 5845 | void |
| 5846 | init_ntproc (void) | 5846 | init_ntproc (void) |
| 5847 | { | 5847 | { |
| 5848 | /* Initialise the socket interface now if available and requested by | 5848 | /* Initialize the socket interface now if available and requested by |
| 5849 | the user by defining PRELOAD_WINSOCK; otherwise loading will be | 5849 | the user by defining PRELOAD_WINSOCK; otherwise loading will be |
| 5850 | delayed until open-network-stream is called (w32-has-winsock can | 5850 | delayed until open-network-stream is called (w32-has-winsock can |
| 5851 | also be used to dynamically load or reload winsock). | 5851 | also be used to dynamically load or reload winsock). |
diff --git a/src/w32console.c b/src/w32console.c index 49bf56ddee9..30c71f1c276 100644 --- a/src/w32console.c +++ b/src/w32console.c | |||
| @@ -748,7 +748,7 @@ syms_of_ntterm (void) | |||
| 748 | doc: /* Non-nil means make terminal frames use the full screen buffer dimensions. | 748 | doc: /* Non-nil means make terminal frames use the full screen buffer dimensions. |
| 749 | This is desirable when running Emacs over telnet. | 749 | This is desirable when running Emacs over telnet. |
| 750 | A value of nil means use the current console window dimensions; this | 750 | A value of nil means use the current console window dimensions; this |
| 751 | may be preferrable when working directly at the console with a large | 751 | may be preferable when working directly at the console with a large |
| 752 | scroll-back buffer. */); | 752 | scroll-back buffer. */); |
| 753 | w32_use_full_screen_buffer = 0; | 753 | w32_use_full_screen_buffer = 0; |
| 754 | 754 | ||
| @@ -757,4 +757,3 @@ scroll-back buffer. */); | |||
| 757 | defsubr (&Sset_cursor_size); | 757 | defsubr (&Sset_cursor_size); |
| 758 | defsubr (&Sset_message_beep); | 758 | defsubr (&Sset_message_beep); |
| 759 | } | 759 | } |
| 760 | |||
diff --git a/src/w32fns.c b/src/w32fns.c index ffbcff86694..5b936195aa5 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -2088,7 +2088,7 @@ w32_key_to_modifier (int key) | |||
| 2088 | key_mapping = Qnil; | 2088 | key_mapping = Qnil; |
| 2089 | } | 2089 | } |
| 2090 | 2090 | ||
| 2091 | /* NB. This code runs in the input thread, asychronously to the lisp | 2091 | /* NB. This code runs in the input thread, asynchronously to the lisp |
| 2092 | thread, so we must be careful to ensure access to lisp data is | 2092 | thread, so we must be careful to ensure access to lisp data is |
| 2093 | thread-safe. The following code is safe because the modifier | 2093 | thread-safe. The following code is safe because the modifier |
| 2094 | variable values are updated atomically from lisp and symbols are | 2094 | variable values are updated atomically from lisp and symbols are |
| @@ -2262,7 +2262,7 @@ w32_msg_pump (deferred_msg * msg_buf) | |||
| 2262 | some third party shell extensions can cause it to be used in | 2262 | some third party shell extensions can cause it to be used in |
| 2263 | system dialogs, which causes a crash if it is not initialized. | 2263 | system dialogs, which causes a crash if it is not initialized. |
| 2264 | This is a known bug in Windows, which was fixed long ago, but | 2264 | This is a known bug in Windows, which was fixed long ago, but |
| 2265 | the patch for XP is not publically available until XP SP3, | 2265 | the patch for XP is not publicly available until XP SP3, |
| 2266 | and older versions will never be patched. */ | 2266 | and older versions will never be patched. */ |
| 2267 | CoInitialize (NULL); | 2267 | CoInitialize (NULL); |
| 2268 | w32_createwindow ((struct frame *) msg.wParam); | 2268 | w32_createwindow ((struct frame *) msg.wParam); |
| @@ -2880,7 +2880,7 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) | |||
| 2880 | key.dwControlKeyState = modifiers; | 2880 | key.dwControlKeyState = modifiers; |
| 2881 | 2881 | ||
| 2882 | add = w32_kbd_patch_key (&key); | 2882 | add = w32_kbd_patch_key (&key); |
| 2883 | /* 0 means an unrecognised keycode, negative means | 2883 | /* 0 means an unrecognized keycode, negative means |
| 2884 | dead key. Ignore both. */ | 2884 | dead key. Ignore both. */ |
| 2885 | while (--add >= 0) | 2885 | while (--add >= 0) |
| 2886 | { | 2886 | { |
| @@ -6709,7 +6709,7 @@ DEFUN ("default-printer-name", Fdefault_printer_name, Sdefault_printer_name, | |||
| 6709 | ClosePrinter (hPrn); | 6709 | ClosePrinter (hPrn); |
| 6710 | return Qnil; | 6710 | return Qnil; |
| 6711 | } | 6711 | } |
| 6712 | /* Call GetPrinter again with big enouth memory block */ | 6712 | /* Call GetPrinter again with big enough memory block. */ |
| 6713 | err = GetPrinter (hPrn, 2, (LPBYTE)ppi2, dwNeeded, &dwReturned); | 6713 | err = GetPrinter (hPrn, 2, (LPBYTE)ppi2, dwNeeded, &dwReturned); |
| 6714 | ClosePrinter (hPrn); | 6714 | ClosePrinter (hPrn); |
| 6715 | if (!err) | 6715 | if (!err) |
diff --git a/src/w32font.c b/src/w32font.c index 365f8b78a5e..bd58e7e757b 100644 --- a/src/w32font.c +++ b/src/w32font.c | |||
| @@ -330,7 +330,7 @@ w32font_list (Lisp_Object frame, Lisp_Object font_spec) | |||
| 330 | 330 | ||
| 331 | /* w32 implementation of match for font backend. | 331 | /* w32 implementation of match for font backend. |
| 332 | Return a font entity most closely matching with FONT_SPEC on | 332 | Return a font entity most closely matching with FONT_SPEC on |
| 333 | FRAME. The closeness is detemined by the font backend, thus | 333 | FRAME. The closeness is determined by the font backend, thus |
| 334 | `face-font-selection-order' is ignored here. */ | 334 | `face-font-selection-order' is ignored here. */ |
| 335 | static Lisp_Object | 335 | static Lisp_Object |
| 336 | w32font_match (Lisp_Object frame, Lisp_Object font_spec) | 336 | w32font_match (Lisp_Object frame, Lisp_Object font_spec) |
| @@ -1284,8 +1284,8 @@ font_matches_spec (DWORD type, NEWTEXTMETRICEX *font, | |||
| 1284 | { | 1284 | { |
| 1285 | /* Only truetype fonts will have information about what | 1285 | /* Only truetype fonts will have information about what |
| 1286 | scripts they support. This probably means the user | 1286 | scripts they support. This probably means the user |
| 1287 | will have to force Emacs to use raster, postscript | 1287 | will have to force Emacs to use raster, PostScript |
| 1288 | or atm fonts for non-ASCII text. */ | 1288 | or ATM fonts for non-ASCII text. */ |
| 1289 | if (type & TRUETYPE_FONTTYPE) | 1289 | if (type & TRUETYPE_FONTTYPE) |
| 1290 | { | 1290 | { |
| 1291 | Lisp_Object support | 1291 | Lisp_Object support |
| @@ -1464,7 +1464,7 @@ check_face_name (LOGFONT *font, char *full_name) | |||
| 1464 | /* Helvetica is mapped to Arial in Windows, but if a Type-1 Helvetica is | 1464 | /* Helvetica is mapped to Arial in Windows, but if a Type-1 Helvetica is |
| 1465 | installed, we run into problems with the Uniscribe backend which tries | 1465 | installed, we run into problems with the Uniscribe backend which tries |
| 1466 | to avoid non-truetype fonts, and ends up mixing the Type-1 Helvetica | 1466 | to avoid non-truetype fonts, and ends up mixing the Type-1 Helvetica |
| 1467 | with Arial's characteristics, since that attempt to use Truetype works | 1467 | with Arial's characteristics, since that attempt to use TrueType works |
| 1468 | some places, but not others. */ | 1468 | some places, but not others. */ |
| 1469 | if (!xstrcasecmp (font->lfFaceName, "helvetica")) | 1469 | if (!xstrcasecmp (font->lfFaceName, "helvetica")) |
| 1470 | { | 1470 | { |
| @@ -1492,7 +1492,7 @@ check_face_name (LOGFONT *font, char *full_name) | |||
| 1492 | 1492 | ||
| 1493 | 1493 | ||
| 1494 | /* Callback function for EnumFontFamiliesEx. | 1494 | /* Callback function for EnumFontFamiliesEx. |
| 1495 | * Checks if a font matches everything we are trying to check agaist, | 1495 | * Checks if a font matches everything we are trying to check against, |
| 1496 | * and if so, adds it to a list. Both the data we are checking against | 1496 | * and if so, adds it to a list. Both the data we are checking against |
| 1497 | * and the list to which the fonts are added are passed in via the | 1497 | * and the list to which the fonts are added are passed in via the |
| 1498 | * lparam argument, in the form of a font_callback_data struct. */ | 1498 | * lparam argument, in the form of a font_callback_data struct. */ |
diff --git a/src/w32font.h b/src/w32font.h index 45c06897195..f77866b869f 100644 --- a/src/w32font.h +++ b/src/w32font.h | |||
| @@ -20,8 +20,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 20 | #define EMACS_W32FONT_H | 20 | #define EMACS_W32FONT_H |
| 21 | 21 | ||
| 22 | 22 | ||
| 23 | /* Bit 17 of ntmFlags in NEWTEXTMETRIC is set for Postscript OpenType fonts, | 23 | /* Bit 17 of ntmFlags in NEWTEXTMETRIC is set for PostScript OpenType fonts, |
| 24 | bit 18 for Truetype OpenType fonts, bit 20 for Type1 fonts. */ | 24 | bit 18 for TrueType OpenType fonts, bit 20 for Type1 fonts. */ |
| 25 | #ifndef NTM_PS_OPENTYPE | 25 | #ifndef NTM_PS_OPENTYPE |
| 26 | #define NTM_PS_OPENTYPE 0x00020000 | 26 | #define NTM_PS_OPENTYPE 0x00020000 |
| 27 | #endif | 27 | #endif |
| @@ -84,4 +84,3 @@ int uniscribe_check_otf (LOGFONT *font, Lisp_Object otf_spec); | |||
| 84 | Lisp_Object intern_font_name (char *); | 84 | Lisp_Object intern_font_name (char *); |
| 85 | 85 | ||
| 86 | #endif | 86 | #endif |
| 87 | |||
diff --git a/src/w32menu.c b/src/w32menu.c index c31a8c1fd96..39d101e7bd5 100644 --- a/src/w32menu.c +++ b/src/w32menu.c | |||
| @@ -1443,7 +1443,7 @@ add_menu_item (HMENU menu, widget_value *wv, HMENU item) | |||
| 1443 | out_string = (char *) local_alloc (strlen (wv->name) + 1); | 1443 | out_string = (char *) local_alloc (strlen (wv->name) + 1); |
| 1444 | strcpy (out_string, wv->name); | 1444 | strcpy (out_string, wv->name); |
| 1445 | #ifdef MENU_DEBUG | 1445 | #ifdef MENU_DEBUG |
| 1446 | DebPrint ("Menu: allocing %ld for owner-draw", out_string); | 1446 | DebPrint ("Menu: allocating %ld for owner-draw", out_string); |
| 1447 | #endif | 1447 | #endif |
| 1448 | fuFlags = MF_OWNERDRAW | MF_DISABLED; | 1448 | fuFlags = MF_OWNERDRAW | MF_DISABLED; |
| 1449 | } | 1449 | } |
diff --git a/src/w32proc.c b/src/w32proc.c index 47cbf57d9ea..254a32503c4 100644 --- a/src/w32proc.c +++ b/src/w32proc.c | |||
| @@ -122,12 +122,12 @@ new_child (void) | |||
| 122 | 122 | ||
| 123 | for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--) | 123 | for (cp = child_procs + (child_proc_count-1); cp >= child_procs; cp--) |
| 124 | if (!CHILD_ACTIVE (cp)) | 124 | if (!CHILD_ACTIVE (cp)) |
| 125 | goto Initialise; | 125 | goto Initialize; |
| 126 | if (child_proc_count == MAX_CHILDREN) | 126 | if (child_proc_count == MAX_CHILDREN) |
| 127 | return NULL; | 127 | return NULL; |
| 128 | cp = &child_procs[child_proc_count++]; | 128 | cp = &child_procs[child_proc_count++]; |
| 129 | 129 | ||
| 130 | Initialise: | 130 | Initialize: |
| 131 | memset (cp, 0, sizeof (*cp)); | 131 | memset (cp, 0, sizeof (*cp)); |
| 132 | cp->fd = -1; | 132 | cp->fd = -1; |
| 133 | cp->pid = -1; | 133 | cp->pid = -1; |
| @@ -174,7 +174,7 @@ delete_child (child_process *cp) | |||
| 174 | cp->status = STATUS_READ_ERROR; | 174 | cp->status = STATUS_READ_ERROR; |
| 175 | SetEvent (cp->char_consumed); | 175 | SetEvent (cp->char_consumed); |
| 176 | #if 0 | 176 | #if 0 |
| 177 | /* We used to forceably terminate the thread here, but it | 177 | /* We used to forcibly terminate the thread here, but it |
| 178 | is normally unnecessary, and in abnormal cases, the worst that | 178 | is normally unnecessary, and in abnormal cases, the worst that |
| 179 | will happen is we have an extra idle thread hanging around | 179 | will happen is we have an extra idle thread hanging around |
| 180 | waiting for the zombie process. */ | 180 | waiting for the zombie process. */ |
| @@ -241,7 +241,8 @@ reader_thread (void *arg) | |||
| 241 | 241 | ||
| 242 | /* We have to wait for the go-ahead before we can start */ | 242 | /* We have to wait for the go-ahead before we can start */ |
| 243 | if (cp == NULL | 243 | if (cp == NULL |
| 244 | || WaitForSingleObject (cp->char_consumed, INFINITE) != WAIT_OBJECT_0) | 244 | || WaitForSingleObject (cp->char_consumed, INFINITE) != WAIT_OBJECT_0 |
| 245 | || cp->fd < 0) | ||
| 245 | return 1; | 246 | return 1; |
| 246 | 247 | ||
| 247 | for (;;) | 248 | for (;;) |
| @@ -820,7 +821,7 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp) | |||
| 820 | 821 | ||
| 821 | The w32 GNU-based library from Cygnus doubles quotes to escape | 822 | The w32 GNU-based library from Cygnus doubles quotes to escape |
| 822 | them, while MSVC uses backslash for escaping. (Actually the MSVC | 823 | them, while MSVC uses backslash for escaping. (Actually the MSVC |
| 823 | startup code does attempt to recognise doubled quotes and accept | 824 | startup code does attempt to recognize doubled quotes and accept |
| 824 | them, but gets it wrong and ends up requiring three quotes to get a | 825 | them, but gets it wrong and ends up requiring three quotes to get a |
| 825 | single embedded quote!) So by default we decide whether to use | 826 | single embedded quote!) So by default we decide whether to use |
| 826 | quote or backslash as the escape character based on whether the | 827 | quote or backslash as the escape character based on whether the |
| @@ -2295,7 +2296,7 @@ filesystems via ange-ftp. */); | |||
| 2295 | doc: /* Non-nil means attempt to fake realistic inode values. | 2296 | doc: /* Non-nil means attempt to fake realistic inode values. |
| 2296 | This works by hashing the truename of files, and should detect | 2297 | This works by hashing the truename of files, and should detect |
| 2297 | aliasing between long and short (8.3 DOS) names, but can have | 2298 | aliasing between long and short (8.3 DOS) names, but can have |
| 2298 | false positives because of hash collisions. Note that determing | 2299 | false positives because of hash collisions. Note that determining |
| 2299 | the truename of a file can be slow. */); | 2300 | the truename of a file can be slow. */); |
| 2300 | Vw32_generate_fake_inodes = Qnil; | 2301 | Vw32_generate_fake_inodes = Qnil; |
| 2301 | #endif | 2302 | #endif |
| @@ -2319,4 +2320,3 @@ where the performance impact may be noticeable even on modern hardware. */); | |||
| 2319 | staticpro (&Vw32_valid_codepages); | 2320 | staticpro (&Vw32_valid_codepages); |
| 2320 | } | 2321 | } |
| 2321 | /* end of w32proc.c */ | 2322 | /* end of w32proc.c */ |
| 2322 | |||
diff --git a/src/w32term.c b/src/w32term.c index f876cff0363..a2ccdd21f7d 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -3287,7 +3287,7 @@ w32_mouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window, | |||
| 3287 | 3287 | ||
| 3288 | /* Handle mouse button event on the tool-bar of frame F, at | 3288 | /* Handle mouse button event on the tool-bar of frame F, at |
| 3289 | frame-relative coordinates X/Y. EVENT_TYPE is either ButtionPress | 3289 | frame-relative coordinates X/Y. EVENT_TYPE is either ButtionPress |
| 3290 | or ButtonRelase. */ | 3290 | or ButtonRelease. */ |
| 3291 | 3291 | ||
| 3292 | static void | 3292 | static void |
| 3293 | w32_handle_tool_bar_click (struct frame *f, struct input_event *button_event) | 3293 | w32_handle_tool_bar_click (struct frame *f, struct input_event *button_event) |
| @@ -4506,7 +4506,7 @@ w32_read_socket (struct terminal *terminal, int expected, | |||
| 4506 | } | 4506 | } |
| 4507 | 4507 | ||
| 4508 | /* If window has been obscured or exposed by another window | 4508 | /* If window has been obscured or exposed by another window |
| 4509 | being maximised or minimised/restored, then recheck | 4509 | being maximized or minimized/restored, then recheck |
| 4510 | visibility of all frames. Direct changes to our own | 4510 | visibility of all frames. Direct changes to our own |
| 4511 | windows get handled by WM_SIZE. */ | 4511 | windows get handled by WM_SIZE. */ |
| 4512 | #if 0 | 4512 | #if 0 |
| @@ -5576,7 +5576,7 @@ x_raise_frame (struct frame *f) | |||
| 5576 | input focus anyway (so the window with focus will never be | 5576 | input focus anyway (so the window with focus will never be |
| 5577 | completely obscured) - if not, then just moving the mouse over it | 5577 | completely obscured) - if not, then just moving the mouse over it |
| 5578 | is sufficient to give it focus. On Windows, the user must actually | 5578 | is sufficient to give it focus. On Windows, the user must actually |
| 5579 | click on the frame (preferrably the title bar so as not to move | 5579 | click on the frame (preferably the title bar so as not to move |
| 5580 | point), which is more awkward. Also, no other Windows program | 5580 | point), which is more awkward. Also, no other Windows program |
| 5581 | raises a window to the top but leaves another window (possibly now | 5581 | raises a window to the top but leaves another window (possibly now |
| 5582 | completely obscured) with input focus. | 5582 | completely obscured) with input focus. |
| @@ -5691,11 +5691,11 @@ x_make_frame_visible (struct frame *f) | |||
| 5691 | f->output_data.w32->asked_for_visible = 1; | 5691 | f->output_data.w32->asked_for_visible = 1; |
| 5692 | 5692 | ||
| 5693 | /* According to a report in emacs-devel 2008-06-03, SW_SHOWNORMAL | 5693 | /* According to a report in emacs-devel 2008-06-03, SW_SHOWNORMAL |
| 5694 | causes unexpected behaviour when unminimizing frames that were | 5694 | causes unexpected behavior when unminimizing frames that were |
| 5695 | previously maximised. But only SW_SHOWNORMAL works properly for | 5695 | previously maximized. But only SW_SHOWNORMAL works properly for |
| 5696 | frames that were truely hidden (using make-frame-invisible), so | 5696 | frames that were truely hidden (using make-frame-invisible), so |
| 5697 | we need it to avoid Bug#5482. It seems that async_iconified | 5697 | we need it to avoid Bug#5482. It seems that async_iconified |
| 5698 | is only set for minimised windows that are still visible, so | 5698 | is only set for minimized windows that are still visible, so |
| 5699 | use that to determine the appropriate flag to pass ShowWindow. */ | 5699 | use that to determine the appropriate flag to pass ShowWindow. */ |
| 5700 | my_show_window (f, FRAME_W32_WINDOW (f), | 5700 | my_show_window (f, FRAME_W32_WINDOW (f), |
| 5701 | f->async_iconified ? SW_RESTORE : SW_SHOWNORMAL); | 5701 | f->async_iconified ? SW_RESTORE : SW_SHOWNORMAL); |
| @@ -6164,7 +6164,7 @@ w32_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) | |||
| 6164 | dpyinfo->has_palette = GetDeviceCaps (hdc, RASTERCAPS) & RC_PALETTE; | 6164 | dpyinfo->has_palette = GetDeviceCaps (hdc, RASTERCAPS) & RC_PALETTE; |
| 6165 | ReleaseDC (NULL, hdc); | 6165 | ReleaseDC (NULL, hdc); |
| 6166 | 6166 | ||
| 6167 | /* initialise palette with white and black */ | 6167 | /* initialize palette with white and black */ |
| 6168 | { | 6168 | { |
| 6169 | XColor color; | 6169 | XColor color; |
| 6170 | w32_defined_color (0, "white", &color, 1); | 6170 | w32_defined_color (0, "white", &color, 1); |
diff --git a/src/w32term.h b/src/w32term.h index 710394583e4..02392133837 100644 --- a/src/w32term.h +++ b/src/w32term.h | |||
| @@ -637,7 +637,7 @@ extern void x_delete_display (struct w32_display_info *dpyinfo); | |||
| 637 | 637 | ||
| 638 | /* Keypad command key support. W32 doesn't have virtual keys defined | 638 | /* Keypad command key support. W32 doesn't have virtual keys defined |
| 639 | for the function keys on the keypad (they are mapped to the standard | 639 | for the function keys on the keypad (they are mapped to the standard |
| 640 | fuction keys), so we define our own. */ | 640 | function keys), so we define our own. */ |
| 641 | #define VK_NUMPAD_BEGIN 0x92 | 641 | #define VK_NUMPAD_BEGIN 0x92 |
| 642 | #define VK_NUMPAD_CLEAR (VK_NUMPAD_BEGIN + 0) | 642 | #define VK_NUMPAD_CLEAR (VK_NUMPAD_BEGIN + 0) |
| 643 | #define VK_NUMPAD_ENTER (VK_NUMPAD_BEGIN + 1) | 643 | #define VK_NUMPAD_ENTER (VK_NUMPAD_BEGIN + 1) |
diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c index f6347bb88f7..36197b3b28a 100644 --- a/src/w32uniscribe.c +++ b/src/w32uniscribe.c | |||
| @@ -507,7 +507,7 @@ uniscribe_encode_char (struct font *font, int c) | |||
| 507 | if (SUCCEEDED (result) && nglyphs == 1) | 507 | if (SUCCEEDED (result) && nglyphs == 1) |
| 508 | { | 508 | { |
| 509 | /* Some fonts return .notdef glyphs instead of failing. | 509 | /* Some fonts return .notdef glyphs instead of failing. |
| 510 | (Truetype spec reserves glyph code 0 for .notdef) */ | 510 | (TrueType spec reserves glyph code 0 for .notdef) */ |
| 511 | if (glyphs[0]) | 511 | if (glyphs[0]) |
| 512 | code = glyphs[0]; | 512 | code = glyphs[0]; |
| 513 | } | 513 | } |
| @@ -961,4 +961,3 @@ syms_of_w32uniscribe (void) | |||
| 961 | 961 | ||
| 962 | register_font_driver (&uniscribe_font_driver, NULL); | 962 | register_font_driver (&uniscribe_font_driver, NULL); |
| 963 | } | 963 | } |
| 964 | |||
diff --git a/src/w32xfns.c b/src/w32xfns.c index fbbf11bd65c..fc2d5904d67 100644 --- a/src/w32xfns.c +++ b/src/w32xfns.c | |||
| @@ -188,7 +188,7 @@ get_next_msg (W32Msg * lpmsg, BOOL bWait) | |||
| 188 | } | 188 | } |
| 189 | 189 | ||
| 190 | nQueue--; | 190 | nQueue--; |
| 191 | /* Consolidate WM_PAINT messages to optimise redrawing. */ | 191 | /* Consolidate WM_PAINT messages to optimize redrawing. */ |
| 192 | if (lpmsg->msg.message == WM_PAINT && nQueue) | 192 | if (lpmsg->msg.message == WM_PAINT && nQueue) |
| 193 | { | 193 | { |
| 194 | int_msg * lpCur = lpHead; | 194 | int_msg * lpCur = lpHead; |
| @@ -441,4 +441,3 @@ void | |||
| 441 | x_sync (void *f) | 441 | x_sync (void *f) |
| 442 | { | 442 | { |
| 443 | } | 443 | } |
| 444 | |||
diff --git a/src/window.c b/src/window.c index 0a780a0170a..776f097b59e 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -465,32 +465,29 @@ 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-nest", Fwindow_nest, Swindow_nest, 0, 1, 0, | 468 | DEFUN ("window-combination-limit", Fwindow_combination_limit, Swindow_combination_limit, 1, 1, 0, |
| 469 | doc: /* Return nest status of window WINDOW. | 469 | doc: /* Return combination limit of window WINDOW. |
| 470 | If WINDOW is omitted or nil, it defaults to the selected window. | ||
| 471 | |||
| 472 | If the return value is nil, child windows of WINDOW can be recombined with | 470 | If the return value is nil, child windows of WINDOW can be recombined with |
| 473 | WINDOW's siblings. A return value of non-nil means that child windows of | 471 | WINDOW's siblings. A return value of t means that child windows of |
| 474 | WINDOW are never \(re-)combined with WINDOW's siblings. */) | 472 | WINDOW are never \(re-)combined with WINDOW's siblings. */) |
| 475 | (Lisp_Object window) | 473 | (Lisp_Object window) |
| 476 | { | 474 | { |
| 477 | return decode_any_window (window)->nest; | 475 | return decode_any_window (window)->combination_limit; |
| 478 | } | 476 | } |
| 479 | 477 | ||
| 480 | DEFUN ("set-window-nest", Fset_window_nest, Sset_window_nest, 2, 2, 0, | 478 | DEFUN ("set-window-combination-limit", Fset_window_combination_limit, Sset_window_combination_limit, 2, 2, 0, |
| 481 | doc: /* Set nest status of window WINDOW to STATUS; return STATUS. | 479 | doc: /* Set combination limit of window WINDOW to STATUS; return STATUS. |
| 482 | If WINDOW is omitted or nil, it defaults to the selected window. | 480 | If STATUS is nil, child windows of WINDOW can be recombined with |
| 483 | 481 | WINDOW's siblings. STATUS t means that child windows of WINDOW are | |
| 484 | If STATUS is nil, child windows of WINDOW can be recombined with WINDOW's | 482 | never \(re-)combined with WINDOW's siblings. Other values are reserved |
| 485 | siblings. STATUS non-nil means that child windows of WINDOW are never | 483 | for future use. */) |
| 486 | \(re-)combined with WINDOW's siblings. */) | ||
| 487 | (Lisp_Object window, Lisp_Object status) | 484 | (Lisp_Object window, Lisp_Object status) |
| 488 | { | 485 | { |
| 489 | register struct window *w = decode_any_window (window); | 486 | register struct window *w = decode_any_window (window); |
| 490 | 487 | ||
| 491 | w->nest = status; | 488 | w->combination_limit = status; |
| 492 | 489 | ||
| 493 | return w->nest; | 490 | return w->combination_limit; |
| 494 | } | 491 | } |
| 495 | 492 | ||
| 496 | DEFUN ("window-use-time", Fwindow_use_time, Swindow_use_time, 0, 1, 0, | 493 | DEFUN ("window-use-time", Fwindow_use_time, Swindow_use_time, 0, 1, 0, |
| @@ -1879,7 +1876,7 @@ recombine_windows (Lisp_Object window) | |||
| 1879 | 1876 | ||
| 1880 | w = XWINDOW (window); | 1877 | w = XWINDOW (window); |
| 1881 | parent = w->parent; | 1878 | parent = w->parent; |
| 1882 | if (!NILP (parent) && NILP (w->nest)) | 1879 | if (!NILP (parent) && NILP (w->combination_limit)) |
| 1883 | { | 1880 | { |
| 1884 | p = XWINDOW (parent); | 1881 | p = XWINDOW (parent); |
| 1885 | if (((!NILP (p->vchild) && !NILP (w->vchild)) | 1882 | if (((!NILP (p->vchild) && !NILP (w->vchild)) |
| @@ -2344,7 +2341,7 @@ Anything else means consider all windows on WINDOW's frame and no | |||
| 2344 | others. | 2341 | others. |
| 2345 | 2342 | ||
| 2346 | If WINDOW is not on the list of windows returned, some other window will | 2343 | If WINDOW is not on the list of windows returned, some other window will |
| 2347 | be listed first but no error is signalled. */) | 2344 | be listed first but no error is signaled. */) |
| 2348 | (Lisp_Object window, Lisp_Object minibuf, Lisp_Object all_frames) | 2345 | (Lisp_Object window, Lisp_Object minibuf, Lisp_Object all_frames) |
| 2349 | { | 2346 | { |
| 2350 | return window_list_1 (window, minibuf, all_frames); | 2347 | return window_list_1 (window, minibuf, all_frames); |
| @@ -3248,7 +3245,7 @@ make_parent_window (Lisp_Object window, int horflag) | |||
| 3248 | p->start = Qnil; | 3245 | p->start = Qnil; |
| 3249 | p->pointm = Qnil; | 3246 | p->pointm = Qnil; |
| 3250 | p->buffer = Qnil; | 3247 | p->buffer = Qnil; |
| 3251 | p->nest = Qnil; | 3248 | p->combination_limit = Qnil; |
| 3252 | p->window_parameters = Qnil; | 3249 | p->window_parameters = Qnil; |
| 3253 | } | 3250 | } |
| 3254 | 3251 | ||
| @@ -3295,7 +3292,7 @@ make_window (void) | |||
| 3295 | w->start_at_line_beg = w->display_table = w->dedicated = Qnil; | 3292 | w->start_at_line_beg = w->display_table = w->dedicated = Qnil; |
| 3296 | w->base_line_number = w->base_line_pos = w->region_showing = Qnil; | 3293 | w->base_line_number = w->base_line_pos = w->region_showing = Qnil; |
| 3297 | w->column_number_displayed = w->redisplay_end_trigger = Qnil; | 3294 | w->column_number_displayed = w->redisplay_end_trigger = Qnil; |
| 3298 | w->nest = w->window_parameters = Qnil; | 3295 | w->combination_limit = w->window_parameters = Qnil; |
| 3299 | w->prev_buffers = w->next_buffers = Qnil; | 3296 | w->prev_buffers = w->next_buffers = Qnil; |
| 3300 | /* Initialize non-Lisp data. */ | 3297 | /* Initialize non-Lisp data. */ |
| 3301 | w->desired_matrix = w->current_matrix = 0; | 3298 | w->desired_matrix = w->current_matrix = 0; |
| @@ -3668,7 +3665,7 @@ set correctly. See the code of `split-window' for how this is done. */) | |||
| 3668 | int horflag | 3665 | int horflag |
| 3669 | /* HORFLAG is 1 when we split side-by-side, 0 otherwise. */ | 3666 | /* HORFLAG is 1 when we split side-by-side, 0 otherwise. */ |
| 3670 | = EQ (side, Qt) || EQ (side, Qleft) || EQ (side, Qright); | 3667 | = EQ (side, Qt) || EQ (side, Qleft) || EQ (side, Qright); |
| 3671 | int do_nest = 0; | 3668 | int combination_limit = 0; |
| 3672 | 3669 | ||
| 3673 | CHECK_WINDOW (old); | 3670 | CHECK_WINDOW (old); |
| 3674 | o = XWINDOW (old); | 3671 | o = XWINDOW (old); |
| @@ -3677,11 +3674,11 @@ set correctly. See the code of `split-window' for how this is done. */) | |||
| 3677 | 3674 | ||
| 3678 | CHECK_NUMBER (total_size); | 3675 | CHECK_NUMBER (total_size); |
| 3679 | 3676 | ||
| 3680 | /* Set do_nest to 1 if we have to make a new parent window. We do | 3677 | /* Set combination_limit to 1 if we have to make a new parent window. |
| 3681 | that if either `window-nest' is non-nil, or OLD has no parent, or | 3678 | We do that if either `window-combination-limit' is t, or OLD has no |
| 3682 | OLD is ortho-combined. */ | 3679 | parent, or OLD is ortho-combined. */ |
| 3683 | do_nest = | 3680 | combination_limit = |
| 3684 | !NILP (Vwindow_nest) | 3681 | !NILP (Vwindow_combination_limit) |
| 3685 | || NILP (o->parent) | 3682 | || NILP (o->parent) |
| 3686 | || NILP (horflag | 3683 | || NILP (horflag |
| 3687 | ? (XWINDOW (o->parent)->hchild) | 3684 | ? (XWINDOW (o->parent)->hchild) |
| @@ -3701,8 +3698,8 @@ set correctly. See the code of `split-window' for how this is done. */) | |||
| 3701 | error ("Attempt to split minibuffer window"); | 3698 | error ("Attempt to split minibuffer window"); |
| 3702 | else if (XINT (total_size) < (horflag ? 2 : 1)) | 3699 | else if (XINT (total_size) < (horflag ? 2 : 1)) |
| 3703 | error ("Size of new window too small (after split)"); | 3700 | error ("Size of new window too small (after split)"); |
| 3704 | else if (!do_nest && !NILP (Vwindow_splits)) | 3701 | else if (!combination_limit && !NILP (Vwindow_combination_resize)) |
| 3705 | /* `window-splits' non-nil means try to resize OLD's siblings | 3702 | /* `window-combination-resize' non-nil means try to resize OLD's siblings |
| 3706 | proportionally. */ | 3703 | proportionally. */ |
| 3707 | { | 3704 | { |
| 3708 | p = XWINDOW (o->parent); | 3705 | p = XWINDOW (o->parent); |
| @@ -3726,7 +3723,7 @@ set correctly. See the code of `split-window' for how this is done. */) | |||
| 3726 | } | 3723 | } |
| 3727 | 3724 | ||
| 3728 | /* This is our point of no return. */ | 3725 | /* This is our point of no return. */ |
| 3729 | if (do_nest) | 3726 | if (combination_limit) |
| 3730 | { | 3727 | { |
| 3731 | /* Save the old value of o->normal_cols/lines. It gets corrupted | 3728 | /* Save the old value of o->normal_cols/lines. It gets corrupted |
| 3732 | by make_parent_window and we need it below for assigning it to | 3729 | by make_parent_window and we need it below for assigning it to |
| @@ -3735,8 +3732,9 @@ set correctly. See the code of `split-window' for how this is done. */) | |||
| 3735 | 3732 | ||
| 3736 | make_parent_window (old, horflag); | 3733 | make_parent_window (old, horflag); |
| 3737 | p = XWINDOW (o->parent); | 3734 | p = XWINDOW (o->parent); |
| 3738 | /* Store value of `window-nest' in new parent's nest slot. */ | 3735 | /* Store value of `window-combination-limit' in new parent's |
| 3739 | p->nest = Vwindow_nest; | 3736 | combination_limit slot. */ |
| 3737 | p->combination_limit = Vwindow_combination_limit; | ||
| 3740 | /* These get applied below. */ | 3738 | /* These get applied below. */ |
| 3741 | p->new_total = horflag ? o->total_cols : o->total_lines; | 3739 | p->new_total = horflag ? o->total_cols : o->total_lines; |
| 3742 | p->new_normal = new_normal; | 3740 | p->new_normal = new_normal; |
| @@ -3923,7 +3921,7 @@ Signal an error when WINDOW is the only window on its frame. */) | |||
| 3923 | /* Put SIBLING into PARENT's place. */ | 3921 | /* Put SIBLING into PARENT's place. */ |
| 3924 | replace_window (parent, sibling, 0); | 3922 | replace_window (parent, sibling, 0); |
| 3925 | /* Have SIBLING inherit the following three slot values from | 3923 | /* Have SIBLING inherit the following three slot values from |
| 3926 | PARENT (the nest slot is not inherited). */ | 3924 | PARENT (the combination_limit slot is not inherited). */ |
| 3927 | s->normal_cols = p->normal_cols; | 3925 | s->normal_cols = p->normal_cols; |
| 3928 | s->normal_lines = p->normal_lines; | 3926 | s->normal_lines = p->normal_lines; |
| 3929 | /* Mark PARENT as deleted. */ | 3927 | /* Mark PARENT as deleted. */ |
| @@ -5312,7 +5310,7 @@ struct saved_window | |||
| 5312 | Lisp_Object left_margin_cols, right_margin_cols; | 5310 | Lisp_Object left_margin_cols, right_margin_cols; |
| 5313 | Lisp_Object left_fringe_width, right_fringe_width, fringes_outside_margins; | 5311 | Lisp_Object left_fringe_width, right_fringe_width, fringes_outside_margins; |
| 5314 | Lisp_Object scroll_bar_width, vertical_scroll_bar_type, dedicated; | 5312 | Lisp_Object scroll_bar_width, vertical_scroll_bar_type, dedicated; |
| 5315 | Lisp_Object nest, window_parameters; | 5313 | Lisp_Object combination_limit, window_parameters; |
| 5316 | }; | 5314 | }; |
| 5317 | 5315 | ||
| 5318 | #define SAVED_WINDOW_N(swv,n) \ | 5316 | #define SAVED_WINDOW_N(swv,n) \ |
| @@ -5543,7 +5541,7 @@ the return value is nil. Otherwise the value is t. */) | |||
| 5543 | w->scroll_bar_width = p->scroll_bar_width; | 5541 | w->scroll_bar_width = p->scroll_bar_width; |
| 5544 | w->vertical_scroll_bar_type = p->vertical_scroll_bar_type; | 5542 | w->vertical_scroll_bar_type = p->vertical_scroll_bar_type; |
| 5545 | w->dedicated = p->dedicated; | 5543 | w->dedicated = p->dedicated; |
| 5546 | w->nest = p->nest; | 5544 | w->combination_limit = p->combination_limit; |
| 5547 | w->window_parameters = p->window_parameters; | 5545 | w->window_parameters = p->window_parameters; |
| 5548 | XSETFASTINT (w->last_modified, 0); | 5546 | XSETFASTINT (w->last_modified, 0); |
| 5549 | XSETFASTINT (w->last_overlay_modified, 0); | 5547 | XSETFASTINT (w->last_overlay_modified, 0); |
| @@ -5775,13 +5773,30 @@ get_phys_cursor_glyph (struct window *w) | |||
| 5775 | { | 5773 | { |
| 5776 | struct glyph_row *row; | 5774 | struct glyph_row *row; |
| 5777 | struct glyph *glyph; | 5775 | struct glyph *glyph; |
| 5776 | int hpos = w->phys_cursor.hpos; | ||
| 5777 | |||
| 5778 | if (!(w->phys_cursor.vpos >= 0 | ||
| 5779 | && w->phys_cursor.vpos < w->current_matrix->nrows)) | ||
| 5780 | return NULL; | ||
| 5781 | |||
| 5782 | row = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos); | ||
| 5783 | if (!row->enabled_p) | ||
| 5784 | return NULL; | ||
| 5778 | 5785 | ||
| 5779 | if (w->phys_cursor.vpos >= 0 | 5786 | if (w->hscroll) |
| 5780 | && w->phys_cursor.vpos < w->current_matrix->nrows | 5787 | { |
| 5781 | && (row = MATRIX_ROW (w->current_matrix, w->phys_cursor.vpos), | 5788 | /* When the window is hscrolled, cursor hpos can legitimately be |
| 5782 | row->enabled_p) | 5789 | out of bounds, but we draw the cursor at the corresponding |
| 5783 | && row->used[TEXT_AREA] > w->phys_cursor.hpos) | 5790 | window margin in that case. */ |
| 5784 | glyph = row->glyphs[TEXT_AREA] + w->phys_cursor.hpos; | 5791 | if (!row->reversed_p && hpos < 0) |
| 5792 | hpos = 0; | ||
| 5793 | if (row->reversed_p && hpos >= row->used[TEXT_AREA]) | ||
| 5794 | hpos = row->used[TEXT_AREA] - 1; | ||
| 5795 | } | ||
| 5796 | |||
| 5797 | if (row->used[TEXT_AREA] > hpos | ||
| 5798 | && 0 <= hpos) | ||
| 5799 | glyph = row->glyphs[TEXT_AREA] + hpos; | ||
| 5785 | else | 5800 | else |
| 5786 | glyph = NULL; | 5801 | glyph = NULL; |
| 5787 | 5802 | ||
| @@ -5821,7 +5836,7 @@ save_window_save (Lisp_Object window, struct Lisp_Vector *vector, int i) | |||
| 5821 | p->scroll_bar_width = w->scroll_bar_width; | 5836 | p->scroll_bar_width = w->scroll_bar_width; |
| 5822 | p->vertical_scroll_bar_type = w->vertical_scroll_bar_type; | 5837 | p->vertical_scroll_bar_type = w->vertical_scroll_bar_type; |
| 5823 | p->dedicated = w->dedicated; | 5838 | p->dedicated = w->dedicated; |
| 5824 | p->nest = w->nest; | 5839 | p->combination_limit = w->combination_limit; |
| 5825 | p->window_parameters = w->window_parameters; | 5840 | p->window_parameters = w->window_parameters; |
| 5826 | if (!NILP (w->buffer)) | 5841 | if (!NILP (w->buffer)) |
| 5827 | { | 5842 | { |
| @@ -6284,7 +6299,8 @@ freeze_window_starts (struct frame *f, int freeze_p) | |||
| 6284 | and the like. | 6299 | and the like. |
| 6285 | 6300 | ||
| 6286 | This ignores a couple of things like the dedicatedness status of | 6301 | This ignores a couple of things like the dedicatedness status of |
| 6287 | window, nest and the like. This might have to be fixed. */ | 6302 | window, combination_limit and the like. This might have to be |
| 6303 | fixed. */ | ||
| 6288 | 6304 | ||
| 6289 | int | 6305 | int |
| 6290 | compare_window_configurations (Lisp_Object configuration1, Lisp_Object configuration2, int ignore_positions) | 6306 | compare_window_configurations (Lisp_Object configuration1, Lisp_Object configuration2, int ignore_positions) |
| @@ -6488,32 +6504,39 @@ will redraw the entire frame; the special value `tty' causes the | |||
| 6488 | frame to be redrawn only if it is a tty frame. */); | 6504 | frame to be redrawn only if it is a tty frame. */); |
| 6489 | Vrecenter_redisplay = Qtty; | 6505 | Vrecenter_redisplay = Qtty; |
| 6490 | 6506 | ||
| 6491 | DEFVAR_LISP ("window-splits", Vwindow_splits, | 6507 | DEFVAR_LISP ("window-combination-resize", Vwindow_combination_resize, |
| 6492 | doc: /* Non-nil means splitting windows is handled specially. | 6508 | doc: /* Non-nil means resize window combinations proportionally. |
| 6493 | If this variable is nil, splitting a window gets the entire screen space | 6509 | If this variable is nil, splitting a window gets the entire screen space |
| 6494 | for displaying the new window from the window to split. If this | 6510 | for displaying the new window from the window to split. Deleting and |
| 6495 | variable is non-nil, splitting a window may resize all windows in the | 6511 | resizing a window preferably resizes one adjacent window only. |
| 6496 | same combination. This also allows to split a window that is otherwise | ||
| 6497 | too small or of fixed size. | ||
| 6498 | 6512 | ||
| 6499 | This variable takes no effect if `window-nest' is non-nil. */); | 6513 | If this variable is non-nil, splitting a window tries to get the space |
| 6500 | Vwindow_splits = Qnil; | 6514 | proportionally from all windows in the same combination. This also |
| 6515 | allows to split a window that is otherwise too small or of fixed size. | ||
| 6516 | Resizing and deleting a window proportionally resize all windows in the | ||
| 6517 | same combination. | ||
| 6501 | 6518 | ||
| 6502 | DEFVAR_LISP ("window-nest", Vwindow_nest, | 6519 | This variable takes no effect if `window-combination-limit' is non-nil. */); |
| 6520 | Vwindow_combination_resize = Qnil; | ||
| 6521 | |||
| 6522 | DEFVAR_LISP ("window-combination-limit", Vwindow_combination_limit, | ||
| 6503 | doc: /* Non-nil means splitting a window makes a new parent window. | 6523 | doc: /* Non-nil means splitting a window makes a new parent window. |
| 6504 | If this variable is nil, splitting a window will create a new parent | 6524 | If this variable is nil, splitting a window will create a new parent |
| 6505 | window only if the window has no parent window or the window shall | 6525 | window only if the window has no parent window or the window shall |
| 6506 | become a combination orthogonal to the one it it is part of. | 6526 | become a combination orthogonal to the one it is part of. |
| 6527 | |||
| 6528 | If this variable is t, splitting a window always creates a new parent | ||
| 6529 | window. If all splits behave this way, each frame's window tree is a | ||
| 6530 | binary tree and every window but the frame's root window has exactly one | ||
| 6531 | sibling. | ||
| 6507 | 6532 | ||
| 6508 | If this variable is non-nil, splitting a window always creates a new | 6533 | Other values are reserved for future use. |
| 6509 | parent window. If all splits behave this way, each frame's window tree | ||
| 6510 | is a binary tree and every window but the frame's root window has | ||
| 6511 | exactly one sibling. | ||
| 6512 | 6534 | ||
| 6513 | The value of this variable is also assigned to the nest status of the | 6535 | The value of this variable is also assigned to the combination-limit |
| 6514 | new parent window. The nest status of a window can be retrieved via the | 6536 | status of the new parent window. The combination-limit status of a |
| 6515 | function `window-nest' and altered by the function `set-window-nest'. */); | 6537 | window can be retrieved via the function `window-combination-limit' and |
| 6516 | Vwindow_nest = Qnil; | 6538 | altered by the function `set-window-combination-limit'. */); |
| 6539 | Vwindow_combination_limit = Qnil; | ||
| 6517 | 6540 | ||
| 6518 | defsubr (&Sselected_window); | 6541 | defsubr (&Sselected_window); |
| 6519 | defsubr (&Sminibuffer_window); | 6542 | defsubr (&Sminibuffer_window); |
| @@ -6533,8 +6556,8 @@ function `window-nest' and altered by the function `set-window-nest'. */); | |||
| 6533 | defsubr (&Swindow_left_child); | 6556 | defsubr (&Swindow_left_child); |
| 6534 | defsubr (&Swindow_next_sibling); | 6557 | defsubr (&Swindow_next_sibling); |
| 6535 | defsubr (&Swindow_prev_sibling); | 6558 | defsubr (&Swindow_prev_sibling); |
| 6536 | defsubr (&Swindow_nest); | 6559 | defsubr (&Swindow_combination_limit); |
| 6537 | defsubr (&Sset_window_nest); | 6560 | defsubr (&Sset_window_combination_limit); |
| 6538 | defsubr (&Swindow_use_time); | 6561 | defsubr (&Swindow_use_time); |
| 6539 | defsubr (&Swindow_top_line); | 6562 | defsubr (&Swindow_top_line); |
| 6540 | defsubr (&Swindow_left_column); | 6563 | defsubr (&Swindow_left_column); |
diff --git a/src/window.h b/src/window.h index c11235bd67b..df29ca1368f 100644 --- a/src/window.h +++ b/src/window.h | |||
| @@ -258,9 +258,8 @@ 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 this window's child windows are never | 261 | /* t means this window's child windows are not (re-)combined. */ |
| 262 | (re-)combined. */ | 262 | Lisp_Object combination_limit; |
| 263 | Lisp_Object nest; | ||
| 264 | 263 | ||
| 265 | /* Alist of <buffer, window-start, window-point> triples listing | 264 | /* Alist of <buffer, window-start, window-point> triples listing |
| 266 | buffers previously shown in this window. */ | 265 | buffers previously shown in this window. */ |
| @@ -269,7 +268,7 @@ struct window | |||
| 269 | /* List of buffers re-shown in this window. */ | 268 | /* List of buffers re-shown in this window. */ |
| 270 | Lisp_Object next_buffers; | 269 | Lisp_Object next_buffers; |
| 271 | 270 | ||
| 272 | /* An alist with parameteres. */ | 271 | /* An alist with parameters. */ |
| 273 | Lisp_Object window_parameters; | 272 | Lisp_Object window_parameters; |
| 274 | 273 | ||
| 275 | /* No Lisp data may follow below this point without changing | 274 | /* No Lisp data may follow below this point without changing |
diff --git a/src/xdisp.c b/src/xdisp.c index dfb794f38d3..8a8c1d08994 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -1445,7 +1445,7 @@ pos_visible_p (struct window *w, EMACS_INT charpos, int *x, int *y, | |||
| 1445 | position is CHARPOS. For the contingency that we | 1445 | position is CHARPOS. For the contingency that we |
| 1446 | didn't, and stopped at the first newline from the | 1446 | didn't, and stopped at the first newline from the |
| 1447 | display string, move back over the glyphs | 1447 | display string, move back over the glyphs |
| 1448 | prfoduced from the string, until we find the | 1448 | produced from the string, until we find the |
| 1449 | rightmost glyph not from the string. */ | 1449 | rightmost glyph not from the string. */ |
| 1450 | if (IT_CHARPOS (it3) != charpos && EQ (it3.object, string)) | 1450 | if (IT_CHARPOS (it3) != charpos && EQ (it3.object, string)) |
| 1451 | { | 1451 | { |
| @@ -14109,7 +14109,7 @@ set_cursor_from_row (struct window *w, struct glyph_row *row, | |||
| 14109 | || (STRINGP (g1->object) | 14109 | || (STRINGP (g1->object) |
| 14110 | && (!NILP (Fget_char_property (make_number (g1->charpos), | 14110 | && (!NILP (Fget_char_property (make_number (g1->charpos), |
| 14111 | Qcursor, g1->object)) | 14111 | Qcursor, g1->object)) |
| 14112 | /* pevious candidate is from the same display | 14112 | /* previous candidate is from the same display |
| 14113 | string as this one, and the display string | 14113 | string as this one, and the display string |
| 14114 | came from a text property */ | 14114 | came from a text property */ |
| 14115 | || (EQ (g1->object, glyph->object) | 14115 | || (EQ (g1->object, glyph->object) |
| @@ -15031,7 +15031,7 @@ redisplay_window (Lisp_Object window, int just_this_one_p) | |||
| 15031 | int current_matrix_up_to_date_p = 0; | 15031 | int current_matrix_up_to_date_p = 0; |
| 15032 | int used_current_matrix_p = 0; | 15032 | int used_current_matrix_p = 0; |
| 15033 | /* This is less strict than current_matrix_up_to_date_p. | 15033 | /* This is less strict than current_matrix_up_to_date_p. |
| 15034 | It indictes that the buffer contents and narrowing are unchanged. */ | 15034 | It indicates that the buffer contents and narrowing are unchanged. */ |
| 15035 | int buffer_unchanged_p = 0; | 15035 | int buffer_unchanged_p = 0; |
| 15036 | int temp_scroll_step = 0; | 15036 | int temp_scroll_step = 0; |
| 15037 | int count = SPECPDL_INDEX (); | 15037 | int count = SPECPDL_INDEX (); |
| @@ -17020,7 +17020,7 @@ try_window_id (struct window *w) | |||
| 17020 | last_unchanged_at_beg_row = find_last_unchanged_at_beg_row (w); | 17020 | last_unchanged_at_beg_row = find_last_unchanged_at_beg_row (w); |
| 17021 | if (last_unchanged_at_beg_row) | 17021 | if (last_unchanged_at_beg_row) |
| 17022 | { | 17022 | { |
| 17023 | /* Avoid starting to display in the moddle of a character, a TAB | 17023 | /* Avoid starting to display in the middle of a character, a TAB |
| 17024 | for instance. This is easier than to set up the iterator | 17024 | for instance. This is easier than to set up the iterator |
| 17025 | exactly, and it's not a frequent case, so the additional | 17025 | exactly, and it's not a frequent case, so the additional |
| 17026 | effort wouldn't really pay off. */ | 17026 | effort wouldn't really pay off. */ |
| @@ -17949,6 +17949,23 @@ insert_left_trunc_glyphs (struct it *it) | |||
| 17949 | } | 17949 | } |
| 17950 | } | 17950 | } |
| 17951 | 17951 | ||
| 17952 | /* Compute the hash code for ROW. */ | ||
| 17953 | unsigned | ||
| 17954 | row_hash (struct glyph_row *row) | ||
| 17955 | { | ||
| 17956 | int area, k; | ||
| 17957 | unsigned hashval = 0; | ||
| 17958 | |||
| 17959 | for (area = LEFT_MARGIN_AREA; area < LAST_AREA; ++area) | ||
| 17960 | for (k = 0; k < row->used[area]; ++k) | ||
| 17961 | hashval = ((((hashval << 4) + (hashval >> 24)) & 0x0fffffff) | ||
| 17962 | + row->glyphs[area][k].u.val | ||
| 17963 | + row->glyphs[area][k].face_id | ||
| 17964 | + row->glyphs[area][k].padding_p | ||
| 17965 | + (row->glyphs[area][k].type << 2)); | ||
| 17966 | |||
| 17967 | return hashval; | ||
| 17968 | } | ||
| 17952 | 17969 | ||
| 17953 | /* Compute the pixel height and width of IT->glyph_row. | 17970 | /* Compute the pixel height and width of IT->glyph_row. |
| 17954 | 17971 | ||
| @@ -18035,17 +18052,7 @@ compute_line_metrics (struct it *it) | |||
| 18035 | } | 18052 | } |
| 18036 | 18053 | ||
| 18037 | /* Compute a hash code for this row. */ | 18054 | /* Compute a hash code for this row. */ |
| 18038 | { | 18055 | row->hash = row_hash (row); |
| 18039 | int area, i; | ||
| 18040 | row->hash = 0; | ||
| 18041 | for (area = LEFT_MARGIN_AREA; area < LAST_AREA; ++area) | ||
| 18042 | for (i = 0; i < row->used[area]; ++i) | ||
| 18043 | row->hash = ((((row->hash << 4) + (row->hash >> 24)) & 0x0fffffff) | ||
| 18044 | + row->glyphs[area][i].u.val | ||
| 18045 | + row->glyphs[area][i].face_id | ||
| 18046 | + row->glyphs[area][i].padding_p | ||
| 18047 | + (row->glyphs[area][i].type << 2)); | ||
| 18048 | } | ||
| 18049 | 18056 | ||
| 18050 | it->max_ascent = it->max_descent = 0; | 18057 | it->max_ascent = it->max_descent = 0; |
| 18051 | it->max_phys_ascent = it->max_phys_descent = 0; | 18058 | it->max_phys_ascent = it->max_phys_descent = 0; |
| @@ -19382,9 +19389,18 @@ display_line (struct it *it) | |||
| 19382 | overlay_arrow_seen = 1; | 19389 | overlay_arrow_seen = 1; |
| 19383 | } | 19390 | } |
| 19384 | 19391 | ||
| 19392 | /* Highlight trailing whitespace. */ | ||
| 19393 | if (!NILP (Vshow_trailing_whitespace)) | ||
| 19394 | highlight_trailing_whitespace (it->f, it->glyph_row); | ||
| 19395 | |||
| 19385 | /* Compute pixel dimensions of this line. */ | 19396 | /* Compute pixel dimensions of this line. */ |
| 19386 | compute_line_metrics (it); | 19397 | compute_line_metrics (it); |
| 19387 | 19398 | ||
| 19399 | /* Implementation note: No changes in the glyphs of ROW or in their | ||
| 19400 | faces can be done past this point, because compute_line_metrics | ||
| 19401 | computes ROW's hash value and stores it within the glyph_row | ||
| 19402 | structure. */ | ||
| 19403 | |||
| 19388 | /* Record whether this row ends inside an ellipsis. */ | 19404 | /* Record whether this row ends inside an ellipsis. */ |
| 19389 | row->ends_in_ellipsis_p | 19405 | row->ends_in_ellipsis_p |
| 19390 | = (it->method == GET_FROM_DISPLAY_VECTOR | 19406 | = (it->method == GET_FROM_DISPLAY_VECTOR |
| @@ -19419,10 +19435,6 @@ display_line (struct it *it) | |||
| 19419 | && cursor_row_p (row)) | 19435 | && cursor_row_p (row)) |
| 19420 | set_cursor_from_row (it->w, row, it->w->desired_matrix, 0, 0, 0, 0); | 19436 | set_cursor_from_row (it->w, row, it->w->desired_matrix, 0, 0, 0, 0); |
| 19421 | 19437 | ||
| 19422 | /* Highlight trailing whitespace. */ | ||
| 19423 | if (!NILP (Vshow_trailing_whitespace)) | ||
| 19424 | highlight_trailing_whitespace (it->f, it->glyph_row); | ||
| 19425 | |||
| 19426 | /* Prepare for the next line. This line starts horizontally at (X | 19438 | /* Prepare for the next line. This line starts horizontally at (X |
| 19427 | HPOS) = (0 0). Vertical positions are incremented. As a | 19439 | HPOS) = (0 0). Vertical positions are incremented. As a |
| 19428 | convenience for the caller, IT->glyph_row is set to the next | 19440 | convenience for the caller, IT->glyph_row is set to the next |
| @@ -22049,7 +22061,7 @@ get_glyph_face_and_encoding (struct frame *f, struct glyph *glyph, | |||
| 22049 | 22061 | ||
| 22050 | 22062 | ||
| 22051 | /* Get glyph code of character C in FONT in the two-byte form CHAR2B. | 22063 | /* Get glyph code of character C in FONT in the two-byte form CHAR2B. |
| 22052 | Retunr 1 if FONT has a glyph for C, otherwise return 0. */ | 22064 | Return 1 if FONT has a glyph for C, otherwise return 0. */ |
| 22053 | 22065 | ||
| 22054 | static inline int | 22066 | static inline int |
| 22055 | get_char_glyph_code (int c, struct font *font, XChar2b *char2b) | 22067 | get_char_glyph_code (int c, struct font *font, XChar2b *char2b) |
| @@ -23622,7 +23634,7 @@ produce_stretch_glyph (struct it *it) | |||
| 23622 | { | 23634 | { |
| 23623 | width = it->last_visible_x - it->current_x; | 23635 | width = it->last_visible_x - it->current_x; |
| 23624 | #ifdef HAVE_WINDOW_SYSTEM | 23636 | #ifdef HAVE_WINDOW_SYSTEM |
| 23625 | /* Subtact one more pixel from the stretch width, but only on | 23637 | /* Subtract one more pixel from the stretch width, but only on |
| 23626 | GUI frames, since on a TTY each glyph is one "pixel" wide. */ | 23638 | GUI frames, since on a TTY each glyph is one "pixel" wide. */ |
| 23627 | width -= FRAME_WINDOW_P (it->f); | 23639 | width -= FRAME_WINDOW_P (it->f); |
| 23628 | #endif | 23640 | #endif |
| @@ -24659,9 +24671,17 @@ x_produce_glyphs (struct it *it) | |||
| 24659 | void | 24671 | void |
| 24660 | x_write_glyphs (struct glyph *start, int len) | 24672 | x_write_glyphs (struct glyph *start, int len) |
| 24661 | { | 24673 | { |
| 24662 | int x, hpos; | 24674 | int x, hpos, chpos = updated_window->phys_cursor.hpos; |
| 24663 | 24675 | ||
| 24664 | xassert (updated_window && updated_row); | 24676 | xassert (updated_window && updated_row); |
| 24677 | /* When the window is hscrolled, cursor hpos can legitimately be out | ||
| 24678 | of bounds, but we draw the cursor at the corresponding window | ||
| 24679 | margin in that case. */ | ||
| 24680 | if (!updated_row->reversed_p && chpos < 0) | ||
| 24681 | chpos = 0; | ||
| 24682 | if (updated_row->reversed_p && chpos >= updated_row->used[TEXT_AREA]) | ||
| 24683 | chpos = updated_row->used[TEXT_AREA] - 1; | ||
| 24684 | |||
| 24665 | BLOCK_INPUT; | 24685 | BLOCK_INPUT; |
| 24666 | 24686 | ||
| 24667 | /* Write glyphs. */ | 24687 | /* Write glyphs. */ |
| @@ -24676,8 +24696,8 @@ x_write_glyphs (struct glyph *start, int len) | |||
| 24676 | if (updated_area == TEXT_AREA | 24696 | if (updated_area == TEXT_AREA |
| 24677 | && updated_window->phys_cursor_on_p | 24697 | && updated_window->phys_cursor_on_p |
| 24678 | && updated_window->phys_cursor.vpos == output_cursor.vpos | 24698 | && updated_window->phys_cursor.vpos == output_cursor.vpos |
| 24679 | && updated_window->phys_cursor.hpos >= hpos | 24699 | && chpos >= hpos |
| 24680 | && updated_window->phys_cursor.hpos < hpos + len) | 24700 | && chpos < hpos + len) |
| 24681 | updated_window->phys_cursor_on_p = 0; | 24701 | updated_window->phys_cursor_on_p = 0; |
| 24682 | 24702 | ||
| 24683 | UNBLOCK_INPUT; | 24703 | UNBLOCK_INPUT; |
| @@ -25187,8 +25207,17 @@ draw_phys_cursor_glyph (struct window *w, struct glyph_row *row, | |||
| 25187 | { | 25207 | { |
| 25188 | int on_p = w->phys_cursor_on_p; | 25208 | int on_p = w->phys_cursor_on_p; |
| 25189 | int x1; | 25209 | int x1; |
| 25190 | x1 = draw_glyphs (w, w->phys_cursor.x, row, TEXT_AREA, | 25210 | int hpos = w->phys_cursor.hpos; |
| 25191 | w->phys_cursor.hpos, w->phys_cursor.hpos + 1, | 25211 | |
| 25212 | /* When the window is hscrolled, cursor hpos can legitimately be | ||
| 25213 | out of bounds, but we draw the cursor at the corresponding | ||
| 25214 | window margin in that case. */ | ||
| 25215 | if (!row->reversed_p && hpos < 0) | ||
| 25216 | hpos = 0; | ||
| 25217 | if (row->reversed_p && hpos >= row->used[TEXT_AREA]) | ||
| 25218 | hpos = row->used[TEXT_AREA] - 1; | ||
| 25219 | |||
| 25220 | x1 = draw_glyphs (w, w->phys_cursor.x, row, TEXT_AREA, hpos, hpos + 1, | ||
| 25192 | hl, 0); | 25221 | hl, 0); |
| 25193 | w->phys_cursor_on_p = on_p; | 25222 | w->phys_cursor_on_p = on_p; |
| 25194 | 25223 | ||
| @@ -25276,6 +25305,14 @@ erase_phys_cursor (struct window *w) | |||
| 25276 | : (w->phys_cursor.hpos >= cursor_row->used[TEXT_AREA]))) | 25305 | : (w->phys_cursor.hpos >= cursor_row->used[TEXT_AREA]))) |
| 25277 | goto mark_cursor_off; | 25306 | goto mark_cursor_off; |
| 25278 | 25307 | ||
| 25308 | /* When the window is hscrolled, cursor hpos can legitimately be out | ||
| 25309 | of bounds, but we draw the cursor at the corresponding window | ||
| 25310 | margin in that case. */ | ||
| 25311 | if (!cursor_row->reversed_p && hpos < 0) | ||
| 25312 | hpos = 0; | ||
| 25313 | if (cursor_row->reversed_p && hpos >= cursor_row->used[TEXT_AREA]) | ||
| 25314 | hpos = cursor_row->used[TEXT_AREA] - 1; | ||
| 25315 | |||
| 25279 | /* If the cursor is in the mouse face area, redisplay that when | 25316 | /* If the cursor is in the mouse face area, redisplay that when |
| 25280 | we clear the cursor. */ | 25317 | we clear the cursor. */ |
| 25281 | if (! NILP (hlinfo->mouse_face_window) | 25318 | if (! NILP (hlinfo->mouse_face_window) |
| @@ -25419,8 +25456,26 @@ update_window_cursor (struct window *w, int on) | |||
| 25419 | of being deleted. */ | 25456 | of being deleted. */ |
| 25420 | if (w->current_matrix) | 25457 | if (w->current_matrix) |
| 25421 | { | 25458 | { |
| 25459 | int hpos = w->phys_cursor.hpos; | ||
| 25460 | int vpos = w->phys_cursor.vpos; | ||
| 25461 | struct glyph_row *row; | ||
| 25462 | |||
| 25463 | if (vpos >= w->current_matrix->nrows | ||
| 25464 | || hpos >= w->current_matrix->matrix_w) | ||
| 25465 | return; | ||
| 25466 | |||
| 25467 | row = MATRIX_ROW (w->current_matrix, vpos); | ||
| 25468 | |||
| 25469 | /* When the window is hscrolled, cursor hpos can legitimately be | ||
| 25470 | out of bounds, but we draw the cursor at the corresponding | ||
| 25471 | window margin in that case. */ | ||
| 25472 | if (!row->reversed_p && hpos < 0) | ||
| 25473 | hpos = 0; | ||
| 25474 | if (row->reversed_p && hpos >= row->used[TEXT_AREA]) | ||
| 25475 | hpos = row->used[TEXT_AREA] - 1; | ||
| 25476 | |||
| 25422 | BLOCK_INPUT; | 25477 | BLOCK_INPUT; |
| 25423 | display_and_set_cursor (w, on, w->phys_cursor.hpos, w->phys_cursor.vpos, | 25478 | display_and_set_cursor (w, on, hpos, vpos, |
| 25424 | w->phys_cursor.x, w->phys_cursor.y); | 25479 | w->phys_cursor.x, w->phys_cursor.y); |
| 25425 | UNBLOCK_INPUT; | 25480 | UNBLOCK_INPUT; |
| 25426 | } | 25481 | } |
| @@ -25590,9 +25645,18 @@ show_mouse_face (Mouse_HLInfo *hlinfo, enum draw_glyphs_face draw) | |||
| 25590 | if (FRAME_WINDOW_P (f) | 25645 | if (FRAME_WINDOW_P (f) |
| 25591 | && phys_cursor_on_p && !w->phys_cursor_on_p) | 25646 | && phys_cursor_on_p && !w->phys_cursor_on_p) |
| 25592 | { | 25647 | { |
| 25648 | int hpos = w->phys_cursor.hpos; | ||
| 25649 | |||
| 25650 | /* When the window is hscrolled, cursor hpos can legitimately be | ||
| 25651 | out of bounds, but we draw the cursor at the corresponding | ||
| 25652 | window margin in that case. */ | ||
| 25653 | if (!row->reversed_p && hpos < 0) | ||
| 25654 | hpos = 0; | ||
| 25655 | if (row->reversed_p && hpos >= row->used[TEXT_AREA]) | ||
| 25656 | hpos = row->used[TEXT_AREA] - 1; | ||
| 25657 | |||
| 25593 | BLOCK_INPUT; | 25658 | BLOCK_INPUT; |
| 25594 | display_and_set_cursor (w, 1, | 25659 | display_and_set_cursor (w, 1, hpos, w->phys_cursor.vpos, |
| 25595 | w->phys_cursor.hpos, w->phys_cursor.vpos, | ||
| 25596 | w->phys_cursor.x, w->phys_cursor.y); | 25660 | w->phys_cursor.x, w->phys_cursor.y); |
| 25597 | UNBLOCK_INPUT; | 25661 | UNBLOCK_INPUT; |
| 25598 | } | 25662 | } |
| @@ -25691,7 +25755,19 @@ coords_in_mouse_face_p (struct window *w, int hpos, int vpos) | |||
| 25691 | int | 25755 | int |
| 25692 | cursor_in_mouse_face_p (struct window *w) | 25756 | cursor_in_mouse_face_p (struct window *w) |
| 25693 | { | 25757 | { |
| 25694 | return coords_in_mouse_face_p (w, w->phys_cursor.hpos, w->phys_cursor.vpos); | 25758 | int hpos = w->phys_cursor.hpos; |
| 25759 | int vpos = w->phys_cursor.vpos; | ||
| 25760 | struct glyph_row *row = MATRIX_ROW (w->current_matrix, vpos); | ||
| 25761 | |||
| 25762 | /* When the window is hscrolled, cursor hpos can legitimately be out | ||
| 25763 | of bounds, but we draw the cursor at the corresponding window | ||
| 25764 | margin in that case. */ | ||
| 25765 | if (!row->reversed_p && hpos < 0) | ||
| 25766 | hpos = 0; | ||
| 25767 | if (row->reversed_p && hpos >= row->used[TEXT_AREA]) | ||
| 25768 | hpos = row->used[TEXT_AREA] - 1; | ||
| 25769 | |||
| 25770 | return coords_in_mouse_face_p (w, hpos, vpos); | ||
| 25695 | } | 25771 | } |
| 25696 | 25772 | ||
| 25697 | 25773 | ||
| @@ -28442,7 +28518,7 @@ To add a prefix to continuation lines, use `wrap-prefix'. */); | |||
| 28442 | DEFVAR_INT ("overline-margin", overline_margin, | 28518 | DEFVAR_INT ("overline-margin", overline_margin, |
| 28443 | doc: /* *Space between overline and text, in pixels. | 28519 | doc: /* *Space between overline and text, in pixels. |
| 28444 | The default value is 2: the height of the overline (1 pixel) plus 1 pixel | 28520 | The default value is 2: the height of the overline (1 pixel) plus 1 pixel |
| 28445 | margin to the caracter height. */); | 28521 | margin to the character height. */); |
| 28446 | overline_margin = 2; | 28522 | overline_margin = 2; |
| 28447 | 28523 | ||
| 28448 | DEFVAR_INT ("underline-minimum-offset", | 28524 | DEFVAR_INT ("underline-minimum-offset", |
diff --git a/src/xfaces.c b/src/xfaces.c index 0ed6fa1d8e2..849ad6bbdf4 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -4189,12 +4189,12 @@ prepare_face_for_display (struct frame *f, struct face *face) | |||
| 4189 | static int | 4189 | static int |
| 4190 | color_distance (XColor *x, XColor *y) | 4190 | color_distance (XColor *x, XColor *y) |
| 4191 | { | 4191 | { |
| 4192 | /* This formula is from a paper title `Colour metric' by Thiadmer Riemersma. | 4192 | /* This formula is from a paper titled `Colour metric' by Thiadmer Riemersma. |
| 4193 | Quoting from that paper: | 4193 | Quoting from that paper: |
| 4194 | 4194 | ||
| 4195 | This formula has results that are very close to L*u*v* (with the | 4195 | This formula has results that are very close to L*u*v* (with the |
| 4196 | modified lightness curve) and, more importantly, it is a more even | 4196 | modified lightness curve) and, more importantly, it is a more even |
| 4197 | algorithm: it does not have a range of colours where it suddenly | 4197 | algorithm: it does not have a range of colors where it suddenly |
| 4198 | gives far from optimal results. | 4198 | gives far from optimal results. |
| 4199 | 4199 | ||
| 4200 | See <http://www.compuphase.com/cmetric.htm> for more info. */ | 4200 | See <http://www.compuphase.com/cmetric.htm> for more info. */ |
diff --git a/src/xfns.c b/src/xfns.c index 2359a1a82c2..88e8ac595c5 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -2962,7 +2962,7 @@ x_default_font_parameter (struct frame *f, Lisp_Object parms) | |||
| 2962 | 2962 | ||
| 2963 | if (NILP (font_param)) | 2963 | if (NILP (font_param)) |
| 2964 | { | 2964 | { |
| 2965 | /* System font should take precedendce over X resources. We suggest this | 2965 | /* System font should take precedence over X resources. We suggest this |
| 2966 | regardless of font-use-system-font because .emacs may not have been | 2966 | regardless of font-use-system-font because .emacs may not have been |
| 2967 | read yet. */ | 2967 | read yet. */ |
| 2968 | const char *system_font = xsettings_get_system_font (); | 2968 | const char *system_font = xsettings_get_system_font (); |
| @@ -3691,7 +3691,7 @@ If omitted or nil, that stands for the selected frame's display. */) | |||
| 3691 | 3691 | ||
| 3692 | DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0, | 3692 | DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0, |
| 3693 | doc: /* Return the "vendor ID" string of the X server of display TERMINAL. | 3693 | doc: /* Return the "vendor ID" string of the X server of display TERMINAL. |
| 3694 | \(Labelling every distributor as a "vendor" embodies the false assumption | 3694 | \(Labeling every distributor as a "vendor" embodies the false assumption |
| 3695 | that operating systems cannot be developed and distributed noncommercially.) | 3695 | that operating systems cannot be developed and distributed noncommercially.) |
| 3696 | The optional argument TERMINAL specifies which display to ask about. | 3696 | The optional argument TERMINAL specifies which display to ask about. |
| 3697 | TERMINAL should be a terminal object, a frame or a display name (a string). | 3697 | TERMINAL should be a terminal object, a frame or a display name (a string). |
diff --git a/src/xfont.c b/src/xfont.c index 2c3ca911623..60e5aa6e98e 100644 --- a/src/xfont.c +++ b/src/xfont.c | |||
| @@ -272,8 +272,8 @@ xfont_chars_supported (Lisp_Object chars, XFontStruct *xfont, | |||
| 272 | return 0; | 272 | return 0; |
| 273 | } | 273 | } |
| 274 | 274 | ||
| 275 | /* A hash table recoding which font supports which scritps. Each key | 275 | /* A hash table recoding which font supports which scripts. Each key |
| 276 | is a vector of characteristic font propertis FOUNDRY to WIDTH and | 276 | is a vector of characteristic font properties FOUNDRY to WIDTH and |
| 277 | ADDSTYLE, and each value is a list of script symbols. | 277 | ADDSTYLE, and each value is a list of script symbols. |
| 278 | 278 | ||
| 279 | We assume that fonts that have the same value in the above | 279 | We assume that fonts that have the same value in the above |
| @@ -281,7 +281,7 @@ xfont_chars_supported (Lisp_Object chars, XFontStruct *xfont, | |||
| 281 | 281 | ||
| 282 | static Lisp_Object xfont_scripts_cache; | 282 | static Lisp_Object xfont_scripts_cache; |
| 283 | 283 | ||
| 284 | /* Re-usable vector to store characteristic font properites. */ | 284 | /* Re-usable vector to store characteristic font properties. */ |
| 285 | static Lisp_Object xfont_scratch_props; | 285 | static Lisp_Object xfont_scratch_props; |
| 286 | 286 | ||
| 287 | /* Return a list of scripts supported by the font of FONTNAME whose | 287 | /* Return a list of scripts supported by the font of FONTNAME whose |
diff --git a/src/xmenu.c b/src/xmenu.c index 0dd652b566d..4b7bbfd73dc 100644 --- a/src/xmenu.c +++ b/src/xmenu.c | |||
| @@ -1304,7 +1304,7 @@ free_frame_menubar (FRAME_PTR f) | |||
| 1304 | #ifdef USE_MOTIF | 1304 | #ifdef USE_MOTIF |
| 1305 | /* Removing the menu bar magically changes the shell widget's x | 1305 | /* Removing the menu bar magically changes the shell widget's x |
| 1306 | and y position of (0, 0) which, when the menu bar is turned | 1306 | and y position of (0, 0) which, when the menu bar is turned |
| 1307 | on again, leads to pull-down menuss appearing in strange | 1307 | on again, leads to pull-down menus appearing in strange |
| 1308 | positions near the upper-left corner of the display. This | 1308 | positions near the upper-left corner of the display. This |
| 1309 | happens only with some window managers like twm and ctwm, | 1309 | happens only with some window managers like twm and ctwm, |
| 1310 | but not with other like Motif's mwm or kwm, because the | 1310 | but not with other like Motif's mwm or kwm, because the |
diff --git a/src/xselect.c b/src/xselect.c index adee1872dba..4bfab4143cc 100644 --- a/src/xselect.c +++ b/src/xselect.c | |||
| @@ -2355,7 +2355,7 @@ x_fill_property_data (Display *dpy, Lisp_Object data, void *ret, int format) | |||
| 2355 | F is the frame to be used to look up X atoms if the TYPE is XA_ATOM. | 2355 | F is the frame to be used to look up X atoms if the TYPE is XA_ATOM. |
| 2356 | DATA is a C array of values to be converted. | 2356 | DATA is a C array of values to be converted. |
| 2357 | TYPE is the type of the data. Only XA_ATOM is special, it converts | 2357 | TYPE is the type of the data. Only XA_ATOM is special, it converts |
| 2358 | each number in DATA to its corresponfing X atom as a symbol. | 2358 | each number in DATA to its corresponding X atom as a symbol. |
| 2359 | FORMAT is 8, 16 or 32 and gives the size in bits for each C value to | 2359 | FORMAT is 8, 16 or 32 and gives the size in bits for each C value to |
| 2360 | be stored in RET. | 2360 | be stored in RET. |
| 2361 | SIZE is the number of elements in DATA. | 2361 | SIZE is the number of elements in DATA. |
diff --git a/src/xsettings.c b/src/xsettings.c index d57f3b5be81..a8604ac5897 100644 --- a/src/xsettings.c +++ b/src/xsettings.c | |||
| @@ -121,7 +121,7 @@ store_font_name_changed (const char *newfont) | |||
| 121 | } | 121 | } |
| 122 | #endif /* HAVE_XFT */ | 122 | #endif /* HAVE_XFT */ |
| 123 | 123 | ||
| 124 | /* Map TOOL_BAR_STYLE from a string to its correspinding Lisp value. | 124 | /* Map TOOL_BAR_STYLE from a string to its corresponding Lisp value. |
| 125 | Return Qnil if TOOL_BAR_STYLE is not known. */ | 125 | Return Qnil if TOOL_BAR_STYLE is not known. */ |
| 126 | 126 | ||
| 127 | static Lisp_Object | 127 | static Lisp_Object |
diff --git a/src/xsmfns.c b/src/xsmfns.c index 55daec73307..7deac7b14e4 100644 --- a/src/xsmfns.c +++ b/src/xsmfns.c | |||
| @@ -462,7 +462,7 @@ x_session_initialize (struct x_display_info *dpyinfo) | |||
| 462 | Vx_session_id = build_string (client_id); | 462 | Vx_session_id = build_string (client_id); |
| 463 | 463 | ||
| 464 | #ifdef USE_GTK | 464 | #ifdef USE_GTK |
| 465 | /* GTK creats a leader window by itself, but we need to tell | 465 | /* GTK creates a leader window by itself, but we need to tell |
| 466 | it about our client_id. */ | 466 | it about our client_id. */ |
| 467 | gdk_x11_set_sm_client_id (client_id); | 467 | gdk_x11_set_sm_client_id (client_id); |
| 468 | #else | 468 | #else |
diff --git a/src/xterm.c b/src/xterm.c index fb77faa75fe..0e529714eb6 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -4184,7 +4184,7 @@ static Boolean xaw3d_arrow_scroll; | |||
| 4184 | 4184 | ||
| 4185 | /* Whether the drag scrolling maintains the mouse at the top of the | 4185 | /* Whether the drag scrolling maintains the mouse at the top of the |
| 4186 | thumb. If not, resizing the thumb needs to be done more carefully | 4186 | thumb. If not, resizing the thumb needs to be done more carefully |
| 4187 | to avoid jerkyness. */ | 4187 | to avoid jerkiness. */ |
| 4188 | 4188 | ||
| 4189 | static Boolean xaw3d_pick_top; | 4189 | static Boolean xaw3d_pick_top; |
| 4190 | 4190 | ||
| @@ -6120,7 +6120,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventptr, | |||
| 6120 | { | 6120 | { |
| 6121 | /* Gnome shell does not iconify us when C-z is pressed. It hides | 6121 | /* Gnome shell does not iconify us when C-z is pressed. It hides |
| 6122 | the frame. So if our state says we aren't hidden anymore, | 6122 | the frame. So if our state says we aren't hidden anymore, |
| 6123 | treat is as deiconfied. */ | 6123 | treat it as deiconified. */ |
| 6124 | if (! f->async_iconified) | 6124 | if (! f->async_iconified) |
| 6125 | SET_FRAME_GARBAGED (f); | 6125 | SET_FRAME_GARBAGED (f); |
| 6126 | f->async_visible = 1; | 6126 | f->async_visible = 1; |
diff --git a/src/xterm.h b/src/xterm.h index e10a6bc34f0..1d2ce9a2d3c 100644 --- a/src/xterm.h +++ b/src/xterm.h | |||
| @@ -330,7 +330,7 @@ struct x_display_info | |||
| 330 | ptrdiff_t x_dnd_atoms_length; | 330 | ptrdiff_t x_dnd_atoms_length; |
| 331 | 331 | ||
| 332 | /* Extended window manager hints, Atoms supported by the window manager and | 332 | /* Extended window manager hints, Atoms supported by the window manager and |
| 333 | atoms for settig the window type. */ | 333 | atoms for setting the window type. */ |
| 334 | Atom Xatom_net_supported, Xatom_net_supporting_wm_check; | 334 | Atom Xatom_net_supported, Xatom_net_supporting_wm_check; |
| 335 | Atom *net_supported_atoms; | 335 | Atom *net_supported_atoms; |
| 336 | int nr_net_supported_atoms; | 336 | int nr_net_supported_atoms; |