1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-20 15:10:37 -08:00
Commit graph

31546 commits

Author SHA1 Message Date
Lars Magne Ingebrigtsen
69bb1ef7df * lread.c (syms_of_lread): Mention single symbols defined by
`defvar' or `defconst' (bug#7154).
2011-07-02 18:18:24 +02:00
Lars Magne Ingebrigtsen
7b3747f94c (Frequire): Mention get-load-suffixes. 2011-07-02 16:34:45 +02:00
Lars Magne Ingebrigtsen
61352f622b * fns.c (Frequire): Mention .el.gz files.
Fixes: debbugs:7314
2011-07-02 16:30:52 +02:00
Martin Rudalics
28545e0497 Remove clone-number support. Provide clone-of parameter in window states.
* window.h (window): Remove clone_number slot.
* window.c (Fwindow_clone_number, Fset_window_clone_number):
Remove.
(make_parent_window, make_window, saved_window)
(Fset_window_configuration, save_window_save): Don't deal with
clone numbers.
* buffer.c (Qclone_number): Remove declaration.
(sort_overlays, overlay_strings): Don't deal with clone numbers.

* window.el (window-state-get-1): Don't assign clone numbers.
Add clone-of item to list of window parameters.
(window-state-put-2): Don't process clone numbers.
(display-buffer-alist): Fix doc-string.
2011-07-02 12:36:48 +02:00
Stefan Monnier
3349e122e2 Add multiple inheritance to keymaps.
* src/keymap.c (Fmake_composed_keymap): New function.
(Fset_keymap_parent): Simplify.
(fix_submap_inheritance): Remove.
(access_keymap_1): New function extracted from access_keymap to handle
embedded parents and handle lists of maps.
(access_keymap): Use it.
(Fkeymap_prompt, map_keymap_internal, map_keymap, store_in_keymap)
(Fcopy_keymap): Handle embedded parents.
(Fcommand_remapping, define_as_prefix): Simplify.
(Fkey_binding): Simplify.
(syms_of_keymap): Move minibuffer-local-completion-map,
minibuffer-local-filename-completion-map,
minibuffer-local-must-match-map, and
minibuffer-local-filename-must-match-map to Elisp.
(syms_of_keymap): Defsubr make-composed-keymap.
* src/keyboard.c (menu_bar_items): Use map_keymap_canonical.
(parse_menu_item): Trivial simplification.
* lisp/subr.el (remq): Don't allocate if it's not needed.
(keymap--menu-item-binding, keymap--menu-item-with-binding)
(keymap--merge-bindings): New functions.
(keymap-canonicalize): Use them to refine the canonicalization.
* lisp/minibuffer.el (minibuffer-local-completion-map)
(minibuffer-local-must-match-map): Move initialization from C.
(minibuffer-local-filename-completion-map): Move initialization from C;
don't inherit from anything here.
(minibuffer-local-filename-must-match-map): Make obsolete.
(completing-read-default): Use make-composed-keymap to combine
minibuffer-local-filename-completion-map with either
minibuffer-local-must-match-map or
minibuffer-local-filename-completion-map.
2011-07-02 00:27:41 -04:00
Glenn Morris
3279eb878e Fix typos that break xsettings.c compilation.
* configure.in (SETTINGS_CFLAGS, SETTINGS_LIBS) [HAVE_GCONF]: Fix typo.

* src/Makefile.in (SETTINGS_LIBS): Fix typo.
2011-07-01 13:53:59 -04:00
Kazuhiro Ito
4550efdf3f * coding.c (Fencode_coding_string): Record the last coding system
used, as the function doc string says.

Fixes: debbugs:8738
2011-07-01 13:03:55 +02:00
Jan Djärv
0949d2b6ba * process.c: Add defined (HAVE_GSETTINGS) for xgselect.h
(wait_reading_process_output): Add defined (HAVE_GSETTINGS) for
xg_select.

* xgselect.c: Add defined (HAVE_GSETTINGS).
(xgselect_initialize): Ditto.

* xsettings.c (store_monospaced_changed): Take new font as arg and
check for change against current_mono_font.
(EMACS_TYPE_SETTINGS): Remove this and related defines.
(emacs_settings_constructor, emacs_settings_get_property)
(emacs_settings_set_property, emacs_settings_class_init)
(emacs_settings_init, gsettings_obj): Remove.
(something_changedCB): New function for HAVE_GSETTINGS.
(something_changedCB): HAVE_GCONF: Call store_monospaced_changed
with value as argument.
(init_gsettings): Check that GSETTINGS_SCHEMA exists before calling
g_settings_new.  Do not create gsettings_obj.
Remove calls to g_settings_bind. Connect something_changedCB to
"changed".

