1. 03 Aug, 2018 4 commits
    • Gemini Lasswell's avatar
      Move 'backtrace' from subr.el to backtrace.el · 83af893f
      Gemini Lasswell authored
      * lisp/subr.el (backtrace, backtrace--print-frame): Remove functions.
      * lisp/emacs-lisp/backtrace.el (backtrace-backtrace): Remove function.
      (backtrace): New function.
      (backtrace-to-string): Make argument optional.
      * doc/lispref/debugging.texi (Internals of Debugger): Update
      description of 'backtrace' function.
      83af893f
    • Gemini Lasswell's avatar
      Add new command to expand all "..."s in a backtrace frame · a3ba34ae
      Gemini Lasswell authored
      * doc/lispref/debugging.texi (Backtraces): Document new keybinding.
      * lisp/emacs-lisp/backtrace.el (backtrace-line-length): Add the
      option of unlimited line length.
      (backtrace--match-ellipsis-in-string): Add a comment to explain
      why this function is necessary.
      (backtrace-mode-map): Add keybinding for 'backtrace-expand-ellipses'.
      (backtrace-expand-ellipsis): Use 'cl-print-to-string-with-limit'.
      (backtrace-expand-ellipses): New command.
      (backtrace-print-to-string): Use 'cl-print-to-string-with-limit'.
      Tag the printed forms with a gensym instead of the values of
      print-length and print-level.
      (backtrace--print): Add 'stream' argument.
      * test/lisp/emacs-lisp/backtrace-tests.el
      (backtrace-tests--expand-ellipsis): Make the test less dependent
      on the implementation.
      (backtrace-tests--expand-ellipses): New test.
      
      Move the fitting of a printed representation into a limited number of
      characters using appropriate values of print-level and print-length
      from 'backtrace-print-to-string' to cl-print.el for future use by
      other parts of Emacs.
      * lisp/emacs-lisp/cl-print.el (cl-print-to-string-with-limit): New
      function.
      * test/lisp/emacs-lisp/cl-print-tests.el
      (cl-print-tests-print-to-string-with-limit): New test.
      a3ba34ae
    • Gemini Lasswell's avatar
      Change keybinding for backtrace-collapse from '=' to '-' · 2ede75c4
      Gemini Lasswell authored
      '+' and '-' make a more intuitive pair of keybindings for
      backtrace-pretty-print and backtrace-collapse than '+' and '='.
      * lisp/emacs-lisp/backtrace.el (backtrace-mode-map):
      * doc/lispref/debugging.texi (Backtraces): Change
      keybinding for backtrace-collapse.
      2ede75c4
    • Gemini Lasswell's avatar
      Add backtrace-mode and use it in the debugger, ERT and Edebug · e09120d6
      Gemini Lasswell authored
      * doc/lispref/debugging.texi (Using Debugger): Remove explanation of
      backtrace buffer.  Refer to new node.
      (Backtraces): New node.
      (Debugger Commands): Refer to new node.  Remove 'v'.
      * doc/lispref/edebug.texi (Edebug Misc): Refer to new node.
      * doc/misc/ert.texi (Running Tests Interactively): Refer to new node.
      
      * lisp/emacs-lisp-backtrace.el: New file.
      * test/lisp/emacs-lisp/backtrace-tests.el: New file.
      
      * lisp/emacs-lisp/debug.el: (debugger-buffer-state): New cl-defstruct.
      (debugger--restore-buffer-state): New function.
      (debug): Use a debugger-buffer-state object to save and restore buffer
      state.  Fix bug#15749 by leaving an unused buffer in debugger-mode,
      empty, instead of in fundamental-mode, and then when reusing a buffer,
      not calling debugger-mode if the buffer is already in debugger-mode.
      (debugger-insert-backtrace): Remove.
      (debugger-setup-buffer): Use backtrace-mode.
      (debugger--insert-header): New function.
      (debugger-continue, debugger-return-value): Change check for flags to
      use backtrace-frames.
      (debugger-frame-number): Determine backtrace frame number from
      backtrace-frames.
      (debugger--locals-visible-p, debugger--insert-locals)
      (debugger--show-locals, debugger--hide-locals)
      (debugger-toggle-locals): Remove.
      (debugger-mode-map): Make a child of backtrace-mode-map.  Move
      navigation commands to backtrace-mode-map.  Bind 'q' to debugger-quit
      instead of top-level.  Make Help Follow menu item call
      backtrace-help-follow-symbol.
      (debugger-mode): Derive from backtrace-mode.
      (debug-help-follow): Remove.  Move body of this function to
      'backtrace-help-follow-symbol' in backtrace.el.
      (debugger-quit): New function.
      
      * lisp/emacs-lisp/edebug.el (edebug-unwrap-results): Remove warning
      in docstring about circular results.
      (edebug-unwrap): Use pcase.
      (edebug-unwrap1): New function to unwrap circular objects.
      (edebug-unwrap*): Use it.
      (edebug--frame): New cl-defstruct.
      (edebug-backtrace): Call the buffer *Edebug Backtrace* and use
      backtrace-mode.  Get the frames from edebug--backtrace-frames.
      (edebug--backtrace-frames, edebug--unwrap-and-add-info)
      (edebug--symbol-not-prefixed-p): New functions.
      
      * lisp/emacs-lisp/lisp-mode.el
      (lisp-el-font-lock-keywords-for-backtraces)
      (lisp-el-font-lock-keywords-for-backtraces-1)
      (lisp-el-font-lock-keywords-for-backtraces-2): New constants.
      
      * lisp/emacs-lisp/ert.el (ert--print-backtrace): Remove.
      (ert--run-test-debugger): Use backtrace-get-frames.
      (ert-run-tests-batch): Use backtrace-to-string.
      (ert-results-pop-to-backtrace-for-test-at-point): Use backtrace-mode.
      (ert--insert-backtrace-header): New function.
      
      * tests/lisp/emacs-lisp/ert-tests.el (ert-test--which-file):
      Use backtrace-frame slot accessor.
      e09120d6
  2. 07 Jul, 2018 1 commit
    • Eli Zaretskii's avatar
      Improve indexing of 'eval-defun' in ELisp manual · fdd7e7d8
      Eli Zaretskii authored
      * doc/lispref/display.texi (Defining Faces):
      * doc/lispref/debugging.texi (Explicit Debug):
      * doc/lispref/customize.texi (Variable Definitions):
      * doc/lispref/variables.texi (Defining Variables): Add index
      entries for 'eval-defun'.  (Bug#32066)
      fdd7e7d8
  3. 17 Feb, 2018 2 commits
    • Eli Zaretskii's avatar
      Improve documentation of Profiling features · d8917eba
      Eli Zaretskii authored
      * doc/lispref/debugging.texi (Profiling): Improve the description
      of elp.el.  Improve wording of the rest of the section.  (Bug#30491)
      
      * lisp/emacs-lisp/elp.el (elp-instrument-list): Make the
      interactive invocation work.  Doc fix.
      d8917eba
    • Eli Zaretskii's avatar
      Improve indexing of "performance" in ELisp manual · b228839a
      Eli Zaretskii authored
      * doc/lispref/debugging.texi (Profiling):
      * doc/lispref/edebug.texi (Coverage Testing): Improve indexing of
      features useful for performance analysis.  (Bug#30490)
      b228839a
  4. 31 Jan, 2018 1 commit
  5. 28 Jan, 2018 1 commit
    • Martin Rudalics's avatar
      Fix some issues in the emacs/lispref manuals · 8d450008
      Martin Rudalics authored
      * doc/emacs/basic.texi (Continuation Lines):
      * doc/emacs/building.texi (GDB User Interface Layout):
      * doc/emacs/dired.texi (Misc Dired Features):
      * doc/emacs/maintaining.texi (Identifier Search):
      * doc/emacs/mark.texi (Using Region):
      * doc/emacs/misc.texi (Document View, DocView Conversion):
      * doc/emacs/modes.texi (Major Modes):
      * doc/emacs/mule.texi (Input Methods, Unibyte Mode):
      * doc/emacs/sending.texi (Mail Methods): Replace @code by
      @kbd.
      * doc/emacs/frames.texi (Text-Only Mouse):
      * doc/lispref/maps.texi (Standard Keymaps): Replace @kbd by
      @key.
      * doc/lispref/compile.texi (Compiler Errors): Write
      non-@code{nil} instead of non-nil.
      * doc/lispref/debugging.texi (Internals of Debugger):
      'backtrace' is not a command.  'debugger-stack-frame-as-list'
      is an option.
      * doc/lispref/display.texi (Size of Displayed Text):
      'window-lines-pixel-dimensions' has a last argument 'left'.
      * doc/lispref/display.texi (Attribute Functions):
      'set-face-underline' and 'set-face-inverse-video' are
      commands.
      (Tooltips): 'tooltip-frame-parameters' is an option.
      (Bidirectional Display): 'bidi-paragraph-direction' is an
      option.
      * doc/lispref/frames.texi (Cursor Parameters): 'cursor-type'
      is an option.
      (Input Focus): Argument FRAME of 'x-focus-frame' is not
      optional.
      (Child Frames): Both arguments of 'frame-ancestor-p' are
      non-optional.  'iconify-child-frame' is an option.
      * doc/lispref/os.texi (Killing Emacs):
      'kill-emacs-query-functions' is an option.
      * doc/lispref/windows.texi (Mouse Window Auto-selection):
      'mouse-autoselect-window' is an option.
      8d450008
  6. 15 Jan, 2018 1 commit
  7. 13 Jan, 2018 1 commit
  8. 01 Jan, 2018 1 commit
  9. 10 Oct, 2017 1 commit
  10. 01 Jan, 2017 1 commit
  11. 12 Dec, 2016 1 commit
    • Clément Pit--Claudel's avatar
      Move backtrace to ELisp using a new mapbacktrace primitive · 27cada03
      Clément Pit--Claudel authored
      * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
      (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
      (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
      
      * lisp/subr.el (backtrace--print-frame): New function.
      (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
      (backtrace-frame): Reimplement using `backtrace-frame--internal'.
      
      * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
      `mapbacktrace' instead of searching for "(debug" in the output of
      `backtrace'.
      
      * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
      (subr-test-backtrace-integration-test): New tests.
      
      * doc/lispref/debugging.texi (Internals of Debugger): Document
      `mapbacktrace' and missing argument BASE of `backtrace-frame'.
      27cada03
  12. 03 Dec, 2016 1 commit
    • Noam Postavsky's avatar
      Document watchpoints · 56c81783
      Noam Postavsky authored
      * doc/lispref/debugging.texi (Variable Debugging):
      * doc/lispref/variables.texi (Watching Variables): New section.
      * etc/NEWS: Add entry for watchpoints
      56c81783
  13. 22 Oct, 2016 1 commit
  14. 04 Oct, 2016 1 commit
    • Philippe Vaucher's avatar
      Restore 'command-debug-status' functionality · f2144eef
      Philippe Vaucher authored
      * src/callint.c (Fcall_interactively): Bind command-debug-status
      to nil.  This restores functionality inadvertently removed in
      Emacs 25.1.  (Bug#24555)
      
      * lisp/subr.el (command-debug-status): Declare obsolete.
      
      * doc/lispref/debugging.texi (Internals of Debugger): Document
      that 'command-debug-status' is obsolete.
      f2144eef
  15. 30 Sep, 2016 1 commit
    • Vasilij Schneidermann's avatar
      New user option 'debugger-stack-frame-as-list' · d1890a3a
      Vasilij Schneidermann authored
      * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
      variable.
      * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
      * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
      backtrace processing for the value of debugger-stack-frame-as-list.
      * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
      processing for the value of debugger-stack-frame-as-list.
      * doc/lispref/debugging.texi (Internals of Debugger): Document
      debugger-stack-frame-as-list.
      * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
      d1890a3a
  16. 29 Jul, 2016 1 commit
  17. 01 Feb, 2016 1 commit
    • Martin Rudalics's avatar
      Some corrections in Elisp manual · e639e10a
      Martin Rudalics authored
      * doc/lispref/buffers.texi (Read Only Buffers): Describe optional
      argument POSITION.
      * doc/lispref/debugging.texi (Error Debugging): `debug-on-signal'
      is an option.
      * doc/lispref/display.texi (Refresh Screen): Describe optional
      argument FRAME of `redraw-frame'.
      (Attribute Functions): Describe optional argument CHARACTER of
      `face-font'.
      (Defining Images): `image-load-path' is an option.
      (Beeping): `ring-bell-function' is an option.
      * doc/lispref/frames.texi (Size and Position): The PIXELWISE
      argument of `set-frame-size' is optional.
      (Raising and Lowering): The TERMINAL argument of `tty-top-frame'
      is optional.
      * doc/lispref/keymaps.texi (Controlling Active Maps): Fix doc of
      `set-transient-map'.
      * doc/lispref/minibuf.texi (Text from Minibuffer):
      `read-regexp-defaults-function' is an option.
      (Minibuffer Contents): `delete-minibuffer-contents' is a command.
      * doc/lispref/modes.texi (Mode Line Variables):
      `mode-line-position' and `mode-line-modes' are variables, not
      options.
      * doc/lispref/strings.texi (Creating Strings): The START argument
      of `substring' is optional.
      * doc/lispref/text.texi (Buffer Contents): Describe optional
      argument NO-PROPERTIES of `thing-at-point'.
      (User-Level Deletion): Both arguments of
      `delete-trailing-whitespace' are optional.
      (Margins): Use @key{RET} instead of @kbd{RET}.
      * doc/lispref/windows.texi (Display Action Functions): Write
      non-@code{nil} instead of non-nil.
      (Choosing Window Options): The WINDOW arg of
      `split-window-sensibly' is optional.
      (Choosing Window Options): Write non-@code{nil} instead of
      non-nil.
      (Window Start and End): Both args of `window-group-end' are
      optional.
      
      * src/buffer.c (Fbarf_if_buffer_read_only): Rename argument POS
      to POSITION to keep consisteny with doc-string.
      e639e10a
  18. 01 Jan, 2016 1 commit
  19. 15 Sep, 2015 1 commit
    • Paul Eggert's avatar
      Quote less in manuals · ef7dbdf5
      Paul Eggert authored
      The manuals often used quotes ``...'' when it is better to use @dfn or
      @code or capitalized words or no quoting at all.  For example, there is
      no need for the `` and '' in “if a variable has one effect for
      @code{nil} values and another effect for ``non-@code{nil}'' values”.
      Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
      unnecessary quoting like this, and to use @dfn etc. instead when called
      for (Bug#21472).
      ef7dbdf5
  20. 16 May, 2015 1 commit
  21. 01 Jan, 2015 2 commits
  22. 23 Dec, 2014 1 commit
    • Eli Zaretskii's avatar
      Improve indexing on the chapter/section/subsection levels. · 20cfd248
      Eli Zaretskii authored
       doc/lispref/windows.texi (Recombining Windows): Index subject of sections.
       doc/lispref/variables.texi (Variables with Restricted Values)
       (Generalized Variables): Index subject of sections.
       doc/lispref/text.texi (Buffer Contents, Examining Properties)
       (Changing Properties, Property Search, Substitution): Index
       subject of sections.
       doc/lispref/syntax.texi (Motion and Syntax, Parsing Expressions)
       (Motion via Parsing, Position Parse, Control Parsing): Index
       subject of sections.
       doc/lispref/strings.texi (Predicates for Strings, Creating Strings)
       (Modifying Strings, Text Comparison): Index subject of sections.
       doc/lispref/searching.texi (Syntax of Regexps, Regexp Special)
       (Regexp Functions, Regexp Functions): Index subject of sections.
       doc/lispref/processes.texi (Subprocess Creation, Process Information): Index
       subject of sections.
       doc/lispref/positions.texi (Screen Lines): Index subject of sections.
       doc/lispref/nonascii.texi (Scanning Charsets, Specifying Coding Systems):
       Index subject of sections.
       doc/lispref/minibuf.texi (Text from Minibuffer, Object from Minibuffer)
       (Multiple Queries, Minibuffer Contents): Index subject of
       sections.
       doc/lispref/markers.texi (Predicates on Markers, Creating Markers)
       (Information from Markers, Moving Markers): Index subject of
       sections.
       doc/lispref/macros.texi (Defining Macros, Problems with Macros): Index
       subject of sections.
       doc/lispref/loading.texi (Loading Non-ASCII, Where Defined): Index subject
       of sections.
       doc/lispref/lists.texi (List-related Predicates, List Variables, Setcar)
       (Setcdr, Plist Access): Index subject of sections.
       doc/lispref/keymaps.texi (Controlling Active Maps, Scanning Keymaps)
       (Modifying Menus): Index subject of sections.
       doc/lispref/help.texi (Accessing Documentation, Help Functions): Index
       subject of sections.
       doc/lispref/hash.texi (Hash Access): Index subject of sections.
       doc/lispref/functions.texi (Core Advising Primitives)
       (Advising Named Functions, Porting old advices): Index subject of
       sections.
       doc/lispref/frames.texi (Creating Frames, Initial Parameters)
       (Position Parameters, Buffer Parameters, Minibuffers and Frames)
       (Pop-Up Menus, Drag and Drop): Index subject of sections.
       doc/lispref/files.texi (Visiting Functions, Kinds of Files)
       (Unique File Names): Index subject of sections.
       doc/lispref/display.texi (Refresh Screen, Echo Area Customization)
       (Warning Variables, Warning Options, Delayed Warnings)
       (Temporary Displays, Managing Overlays, Overlay Properties)
       (Finding Overlays, Size of Displayed Text, Defining Faces)
       (Attribute Functions, Displaying Faces, Face Remapping)
       (Basic Faces, Font Lookup, Fontsets, Replacing Specs)
       (Defining Images, Showing Images): Index subject of sections.
       doc/lispref/debugging.texi (Debugging, Explicit Debug)
       (Invoking the Debugger, Excess Open, Excess Close): Index subject
       of sections.
       doc/lispref/customize.texi (Defining New Types, Applying Customizations)
       (Custom Themes): Index subject of sections.
       doc/lispref/control.texi (Sequencing, Combining Conditions)
       (Processing of Errors, Cleanups): Index subject of sections.
       doc/lispref/compile.texi (Eval During Compile): Index subject of sections.
       doc/lispref/commands.texi (Using Interactive, Distinguish Interactive)
       (Command Loop Info, Classifying Events, Event Mod)
       (Invoking the Input Method): Index subject of sections.
       doc/lispref/buffers.texi (Buffer List, Buffer Gap): Index subject of sections.
       doc/lispref/backups.texi (Making Backups, Numbered Backups, Backup Names)
       (Reverting): Index subject of sections.
       doc/lispref/abbrevs.texi (Abbrev Tables, Defining Abbrevs, Abbrev Files)
       (Abbrev Expansion, Standard Abbrev Tables, Abbrev Properties)
       (Abbrev Table Properties): Index subject of sections.
       doc/lispref/os.texi (Time of Day, Time Conversion, Time Parsing)
       (Time Calculations, Idle Timers): Index subject of sections.
      20cfd248
  23. 08 Jul, 2014 1 commit
  24. 13 Feb, 2014 1 commit
    • Glenn Morris's avatar
      Small doc updates for debugging · 47a73eb0
      Glenn Morris authored
      * doc/lispref/debugging.texi (Debugger Commands): Tiny edits.
      
      * lisp/jit-lock.el (jit-lock-mode): Doc fix.
      
      * etc/NEWS: Related edits.
      47a73eb0
  25. 01 Jan, 2014 1 commit
  26. 22 Dec, 2013 1 commit
  27. 03 Jul, 2013 1 commit
    • Glenn Morris's avatar
      Fix some doc/ cross-references · a944db14
      Glenn Morris authored
      * doc/lispintro/emacs-lisp-intro.texi (edebug):
      * doc/lispref/debugging.texi (Debugging):
      * doc/lispref/files.texi (File Attributes, Changing Files):
      * doc/misc/bovine.texi (top):
      * doc/misc/cc-mode.texi (AWK Mode Font Locking):
      * doc/misc/mh-e.texi (Preface):
      * doc/misc/url.texi (URI Parsing):
      Fix cross-references to other manuals.
      
      * doc/lispref/package.texi (Package Archives): Fix @url call.
      a944db14
  28. 01 Jan, 2013 1 commit
  29. 21 Nov, 2012 3 commits
  30. 20 Nov, 2012 2 commits
  31. 11 Nov, 2012 2 commits