1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-29 16:41:45 -08:00
Commit graph

100955 commits

Author SHA1 Message Date
Paul Eggert
d37ca62316 Remove incorrect casts to 'unsigned' that lose info on 64-bit hosts.
These casts should not be needed on 32-bit hosts, either.
* keyboard.c (read_char):
* lread.c (Fload): Remove casts to unsigned.
2011-06-12 16:28:37 -07:00
Paul Eggert
ea204efb8a * lisp.h (UNSIGNED_CMP): New macro.
This fixes comparison bugs on 64-bit hosts.
(ASCII_CHAR_P): Use it.
* casefiddle.c (casify_object):
* character.h (ASCII_BYTE_P, CHAR_VALID_P):
(SINGLE_BYTE_CHAR_P, CHAR_STRING):
* composite.h (COMPOSITION_ENCODE_RULE_VALID):
* dispextern.h (FACE_FROM_ID):
* keyboard.c (read_char): Use UNSIGNED_CMP.
2011-06-12 16:25:12 -07:00
Paul Eggert
78cf1fe8a2 Merge from trunk. 2011-06-10 22:47:05 -07:00
Paul Eggert
fc83f7d3d4 Merge from trunk. 2011-06-10 22:46:16 -07:00
Chong Yidong
b50691aaaf Cruft removal in struct image.
* src/dispextern.h (struct image): Replace data member, whose int_val
and ptr_val fields were not used by anything, with a single
lisp_val object.

* src/image.c (Fimage_metadata, make_image, mark_image, tiff_load)
(gif_clear_image, gif_load, imagemagick_load_image)
(gs_clear_image, gs_load): Callers changed.
2011-06-10 21:48:59 -04:00
Paul Eggert
cca693976c * buffer.h: Include <time.h>, for time_t.
Needed to build on FreeBSD 8.2.  Problem reported by Herbert J. Skuhra.
2011-06-10 13:52:30 -07:00
Paul Eggert
109e28d0b3 Merge: Fix minor problems found by static checking.
* image.c (PixelGetMagickColor): Declare if ImageMagick headers don't.

Make identifiers static if they are not used in other modules.
* data.c (Qcompiled_function, Qframe, Qvector):
* image.c (QimageMagick, Qsvg):
* minibuf.c (Qmetadata):
* window.c (resize_window_check, resize_root_window): Now static.
* window.h (resize_window_check, resize_root_window): Remove decls.

* window.c (window_deletion_count, delete_deletable_window):
Remove; unused.
(window_body_lines): Now static.
(Fdelete_other_windows_internal): Mark vars as initialized.
Make sure 'resize_failed' is initialized.
(run_window_configuration_change_hook): Rename local to avoid shadowing.
(resize_window_apply): Remove unused local.
* window.h (delete_deletable_window): Remove decl.

* image.c (gif_load, svg_load_image): Rename locals to avoid shadowing.
(imagemagick_load_image): Fix pointer signedness problem by changing
last arg from unsigned char * to char *.  All uses changed.
Also, fix a local for similar reasons.
Remove unused locals.  Remove locals to avoid shadowing.
(fn_rsvg_handle_free): Remove; unused.
(svg_load, svg_load_image): Fix pointer signedness problem.
(imagemagick_load_image): Don't use garbage pointer image_wand.