Fixes: debbugs:8967
2011-07-01 11:18:46 +02:00
Paul Eggert
bbc6b30467 * eval.c (struct backtrace): Simplify and port the data structure.
Do not assume that "int nargs : BITS_PER_INT - 2;" produces a
signed bit field, as this assumption is not portable and it makes
Emacs crash when compiled with Sun C 5.8 on sparc.  Do not use
"char debug_on_exit : 1" as this is not portable either; instead,
use the portable "unsigned int debug_on_exit : 1".  Remove unused
member evalargs.  Remove obsolete comments about cc bombing out.
2011-06-30 22:12:00 -07:00
Jan Djärv
51bb811f62 Fix bad include.
* xsettings.c: Include glib-object.h, gio/gio.h if HAVE_GSETTINGS.
2011-06-30 17:07:40 +02:00
Jan Djärv
9851bfc58d Add GSettings support (GConf is going away).
* configure.in (gsettings): New option and check for GSettings.

* src/Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Renamed from
GCONF_CFLAGS/LIBS.

* src/xsettings.c: Include glib.h if HAVE_GSETTINGS.
Let HAVE_GSETTINGS override HAVE_GCONF.
(store_monospaced_changed): New function.
(EMACS_SETTINGS): A new type derived from GObject to handle
GSettings notifications.
(emacs_settings_constructor, emacs_settings_get_property)
(emacs_settings_set_property, emacs_settings_class_init):
New functions.
(gsettings_client, gsettings_obj): New variables.
(GSETTINGS_SCHEMA): New define.
(something_changedCB): Call store_monospaced_changed.
(init_gsettings): New function.
(xsettings_initialize): Call init_gsettings.
(syms_of_xsettings): Initialize gsettings_client, gsettings_obj
to NULL.
2011-06-30 16:00:26 +02:00
Glenn Morris
07a22620b4 ChangeLog fix. 2011-06-29 19:56:57 -07:00
Martin Rudalics
5386012dfd Rename more functions to use window-/window-- prefixes.
* window.c (resize_root_window, grow_mini_window)
(shrink_mini_window): Rename Qresize_root_window to
Qwindow_resize_root_window and Qresize_root_window_vertically to
Qwindow_resize_root_window_vertically.

* window.el (normalize-live-buffer): Rename to
window-normalize-buffer.
(normalize-live-frame): Rename to window-normalize-frame.
(normalize-any-window): Rename to window-normalize-any-window.
(normalize-live-window): Rename to window-normalize-live-window.
(make-window-atom): Rename to window-make-atom.
(window-resize-reset): Rename to window--resize-reset.
(window-resize-reset-1): Rename to window--resize-reset-1.
(resize-mini-window): Rename to window--resize-mini-window.
(resize-subwindows-skip-p): Rename to
window--resize-subwindows-skip-p.
(resize-subwindows-normal): Rename to
window--resize-subwindows-normal.
(resize-subwindows): Rename to window--resize-subwindows.
(resize-other-windows): Rename to window--resize-siblings.
(resize-this-window): Rename to window--resize-this-window.
(resize-root-window): Rename to window--resize-root-window.
(resize-root-window-vertically): Rename to
window--resize-root-window-vertically.
(normalize-buffer-to-display): Rename to
window-normalize-buffer-to-display.
(normalize-buffer-to-switch-to): Rename to
window-normalize-buffer-to-switch-to.
Correspondingly update all callers of the functions listed
above.
(display-buffer-alist, display-buffer-normalize-arguments)
(display-buffer-normalize-options, display-buffer)
(display-buffer-alist-set): Use "function" instead of
"fun-with-args".
2011-06-29 14:06:08 +02:00
Paul Eggert
f13e0b08d4 * gnutls.c (Qgnutls_bootprop_verify_error): Remove unused var. 2011-06-28 09:03:59 -07:00
Martin Rudalics
d615d6d288 Use window- prefix more consistently. Fix two buffer display bugs.
* window.c (resize_window_check): Rename to window_resize_check.
(resize_window_apply): Rename to window_resize_apply.
(Fresize_window_apply): Rename to Fwindow_resize_apply.
(Fdelete_other_windows_internal, resize_frame_windows)
(Fsplit_window_internal, Fdelete_window_internal)
(grow_mini_window, shrink_mini_window)
(Fresize_mini_window_internal): Fix callers accordingly.

