1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00
Commit graph

100881 commits

Author SHA1 Message Date
Chong Yidong
60002bf5c8 * src/image.c (gif_load): Implement gif89a spec "no disposal" method. 2011-06-06 17:03:43 -04:00
Paul Eggert
9afafefb1b Merge from gnulib.
* lib/careadlinkat.c, lib/careadlinkat.h, m4/gnulib-common.m4: Merge.
2011-06-06 12:53:44 -07:00
Paul Eggert
001903b549 Merge: Document wide integers better. 2011-06-06 12:43:39 -07:00
Paul Eggert
b862a52ad3 Add Bug#8794 to ChangeLog entry. 2011-06-06 11:37:51 -07:00
Paul Eggert
0c1477cd00 Merge: Cons<->int and similar integer overflow fixes. 2011-06-06 11:36:36 -07:00
Paul Eggert
695e5b41ac * Makefile.in (ALL_CFLAGS): Add -I$(srcdir)/../lib.
This is needed because lisp.h includes intprops.h now.
2011-06-06 11:26:04 -07:00
Paul Eggert
77984278b9 Merge from trunk. 2011-06-06 10:58:07 -07:00
Stefan Monnier
d6d100dd7c * src/window.h (Fwindow_frame): Declare. 2011-06-06 13:54:34 -03:00
Paul Eggert
2b6148e42e * alloc.c: Simplify handling of large-request failures (Bug#8800).
(SPARE_MEMORY): Always define.
(LARGE_REQUEST): Remove.
(memory_full): Use SPARE_MEMORY rather than LARGE_REQUEST.
2011-06-06 09:41:21 -07:00
Martin Rudalics
85cc1f1195 Add window-tree based, atomic and side window functions to window.el.
* window.el (window-right, window-left, window-child)
(window-child-count, window-last-child, window-any-p)
(normalize-live-buffer, normalize-live-frame)
(normalize-any-window, normalize-live-window)
(window-iso-combination-p, window-iso-combined-p)
(window-iso-combinations)
(walk-window-tree-1, walk-window-tree, walk-window-subtree)
(windows-with-parameter, window-with-parameter)
(window-atom-root, make-window-atom, window-atom-check-1)
(window-atom-check, window-side-check, window-check): New
functions.
(ignore-window-parameters, window-sides, window-sides-vertical)
(window-sides-slots): New variables.
(window-size-fixed): Move down in code.  Minor doc-string fix.
2011-06-06 17:21:07 +02:00
Martin Rudalics
727e958ef0 Move some window-related functions from frame.c to window.c.
* lisp.h: Move EXFUNS for Fframe_root_window,
Fframe_first_window and Fset_frame_selected_window to window.h.

* window.h: Move EXFUNS for Fframe_root_window,
Fframe_first_window and Fset_frame_selected_window here from
lisp.h.

* frame.c (Fwindow_frame, Fframe_first_window)
(Fframe_root_window, Fframe_selected_window)
(Fset_frame_selected_window): Move to window.c.
(Factive_minibuffer_window): Move to minibuf.c.
(Fother_visible_frames_p): New function.

* minibuf.c (Factive_minibuffer_window): Move here from frame.c.

* window.c (Fwindow_frame): Move here from frame.c.  Accept any
window as argument.
(Fframe_root_window, Fframe_first_window)
(Fframe_selected_window): Move here from frame.c.  Accept frame
or arbitrary window as argument.  Update doc-strings.
(Fminibuffer_window): Move up in code.
(Fwindow_minibuffer_p): Move up in code and simplify.
(Fset_frame_selected_window): Move here from frame.c.  Marginal
rewrite.
(Fselected_window, select_window, Fselect_window): Move up in
code.  Minor doc-string fixes.
2011-06-06 15:57:49 +02:00
Martin Rudalics
bf60a96bc6 Expose window-tree functions in Elisp.
(Fwindow_buffer): Move up and rewrite doc-string.
(Fwindow_parent, Fwindow_vchild, Fwindow_hchild, Fwindow_next)
(Fwindow_prev): New functions.
2011-06-06 11:09:42 +02:00
Paul Eggert
be44ca6cd4 Check for overflow when converting integer to cons and back.
* charset.c (Fdefine_charset_internal, Fdecode_char):
Use cons_to_unsigned to catch overflow.
(Fencode_char): Use INTEGER_TO_CONS.
* composite.h (LGLYPH_CODE): Use cons_to_unsigned.
(LGLYPH_SET_CODE): Use INTEGER_TO_CONS.
* data.c (long_to_cons, cons_to_long): Remove.
(cons_to_unsigned, cons_to_signed): New functions.
These signal an error for invalid or out-of-range values.
* dired.c (Ffile_attributes): Use INTEGER_TO_CONS.
* fileio.c (Fset_visited_file_modtime): Use CONS_TO_INTEGER.
* font.c (Ffont_variation_glyphs):
* fontset.c (Finternal_char_font): Use INTEGER_TO_CONS.
* lisp.h: Include <intprops.h>.
(INTEGER_TO_CONS, CONS_TO_INTEGER): New macros.
(cons_to_signed, cons_to_unsigned): New decls.
(long_to_cons, cons_to_long): Remove decls.
* undo.c (record_first_change): Use INTEGER_TO_CONS.
(Fprimitive_undo): Use CONS_TO_INTEGER.
* xfns.c (Fx_window_property): Likewise.
* xselect.c: Include <limits.h>.
(x_own_selection, selection_data_to_lisp_data):
Use INTEGER_TO_CONS.
(x_handle_selection_request, x_handle_selection_clear)
(x_get_foreign_selection, Fx_disown_selection_internal)
(Fx_get_atom_name, x_send_client_event): Use CONS_TO_INTEGER.
(lisp_data_to_selection_data): Use cons_to_unsigned.
(x_fill_property_data): Use cons_to_signed.
Report values out of range.
2011-06-06 01:29:01 -07:00
Martin Rudalics
f230ecc962 Prepare for exposing window-tree functions in Elisp.
* window.c (decode_window, decode_any_window): Move up in code.
(Fwindowp, Fwindow_live_p): Rewrite doc-strings.
(inhibit_frame_unsplittable): Remove unused variable.
2011-06-06 10:13:36 +02:00
Paul Eggert
d1f3d2afe1 Check for buffer and string overflow more precisely.
* buffer.h (BUF_BYTES_MAX): New macro.
* lisp.h (STRING_BYTES_MAX): New macro.
* alloc.c (Fmake_string):
* character.c (string_escape_byte8):
* coding.c (coding_alloc_by_realloc):
* doprnt.c (doprnt):
* editfns.c (Fformat):
* eval.c (verror):
Use STRING_BYTES_MAX, not MOST_POSITIVE_FIXNUM,
since they may not be the same number.
* editfns.c (Finsert_char):
* fileio.c (Finsert_file_contents):
Likewise for BUF_BYTES_MAX.
2011-06-05 23:16:12 -07:00
Paul Eggert
dd52fcea06 * image.c: Use ptrdiff_t, not int, for sizes.
(slurp_file): Switch from int to ptrdiff_t.
All uses changed.
(slurp_file): Check that file size fits in both size_t (for
malloc) and ptrdiff_t (for sanity and safety).
2011-06-05 23:10:06 -07:00
Paul Eggert
7f9bbdbbd6 * fileio.c (Fverify_visited_file_modtime): Avoid time overflow
if b->modtime has its maximal value.
2011-06-05 22:57:31 -07:00
Paul Eggert
dfe18f824f * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits. 2011-06-05 22:55:38 -07:00
Paul Eggert
0157c76139 Don't assume time_t can fit into int.
* buffer.h (struct buffer.modtime): Now time_t, not int.
* fileio.c (Fvisited_file_modtime): No need for time_t cast now.
* undo.c (Fprimitive_undo): Use time_t, not int, for time_t value.
2011-06-05 22:50:29 -07:00
Paul Eggert
0c671da60d Minor fixes for signed vs unsigned integers.
* character.h (MAYBE_UNIFY_CHAR):
* charset.c (maybe_unify_char):
* keyboard.c (read_char, reorder_modifiers):
XINT -> XFASTINT, since the integer must be nonnegative.
* ftfont.c (ftfont_spec_pattern):
* keymap.c (access_keymap, silly_event_symbol_error):
XUINT -> XFASTINT, since the integer must be nonnegative.
(Fsingle_key_description, preferred_sequence_p): XUINT -> XINT,
since it makes no difference and we prefer signed.
* keyboard.c (record_char): Use XUINT when all the neighbors do.
(access_keymap): NATNUMP -> INTEGERP, since the integer must be
nonnegative.
2011-06-05 22:48:28 -07:00
Paul Eggert
4d09bcf621 * alloc.c (memory_full) [SYSTEM_MALLOC]: Port to MacO).
Fixes: debbugs:8800
2011-06-05 21:54:23 -07:00
Andreas Schwab
e71564921e * lisp/comint.el (comint-dynamic-complete-as-filename)
(comint-dynamic-complete-filename): Correctly call
completion-in-region.
2011-06-06 01:20:16 +02:00
Andreas Schwab
172418ad54 Fixes: debbugs:8806
* src/editfns.c (Fformat): Correctly handle zero flag with hexadecimal
format.
2011-06-06 00:46:26 +02:00
Andreas Schwab
43f862f74e * src/gtkutil.c (xg_get_default_scrollbar_width): Avoid warning. 2011-06-06 00:20:42 +02:00
Andreas Schwab
810928a2bf * src/xfns.c (x_set_scroll_bar_default_width): Move declarations
before statements.
2011-06-06 00:20:42 +02:00
Deniz Dogan
7e821d0da8 * lisp/net/rcirc.el (rcirc-prompt-for-encryption): Fix bug introduced in last change. 2011-06-05 21:39:17 +02:00
Jan Djärv
a059fe247c Handle scroll bar width larger than 16 for GTK3.
* gtkutil.c (xg_get_default_scrollbar_width): New function.