* ftfont.c (ftfont_get_metrics, ftfont_drive_otf): Remove unused locals.
2011-06-10 13:38:18 -07:00
Paul Eggert
60737f02aa * image.c (PixelGetMagickColor): Declare if ImageMagick headers don't. 2011-06-10 13:34:05 -07:00
Paul Eggert
4b66faf3de Make identifiers static if they are not used in other modules.
* data.c (Qcompiled_function, Qframe, Qvector):
* image.c (QimageMagick, Qsvg):
* minibuf.c (Qmetadata):
* window.c (resize_window_check, resize_root_window): Now static.
* window.h (resize_window_check, resize_root_window): Remove decls.
2011-06-10 13:05:21 -07:00
Paul Eggert
f7e13da36c * image.c (imagemagick_load_image): Don't use garbage pointer image_wand. 2011-06-10 12:52:27 -07:00
Paul Eggert
46a4ce9efb * window.c: Fix minor problems reported by GCC 4.6.0.
(window_deletion_count, delete_deletable_window): Remove; unused.
(window_body_lines): Now static.
(Fdelete_other_windows_internal): Mark vars as initialized.
Make sure 'resize_failed' is initialized.
(run_window_configuration_change_hook): Rename local to avoid shadowing.
(resize_window_apply): Remove unused local.
* window.h (delete_deletable_window): Remove decl.
2011-06-10 12:52:05 -07:00
Paul Eggert
332905285a * image.c: Fix minor problems reported by GCC 4.6.0.
(gif_load, svg_load_image): Rename locals to avoid shadowing.
(imagemagick_load_image): Fix pointer signedness problem by changing
last arg from unsigned char * to char *.  All uses changed.
Also, fix a local for similar reasons.
Remove unused locals.  Remove locals to avoid shadowing.
(fn_rsvg_handle_free): Remove; unused.
(svg_load, svg_load_image): Fix pointer signedness problem.
2011-06-10 12:35:58 -07:00
Paul Eggert
3f754b86f8 * ftfont.c (ftfont_get_metrics, ftfont_drive_otf): Remove unused locals. 2011-06-10 12:31:15 -07:00
Paul Eggert
e41e9a0e24 Merge from trunk. 2011-06-10 11:19:35 -07:00
Paul Eggert
529a133c39 * movemail.c: Fix race condition and related bugs (Bug#8836).
(main) [!MAIL_USE_SYSTEM_LOCK]: Prefer mkstemp to mktemp, as this
fixes some race conditions.  Report mkstemp/mktemp errno rather
than a possibly-garbage errno.  Reinitialize the template each
time through the loop, as earlier mkstemp/mktemp calls could have
trashed it.  Pass 0600 (not 0666) to mktemp, for consistency
with mkstemp; the permissions don't matter anyway.
2011-06-10 10:50:07 -07:00
Chong Yidong
2547adb13e * image.c (gif_load): Fix omitted cast error introduced by 2011-06-06 change. 2011-06-10 11:46:48 -04:00
Martin Rudalics
2c8e37d497 Some more window.h fixes missing in 2011-06-10T06:55:18Z!rudalics@gmx.at.
* window.h (resize_proportionally, orig_total_lines)
(orig_top_line): Remove from window structure.
(set_window_height, set_window_width, change_window_heights)
(Fdelete_window): Remove prototypes.
(resize_frame_windows): Remove duplicate declaration.
2011-06-10 15:18:13 +02:00
Eli Zaretskii
440a42e34c Avoid compiler warnings about missing prototypes of window.c functions.
src/window.h (resize_frame_windows, resize_window_check)
 (delete_deletable_window, resize_root_window)
 (resize_frame_windows): Declare prototypes.
 src/ window.c (resize_window_apply): Make definition be "static" to
 match the prototype.
2011-06-10 13:16:15 +03:00
Martin Rudalics
562dd5e953 Move window resize code from window.c to window.el.
* window.c: Remove declarations of Qwindow_size_fixed,
window_min_size_1, window_min_size_2, window_min_size,
size_window, window_fixed_size_p, enlarge_window, delete_window.
Remove static from declaration of Qdelete_window, it's
temporarily needed by Fbury_buffer.
(replace_window): Don't assign orig_top_line and
orig_total_lines.
(Fdelete_window, delete_window): Remove.  Window deletion is
handled by window.el.
(window_loop): Remove DELETE_OTHER_WINDOWS case.  Replace
Fdelete_window calls with calls to Qdelete_window.
(Fdelete_other_windows): Remove.  Deleting other windows is
handled by window.el.
(window_fixed_size_p): Remove.  Fixed-sizeness of windows is
handled in window.el.
(window_min_size_2, window_min_size_1, window_min_size): Remove.
Window minimum sizes are handled in window.el.
(shrink_windows, size_window, set_window_height)
(set_window_width, change_window_heights, window_height)
(window_width, CURBEG, CURSIZE, enlarge_window)
(adjust_window_trailing_edge, Fadjust_window_trailing_edge)
(Fenlarge_window, Fshrink_window): Remove.  Window resizing is
handled in window.el.
(make_dummy_parent): Rename to make_parent_window and give it a
second argument horflag.
(make_window): Don't set resize_proportionally any more.
(Fsplit_window): Remove.  Windows are split in window.el.
(save_restore_action, save_restore_orig_size)
(shrink_window_lowest_first, save_restore_orig_size): Remove.
Resize mini windows in window.el.
(grow_mini_window, shrink_mini_window): Implement by calling
Qresize_root_window_vertically, resize_window_check and
resize_window_apply.
(saved_window, Fset_window_configuration, save_window_save): Do
not handle orig_top_line, orig_total_lines, and
resize_proportionally.
(window_min_height, window_min_width): Move to window.el.
(keys_of_window): Move bindings for delete-other-windows,
split-window, delete-window and enlarge-window to window.el.

* buffer.c: Temporarily extern Qdelete_window.
(Fbury_buffer): Temporarily call Qdelete_window instead of
Fdelete_window (Fbury_buffer will move to window.el soon).

* frame.c (set_menu_bar_lines_1): Remove code handling
orig_top_line and orig_total_lines.

* dispnew.c (adjust_frame_glyphs_initially): Don't use
set_window_height but set heights directly.
(change_frame_size_1): Use resize_frame_windows.

* xdisp.c (init_xdisp): Don't use set_window_height but set
heights directly.

* xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): Use
resize_frame_windows instead of change_window_heights and run
run_window_configuration_change_hook.