* window.el (resize-window-reset): Rename to window-resize-reset.
(resize-window-reset-1): Rename to window-resize-reset-1.
(resize-window): Rename to window-resize.
(window-min-height, window-min-width)
(resize-mini-window, resize-this-window, resize-root-window)
(resize-root-window-vertically, adjust-window-trailing-edge)
(enlarge-window, shrink-window, maximize-window)
(minimize-window, delete-window, quit-restore-window)
(split-window, balance-windows, balance-windows-area-adjust)
(balance-windows-area, window-state-put-2)
(display-buffer-even-window-sizes, display-buffer-set-height)
(display-buffer-set-width, set-window-text-height)
(fit-window-to-buffer): Rename all "resize-window" prefixed
calls to use the "window-resize" prefix convention.
(display-buffer-alist): Fix symbol for label specifier.
(display-buffer-reuse-window): Set reuse-dedicated to cdr of
corresponding specifier.
Reported by Juanma Barranquero <lekktu@gmail.com>.
2011-06-27 20:32:56 +02:00
Juanma Barranquero
945152374e src/makefile.w32-in: Redesign dependencies. 2011-06-27 16:59:12 +02:00
Martin Rudalics
d68443dcee Use better names for window-next/-prev and window-vchild/-hchild.
* window.c (Fwindow_vchild): Rename to Fwindow_top_child.
(Fwindow_hchild): Rename to Fwindow_left_child.
(Fwindow_next): Rename to Fwindow_next_sibling.
(Fwindow_prev): Rename to Fwindow_prev_sibling.

