1. 13 Jun, 2011 2 commits
    • Martin Rudalics's avatar
      Make help and view-mode work with new buffer display facilities. · 357f93d2
      Martin Rudalics authored
      * help.el (help-window): Remove variable.
      (help-window-point-marker, temp-buffer-max-height)
      (temp-buffer-resize-mode, help-window-select): Rewrite doc-strings.
      (help-print-return-message): Don't set help-window.
      (resize-temp-buffer-window): Rewrite cod eand doc-string.
      (help-window-setup-finish): Remove.
      (help-window-display-message, help-window-setup)
      (with-help-window): Major rewrite based on new
      display-buffer-window variable.
      
      * help-mode.el (help-mode-finish): Remove help-window related
      code.
      
      * view.el (view-exits-all-viewing-windows): Remove reference to
      view-return-to-alist in doc-string.
      (view-return-to-alist): Make obsolete.
      (view-buffer): Call pop-to-buffer-same-window and remove
      undo-window code.
      (view-buffer-other-window): Call pop-to-buffer-other-window and
      simplify code.  Ignore second argument.
      (view-buffer-other-frame): Call pop-to-buffer-other-frame and
      simplify code.  Ignore second argument.
      (view-return-to-alist-update): Make obsolete.
      (view-mode-enter): Rename second argument to QUIT-RESTORE.
      Rewrite using quit-restore window parameters.
      (view-mode-exit): Rename second argument to EXIT-ONLY.  Rewrite
      using quit-restore-window.
      (View-exit, View-exit-and-edit, View-leave, View-quit)
      (View-quit-all, View-kill-and-leave): Call view-mode-exit with
      appropriate arguments.
      (view-end-message): Use quit-restore window parameter.
      357f93d2
    • Martin Rudalics's avatar
      Install new buffer display functions and variables. · 9481c002
      Martin Rudalics authored
      * window.el (display-buffer-function): Rewrite doc-string.
      (display-buffer-window, display-buffer-alist): New variables.
      (display-buffer-split-specifiers)
      (display-buffer-side-specifiers)
      (display-buffer-macro-specifiers): New constants.
      (display-buffer-even-window-sizes, display-buffer-set-height)
      (display-buffer-set-width, display-buffer-select-window)
      (display-buffer-in-window, display-buffer-reuse-window)
      (display-buffer-split-window-1, display-buffer-split-window)
      (display-buffer-split-atom-window, display-buffer-pop-up-window)
      (display-buffer-pop-up-frame, display-buffer-pop-up-side-window)
      (display-buffer-in-side-window, normalize-buffer-to-display)
      (display-buffer-normalize-specifiers-1)
      (display-buffer-normalize-specifiers-2)
      (display-buffer-normalize-specifiers, display-buffer-frame): New
      functions.
      (display-buffer): Major rewrite.
      (display-buffer-other-window, display-buffer-other-frame)
      (pop-to-buffer, switch-to-buffer-other-window)
      (switch-to-buffer-other-frame): Rewrite.
      (display-buffer-same-window, display-buffer-same-frame)
      (display-buffer-same-frame-other-window)
      (pop-to-buffer-same-window, pop-to-buffer-same-frame)
      (pop-to-buffer-other-window)
      (pop-to-buffer-same-frame-other-window)
      (pop-to-buffer-other-frame, switch-to-buffer-same-frame)
      (switch-to-buffer-other-window-same-frame): New functions.
      (same-window-p, special-display-p): Rewrite disabling warnings.
      Make obsolete.
      (pop-up-frames, display-buffer-reuse-frames, pop-up-windows)
      (display-buffer-mark-dedicated): Initialize to symbol 'unset.
      Make obsolete
      (same-window-buffer-names, same-window-regexps)
      (special-display-frame-alist, special-display-popup-frame)
      (special-display-function, special-display-buffer-names)
      (special-display-regexps, pop-up-frame-alist)
      (pop-up-frame-function, split-window-preferred-function)
      (split-height-threshold, split-width-threshold)
      (even-window-heights): Make obsolete.
      9481c002
  2. 12 Jun, 2011 15 commits
  3. 11 Jun, 2011 10 commits
    • Chong Yidong's avatar
      Handle gif subimage animation delay correctly. · 1100a63c
      Chong Yidong authored
      * lisp/image.el (image-animated-p): Return animation delay in seconds.
      Avoid bit manipulation in Lisp; use `delay' entry in the metadata.
      (image-animate-timeout): Remove DELAY argument.  Use
      image-animated-p to get animation delay for each frame.
      (image-animate): Caller changed.
      
      * src/image.c (gif_load): Add animation frame delay to the metadata.
      (syms_of_image): Use DEFSYM.  New symbol `delay'.
      1100a63c
    • Paul Eggert's avatar
      Merge from trunk. · 8eeb2863
      Paul Eggert authored
      8eeb2863
    • Paul Eggert's avatar
      * buffer.c (Qclone_number): Remove for now, as it's unused. · 4475bec4
      Paul Eggert authored
      (record_buffer, Funrecord_buffer): Rename local to avoid shadowing.
      (record_buffer): Remove unused local.
      * frame.c (other_visible_frames, frame_buffer_list): Now static.
      (set_frame_buffer_list): Remove; unused.
      * frame.h (other_visible_frames): Remove decl.
      * keyboard.h (menu_items_inuse): Declare only if USE_GTK || USE_MOTIF.
      * lisp.h (frame_buffer_list, set_frame_buffer_list): Remove decls.
      (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): Declare only
      if HAVE_GPM.
      * menu.c (menu_items_inuse): Now static unless USE_GTK || USE_MOTIF.
      * process.c (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
      Define only if HAVE_GPM.
      * widget.c (EmacsFrameResize, emacsFrameClassRec): Now static.
      (update_hints_inhibit): Remove; never set.  All uses removed.
      * widgetprv.h (emacsFrameClassRec): Remove decl.
      * window.c (delete_deletable_window): Now returns void, since it
      wasn't returning anything.
      (compare_window_configurations): Remove unused locals.
      * xfns.c (x_set_scroll_bar_default_width): Remove unused locals.
      * xmenu.c (x_menu_set_in_use): Define only if USE_GTK || USE_MOTIF.
      Omit no-longer-needed #ifdef USE_X_TOOLKIT, since USE_X_TOOLKIT is
      implied by USE_GTK || USE_MOTIF.
      (dialog_selection_callback) [!USE_GTK]: Prefer intptr_t for integers
      the same widths as pointers.  This follows up on the 2011-05-06 patch.
      * xterm.c (x_alloc_lighter_color_for_widget): Define only if USE_LUCID.
      * xterm.h: Likewise.
      (x_menu_set_in_use): Declare only if USE_GTK || USE_MOTIF.
      4475bec4
    • Michael Albinus's avatar
      * net/tramp.el (tramp-debug-message): Add `tramp-with-progress-reporter' · def722bf
      Michael Albinus authored
      to ignored backtrace functions.
      def722bf
    • Glenn Morris's avatar
      Handle overlapping appointments in appt.el (bug#8377) · 0a2bb1a9
      Glenn Morris authored
      * lisp/calendar/appt.el (appt-disp-window-function): Doc fix.
      (appt-check): Handle overlapping appointments.
      
      * etc/NEWS: Mention appt-disp-window-function should handle lists now.
      0a2bb1a9
    • Martin Rudalics's avatar
      Window configuration, balancing and fit-to-buffer rewrites. · 6198ccd0
      Martin Rudalics authored
      * window.c (delete_deletable_window): Re-add.
      (Fset_window_configuration): Rewrite to handle dead buffers and
      consequently deletable windows.
      (window_tree, Fwindow_tree): Remove.  Supply functionality in
      window.el.
      (compare_window_configurations): Simplify code.
      
      * window.el (window-tree-1, window-tree): New functions, moving
      the latter to window.el.
      (bw-get-tree, bw-get-tree-1, bw-find-tree-sub)
      (bw-find-tree-sub-1, bw-l, bw-t, bw-r, bw-b, bw-dir, bw-eqdir)
      (bw-refresh-edges): Remove.
      (balance-windows-1, balance-windows-2): New functions.
      (balance-windows): Rewrite in terms of window tree functions,
      balance-windows-1 and balance-windows-2.
      (bw-adjust-window): Remove.
      (balance-windows-area-adjust): New function with functionality of
      bw-adjust-window but using resize-window.
      (set-window-text-height): Rewrite doc-string.  Use
      normalize-live-window and resize-window.
      (enlarge-window-horizontally, shrink-window-horizontally): Rename
      argument to DELTA.
      (window-buffer-height): New function.
      (fit-window-to-buffer, shrink-window-if-larger-than-buffer):
      Rewrite using new window resize routines.
      (kill-buffer-and-window, mouse-autoselect-window-select): Use
      ignore-errors instead of condition-case.
      (quit-window): Call delete-frame instead of delete-windows-on
      for the only buffer on frame.
      6198ccd0
    • Andreas Schwab's avatar
      * src/image.c (imagemagick_load_image): Fix type mismatch. · 1ab0dee5
      Andreas Schwab authored
      (Fimagemagick_types): Likewise.
      1ab0dee5
    • Andreas Schwab's avatar
      b6e3633c
    • Martin Rudalics's avatar
      Move/add window-buffer-related functions to window.el. · 9397e56f
      Martin Rudalics authored
      * buffer.c: New Lisp objects Qbuffer_list_update_hook and
      Qclone_number.  Remove external declaration of Qdelete_window.
      (Fbuffer_list): Rewrite doc-string.  Minor restructuring of
      code.
      (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer): Run
      Qbuffer_list_update_hook if allowed.
      (Fother_buffer): Rewrite doc-string.  Major rewrite for new
      buffer list implementation.
      (other_buffer_safely): New function.
      (Fkill_buffer): Replace call to replace_buffer_in_all_windows by
      calls to replace_buffer_in_windows and
      replace_buffer_in_windows_safely.  Run Qbuffer_list_update_hook
      if allowed.
      (record_buffer): Inhibit quitting and rewrite using quittable
      functions.  Run Qbuffer_list_update_hook if allowed.
      (Frecord_buffer, Funrecord_buffer): New functions.
      (switch_to_buffer_1, Fswitch_to_buffer): Remove.  Move
      switch-to-buffer to window.el.
      (bury-buffer): Move to window.el.
      (Vbuffer_list_update_hook): New variable.
      
      * lisp.h (other_buffer_safely): Add prototype in buffer.c
      section.
      
      * window.h (resize_frame_windows): Move up in code.
      (Fwindow_frame): Remove EXFUN.
      (replace_buffer_in_all_windows): Remove prototype.
      (replace_buffer_in_windows_safely): Add prototype.
      
      * window.c: Declare Qdelete_window static again.  Move down
      declaration of select_count.
      (Fnext_window, Fprevious_window): Rewrite doc-strings.
      (Fother_window): Move to window.el.
      (window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER
      cases.  Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case.
      (Fdelete_windows_on, Freplace_buffer_in_windows): Move to
      window.el.
      (replace_buffer_in_windows): Implement by calling
      Qreplace_buffer_in_windows.
      (replace_buffer_in_all_windows): Remove with some functionality
      moved into replace_buffer_in_windows_safely.
      (replace_buffer_in_windows_safely): New function.
      (select_window_norecord, select_frame_norecord): Move in front
      of run_window_configuration_change_hook.  Remove now obsolete
      declarations.
      (Fset_window_buffer): Rewrite doc-string.  Call
      Qrecord_window_buffer.
      (keys_of_window): Move binding for other-window to window.el.
      
      * loadup.el (top-level): Load window before files for the sake
      of replace-buffer-in-windows.
      
      * files.el (read-buffer-to-switch)
      (switch-to-buffer-other-window)
      (switch-to-buffer-other-frame, display-buffer-other-frame): Move
      to window.el.
      
      * simple.el (get-next-valid-buffer, last-buffer, next-buffer)
      (previous-buffer): Move to window.el.
      
      * bindings.el (unbury-buffer): Move to window.el.
      
      * window.el (delete-other-windows-vertically): Move after
      definition of delete-other-windows.
      (other-window, delete-windows-on, replace-buffer-in-windows):
      Move here from window.c.
      (record-window-buffer, unrecord-window-buffer)
      (set-window-buffer-start-and-point, switch-to-prev-buffer)
      (switch-to-next-buffer): New functions.
      (get-next-valid-buffer, last-buffer, next-buffer): Move here
      from simple.el.  Call switch-to-next-buffer.
      (previous-buffer): Move here from simple.el.  Call
      switch-to-prev-buffer.
      (bury-buffer): Move here from buffer.c.  Switch to previous
      buffer when window cannot be deleted.
      (unbury-buffer): Move here from bindings.el.
      (ctl-x-map): Move binding for other-window from window.c to
      here.
      (read-buffer-to-switch, switch-to-buffer-other-window)
      (switch-to-buffer-other-frame): Move here from files.el.
      (normalize-buffer-to-switch-to): New functions.
      (switch-to-buffer): Move here from buffer.c.  Use
      read-buffer-to-switch and normalize-buffer-to-switch-to.
      9397e56f
    • Chong Yidong's avatar
      Cruft removal in struct image. · b50691aa
      Chong Yidong authored
      * 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.
      b50691aa
  4. 10 Jun, 2011 13 commits
    • Paul Eggert's avatar
      * buffer.h: Include <time.h>, for time_t. · cca69397
      Paul Eggert authored
      Needed to build on FreeBSD 8.2.  Problem reported by Herbert J. Skuhra.
      cca69397
    • Paul Eggert's avatar
      Merge: Fix minor problems found by static checking. · 109e28d0
      Paul Eggert authored
      * 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.
      109e28d0
    • Paul Eggert's avatar
    • Paul Eggert's avatar
      Make identifiers static if they are not used in other modules. · 4b66faf3
      Paul Eggert authored
      * 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.
      4b66faf3
    • Paul Eggert's avatar
    • Paul Eggert's avatar
      * window.c: Fix minor problems reported by GCC 4.6.0. · 46a4ce9e
      Paul Eggert authored
      (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.
      46a4ce9e
    • Paul Eggert's avatar
      * image.c: Fix minor problems reported by GCC 4.6.0. · 33290528
      Paul Eggert authored
      (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.
      33290528
    • Paul Eggert's avatar
    • Paul Eggert's avatar
      * movemail.c: Fix race condition and related bugs (Bug#8836). · 529a133c
      Paul Eggert authored
      (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.
      529a133c
    • Chong Yidong's avatar
    • Martin Rudalics's avatar
      Some more window.h fixes missing in 2011-06-10T06:55:18Z!rudalics@gmx.at. · 2c8e37d4
      Martin Rudalics authored
      * 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.
      2c8e37d4
    • Eli Zaretskii's avatar
      Avoid compiler warnings about missing prototypes of window.c functions. · 440a42e3
      Eli Zaretskii authored
       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.
      440a42e3
    • Martin Rudalics's avatar
      Move window resize code from window.c to window.el. · 562dd5e9
      Martin Rudalics authored
      * 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.
      562dd5e9