1. 12 Nov, 2012 4 commits
    • Dmitry Antipov's avatar
      * frame.h (struct frame): Convert external_tool_bar member to · be49ba74
      Dmitry Antipov authored
      1-bit unsigned bitfield.
      * termhooks.h (struct terminal): Remove mouse_moved member since
      all users are long dead.  Adjust comment on mouse_position_hook.
      be49ba74
    • Dmitry Antipov's avatar
      Simplify by using FOR_EACH_FRAME here and there. · 5b04e9f9
      Dmitry Antipov authored
      * frame.c (next_frame, prev_frame, other_visible_frames)
      (delete_frame, visible-frame-list): Use FOR_EACH_FRAME.
      * w32term.c (x_window_to_scroll_bar): Likewise.
      * window.c (window_list): Likewise.
      * xdisp.c (x_consider_frame_title): Likewise.
      * xfaces.c ( Fdisplay_supports_face_attributes_p): Likewise.
      * xfns.c (x_window_to_frame, x_any_window_to_frame)
      (x_menubar_window_to_frame, x_top_window_to_frame): Likewise.
      * xmenu.c (menubar_id_to_frame): Likewise.
      * xselect.c (frame_for_x_selection): Likewise.
      * xterm.c (x_frame_of_widget, x_window_to_scroll_bar)
      (x_window_to_menu_bar): Likewise.
      * w32fns.c (x_window_to_frame): Likewise.  Adjust comment.
      5b04e9f9
    • Paul Eggert's avatar
      12cc4337
    • Paul Eggert's avatar
      Another tweak to vectorlike_header change. · 76ae24d7
      Paul Eggert authored
      * alloc.c (struct Lisp_Vectorlike_Free, NEXT_IN_FREE_LIST):
      Remove, and replace all uses with ...
      (next_in_free_list, set_next_in_free_list):
      New functions, which respect C's aliasing rules better.
      76ae24d7
  2. 11 Nov, 2012 2 commits
  3. 09 Nov, 2012 8 commits
  4. 08 Nov, 2012 9 commits
    • Stefan Monnier's avatar
      * src/lisp.h (XHASH): Redefine to be imperfect and fit in a Lisp int. · 61ddb1b9
      Stefan Monnier authored
      * src/fns.c (hashfn_eq, hashfn_eql, sxhash):
      * src/profiler.c (hashfn_profiler): Don't use XUINT on non-integers.
      * src/buffer.c (compare_overlays): Use XLI rather than XHASH.
      61ddb1b9
    • Paul Eggert's avatar
      Use same hash function for hashfn_profiler as for hash_string etc. · 04a2d0d3
      Paul Eggert authored
      * fns.c (SXHASH_COMBINE): Remove.  All uses replaced by sxhash_combine.
      * lisp.h (sxhash_combine): New inline function, with the contents
      of the old SXHASH_COMBINE.
      * profiler.c (hashfn_profiler): Use it, instead of having a
      special hash function containing a comparison that always yields 1.
      04a2d0d3
    • Stefan Monnier's avatar
      * src/xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic) · de5ef41a
      Stefan Monnier authored
      (Qultra_condensed, Qextra_condensed, Qcondensed, Qsemi_condensed)
      (Qsemi_expanded, Qextra_expanded, Qexpanded, Qultra_expanded):
      Remove unused vars.
      de5ef41a
    • Jan Djärv's avatar
      * image.c (xpm_make_color_table_h): Fix compiler error because · a23c4171
      Jan Djärv authored
      make_hash_table changed.
      a23c4171
    • Jan Djärv's avatar
    • Stefan Monnier's avatar
      Use ad-hoc comparison function for the profiler's hash-tables. · b7432bb2
      Stefan Monnier authored
      * src/profiler.c (Qprofiler_backtrace_equal, hashtest_profiler): New vars.
      (make_log): Use them.
      (handle_profiler_signal): Don't inhibit quit any longer since we don't
      call Fequal any more.
      (Ffunction_equal): New function.
      (cmpfn_profiler, hashfn_profiler): New functions.
      (syms_of_profiler): Initialize them.
      * src/lisp.h (struct hash_table_test): New struct.
      (struct Lisp_Hash_Table): Use it.
      * src/alloc.c (mark_object): Mark hash_table_test fields of hash tables.
      * src/fns.c (make_hash_table): Take a struct to describe the test.
      (cmpfn_eql, cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql)
      (hashfn_equal, hashfn_user_defined): Adjust to new calling convention.
      (hash_lookup, hash_remove_from_table): Move assertion checking of
      hashfn result here.  Check hash-equality before calling cmpfn.
      (Fmake_hash_table): Adjust call to make_hash_table.
      (hashtest_eq, hashtest_eql, hashtest_equal): New structs.
      (syms_of_fns): Initialize them.
      * src/emacs.c (main): Move syms_of_fns earlier.
      * src/xterm.c (syms_of_xterm):
      * src/category.c (hash_get_category_set): Adjust call to make_hash_table.
      * src/print.c (print_object): Adjust to new hash-table struct.
      * src/composite.c (composition_gstring_put_cache): Adjust to new hashfn.
      b7432bb2
    • Eli Zaretskii's avatar
      More fixes for bug #12806. · 88002743
      Eli Zaretskii authored
       src/w32fns.c (modifier_set): Fix handling of Scroll Lock when the
       value of w32-scroll-lock-modifier is neither nil nor one of the
       known key modifiers.
      88002743
    • Dmitry Antipov's avatar
      Shrink struct vectorlike_header to the only size field. · 914adc42
      Dmitry Antipov authored
      * lisp.h (enum pvec_type): Avoid explicit enum member values.
      Adjust comment.
      (enum More_Lisp_Bits): Change PSEUDOVECTOR_SIZE_BITS and
      PVEC_TYPE_MASK to arrange new bitfield in the vector header.
      (PSEUDOVECTOR_REST_BITS, PSEUDOVECTOR_REST_MASK): New members.
      (PSEUDOVECTOR_AREA_BITS): New member used to extract subtype
      information from the vector header.  Adjust comment.
      (XSETPVECTYPE, XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR)
      (PSEUDOVECTOR_TYPEP, DEFUN): Adjust to match new vector header
      layout.
      (XSETSUBR, SUBRP): Adjust to match new Lisp_Subr layout.
      (struct vectorlike_header): Remove next member.  Adjust comment.
      (struct Lisp_Subr): Add convenient header.  Adjust comment.
      (allocate_pseudovector): Adjust prototype.
      * alloc.c (mark_glyph_matrix, mark_face_cache, allocate_string)
      (sweep_string, lisp_malloc): Remove useless prototypes.
      (enum mem_type): Adjust comment.
      (NEXT_IN_FREE_LIST): New macro.
      (SETUP_ON_FREE_LIST): Adjust XSETPVECTYPESIZE usage.
      (Fmake_bool_vector): Likewise.
      (struct large_vector): New type to represent allocation unit for
      the vectors with the memory footprint more than VBLOOCK_BYTES_MAX.
      (large_vectors): Change type to struct large_vector.
      (allocate_vector_from_block): Simplify.
      (PSEUDOVECTOR_NBYTES): Replace with...
      (vector_nbytes): ...new function.  Adjust users.
      (sweep_vectors): Adjust processing of large vectors.
      (allocate_vectorlike): Likewise.
      (allocate_pseudovector): Change type of 3rd arg to enum pvec_type.
      Add easserts.  Adjust XSETPVECTYPESIZE usage.
      (allocate_buffer): Use BUFFER_PVEC_INIT.
      (live_vector_p): Adjust to match large vector.
      * buffer.c (init_buffer_once): Use BUFFER_PVEC_INIT.
      * buffer.h (struct buffer): Add next member.
      (BUFFER_LISP_SIZE, BUFFER_REST_SIZE, BUFFER_PVEC_INIT):
      New macros.
      (FOR_EACH_BUFFER): Adjust to match struct buffer change.
      * fns.c (internal_equal): Adjust to match enum pvec_type change.
      (copy_hash_table): Adjust to match vector header change.
      * lread.c (defsubr): Use XSETPVECTYPE.
      * .gdbinit (xpr, xbacktrace): Adjust to match vector header change.
      (xvectype): Likewise.  Print PVEC_NORMAL_VECTOR for regular vectors.
      (xvecsize): New command.
      914adc42
    • Dmitry Antipov's avatar
      * keyboard.c (event_to_kboard): Do not dereference · c66f21ea
      Dmitry Antipov authored
      frame_or_window field of SELECTION_REQUEST_EVENT
      and SELECTION_CLEAR_EVENT events (Bug#12814).
      * xterm.h (struct selection_input_event): Adjust comment.
      c66f21ea
  5. 07 Nov, 2012 6 commits
  6. 06 Nov, 2012 7 commits
    • Paul Eggert's avatar
      Restore some duplicate definitions. · b6b3b294
      Paul Eggert authored
      This undoes part of the 2012-11-03 changes.  Some people build
      with plain -g rather than with -g3, and they need the duplicate
      definitions for .gdbinit to work; see <http://bugs.gnu.org/12814#26>.
      * lisp.h (GCTYPEBITS, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK):
      Define as macros, as well as as enums or as constants.
      b6b3b294
    • Jan Djärv's avatar
      * nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask · e770aad5
      Jan Djärv authored
      to keypad keys.
      
      Fixes: debbugs:12816
      e770aad5
    • Paul Eggert's avatar
      Minor adjustments of recently-changed frame functions. · 68f8f1c0
      Paul Eggert authored
      * buffer.c (Fbuffer_list): Omit CHECK_FRAME, since arg is already
      known to be a frame (we're in the FRAMEP branch).
      * lisp.h (Qframep): Remove decl.  frame.h declares this.
      * window.c (quad): Args are of type EMACS_INT, not ptrdiff_t,
      since they're meant for Lisp fixnum values.
      68f8f1c0
    • Eli Zaretskii's avatar
      Fix bug #12811 with scrolling under scroll-up/down-aggressively. · acf93bcf
      Eli Zaretskii authored
       src/xdisp.c (try_scrolling): Fix correction of aggressive-scroll
       amount when the scroll margins are too large.  When scrolling
       backwards in the buffer, give up if cannot reach point or the
       scroll margin within a reasonable number of screen lines.  Fixes
       point position in window under scroll-up/down-aggressively when
       point is positioned many lines beyond the window top/bottom.
      acf93bcf
    • Dmitry Antipov's avatar
      * window.c (Fwindow_combination_limit): Revert to the only · 72f94d4b
      Dmitry Antipov authored
      required argument and adjust docstring as suggested in
      http://lists.gnu.org/archive/html/emacs-diffs/2012-11/msg01082.html
      by Martin Rudalics <rudalics@gmx.at>.
      72f94d4b
    • Dmitry Antipov's avatar
      Widely used frame validity and checking functions. · d9f07150
      Dmitry Antipov authored
      * frame.h (decode_live_frame, decode_any_frame): Add prototypes.
      * frame.c (decode_live_frame, decode_any_frame): New functions.
      (delete_frame, Fredirect_frame_focus, Fframe_parameters)
      (Fframe_parameter, Fframe_char_height, Fframe_char_width)
      (Fframe_pixel_height, Fframe_pixel_width, Ftool_bar_pixel_width)
      (Fframe_pointer_visible_p): Use decode_any_frame.
      (Fmake_frame_visible, Fmake_frame_invisible, Ficonify_frame)
      (Fraise_frame, Flower_frame, Fmodify_frame_parameters)
      (Fset_frame_height, Fset_frame_width): Use decode_live_frame.
      (Fframe_focus): Likewise.  Allow zero number of arguments.
      Adjust docstring.
      (frame_buffer_list, frame_buffer_predicate): Remove.
      * lisp.h (frame_buffer_predicate): Remove prototype.
      * buffer.c (Fother_buffer): Use decode_any_frame.
      * xdisp.c (Ftool_bar_lines_needed): Likewise.
      * xfaces.c (Fcolor_gray_p, Fcolor_supported_p): Likewise.
      * font.c (Ffont_face_attributes, Ffont_family_list, Fopen_font)
      (Fclose_font, Ffont_info): Use decode_live_frame.
      * fontset.c (check_fontset_name): Likewise.
      * terminal.c (Fframe_terminal): Likewise.
      * w32fns.c (check_x_frame): Likewise.
      * window.c (Fminibuffer_window, Fwindow_at)
      (Fcurrent_window_configuration): Likewise.
      (Frun_window_configuration_change_hook, Fwindow_resize_apply):
      Likewise.  Allow zero number of arguments.  Adjust docstring.
      * dispnew.c (Fredraw_frame): Likewise.
      * xfaces.c (frame_or_selected_frame): Remove.
      (Fx_list_fonts, Finternal_get_lisp_face_attribute, Fface_font)
      (Finternal_lisp_face_equal_p, Finternal_lisp_face_empty_p)
      (Fframe_face_alist): Use decode_live_frame.
      * xfns.c (check_x_frame): Likewise.
      d9f07150
    • Dmitry Antipov's avatar
      * window.c (quad): New function. · 89bc0592
      Dmitry Antipov authored
      (Fwindow_edges, Fwindow_pixel_edges, Fwindow_inside_edges)
      (Fwindow_absolute_pixel_edges, Fwindow_inside_absolute_pixel_edges)
      (Fwindow_inside_pixel_edges, Fpos_visible_in_window_p)
      (Fwindow_line_height): Use it.
      (Fwindow_fringes): Use list3.
      (Fwindow_scroll_bars): Use list4.
      (Fwindow_frame, Fwindow_top_child, Fwindow_left_child)
      (Fwindow_combination_limit): Allow zero number of arguments.
      89bc0592
  7. 05 Nov, 2012 4 commits