* window.el (window-right, window-left, window-child)
(window-child-count, window-last-child)
(window-iso-combination-p, walk-window-tree-1)
(window-atom-check-1, window-tree-1, delete-window)
(window-state-get-1, display-buffer-even-window-sizes): Adapt to
new naming conventions - window-vchild, window-hchild,
window-next and window-prev are now called window-top-child,
window-left-child, window-next-sibling and window-prev-sibling
respectively.
2011-06-27 16:05:55 +02:00
Martin Rudalics
e43b6e4346 Have overlays with window property respect clone numbers.
* buffer.c (Qclone_number): Declare static and DEFSYM it.
(sort_overlays, overlay_strings): When an overlay's clone number
matches the window's clone number process the overlay even if
the overlay's window property doesn't match the current window.
2011-06-27 11:27:44 +02:00
Jan Djärv
c7e73be5f7 Fix wm_size-hints race between KDE/KWin and Gtk+ 3.
* emacsgtkfixed.c: State that this is only used with Gtk+3.
(_EmacsFixedPrivate): Remove minwidth/height.
Add struct frame *f.
(emacs_fixed_init): Initialize priv->f.
(get_parent_class, emacs_fixed_set_min_size): Remove.
(emacs_fixed_new): Set priv->f to argument.
(emacs_fixed_get_preferred_width)
(emacs_fixed_get_preferred_height): Use min_width/height from
frames size_hint to set minimum and natural.
(XSetWMSizeHints, XSetWMNormalHints): Override these functions
and use min_width/height from frames size_hint to set
min_width/height (Bug#8919).

* emacsgtkfixed.h: State that this is only used with Gtk+3.
(emacs_fixed_set_min_size): Remove.
(emacs_fixed_new): Take frame as argument.

* gtkutil.c (xg_create_frame_widgets): Pass f to emacs_fixed_new.
(x_wm_set_size_hint): Remove call to emacs_fixed_set_min_size. Fix
indentation.
2011-06-26 20:47:07 +02:00
Eli Zaretskii
cf99dcf81a Avoid bidi-related crashes in Cperl Mode.
src/bidi.c (bidi_paragraph_init): Test for ZV_BYTE before calling
 bidi_at_paragraph_end, since fast_looking_at doesn't like to be
 called at ZV.
2011-06-26 20:23:40 +03:00
Chong Yidong
029529ac6f Fix handling of pending signals in wait_reading_process_output (Bug#8869).
* process.c (wait_reading_process_output): Bypass select if
waiting for a cell while ignoring keyboard input, and input is
pending.  Suggested by Jan Djärv.
2011-06-25 23:40:40 -04:00
Glenn Morris
5b66d427c0 ChangeLog fix. 2011-06-25 13:53:24 -07:00
Paul Eggert
948b98fd3c Merge from trunk. 2011-06-25 11:31:36 -07:00
Glenn Morris
11fdef7d0c Merge from emacs-23; up to 2010-06-15T03:34:12Z!rgm@gnu.org. 2011-06-25 11:21:00 -07:00
Paul Eggert
7a7ef42918 Use gnulib's dup2 module instead of rolling our own.
* Makefile.in (GNULIB_MODULES): Add dup2.
* configure.in: Do not check for dup2; gnulib does that now.
* lib/dup2.c, m4/dup2.m4: New files, from gnulib.
* src/sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this.
2011-06-25 01:40:38 -07:00
Juanma Barranquero
cd3520a41d Move DEFSYM to lisp.h and use everywhere. 2011-06-24 23:25:22 +02:00
Ted Zlatanov
4228cf16fb * gnutls.c (syms_of_gnutls): Use the DEFSYM macro from character.h. 2011-06-24 05:29:19 -05:00
Paul Eggert
7efb4e0e62 Merge from trunk. 2011-06-23 00:37:31 -07:00
Paul Eggert
ff5844ad0b * print.c (printchar, strout): Check for string overflow.
(PRINTPREPARE, printchar, strout):
Don't set size unless allocation succeeds.
2011-06-23 00:33:28 -07:00
Paul Eggert
90532f02fd * minibuf.c (read_minibuf_noninteractive): Use ptrdiff_t, not int,
for sizes.  Check for string overflow more accurately.
Simplify newline removal at end; this suppresses a GCC 4.6.0 warning.
2011-06-22 23:45:38 -07:00
Paul Eggert
6d84508d18 * macros.c: Integer and buffer overflow fixes.
* keyboard.h (struct keyboard.kbd_macro_bufsize):
* macros.c (Fstart_kbd_macro, store_kbd_macro_char):
Use ptrdiff_t, not int, for sizes.
Don't increment bufsize until after realloc succeeds.
Check for size-calculation overflow.
(Fstart_kbd_macro): Use EMACS_INT, not int, for XINT result.
2011-06-22 23:31:41 -07:00
Paul Eggert
20270765be * lread.c (read1): Check for size overflow. 2011-06-22 22:41:40 -07:00
Paul Eggert
437b2cb453 * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling. 2011-06-22 22:35:51 -07:00
Paul Eggert
82cb60d3ff * lread.c (read_escape): Avoid int overflow.
(Fload, openp, read_buffer_size, read1)
(substitute_object_recurse, read_vector, read_list, map_obarray):
Use ptrdiff_t, not int, for sizes.
(read1): Use EMACS_INT, not int, for sizes.
2011-06-22 22:34:52 -07:00
Leo Liu
4e3232657c Move completing-read-function and completing-read-default to elisp 2011-06-23 11:35:05 +08:00
Paul Eggert
8b9ac8b4a2 * lread.c: Integer overflow fixes.
(read_integer): Radix is now EMACS_INT, not int,
to improve quality of diagnostics for out-of-range radices.
Calculate buffer size correctly for out-of-range radices.
(read1): Check for integer overflow in radices, and in
read-circle numbers.
2011-06-22 17:55:55 -07:00
Paul Eggert
7fcccf1efe * image.c (cache_image): Check for size arithmetic overflow. 2011-06-22 17:46:41 -07:00
Paul Eggert
39019e5425 * lread.c (read_escape): Check for hex character overflow. 2011-06-22 15:39:06 -07:00
Paul Eggert
bfbbd7e752 * lread.c: Integer overflow issues.
(saved_doc_string_size, saved_doc_string_length)
(prev_saved_doc_string_size, prev_saved_doc_string_length):
Now ptrdiff_t, not int.
(read1): Don't assume doc string length fits in int.  Check for
out-of-range doc string lengths.
(read_list): Don't assume file position fits in int.
2011-06-22 15:36:19 -07:00
Paul Eggert
20b84ce991 Merge: Fixes for GLYPH_DEBUG found by GCC 4.6.0 static checking. 2011-06-22 11:20:15 -07:00
Paul Eggert
85fece3ec2 GLYPH_DEBUG fixes
The following patches are for when GLYPH_DEBUG && !XASSERT.
* dispextern.h (trace_redisplay_p, dump_glyph_string):
* dispnew.c (flush_stdout):
* xdisp.c (dump_glyph_row, dump_glyph_matrix, dump_glyph):
Mark as externally visible.
* dispnew.c (check_window_matrix_pointers): Now static.
* dispnew.c (window_to_frame_vpos):
* xfns.c (unwind_create_frame):
* xterm.c (x_check_font): Remove unused local.
* scroll.c (CHECK_BOUNDS):
* xfaces.c (cache_fache): Rename local to avoid shadowing.
* xfns.c, w32fns.c (image_cache_refcount, dpyinfo_refcount): Now static.
* xdisp.c (check_window_end): Now a no-op if !XASSERTS.
(debug_first_unchanged_at_end_vpos, debug_last_unchanged_at_beg_vpos)
(debug_dvpos, debug_dy, debug_delta, debug_delta_bytes, debug_end_vpos):
Now static.
(debug_method_add): Use va_list and vsprintf rather than relying
on undefined behavior with wrong number of arguments.
(dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
Don't assume ptrdiff_t and EMACS_INT are the same width as int.
In this code, it's OK to assume C99 behavior for ptrdiff_t formats
since we're not interested in debugging glyphs with old libraries.
* xfaces.c (cache_face): Move debugging code earlier; this pacifies
GCC 4.6.0's static checking.
2011-06-22 11:15:23 -07:00
Paul Eggert
31fd4b3280 Merge: Integer overflow and signedness fixes (Bug#8873).
A few related buffer overrun fixes, too.
2011-06-22 09:15:41 -07:00
Paul Eggert
510005210a Merge from trunk. 2011-06-22 09:01:00 -07:00
Jim Meyering
d5a19415d0 don't leak an XBM-image-sized buffer
* image.c (xbm_load): Free the image buffer after using it.
2011-06-22 14:23:17 +02:00
Paul Eggert
b79e8648b9 * font.c (font_score): Use EMACS_INT, not int, to store XINT value. 2011-06-21 23:18:06 -07:00
Paul Eggert
0766b489e1 * dispextern.h (struct face.stipple):
* image.c (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
(x_bitmap_mask, x_allocate_bitmap_record)
(x_create_bitmap_from_data, x_create_bitmap_from_file)
(x_destroy_bitmap, x_destroy_all_bitmaps, x_create_bitmap_mask)
(x_create_bitmap_from_xpm_data):
* nsterm.h (struct ns_display_info.bitmaps_size, .bitmaps_last):
* w32term.h (struct w32_display_info.icon_bitmap_id, .bitmaps_size)
(.bitmaps_last):
* xfaces.c (load_pixmap):
* xterm.c (x_bitmap_icon, x_wm_set_icon_pixmap):
* xterm.h (struct x_display_info.icon_bitmap_id, .bitmaps_size)
(.bitmaps_last, struct x_output.icon_bitmap):
Use ptrdiff_t, not int, for bitmap indexes.
(x_allocate_bitmap_record): Check for size overflow.
* dispextern.h, lisp.h: Adjust to API changes elsewhere.
2011-06-21 23:16:16 -07:00
Paul Eggert
21514da7b2 * buffer.c (OVERLAY_COUNT_MAX): New macro.
(overlays_in, mouse_face_overlay_overlaps, Foverlays_in):
Use ptrdiff_t, not int, for sizes.
(overlays_in): Check for size-calculation overflow.
2011-06-21 16:16:43 -07:00
Paul Eggert
b081724f64 Use ptrdiff_t, not int, for overlay counts.
* buffer.h (overlays_at, sort_overlays, GET_OVERLAYS_AT):
* editfns.c (overlays_around, get_pos_property):
* textprop.c (get_char_property_and_overlay):
* xdisp.c (next_overlay_change, note_mouse_highlight):
* xfaces.c (face_at_buffer_position):
* buffer.c (overlays_at, sort_overlays, Foverlays_at)
(Fnext_overlay_change, Fprevious_overlay_change):
Use ptrdiff_t, not int, for sizes.
(overlays_at): Check for size-calculation overflow.
2011-06-21 14:32:10 -07:00
Paul Eggert
3de73e5ee5 * xterm.c (xim_initialize, same_x_server): Strlen may not fit in int. 2011-06-21 13:43:08 -07:00
Paul Eggert
2606c57bbf * xsmfns.c (smc_save_yourself_CB, x_session_initialize): Avoid strlen.
(x_session_initialize): Do not assume string length fits in int.
2011-06-21 13:32:19 -07:00