* w32fns.c (x_set_tool_bar_lines): Use resize_frame_windows
instead of change_window_heights and run
run_window_configuration_change_hook.

* window.el (window-min-height, window-min-width): Move here
from window.c.  Add defcustoms and rewrite doc-strings.
(resize-mini-window, resize-window): New functions.
(adjust-window-trailing-edge, enlarge-window, shrink-window):
Move here from window.c.
(maximize-window, minimize-window): New functions.
(delete-window, delete-other-windows, split-window): Move here
from window.c.
(window-split-min-size): New function.
(split-window-keep-point): Mention split-window-above-each-other
instead of split-window-vertically.
(split-window-above-each-other, split-window-vertically): Rename
split-window-vertically to split-window-above-each-other and
provide defalias for old definition.
(split-window-side-by-side, split-window-horizontally): Rename
split-window-horizontally to split-window-side-by-side and provide
defalias for the old definition.
(ctl-x-map): Move bindings for delete-window,
delete-other-windows and enlarge-window here from window.c.
Replace bindings for split-window-vertically and
split-window-horizontally by bindings for
split-window-above-each-other and split-window-side-by-side.

* cus-start.el (all): Remove entries for window-min-height and
window-min-width.  Add entries for window-splits and
window-nest.
2011-06-10 08:55:18 +02:00
Katsumi Yamaoka
b229f37d43 Improve Gnus' dribble data handling. 2011-06-10 00:10:24 +00:00
Glenn Morris
5b4d6e0e88 * lisp/calendar/appt.el (appt-mode-line): Eliminate one local variable. 2011-06-09 16:36:04 -04:00
Glenn Morris
80675c21af Eliminate some code duplication in appt.el.
* lisp/calendar/appt.el (appt-mode-line): New function.
(appt-check, appt-disp-window): Use it.
2011-06-09 16:25:34 -04:00
Glenn Morris
f0da764a5c Allow/recommend explicit args for minor-modes in file local eval:s.
* lisp/files.el (hack-one-local-variable-eval-safep):
Allow minor-modes with explicit +/-1 arguments.

