1. 01 Feb, 2013 1 commit
    • Dmitry Antipov's avatar
      * window.h (struct window): Convert base_line_number, base_line_pos · 422ff52b
      Dmitry Antipov authored
      and column_number_displayed members from Lisp_Object to ptrdiff_t.
      Convert region_showing member from Lisp_Object to bitfield.
      Remove sequence_number member.  Adjust comments.
      * window.c (sequence_number): Remove.
      (make_window): Initialize column_number_displayed.
      * print.c (print_object): Follow the printed representation of
      frames and print window pointer to distinguish between windows.
      (adjust_window_count): Invalidate base_line_pos.  Adjust comment.
      * xdisp.c (wset_base_line_number, wset_base_line_pos)
      (wset_column_number_displayed, wset_region_showing): Remove.
      (window_buffer_changed, mode_line_update_needed, redisplay_internal)
      (try_scrolling, try_cursor_movement, redisplay_window)
      (try_window_reusing_current_matrix, try_window_id, display_line)
      (display_mode_lines, decode_mode_spec): Adjust users.
      * .gdbinit (pwinx): Do not print sequence_number.
      422ff52b
  2. 01 Jan, 2013 1 commit
  3. 31 Dec, 2012 1 commit
  4. 23 Nov, 2012 1 commit
  5. 09 Nov, 2012 1 commit
  6. 08 Nov, 2012 1 commit
    • 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
  7. 30 Sep, 2012 1 commit
  8. 23 Sep, 2012 1 commit
  9. 22 Sep, 2012 1 commit
  10. 04 Sep, 2012 1 commit
    • Paul Eggert's avatar
      Simplify redefinition of 'abort' (Bug#12316). · 1088b922
      Paul Eggert authored
      Do not try to redefine the 'abort' function.  Instead, redo
      the code so that it calls 'emacs_abort' rather than 'abort'.
      This removes the need for the NO_ABORT configure-time macro
      and makes it easier to change the abort code to do a backtrace.
      * configure.ac (NO_ABRT): Remove.
      * admin/CPP-DEFINES (NO_ABORT): Remove.
      * nt/inc/ms-w32.h (w32_abort) [HAVE_NTGUI]: Remove.
      * src/.gdbinit: Just stop at emacs_abort, not at w32_abort or abort.
      * src/emacs.c (abort) [!DOS_NT && !NO_ABORT]:
      Remove; sysdep.c's emacs_abort now takes its place.
      * src/lisp.h (emacs_abort): New decl.  All calls from Emacs code to
      'abort' changed to use 'emacs_abort'.
      * src/msdos.c (dos_abort) [defined abort]: Remove; not used.
      (abort) [!defined abort]: Rename to ...
      (emacs_abort): ... new name.
      * src/sysdep.c (emacs_abort) [!HAVE_NTGUI]: New function, taking
      the place of the old 'abort' in emacs.c.
      * src/w32.c, src/w32fns.c (abort): Do not #undef.
      * src/w32.c (emacs_abort): Rename from w32_abort.
      1088b922
  11. 20 Aug, 2012 1 commit
  12. 19 Aug, 2012 1 commit
  13. 07 Aug, 2012 2 commits
    • Eli Zaretskii's avatar
      Fix .gdbinit to match changes with INTERNAL_FIELD. · 26d16b35
      Eli Zaretskii authored
       src/.gdbinit (xframe, xwindow, nextcons, xcar, xcdr, xlist): Rename
       fields to match removal of FGET and WGET and disuse of
       INTERNAL_FIELD in Lisp_Cons.
      26d16b35
    • Dmitry Antipov's avatar
      Revert and cleanup Lisp_Cons, Lisp_Misc and Lisp_Symbol things. · c644523b
      Dmitry Antipov authored
      * src/lisp.h (struct Lisp_Symbol): Change xname to meaningful
      name since all xname users are fixed long time ago.  Do not use
      INTERNAL_FIELD.
      (set_symbol_name, set_symbol_function, set_symbol_plist):
      (set_symbol_next, set_overlay_plist): New function.
      (struct Lisp_Cons): Do not use INTERNAL_FIELD.
      (struct Lisp_Overlay): Likewise.
      (CVAR, MVAR, SVAR): Remove.
      * src/alloc.c, src/buffer.c, src/buffer.h, src/bytecode.c:
      * src/cmds.c, src/data.c, src/doc.c, src/eval.c, src/fns.c:
      * src/keyboard.c, src/lread.c, src/nsselect.m, src/xterm.c:
      Adjust users.
      * src/.gdbinit: Change to use name field of struct Lisp_Symbol
      where appropriate.
      * admin/coccinelle/overlay.cocci, admin/coccinelle/symbol.cocci:
      Remove.
      c644523b
  14. 01 Aug, 2012 2 commits
  15. 31 Jul, 2012 1 commit
    • Eli Zaretskii's avatar
      Fix 'xframe' in .gdbinit. · 1e0afd9a
      Eli Zaretskii authored
       src/.gdbinit (xframe): Adapt to introduction of FVAR and the
       resulting renaming of 'struct frame' members.
      1e0afd9a
  16. 27 Jul, 2012 2 commits
    • Paul Eggert's avatar
      Adjust GDB to reflect pvec_type changes. · c20fdd9e
      Paul Eggert authored
      * .gdbinit (xvectype, xpr, xbacktrace): Adjust to reflect the
      2012-07-04 changes to pseudovector representation.  Problem
      reported by Eli Zaretskii in <http://bugs.gnu.org/1995-05-30T23:07:27Z!kwzh@gnu.org#30>.
      c20fdd9e
    • Paul Eggert's avatar
      Improve GDB symbol export. · 4706125e
      Paul Eggert authored
      * .gdbinit (xgetptr, xgetint, xgettype): Set $bugfix in different
      arms of an 'if', not using conditional expressions; otherwise GDB
      complains about the types in the unevaluated arm when the argument
      is an integer literal.
      (xgetint): Simplify expression.
      * alloc.c (gdb_make_enums_visible): New constant.  This ports to
      GCC 3.4.2 the export of symbols to GDB.  Problem reported by Eli
      Zaretskii in <http://bugs.gnu.org/1995-05-30T23:07:27Z!kwzh@gnu.org#13>.
      * lisp.h (PUBLISH_TO_GDB): Remove.  All uses removed.  No longer
      needed now that we have gdb_make_enums_visible.
      (enum CHECK_LISP_OBJECT_TYPE, enum Lisp_Bits, enum More_Lisp_Bits)
      (enum enum_USE_LSB_TAG):
      New enum types, packaging up enums that need to be exported to GDB.
      4706125e
  17. 26 Jul, 2012 1 commit
    • Paul Eggert's avatar
      Simplify export of symbols to GDB; fix related .gdbinit bugs. · 1781b9e9
      Paul Eggert authored
      * etc/emacs-buffer.gdb ($tagmask, $valmask): Remove.
      (ygetptr): Adjust to recent changes in lisp.h and emacs.c,
      by using VALMASK instead of $valmask, CHECK_LISP_OBJECT_TYPE
      instead of gdb_use_union, and DATA_SEG_BITS instead of
      gdb_data_seg_bits.  Also, use $ptr.i rather than $ptr.u.val.
      * src/.gdbinit (xgetptr, xgetint, xgettype): Don't use "set $bugfix =
      $bugfix.i", as this doesn't work (with GDB 7.4.1, anyway).
      (xgetptr, xgetint, xgettype, xcoding, xcharset, xprintbytestr):
      Adjust to changes in lisp.h and emacs.c, by using
      CHECK_LISP_OBJECT_TYPE rather than gdb_use_struct, VALMASK instead
      of $valmask, DATA_SEG_BITS instead of gdb_data_seg_bits,
      INTTYPEBITS instead of gdb_gctypebits - 1, USE_LSB_TAG instead of
      gdb_use_lsb, (1 << GCTYPEBITS) - 1 instead of $tagmask, VALBITS
      instead of gdb_valbits.
      (xvectype, xvector, xpr, xprintstr, xbacktrace): Similarly, use
      PSEUDOVECTOR_FLAG instead of PVEC_FLAG, and ARRAY_MARK_FLAG
      instead of gdb_array_mark_flag.
      (xboolvector): Get size from $->size, not $->header.size.
      Use BOOL_VECTOR_BITS_PER_CHAR rather than mystery constants.
      (xreload, hook-run, hookpost-run): Remove.
      * src/emacs.c: Include <verify.h>.
      (gdb_use_lsb, gdb_use_struct, gdb_valbits, gdb_gctypebits)
      (gdb_data_seg_bits, PVEC_FLAG, gdb_array_mark_flag, gdb_pvec_type):
      Remove.
      (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS, gdb_GCTYPEBITS)
      (gdb_USE_LSB_TAG): New enum constants.
      (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG):
      Also define these as enum constants, so they're visible to GDB.
      (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): New macros.
      (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Also define these
      as constants, so they're visible to GDB.
      * src/lisp.h (VALBITS, INTTYPEBITS, FIXNUM_BITS, PSEUDOVECTOR_SIZE_BITS)
      (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK, BOOL_VECTOR_BITS_PER_CHAR):
      Now enum constants, not macros, so they're visible to GDB.
      (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Default to 0, as this is
      more convenient now.  All uses changed.
      (VALMASK) [USE_LSB_TAG]: Also define in this case.
      * src/mem-limits.h (EXCEEDS_LISP_PTR): Adjust to DATA_SEG_BITS change.
      1781b9e9
  18. 25 Jul, 2012 1 commit
    • Paul Eggert's avatar
      Use typedef for EMACS_INT, EMACS_UINT. · 71f88e00
      Paul Eggert authored
      * lisp.h, s/ms-w32.h (EMACS_INT, EMACS_UINT): Use typedefs rather
      than macros.  This simplifies debugging in the usual case, since
      it lets GDB show addresses as 'EMACS_INT *' rather than 'long int *'
      and it allows expressions involving EMACS_INT casts.
      * .gdbinit (xreload): Simplify by using EMACS_INT cast.
      71f88e00
  19. 14 Jun, 2012 1 commit
  20. 13 Jun, 2012 1 commit
    • Andreas Schwab's avatar
      Use a simple struct to implement compile time checks for the Lisp_Object type · 646b5f55
      Andreas Schwab authored
      * configure.in: Rename --enable-use-lisp-union-type to
      --enable-check-lisp-object-type and define CHECK_LISP_OBJECT_TYPE
      instead of USE_LISP_UNION_TYPE.
      
      * admin/make-emacs: Rename --union-type to --check-lisp-type.  Define
      CHECK_LISP_OBJECT_TYPE insted of USE_LISP_UNION_TYPE.
      * admin/CPP-DEFINES (DEBUG_LISP_OBJECT_TYPE): Renamed from
      USE_LISP_UNION_TYPE.
      
      * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]: Define as struct
      instead of union.
      (XLI, XIL): Define.
      (XHASH, XTYPE, XINT, XUINT, make_number, XSET, XPNTR, XUNTAG): Use
      them.
      * src/emacs.c (gdb_use_struct): Renamed from gdb_use_union.
      * src/.gdbinit: Check gdb_use_struct instead of gdb_use_union.
      * src/alloc.c (widen_to_Lisp_Object): Removed.
      (mark_memory): Use XIL instead of widen_to_Lisp_Object.
      * src/frame.c (delete_frame): Remove outdated comment.
      * src/w32fns.c (Fw32_register_hot_key): Use XLI instead of checking
      USE_LISP_UNION_TYPE.
      (Fw32_unregister_hot_key): Likewise.
      (Fw32_toggle_lock_key): Likewise.
      * src/w32menu.c (add_menu_item): Likewise.
      (w32_menu_display_help): Use XIL instead of checking
      USE_LISP_UNION_TYPE.
      * src/w32heap.c (allocate_heap): Don't check USE_LISP_UNION_TYPE.
      (init_heap): Likewise.
      * src/w32term.c (w32_read_socket): Update comment.
      646b5f55
  21. 01 May, 2012 1 commit
  22. 24 Apr, 2012 1 commit
  23. 21 Feb, 2012 1 commit
  24. 18 Feb, 2012 1 commit
  25. 04 Feb, 2012 1 commit
  26. 11 Jan, 2012 1 commit
  27. 05 Jan, 2012 1 commit
  28. 22 Nov, 2011 1 commit
  29. 29 Oct, 2011 1 commit
  30. 18 Sep, 2011 1 commit
  31. 18 Jun, 2011 1 commit
  32. 11 Mar, 2011 1 commit
  33. 30 Jan, 2011 1 commit
  34. 25 Jan, 2011 1 commit
  35. 02 Jan, 2011 1 commit
  36. 27 Dec, 2010 1 commit
  37. 13 Nov, 2010 1 commit
    • Eli Zaretskii's avatar
      Fix and document display of glyphless characters. · 0eb025fb
      Eli Zaretskii authored
       src/xdisp.c (set_cursor_from_row): Fix cursor positioning on
       zero-width characters.
       (syms_of_xdisp) <glyphless-char-display>: Doc fix.
       src/.gdbinit (pgx): Adapt to latest changes in `struct glyph'.
       src/w32term.c (x_draw_glyphless_glyph_string_foreground): Draw the
       box before drawing the glyphs inside it.
       src/dispextern.h (enum glyphless_display_method): Rename
       GLYPHLESS_DISPLAY_HEXA_CODE to GLYPHLESS_DISPLAY_HEX_CODE.  All
       users changed.
       src/term.c (append_glyphless_glyph, produce_glyphless_glyph): Fix
       comments.
       (produce_glyphless_glyph): Enclose "U+nnnn" and "empty box"
       whitespace in "[]", to simulate a box.  Don't use uninitialized
       variable `width'.
       lisp/international/characters.el (glyphless-char-display-control):
       Renamed from glyphless-char-control; all users changed.  Doc fix.
       Signal an error if display method is not one of the recognized
       symbols.
       doc/emacs/rmail.texi (Rmail Coding): Characters with no fonts are not
       necessarily displayed as empty boxes.
       doc/emacs/mule.texi (Language Environments, Fontsets): Characters with no
       fonts are not necessarily displayed as empty boxes.
       doc/emacs/display.texi (Text Display): Document display of glyphless
       characters.
       doc/lispref/display.texi (Usual Display): Characters with no fonts are not
       necessarily displayed as empty boxes.
       etc/NEWS: Document display of glyphless characters.
      0eb025fb