1. 23 Apr, 2020 1 commit
    • Eli Zaretskii's avatar
      Fix display of composed text with :box face attribute · 5ab80286
      Eli Zaretskii authored
      * src/xdisp.c (get_next_display_element): For a composition on a
      display or overlay string, set the end_of_box_run_p flag if the
      string ends at the last character included in the composition.
      (fill_gstring_glyph_string): Fix the way the width of a gstring
      glyph string is calculated: use the values calculated in
      gui_produce_glyphs, since the latter adjusts the width due to the
      face's ':box' attribute.
      * src/xterm.c (x_draw_glyph_string_box):
      * src/w32term.c (w32_draw_glyph_string_box):
      * src/nsterm.m (ns_dumpglyphs_box_or_relief): Support automatic
      compositions, which have the right_box_line_p flag set on the last
      glyph produced from the composition.  (Bug#40687)
      
      * src/w32term.c (w32_compute_glyph_string_overhangs): Update to be
      consistent with xterm.c in its support of automatic composition
      glyph strings.
      * src/dispextern.h (enum glyph_type): More accurate commentary.
      * src/.gdbinit (pgx): Display slice.img members only for image
      glyphs.
      5ab80286
  2. 09 Mar, 2020 1 commit
  3. 01 Jan, 2020 1 commit
  4. 23 Sep, 2019 1 commit
    • Paul Eggert's avatar
      Update some URLs · 946a56a1
      Paul Eggert authored
      This mostly changes http: to https: in URLs.  It also updates
      some URLs that have moved, removes some URLs that no longer
      work, recommends against using procmail (procmail.org no
      longer works), and removes some mentions of the
      no-longer-existing Gmane, LPF and VTW.
      It doesn't update all URLs, just the ones I had time for.
      * GNUmakefile (help):
      * admin/admin.el (manual-doctype-string):
      * admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map):
      * admin/charsets/mapconv:
      * lisp/net/soap-client.el (soap-create-envelope):
      * lisp/org/org.el (org-doi-server-url):
      * lisp/textmodes/bibtex.el (bibtex-generate-url-list):
      Prefer https: to http: un URLs.
      946a56a1
  5. 13 Jul, 2019 1 commit
    • Paul Eggert's avatar
      Replace Vdead with tagged pointer · 04cbdde9
      Paul Eggert authored
      This speeds up ‘make compile-always’ by 0.1% on my platform.
      Suggested by Pip Cet in:
      https://lists.gnu.org/r/emacs-devel/2019-07/msg00257.html
      * src/.gdbinit (pwinx, pgx, xbuffer, xprintstr):
      Output dead_object () as "DEAD".
      * src/alloc.c (Vdead, DEADP): Remove.
      All uses replaced by dead_object () / deadp.
      (deadp): New function.
      (init_alloc_once_for_pdumper): Remove no-longer-needed
      initialization.
      * src/lisp.h (dead_object): New function.
      04cbdde9
  6. 04 Jun, 2019 1 commit
    • Paul Eggert's avatar
      Adjust comments/debug to match C bignum code · 741d04a8
      Paul Eggert authored
      * doc/lispintro/emacs-lisp-intro.texi (Digression into C):
      Adjust to match current C code.
      * lisp/emacs-lisp/ert.el (ert--force-message-log-buffer-truncation):
      Simplify.
      * src/.gdbinit (Lisp_Object_Printer.to_string): Return
      a string that says "make_fixnum", not "make_number".
      741d04a8
  7. 04 May, 2019 1 commit
    • Eli Zaretskii's avatar
      Minor fix in .gdbinit · 5d303091
      Eli Zaretskii authored
      * src/.gdbinit (xprintsym): Don't attempt to print the
      symbol's name if it is not yet set.  This happens with
      built-in symbols at the beginning of 'main'.
      5d303091
  8. 28 Mar, 2019 1 commit
    • Paul Eggert's avatar
      Simpler way to export HAVE_X_WINDOWS to GDB · 7f129f2e
      Paul Eggert authored
      * src/.gdbinit: Simplify by removing dependency on globals
      implementation.  This is useful for a future performance
      improvement that I have in mind.
      * src/alloc.c (enum defined_HAVE_X_WINDOWS, defined_HAVE_X_WINDOWS):
      New enum and constant.
      (gdb_make_enums_visible) [__GNUC__]: Use it, to make
      defined_HAVE_X_WINDOWS visible to GDB.
      7f129f2e
  9. 01 Jan, 2019 1 commit
  10. 12 Aug, 2018 1 commit
  11. 10 Jun, 2018 1 commit
    • Daniel Colascione's avatar
      Add debug facility for formatting in rr sessions · aaffae84
      Daniel Colascione authored
      The existing debug print commands don't work in rr, since they touch
      stderr. The new xfmt command just calls Fformat and doesn't touch the
      stdio streams.
      
      * src/.gdbinit:
      (xfmt): New GDB command.
      
      * src/print.c:
      (debug_format): New function.
      aaffae84
  12. 08 Jun, 2018 1 commit
  13. 27 May, 2018 1 commit
  14. 16 Feb, 2018 1 commit
  15. 12 Feb, 2018 1 commit
    • Tom Tromey's avatar
      Minor fixes to .gdbinit · b3f45140
      Tom Tromey authored
      * src/.gdbinit (xcompiled): Emit a final newline.
      (python): Define "long" if not already defined.  Use casts to long,
      not int.
      b3f45140
  16. 03 Jan, 2018 1 commit
    • Paul Eggert's avatar
      Fix .gdbinit to work with Lisp_Word · f8b4e87d
      Paul Eggert authored
      Problem reported by Stefan Monnier (Bug#29957).
      * src/.gdbinit (xgetptr, xgetint, xgettype):
      Cast Lisp_Word value to EMACS_INT, since it might be a pointer now.
      f8b4e87d
  17. 01 Jan, 2018 1 commit
  18. 12 Dec, 2017 1 commit
    • Paul Eggert's avatar
      Reimplement Lisp_Object as pointer-to-incomplete · 244346c7
      Paul Eggert authored
      This makes Lisp_Object values opaque pointers instead of integers,
      which helps avoid the same sort of typos that
      CHECK_LISP_OBJECT_TYPE helps to avoid, without having to wrap
      pointers inside structures.  This also looks forward to supporting
      -fcheck-pointer-bounds.
      * etc/DEBUG:
      * src/.gdbinit (Lisp_Object_Printer.to_string):
      Lisp_Object can be a pointer type now.
      * src/alloc.c (macro_XPNTR, XPNTR):
      * src/emacs-module.c (value_to_lisp_bits, lisp_to_value_bits):
      * src/lisp.h (lisp_h_XLI, lisp_h_XIL):
      (lisp_h_XUNTAG) [USE_LSB_TAG]:
      (XUNTAG) [!USE_LSB_TAG]:
      (Lisp_Object, TAG_PTR, make_lisp_symbol):
      Support new Lisp_Object implementation as a pointer to an
      incomplete type.  Keep pointers pointers, as much as possible.
      * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, XPNTR_OR_SYMBOL_OFFSET):
      Remove.  All uses replaced by plain XPNTR.
      * src/emacs-module.c: Work around GCC bug 83162.
      * src/lisp.h (LISP_WORDS_ARE_POINTERS, lisp_h_XLP, lisp_h_XPL):
      (XLP, XPL) [DEFINE_KEY_OPS_AS_MACROS]:
      New macros.
      (Lisp_Word, untagged_ptr, Lisp_Word_tag): New types.
      (XLP, XPL): New inline functions.
      (TAG_PTR): Now expands to an initializer, not an expression.
      All uses changed.
      (TAG_SYMOFFSET, XLI_BUILTIN_LISPSYM): Remove.  All uses removed.
      (LISPSYM_INITIALLY): Redo in terms of the new TAG_PTR.
      (NIL_IS_ZERO): Redo without XLI_BUILTIN_LISPSYM.
      * src/xwidget.c (webkit_javascript_finished_cb): Use XPL
      instead of XIL with a non-EMACS_INT arg.
      (Fxwidget_webkit_execute_script): Use XLP instead of XLI
      followed by two conversions.
      244346c7
  19. 17 Nov, 2017 2 commits
    • Eli Zaretskii's avatar
      More fixes in src/.gdbinit · 648c128b
      Eli Zaretskii authored
      * src/.gdbinit (pwinx): Update to match 'struct window'.
      (pcursorx): Use "." instead of "->" because the argument is a
      struct, not a pointer.
      648c128b
    • Eli Zaretskii's avatar
      Fix .gdbinit following lisp.h changes · 42c87681
      Eli Zaretskii authored
      * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
      (xprintstr): Adapt to latest changes in Lisp object C structures.
      (Bug#29332)
      42c87681
  20. 13 Sep, 2017 1 commit
    • Paul Eggert's avatar
      Prefer HTTPS to FTP and HTTP in documentation · bc511a64
      Paul Eggert authored
      Most of this change is to boilerplate commentary such as license URLs.
      This change was prompted by ftp://ftp.gnu.org's going-away party,
      planned for November.  Change these FTP URLs to https://ftp.gnu.org
      instead.  Make similar changes for URLs to other organizations moving
      away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
      fsf.org when this works, as this will further help defend against
      man-in-the-middle attacks (for this part I omitted the MS-DOS and
      MS-Windows sources and the test tarballs to keep the workload down).
      HTTPS is not fully working to lists.gnu.org so I left those URLs alone
      for now.
      bc511a64
  21. 28 Aug, 2017 1 commit
  22. 30 May, 2017 1 commit
  23. 06 May, 2017 2 commits
  24. 05 May, 2017 1 commit
    • Paul Eggert's avatar
      Pretty-print Lisp_Object values in GDB · 2b91f3d1
      Paul Eggert authored
      * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
      GDB displays them as "XIL(0xXXX)" rather than displaying them
      as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
      otherwise.
      2b91f3d1
  25. 01 Jan, 2017 1 commit
  26. 24 Dec, 2016 1 commit
    • Paul Eggert's avatar
      Remove interpreter’s byte stack · a815e5f1
      Paul Eggert authored
      This improves performance overall on my benchmark on x86-64,
      since the interpreted program-counter resides in a machine
      register rather than in RAM.
      * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
      is no longer a byte stack to decode.
      * src/bytecode.c (struct byte_stack, byte_stack_list)
      (relocate_byte_stack): Remove.  All uses removed.
      (FETCH): Simplify now that pc is now local (typically, in a
      register) and no longer needs to be relocated.
      (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
      (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
      (exec_byte_code): Allocate a copy of the function’s bytecode,
      so that there is no problem if GC moves it.
      * src/lisp.h (struct handler): Remove byte_stack member.
      All uses removed.
      * src/thread.c (unmark_threads): Remove.  All uses removed.
      * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
      All uses removed.  m_stack_bottom is now the first non-Lisp field.
      a815e5f1
  27. 12 Oct, 2016 1 commit
    • Eli Zaretskii's avatar
      Adapt GDB scripts to '--enable-check-lisp-object-type' builds · 27eb668a
      Eli Zaretskii authored
      * etc/emacs-buffer.gdb <$qnil>: New variable.
      (ybuffer-list, yset-buffer): Use $qnil for comparing against
      'nil', as direct comparison with Qnil doesn't work in a build with
      '--enable-check-lisp-object-type'.
      
      * src/.gdbinit: Adapt commands of the temporary breakpoint in
      init_sys_modes to a build with '--enable-check-lisp-object-type'.
      27eb668a
  28. 09 Aug, 2016 1 commit
    • Paul Eggert's avatar
      Remove interpreter’s byte stack · 644fc17b
      Paul Eggert authored
      This improves performance overall on my benchmark on x86-64,
      since the interpreted program-counter resides in a machine
      register rather than in RAM.
      * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
      is no longer a byte stack to decode.
      * src/bytecode.c (struct byte_stack, byte_stack_list)
      (relocate_byte_stack): Remove.  All uses removed.
      (FETCH): Simplify now that pc is now local (typically, in a
      register) and no longer needs to be relocated.
      (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
      (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
      (exec_byte_code): Allocate a copy of the function’s bytecode,
      so that there is no problem if GC moves it.
      * src/lisp.h (struct handler): Remove byte_stack member.
      All uses removed.
      (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
      SAFE_ALLOCA_LISP.
      (SAFE_ALLOCA_LISP): Use it.
      644fc17b
  29. 01 Jan, 2016 1 commit
  30. 29 Jun, 2015 1 commit
  31. 13 Jan, 2015 1 commit
    • Eli Zaretskii's avatar
      Fix problems with 32-bit wide-int build exposed by MinGW · 5aa618b0
      Eli Zaretskii authored
       lisp.h (XPNTR): Move definition to after XTYPE, to avoid
       compilation error in an unoptimized build when !USE_LSB_TAG.
       src/w32heap.c (DUMPED_HEAP_SIZE): For 32-bit wide-int build, use the
       same larger value as for the 64-bit build.
       src/w32term.h (SCROLL_BAR_PACK): Cast the result to UINT_PTR to
       avoid compiler warnings.
       src/w32proc.c (Fw32_get_codepage_charset, Fw32_set_keyboard_layout):
       Avoid compiler warnings about cast from integer to pointer of
       different size.
       src/w32menu.c (menubar_selection_callback, w32_menu_show): Cast to
       UINT_PTR instead of EMACS_INT, to avoid compiler warnings about
       casting from integer to pointer of different size.
       (add_menu_item): Pass the help-echo string as a pointer to
       Lisp_String, not as a Lisp_Object.
       (w32_menu_display_help): Use make_lisp_ptr to reconstruct a Lisp
       string object from its C pointer.
       src/w32fns.c (w32_msg_pump) <WM_EMACS_UNREGISTER_HOT_KEY>: Use
       make_lisp_ptr instead of XIL, to reconstruct a Lisp_Cons from its
       C pointer.
       <WM_EMACS_TOGGLE_LOCK_KEY>: msg.lparam is now a C integer.
       (Fx_create_frame): Type-cast the result of XFASTINT to avoild
       compiler warnings about size differences.
       (Fw32_unregister_hot_key): Pass the tail of w32_grabbed_keys as a
       pointer to a Lisp_Cons struct, not as a disguised EMACS_INT.
       (Fw32_toggle_lock_key): Pass the new state of the key as a C
       integer; use -1 for nil.  Doc fix.
       src/.gdbinit (xgetsym): New subroutine.
       (xsymname, xsymbol): Use it.
       (xprintsym): No need to call xgetptr.
      5aa618b0
  32. 08 Jan, 2015 1 commit
    • Eli Zaretskii's avatar
      Fix GDB accesses to the 'nil's name. · ad83cdac
      Eli Zaretskii authored
       src/.gdbinit (xsymname): New subroutine.
       (xprintsym, initial-tbreak): Use it to access the name of a symbol
       in a way that doesn't cause GDB to barf when it tries to
       dereference a NULL pointer.
      ad83cdac
  33. 01 Jan, 2015 2 commits
  34. 26 Sep, 2014 1 commit
  35. 28 Jul, 2014 2 commits
  36. 16 Apr, 2014 1 commit
    • Paul Eggert's avatar
      Remove DATA_SEG_BITS. · 5403b2d3
      Paul Eggert authored
      The DATA_SEG_BITS hack was needed for older 32 bit platforms.
      As a result of this change, Emacs won't work on IRIX 6.5 with IRIX
      cc, but that platform is so old that SGI itself stopped supporting
      it in December 2013.  If you still need Emacs on IRIX, please
      either compile with GCC and port the undumping code, or run
      './configure --with-wide-int'.
      * configure.ac (DATA_SEG_BITS): Remove.  All uses removed.
      * src/alloc.c (gdb_make_enums_visible): Update to match lisp.h.
      * src/lisp.h (GCTYPEBITS): Move definition up, and switch to the
      DEFINE_GDB_SYMBOL_START way to define it.
      (NONPOINTER_BITS): New macro.
      (EMACS_INT): Use it.
      [!USE_LSB_TAG && !WIDE_EMACS_INT]: Fail, and suggest reporting
      the problem and/or configuring --with-wide-int.
      (USE_LSB_TAG): Simplify, based on above changes.
      (gdb_DATA_SEG_BITS): Remove.  All uses removed.
      * src/vm-limit.c (exceeds_lisp_ptr): Remove.  All uses removed.
      5403b2d3