* doc/emacs/custom.texi (Specifying File Variables):
Recommend explicit arguments for minor modes.

* etc/NEWS: Likewise.

* lisp/doc-view.el, lisp/net/soap-client.el: Update file locals.
2011-06-09 16:22:06 -04:00
Paul Eggert
6a54b501af Remove obsolete comment about PNTR_COMPARISON_TYPE. 2011-06-09 12:08:29 -07:00
Paul Eggert
55daad71c7 * buffer.h (PTR_BYTE_POS, BUF_PTR_BYTE_POS): Remove harmful cast.
The cast incorrectly truncated 64-bit byte offsets to 32 bits, and
isn't needed on 32-bit machines.
2011-06-09 12:03:59 -07:00
Ted Zlatanov
59f623b770 Add `xterm-extra-capabilities' defcustom for terminals where the xterm capabilities query is not needed or wanted.
* term/xterm.el (xterm): Add defgroup.
(xterm-extra-capabilities): Add defcustom to supply known xterm
capabilities, skip querying them, or query them (default).
(terminal-init-xterm): Use it.
(terminal-init-xterm-modify-other-keys): New function to set up
modifyOtherKeys support to simplify `terminal-init-xterm'.
2011-06-09 11:58:18 -05:00
Glenn Morris
cc322c061d Auto-commit of generated files. 2011-06-09 06:18:21 -04:00
Martin Rudalics
9aab8e0d8b Final preparations in window.el for new window resize code.
* window.el (resize-window-reset, resize-window-reset-1)
(resize-subwindows-skip-p, resize-subwindows-normal)
(resize-subwindows, resize-other-windows, resize-this-window)
(resize-root-window, resize-root-window-vertically)
(window-deletable-p, window-or-subwindow-p)
(frame-root-window-p): New functions.
2011-06-09 10:41:36 +02:00
Martin Rudalics
1a13852e90 Final preparations for new window resize code.
* window.c (replace_window): Rename second argument REPLACEMENT to
NEW.  New third argument SETFLAG.  Rewrite.
(delete_window, make_dummy_parent): Call replace_window with
third argument 1.
(window_list_1): Move down in code.
(run_window_configuration_change_hook): Move set_buffer part
before select_frame_norecord part in order to unwind correctly.
Rename count1 to count.
(recombine_windows, delete_deletable_window, resize_root_window)
(Fdelete_other_windows_internal)
(Frun_window_configuration_change_hook, make_parent_window)
(resize_window_check, resize_window_apply, Fresize_window_apply)
(resize_frame_windows, Fsplit_window_internal)
(Fdelete_window_internal, Fresize_mini_window_internal): New
functions.
(syms_of_window): New variables Vwindow_splits and Vwindow_nest.
2011-06-09 08:35:02 +02:00
Glenn Morris
e8b08aeeca ange-ftp fixes for dired switches not being just a single short option.
* lisp/net/ange-ftp.el (ange-ftp-switches-ok): New function.
(ange-ftp-get-files): Use it.
2011-06-08 23:07:11 -07:00
Alexander Klimov
254c37a51d Small fixes for dired-listing-switches usage.
Ref: http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg01000.html