* gtkutil.h: Declare xg_get_default_scrollbar_width.

* xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get
min width by calling x_set_scroll_bar_default_width.

Fixes: debbugs:8505
2011-06-05 21:04:51 +02:00
Deniz Dogan
ac09b8a128 * lisp/net/rcirc.el (rcirc-prompt-for-encryption): New function.
(rcirc): Use it to prompt for encryption.
2011-06-05 21:03:28 +02:00
Roland Winkler
34699b85fd lisp/textmodes/bibtex.el: new command bibtex-search-entries 2011-06-05 00:46:43 -05:00
Roland Winkler
004dedd364 lisp/textmodes/bibtex.el: various small bug fixes 2011-06-04 23:58:39 -05:00
Roland Winkler
022fe7ce8b lisp/textmodes/bibtex.el (bibtex-search-entry-globally): New variable 2011-06-04 23:47:45 -05:00
Roland Winkler
b7c3692a4c lisp/textmodes/bibtex.el (bibtex-entry-format): new option sort-fields 2011-06-04 23:39:40 -05:00
Juanma Barranquero
8eda563d1e lisp/doc-view.el: Silence compiler warning. 2011-06-05 02:18:46 +02:00
Juanma Barranquero
989bf36895 src/xdisp.c (single_display_spec_intangible_p): Remove declaration. 2011-06-05 02:14:08 +02:00
Chong Yidong
7dbe3dbc59 Doc fixes for timer.el (Bug#8793).
* emacs-lisp/timer.el (timer-activate): Remove unused arg.
(timer-activate, timer-activate-when-idle): Doc fix.
2011-06-04 18:46:26 -04:00
Chong Yidong
de65b42cbf * src/xselect.c (x_get_foreign_selection): Reduce scope of x_catch_errors (Bug#8790). 2011-06-04 18:08:32 -04:00
Chong Yidong
4b80f6746d Handle errors when saving to clipboard manager (Bug#8779).
* src/xselect.c (x_clipboard_manager_save): Remove redundant arg.
(x_clipboard_manager_save): Add return value.
(x_clipboard_manager_error_1, x_clipboard_manager_error_2): New
error handlers.
(x_clipboard_manager_save_frame, x_clipboard_manager_save_all):
Obey Vx_select_enable_clipboard_manager.  Catch errors in
x_clipboard_manager_save (Bug#8779).
(Vx_select_enable_clipboard_manager): New variable.
2011-06-04 17:02:42 -04:00
Glenn Morris
99a33b77e1 Merge from emacs-23; up to 2010-06-12T17:12:15Z!cyd@stupidchicken.com. 2011-06-04 11:29:18 -07:00
Paul Eggert
1cfbb9666b * lib/getopt.c: Merge trivial change from gnulib. 2011-06-04 09:51:28 -07:00
Deniz Dogan
ade1b01cb4 Fix mistake in last iswitchb.el bug fix. 2011-06-04 17:13:11 +02:00
Michael Albinus
0c33dd17ea * net/tramp-sh.el (tramp-find-shell): Apply workaround also for
"SunOS 5.10".
2011-06-04 16:11:26 +02:00
Michael Albinus
f8f91c2ba8 * net/tramp.el (tramp-set-completion-function, tramp-parse-rhosts)
(tramp-parse-shosts, tramp-parse-sconfig, tramp-parse-shostkeys)
(tramp-parse-hosts, tramp-parse-passwd, tramp-parse-netrc)
(tramp-parse-putty):
* net/tramp-sh.el (tramp-completion-function-alist-rsh)
(tramp-completion-function-alist-ssh)
(tramp-completion-function-alist-telnet)
(tramp-completion-function-alist-su)
(tramp-completion-function-alist-putty): Set `tramp-autoload'
cookie.

* net/tramp-ftp.el:
* net/tramp-sh.el:
* net/tramp-smb.el: Set `tramp-autoload' cookie, and eval after
load "tramp.el" `tramp-set-completion-function'.
2011-06-04 15:58:37 +02:00
Stefan Monnier
e17d900361 * lisp/shell.el: Require and use pcomplete.
(shell-dynamic-complete-functions): Add pcomplete-completions-at-point.
(shell-completion-vars): Set pcomplete-default-completion-function.
2011-06-04 09:31:34 -03:00
Deniz Dogan
6c4cab0308 * lisp/iswitchb.el (iswitchb-window-buffer-p): Use member' instead of memq'.
Fixes: debbugs:8799
2011-06-04 13:02:37 +02:00
Eli Zaretskii
8264569dfe src/bidi.c (bidi_level_of_next_char): Fix last change. 2011-06-04 11:04:48 +03:00
Andreas Schwab
5993c059db * lisp/url/url-future.el (url-future-test): Fix scope of `saver'. 2011-06-04 09:53:22 +02:00
Eli Zaretskii
fec2107c58 Support bidi reordering of text covered by display properties.
src/bidi.c (bidi_copy_it): Use offsetof instead of emulating it.
 (bidi_fetch_char, bidi_fetch_char_advance): New functions.
 (bidi_cache_search, bidi_cache_iterator_state)
 (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak)
 (bidi_level_of_next_char, bidi_move_to_visually_next): Support
 character positions inside a run of characters covered by a
 display string.
 (bidi_paragraph_init, bidi_resolve_explicit_1)
 (bidi_level_of_next_char): Call bidi_fetch_char and
 bidi_fetch_char_advance instead of FETCH_CHAR and
 FETCH_CHAR_ADVANCE.
 (bidi_init_it): Initialize new members.
 (LRE_CHAR, RLE_CHAR, PDF_CHAR, LRO_CHAR, RLO_CHAR): Remove macro
 definitions.
 (bidi_explicit_dir_char): Lookup character type in bidi_type_table,
 instead of using explicit *_CHAR codes.
 (bidi_resolve_explicit, bidi_resolve_weak): Use
 FETCH_MULTIBYTE_CHAR instead of FETCH_CHAR, as reordering of
 bidirectional text is supported only in multibyte buffers.
 (bidi_init_it): Accept additional argument FRAME_WINDOW_P and use
 it to initialize the frame_window_p member of struct bidi_it.
 (bidi_cache_iterator_state, bidi_resolve_explicit_1)
 (bidi_resolve_explicit, bidi_resolve_weak)
 (bidi_level_of_next_char, bidi_move_to_visually_next): Abort if
 bidi_it->nchars is non-positive.
 (bidi_level_of_next_char): Don't try to lookup the cache for the
 next/previous character if nothing is cached there yet, or if we
 were just reseat()'ed to a new position.
 src/xdisp.c (set_cursor_from_row): Set start and stop points
 according to the row's direction when priming the loop that looks
 for the glyph on which to display cursor.
 (single_display_spec_intangible_p): Function deleted.
 (display_prop_intangible_p): Reimplement to call
 handle_display_spec instead of single_display_spec_intangible_p.
 Accept 3 additional arguments needed by handle_display_spec.  This
 fixes incorrect cursor motion across display property with complex
 values: lists, `(when COND...)' forms, etc.
 (single_display_spec_string_p): Support property values that are
 lists with the argument STRING its top-level element.
 (display_prop_string_p): Fix the condition for processing a
 property that is a list to be consistent with handle_display_spec.
 (handle_display_spec): New function, refactored from the
 last portion of handle_display_prop.
 (compute_display_string_pos): Accept additional argument
 FRAME_WINDOW_P.  Call handle_display_spec to determine whether the
 value of a `display' property is a "replacing spec".
 (handle_single_display_spec): Accept 2 additional arguments BUFPOS
 and FRAME_WINDOW_P.  If IT is NULL, don't set up the iterator from
 the display property, but just return a value indicating whether
 the display property will replace the characters it covers.
 (Fcurrent_bidi_paragraph_direction): Initialize the nchars and
 frame_window_p members of struct bidi_it.
 (compute_display_string_pos, compute_display_string_end): New
 functions.
 (push_it): Accept second argument POSITION, where pop_it should
 jump to continue iteration.
 (reseat_1): Initialize bidi_it.disp_pos.
 src/keyboard.c (adjust_point_for_property): Adjust the call to
 display_prop_intangible_p to its new signature.
 src/dispextern.h (struct bidi_it): New member frame_window_p.
 (bidi_init_it): Update prototypes.
 (display_prop_intangible_p): Update prototype.
 (compute_display_string_pos, compute_display_string_end): Declare
 prototypes.
 (struct bidi_it): New members nchars and disp_pos.  ch_len is now
 EMACS_INT.
2011-06-04 10:41:44 +03:00
Paul Eggert
cad02d3b80 * image.c (svg_load): Omit needless test. 2011-06-03 20:24:42 -07:00
Paul Eggert
edaa182249 Check for buffer and string overflow more precisely.
* buffer.h (BUF_BYTES_MAX): New macro.
* lisp.h (STRING_BYTES_MAX): New macro.
* alloc.c (Fmake_string):
* character.c (string_escape_byte8):
* coding.c (coding_alloc_by_realloc):
* doprnt.c (doprnt):
* editfns.c (Fformat):
* eval.c (verror):
Use STRING_BYTES_MAX, not MOST_POSITIVE_FIXNUM,
since they may not be the same number.
* editfns.c (Finsert_char):
* fileio.c (Finsert_file_contents):
Likewise for BUF_BYTES_MAX.
2011-06-03 19:49:51 -07:00
Paul Eggert
c6c3615fb2 Use ptrdiff_t, not int, for sizes.
* image.c (slurp_file): Switch from int to ptrdiff_t.
All uses changed.
(slurp_file, svg_load): Check that file size fits in both
size_t (for malloc) and ptrdiff_t (for sanity and safety).
2011-06-03 19:02:36 -07:00