* lisp/mail/sendmail.el (mail-recover-1, mail-recover):
* lisp/files.el (recover-file, recover-session):
Handle dired-listing-switches not being just a single short option.
2011-06-08 22:33:26 -07:00
Glenn Morris
35d7dbd3f3 Allow some appt.el display functions to handle lists.
* lisp/calendar/appt.el (appt-display-message, appt-disp-window):
Handle lists of appointments.
2011-06-08 22:08:11 -07:00
Paul Eggert
41cb286c61 * xmenu.c (dialog_selection_callback) [!USE_GTK]: Cast to intptr_t,
not to EMACS_INT, to avoid GCC warning.
2011-06-08 18:12:45 -07:00
Paul Eggert
4a1b9832c0 * xfns.c (x_set_scroll_bar_default_width): Remove unused 'int' locals. 2011-06-08 18:11:15 -07:00
Paul Eggert
8f95c75c34 * buffer.h (PTR_BYTE_POS): Don't assume a byte count fits in 'unsigned'. 2011-06-08 18:10:27 -07:00
Paul Eggert
0ceccced4e * buffer.c (advance_to_char_boundary): Return EMACS_INT, not int. 2011-06-08 17:47:45 -07:00
Paul Eggert
666398f371 * buffer.c (Fgenerate_new_buffer_name): Use EMACS_INT for count, not int. 2011-06-08 17:40:43 -07:00
Paul Eggert
e762cafe71 * data.c (Qcompiled_function): Now static. 2011-06-08 17:19:18 -07:00
Paul Eggert
c6f072e733 * window.c (window_body_lines): Now static. 2011-06-08 14:45:17 -07:00
Paul Eggert
20ce591249 * image.c (gif_load): Rename local to avoid shadowing. 2011-06-08 14:44:48 -07:00
Paul Eggert
a3dd1c67cd * print.c (print_object): Fix typo in ptrdiff_t printing. 2011-06-08 14:43:46 -07:00
Paul Eggert
8692a7dea5 Merge from trunk. 2011-06-08 14:36:31 -07:00
Paul Eggert
9c4c5f81ce * lisp.h (SAFE_ALLOCA_LISP): Check for integer overflow.
(struct Lisp_Save_Value): Use ptrdiff_t, not int, for 'integer' member.
* alloc.c (make_save_value): Integer argument is now of type
ptrdiff_t, not int.
(mark_object): Use ptrdiff_t, not int.
* lisp.h (pD): New macro.
* print.c (print_object): Use it.
2011-06-08 12:54:32 -07:00
Paul Eggert
e46bb31a9f * alloc.c (allocate_pseudovector): Don't use EMACS_INT when int would do. 2011-06-08 12:18:46 -07:00
Paul Eggert
6349ae4d9c * alloc.c (inhibit_garbage_collection): Set gc_cons_threshold to max value.
Previously, this ceilinged at INT_MAX, but that doesn't work on
64-bit machines.
2011-06-08 12:07:55 -07:00
Paul Eggert
211a0b2a70 * alloc.c (nzombies, ngcs, max_live, max_zombies): Now EMACS_INT, not 'int'. 2011-06-08 12:01:08 -07:00
Paul Eggert
5a25e253b4 * alloc.c: (n_interval_blocks, n_string_blocks, n_float_blocks, n_cons_blocks)
(n_vectors, n_symbol_blocks, n_marker_blocks): Remove.
These were 'int' variables that could overflow on 64-bit hosts;
they were never used, so remove them instead of repairing them.
2011-06-08 11:51:02 -07:00
Paul Eggert
c0c5c8ae36 * alloc.c: Use EMACS_INT, not int, to count objects.
(total_conses, total_markers, total_symbols, total_vector_size)
(total_free_conses, total_free_markers, total_free_symbols)
(total_free_floats, total_floats, total_free_intervals, total_intervals)
(total_strings, total_free_strings):
Now EMACS_INT, not int.  All uses changed.
(Fgarbage_collect): Compute overall total using a double, so that
integer overflow is less likely to be a problem.  Check for overflow
when converting back to an integer.
2011-06-08 11:43:44 -07:00
Paul Eggert
b643996157 * alloc.c (mark_vectorlike, mark_char_table, mark_object): Avoid EMACS_UINT
when a (possibly-narrower) signed value would do just as well.
We prefer using signed arithmetic, to avoid comparison confusion.
2011-06-08 10:54:58 -07:00
Paul Eggert
86f61a158a * alloc.c (allocate_vectorlike): Check for ptrdiff_t overflow. 2011-06-08 10:48:26 -07:00