• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/emacs-93/emacs/lisp/emacs-lisp/

Lines Matching +defs:message +defs:pop +defs:to +defs:buffer

23 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
29 ;; This minor mode allows programmers to step through Emacs Lisp
42 ;; "?" command in edebug to describe other commands.
45 ;; If you wish to change the default edebug global command prefix, change:
69 "*Functions to call before edebug is used.
70 Each time it is set to a new value, Edebug will call those functions
71 once and then `edebug-setup-hook' is reset to nil. You could use this
72 to load up Edebug specifications associated with a package you are
77 ;; edebug-all-defs and edebug-all-forms need to be autoloaded
84 This applies to `eval-defun', `eval-region', `eval-buffer', and
85 `eval-current-buffer'. `eval-region' is also called by
88 You can use the command `edebug-all-defs' to toggle the value of this
89 variable. You may wish to make it local to each buffer with
95 ;; edebug-all-defs and edebug-all-forms need to be autoloaded
102 This doesn't apply to loading or evaluations in the minibuffer.
103 Use the command `edebug-all-forms' to toggle the value of this option."
112 So to specify exceptions for macros that have some arguments evaluated
119 That takes some time, so if your program does not care what happens to
120 the window configurations, it is better to set this variable to nil.
125 `edebug-toggle-save-windows' may be used to change this variable."
129 (defcustom edebug-save-displayed-buffer-points nil
133 debugging code that changes the point of a buffer which is displayed
135 window, the buffer's point will be changed to the window's point.
156 Tracing output is displayed in a buffer named `*edebug-trace*', one
170 Use `edebug-display-freq-count' to display the frequency count and
204 "*Value bound to `debug-on-error' while Edebug is active.
221 "*Value bound to `debug-on-quit' while Edebug is active."
226 "*If non-nil, an expression to test for at every stop point.
232 "*Number of seconds to pause when execution mode is `trace'."
272 "Integer used by `edebug-gensym' to produce new names.")
284 (setq newname (concat prefix (int-to-string edebug-gensym-index)))
298 ;; Return the last sexp before point in current buffer.
302 (buffer-substring
347 BODY may change buffer outside of current restriction, unlike
348 save-restriction. BODY may change the current buffer,
349 and the restriction will be restored to the original buffer,
350 and the current buffer remains current.
357 (set-buffer (marker-buffer edebug:s-r-beg))
358 (narrow-to-region edebug:s-r-beg edebug:s-r-end)))))
362 (defconst edebug-trace-buffer "*edebug-trace*"
363 "Name of the buffer to put trace info in.")
365 (defun edebug-pop-to-buffer (buffer &optional window)
366 ;; Like pop-to-buffer, but select window where BUFFER was last shown.
368 ;; if buffer is currently shown in several windows, choose one.
373 (eq (window-buffer window) buffer))
375 ((eq (window-buffer (selected-window)) buffer)
378 ((edebug-get-buffer-window buffer))
382 ((let ((trace-window (get-buffer-window edebug-trace-buffer)))
388 ;; `edebug-trace-buffer', use it.
390 ;; All windows are dedicated or show `edebug-trace-buffer', split
394 (set-window-buffer window buffer)
396 ;; Selecting the window does not set the buffer until command loop.
397 ;;(set-buffer buffer)
400 (defun edebug-get-displayed-buffer-points ()
401 ;; Return a list of buffer point pairs, for all displayed buffers.
405 (push (cons (window-buffer w)
411 (defun edebug-set-buffer-points (buffer-points)
412 ;; Restore the buffer-points created by edebug-get-displayed-buffer-points.
413 (save-current-buffer
415 (when (buffer-live-p (car buf-point))
416 (set-buffer (car buf-point))
418 buffer-points)))
426 (window-buffer window)
440 (lambda (window buffer point start hscroll)
443 (set-window-buffer window buffer)
451 (defalias 'edebug-get-buffer-window 'get-buffer-window)
457 ;; read is redefined to maybe instrument forms.
458 ;; eval-defun is redefined to check edebug-all-forms and edebug-all-defs.
468 a buffer (read from point and advance it)
471 call it with a char as argument to push a char back)
476 STREAM must be the current buffer to do so. Whether it instruments is
480 (if (eq stream (current-buffer))
487 ;; We should somehow arrange to be able to do this
492 If the current defun is actually a call to `defvar', then reset the
496 similarly. Reinitialize the face according to `defface' specification.
500 Setting `edebug-all-defs' to a non-nil value reverses the meaning of
521 ;; Force variable to be bound.
525 ;; Force variable to be bound.
558 later. It displays `Edebug: FUNCTION' in the echo area to indicate
561 If the current defun is actually a call to `defvar' or `defcustom',
593 (message "Edebugging all definitions is %s."
602 (message "Edebugging all forms is %s."
622 ;; buffer-local variable `edebug-form-data'.
624 (make-variable-buffer-local 'edebug-form-data)
627 ;; A list of entries associating symbols with buffer regions.
628 ;; This is an automatic buffer local variable. Each entry looks like:
656 ;; Find the edebug form data entry which is closest to PNT.
676 ;; Also need to find all contained entries,
734 ;; Move to the next token and return its class. We only care about
760 ;; Read one sexp from the current buffer starting at point.
769 ((eq class 'symbol) (edebug-original-read (current-buffer)))
770 ((eq class 'string) (edebug-original-read (current-buffer)))
778 (edebug-original-read (current-buffer))))))
782 ;; Define a structure to represent offset positions of expressions.
790 ;; This is used to get back to previous levels.
813 ;; Cons the new offset to the front of the stack.
988 ;; Set the CURSOR's EXPRESSIONS and OFFSETS to the given.
1021 ;; Return the top offset pair corresponding to the top element.
1025 ;; Advance and return the cursor to the next element and offset.
1059 ;; should appear to work like eval-defun.
1061 ;; The basic plan is to surround each expression with a call to
1067 ;; When this is evaluated, first point is moved to the beginning of
1070 ;; moved to offset 2 after the end of exp.
1072 ;; The highest level expressions of the function are wrapped in a call to
1074 ;; arguments to the function. See functions edebug-enter, edebug-before,
1078 ;; This is to quiet the byte compiler.
1132 ;; These offset things don't belong here, but to support recursive
1133 ;; calls to edebug-read, they need to be here.
1136 edebug-current-offset ; reset to nil
1142 (setq def-kind (edebug-original-read (current-buffer))
1150 (edebug-original-read (current-buffer))))))
1151 ;;;(message "all defs: %s all forms: %s" edebug-all-defs edebug-all-forms)
1158 (list (edebug-read-storing-offsets (current-buffer)))
1168 ;; property to be just a marker at the definition's source code.
1181 (list (edebug-read-storing-offsets (current-buffer)))
1197 ;; Currently def-form sets this to nil; def-body sets it to t.
1200 ;; Return a unique symbol for the variable used to store the
1216 ;; This is not to be used for the body of other forms, e.g. `while',
1217 ;; since it wraps the list of forms with a call to `edebug-enter'.
1241 ;; accesses edebug-func-marc and buffer point
1314 ;; Buffer must be current-buffer for this to work:
1350 ;; In the latter case, pointers to the entry remain eq.
1356 ;; Buffer must be current-buffer.
1363 ;; (message "defining: %s" edebug-def-name) (sit-for 2)
1365 (message "Edebug: %s" edebug-def-name)
1377 (let ((window ;; Find the best window for this buffer.
1378 (or (get-buffer-window (current-buffer))
1404 ;; Only need one per expression, but it is simpler to use stop points.
1411 ;; Add the point offsets to the edebug-offset-list for the form.
1512 ;; expression but it can also be an unquote form to be filled
1533 ;;; Failure to match
1535 ;; This throws to no-match, if there are higher alternatives.
1541 ;; Remember this point in case we need to report this error.
1560 (edebug-gate edebug-gate) ;; locally bound to limit effect
1607 ;;(message "spec = %s first char = %s" spec first-char) (sit-for 1)
1621 ;; Define specs for all the symbol specs with functions used to process them.
1623 ;; user may want to define macros or functions with the same names.
1658 ;; There could be a bug here - maybe need to do edebug-match bindings.
1685 ;; Currently identical to edebug-match-form.
1727 ;; This needs to be optimized since most specs spend time here.
1778 ;; Simply set the gate to prevent backtracking at this level.
1800 ;; Special case: spec quotes a symbol to match.
1860 ;; There must be nothing left to match a nil.
1872 ;; This should only be called inside of a spec list to match the remainder
1888 ;; I could add a &lambda specification to avoid confusion.
1917 ;; Construct a new name by appending to previous name.
1924 ;; Set the edebug-def-name to the spec.
1927 ;; Construct a new name by appending to previous name.
1944 ;; The form is assumed to be executing outside of the function context.
1946 ;; Not to be used otherwise.
1952 ;; The body is assumed to be executing inside of the function context.
1953 ;; Not to be used otherwise.
2025 ;; but recognize it specially to avoid wrapping function forms.
2079 ;; Note that `(foo . ,@bar) is not legal, so we don't need to handle it.
2089 ;; destined to be evaluated, usually as the result of a
2116 (def-edebug-spec save-current-buffer t)
2119 (def-edebug-spec with-temp-message t)
2122 (def-edebug-spec pop (sexp))
2184 ;; Name of function to use for debugging when error or quit occurs.
2185 ;; Set this to 'debug if you want to debug edebug.
2199 (defvar edebug-buffer) ; which buffer the function is in.
2224 A handler for any of those names will get to handle this signal.
2227 DATA should be a list. Its elements are printed as part of the error message.
2228 If the signal is handled, DATA is made available to the handler.
2232 only be active while Edebug is. It checks `debug-on-error' to see
2265 ;; Binding these may not be the right thing to do.
2266 ;; We want to allow the global values to be changed.
2270 ;; Lexical bindings must be uncompiled for this to work.
2297 ;; a hook function is instrumented - to avoid infinite loop.
2317 (edebug-buffer (marker-buffer edebug-def-mark))
2335 subsequent changes to the same binding, by passing the status
2336 cons cell to `edebug-restore-status'. The status cons cell
2337 has the form (LOCUS . VALUE), where LOCUS can be a buffer
2338 \(for a buffer-local binding), a frame (for a frame-local binding),
2349 (if (buffer-live-p locus)
2350 (with-current-buffer locus
2379 "Function called to print trace info before expression evaluation.
2382 edebug-trace-buffer "%s{ %s" (make-string edebug-stack-depth ?\:) msg))
2385 "Function called to print trace info after expression evaluation.
2388 edebug-trace-buffer "%s} %s" (make-string edebug-stack-depth ?\:) msg))
2473 ;; Don't really try to enter edebug within an eval from redisplay.
2478 (let* ( ;; This needs to be here since breakpoints may be changed.
2519 ;; This is to avoid spurious recentering.
2520 ;; Does this still need to be buffer-local??
2522 ;;(make-variable-buffer-local 'edebug-window-start)
2526 (defvar edebug-point) ; the point in edebug buffer
2527 (defvar edebug-outside-buffer) ; the current-buffer outside of edebug
2532 (defvar edebug-eval-buffer) ; for the evaluation list.
2538 (defvar edebug-eval-list nil) ;; List of expressions to evaluate.
2542 ;; Emacs 19 adds an arg to mark and mark-marker.
2548 ;; The buffer holding the source has been killed.
2560 edebug-buffer-outside-point ; current point in edebug-buffer
2561 ;; window displaying edebug-buffer
2564 (edebug-outside-buffer (current-buffer))
2569 edebug-buffer-points
2571 edebug-eval-buffer ; declared here so we can kill it below
2589 (if (not (buffer-name edebug-buffer))
2602 (if edebug-save-displayed-buffer-points
2603 (setq edebug-buffer-points (edebug-get-displayed-buffer-points)))
2605 ;; First move the edebug buffer point to edebug-point
2607 ;; I don't know if this is going to help.
2608 ;;(set-buffer edebug-buffer)
2611 ;; If edebug-buffer is not currently displayed,
2613 (edebug-pop-to-buffer edebug-buffer (car edebug-window-data))
2617 ;; This is done after the pop to edebug-buffer
2618 ;; so that buffer-window correspondence is correct after quitting.
2622 (set-buffer edebug-buffer)
2624 (setq edebug-buffer-outside-point (point))
2628 ;; Check whether positions are up-to-date.
2652 ;; Display error message
2657 (message "Quit")
2662 (message "Global Break: %s => %s"
2666 (message "Break: %s => %s"
2670 (message "Break"))
2673 (t (message "")))
2681 (edebug-sit-for edebug-sit-for-seconds)) ; Show message.
2706 ;; Reset the edebug-window-data to whatever it is now.
2707 (let ((window (if (eq (window-buffer) edebug-buffer)
2709 (edebug-get-buffer-window edebug-buffer))))
2710 ;; Remember window-start for edebug-buffer, if still displayed.
2718 (setq edebug-trace-window (get-buffer-window edebug-trace-buffer))
2729 ;; Restore displayed buffer points.
2732 (if edebug-save-displayed-buffer-points
2733 (edebug-set-buffer-points edebug-buffer-points))
2740 ;; Unrestore edebug-buffer's window-start, if displayed.
2743 (eq (window-buffer) edebug-buffer))
2747 ;; Unrestore edebug-buffer's window-point.
2748 ;; Needed in addition to setting the buffer point
2750 ;; But this causes point to not be restored at times.
2755 ;; Unrestore edebug-buffer's point. Rerestored below.
2756 ;; (goto-char edebug-point) ;; in edebug-buffer
2765 ;; Restore current buffer always, in case application needs it.
2766 (if (buffer-name edebug-outside-buffer)
2767 (set-buffer edebug-outside-buffer))
2770 ;; that doesn't restore point and mark in the current buffer.
2771 ;; But don't restore point if edebug-buffer is current buffer.
2772 (if (not (eq edebug-buffer edebug-outside-buffer))
2774 (if (marker-buffer (edebug-mark-marker))
2775 ;; Does zmacs-regions need to be nil while doing set-marker?
2780 ;; Restore edebug-buffer's outside point.
2781 ;; (edebug-trace "restore edebug-buffer point: %s"
2782 ;; edebug-buffer-outside-point)
2783 (let ((current-buffer (current-buffer)))
2784 (set-buffer edebug-buffer)
2785 (goto-char edebug-buffer-outside-point)
2786 (set-buffer current-buffer))
2790 ;; Reset global variables to outside values in case they were changed.
2809 (defvar edebug-backtrace-buffer) ; each recursive edit gets its own
2849 ;; The current buffer is the edebug-buffer, which is put into edebug-mode.
2850 ;; Assume that none of the variables below are buffer-local.
2851 (let ((edebug-buffer-read-only buffer-read-only)
2852 ;; match-data must be done in the outside buffer
2855 (set-buffer edebug-outside-buffer) ; in case match buffer different
2860 edebug-entered ; bind locally to nil
2862 edebug-backtrace-buffer ; each recursive edit gets its own
2891 ;; We could set these to the values for previous edebug call.
2908 ;; Bind again to outside values.
2921 (message "Break"))
2923 (setq buffer-read-only t)
2932 (if edebug-backtrace-buffer
2933 (kill-buffer edebug-backtrace-buffer))
2934 ;; Could be an option to keep eval display up.
2935 (if edebug-eval-buffer (kill-buffer edebug-eval-buffer))
2944 (if (buffer-name edebug-buffer) ; if it still exists
2946 (set-buffer edebug-buffer)
2949 (setq buffer-read-only edebug-buffer-read-only)
2951 (remove-hook 'kill-buffer-hook 'edebug-kill-buffer t)
2953 ;; gotta have a buffer to let its buffer local variables be set
2954 (get-buffer-create " bogus edebug buffer"))
2957 ;; Reset global vars to outside values, in case they have been changed.
2981 ;; If pos is not visible, adjust current window to fit following context.
2982 ;;; (message "window: %s old-start: %s window-start: %s pos: %s"
2991 ;; (message "resetting window start") (sit-for 2)
3018 ;; Set up the overlay arrow at beginning-of-line in current buffer.
3025 (set-marker overlay-arrow-position pos (current-buffer))))
3039 (message "Window saving is %s for all windows."
3046 ,@body;; Code to change edebug-save-windows
3074 (message "Window saving is %s for %s."
3094 ;; Restore the window configuration to what it last was inside.
3098 (edebug-pop-to-buffer edebug-buffer)
3102 "Change to the outside window configuration."
3110 (message "Window configuration outside of Edebug. Return with %s"
3115 "Bounce the point in the outside current buffer.
3122 ;; If the buffer's currently displayed, avoid set-window-configuration.
3124 (edebug-pop-to-buffer edebug-outside-buffer)
3126 (message "Current buffer: %s Point: %s Mark: %s"
3127 (current-buffer) (point)
3128 (if (marker-buffer (edebug-mark-marker))
3131 (edebug-pop-to-buffer edebug-buffer (car edebug-window-data)))))
3134 ;; Joe Wells, here is a start at your idea of adding a buffer to the internal
3135 ;; display list. Still need to use this list in edebug-display.
3137 '(defvar edebug-display-buffer-list nil
3140 '(defun edebug-display-buffer (buffer)
3141 "Toggle display of a buffer inside of edebug."
3143 (let ((already-displaying (memq buffer edebug-display-buffer-list)))
3144 (setq edebug-display-buffer-list
3146 (delq buffer edebug-display-buffer-list)
3147 (cons buffer edebug-display-buffer-list)))
3148 (message "Displaying %s %s" buffer
3182 (message "Point is not on an expression in %s."
3188 "Move point to the next breakpoint, or first if none past point."
3202 (message "No breakpoints in this function.")
3215 (message "%s"
3220 (edebug-safe-prin1-to-string
3228 Set it if FLAG is non-nil, clear it otherwise. Then move to that point.
3229 If CONDITION or TEMPORARY are non-nil, add those attributes to
3247 ;; add it to the list and resort
3254 (message "Breakpoint set in %s with condition: %s"
3256 (message "Breakpoint set in %s" edebug-def-name)))
3258 (message "Breakpoint unset in %s" edebug-def-name)
3259 (message "No breakpoint here")))
3293 ;; Set the edebug mode to MODE.
3298 (message shortmsg)
3303 (message msg)))
3309 "Proceed to next stop point."
3314 "Proceed to next `after' stop point."
3361 "Proceed to first stop-point at or after current position of point."
3370 (message "Stop"))
3374 "Proceed to the exit of the next expression to be evaluated."
3382 "Proceed from the current point to the end of the ARGth sexp ahead.
3395 "Proceed from the current point to the end of the containing sexp.
3397 go to the end of the last sexp, or if that is the same point, then step."
3423 (with-current-buffer (marker-buffer func-marker)
3428 (message "%s is already instrumented." func)
3434 (with-current-buffer (car loc)
3440 "Instrument the definition of the function or macro about to be called.
3453 (edebug-original-read (current-buffer))))))
3458 "Step into the definition of the function or macro about to be called.
3459 This first does `edebug-instrument-callee' to ensure that it is
3460 instrumented. Then it does `edebug-on-entry' and switches to `go' mode."
3469 "Cause Edebug to stop when FUNCTION is called.
3472 (interactive "aEdebug on entry to: \nP")
3477 (interactive "aEdebug on entry to: ")
3487 "Request FUNCTION to invoke debugger each time it is called.
3491 Use `cancel-debug-on-entry' to cancel the effect of this command.
3496 (interactive "aDebug on entry (to function): ")
3504 "Set mode to Go-nonstop, and exit to top-level.
3533 The mode is requested via the key that would be used to set the mode in
3543 "Change initial edebug mode for %s from %s (%s) to (enter key): "
3557 (message "Initial mode for %s is now: %s"
3559 (error "Key must map to one of the mode changing commands")
3569 `(save-excursion ; of current-buffer
3573 ;; restore to current window configuration.
3579 (set-buffer edebug-buffer) ; why?
3612 (save-excursion ; of edebug-buffer
3613 (set-buffer edebug-outside-buffer)
3615 (if (marker-buffer (edebug-mark-marker))
3619 ;; Back to edebug-buffer. Restore rest of inside context.
3673 (get (car edebug-err) 'error-message)
3697 (defalias 'edebug-prin1-to-string 'custom-prin1-to-string)
3699 (defalias 'edebug-message 'custom-message)
3708 (defalias 'edebug-prin1-to-string 'prin1-to-string)
3710 (defalias 'edebug-message 'message)
3718 ;; Print an error message like command level does.
3719 ;; This also prints the error name if it has no error-message.
3720 (message "%s: %s"
3721 (or (get (car edebug-value) 'error-message)
3726 (prin1-to-string edebug-arg)))
3734 ;; edebug-safe-prin1-to-string to only use these if defined.
3736 (defun edebug-safe-prin1-to-string (value)
3743 (edebug-prin1-to-string value)
3752 (edebug-safe-prin1-to-string edebug-previous-value)
3758 (message "%s" edebug-previous-result))
3772 (concat (edebug-safe-prin1-to-string (car values))
3783 This prints the value into current buffer."
3788 (edebug-safe-prin1-to-string (edebug-safe-eval edebug-form))))
3789 (standard-output (current-buffer)))
3791 ;; princ the string to get rid of quotes.
3879 "Prefix key for global edebug commands, available from any buffer.")
3910 "Global map of edebug commands, available from any buffer.")
3923 In addition to all Emacs Lisp commands (except those that modify the
3924 buffer) there are local and global key bindings to several Edebug
3925 specific commands. E.g. `edebug-step-mode' is bound to \\[edebug-step-mode]
3926 in the Edebug buffer and \\<global-map>\\[edebug-step-mode] in any buffer.
3928 Also see bindings for the eval list buffer *edebug* in `edebug-eval-mode'.
3930 The edebug buffer commands:
3941 edebug-save-displayed-buffer-points
3955 ;; If the user kills the buffer in which edebug is currently active,
3956 ;; exit to top level, because the edebug command loop can't usefully
3958 (add-hook 'kill-buffer-hook 'edebug-kill-buffer nil t)
3961 (defun edebug-kill-buffer ()
3962 "Used on `kill-buffer-hook' when Edebug is operating in a buffer of Lisp code."
3963 (let (kill-buffer-hook)
3964 (kill-buffer (current-buffer)))
3980 ;; Assumes edebug-eval-buffer exists.
3982 (standard-output edebug-eval-buffer)
3985 (set-buffer edebug-eval-buffer)
3986 (erase-buffer)
3993 (edebug-pop-to-buffer edebug-eval-buffer)
3996 (defun edebug-create-eval-buffer ()
3997 (if (not (and edebug-eval-buffer (buffer-name edebug-eval-buffer)))
3999 (set-buffer (setq edebug-eval-buffer (get-buffer-create "*edebug*")))
4002 ;; Should generalize this to be callable outside of edebug
4010 (edebug-create-eval-buffer)
4017 (edebug-create-eval-buffer)
4025 (edebug-pop-to-buffer edebug-eval-buffer))
4029 "Replace the evaluation list with the sexps now in the eval buffer."
4057 ;; could add arg to do repeatedly
4085 "Mode for evaluation list buffer while in Edebug.
4087 In addition to all Interactive Emacs Lisp commands there are local and
4088 global key bindings to several Edebug specific commands. E.g.
4089 `edebug-step-mode' is bound to \\[edebug-step-mode] in the Edebug
4090 buffer and \\<global-map>\\[edebug-step-mode] in any buffer.
4092 Eval list buffer commands:
4100 ;; (setq debugger 'edebug) ; to use the edebug debugger
4103 ;; Note that debug and its utilities must be byte-compiled to work,
4111 ;; (message "entered: %s depth: %s edebug-recursion-depth: %s"
4131 ;; Still need to remove extraneous edebug calls from stack.
4139 (if (or (not edebug-backtrace-buffer)
4140 (null (buffer-name edebug-backtrace-buffer)))
4141 (setq edebug-backtrace-buffer
4142 (generate-new-buffer "*Backtrace*"))
4143 ;; else, could just display edebug-backtrace-buffer
4145 (with-output-to-temp-buffer (buffer-name edebug-backtrace-buffer)
4146 (setq edebug-backtrace-buffer standard-output)
4154 (set-buffer edebug-backtrace-buffer)
4181 "In buffer BUF-NAME, display FMT and ARGS at the end and make it visible.
4182 The buffer is created if it does not exist.
4183 You must include newlines in FMT to break lines, but one newline is appended."
4188 (let* ((oldbuf (current-buffer))
4190 (buffer (get-buffer-create buf-name))
4192 ;; (message "before pop-to-buffer") (sit-for 1)
4193 (edebug-pop-to-buffer buffer)
4204 (bury-buffer buffer)
4206 (set-buffer oldbuf))
4211 "Convenience call to edebug-trace-display using edebug-trace-buffer"
4212 (apply 'edebug-trace-display edebug-trace-buffer fmt args))
4265 last-count -1) ; cause first count to always appear.
4281 (if (= count last-count) "" (int-to-string count))
4290 ;; This seems not to work with Emacs 18.59. It undoes too far.
4292 (let ((buffer-read-only nil))
4304 (message "%s: %s" variable (eval variable)))
4306 ;; We have to require easymenu (even for Emacs 18) just so
4324 ["Quit to Top Level" top-level t]
4342 ["Bounce to Current Point" edebug-bounce-point t]
4366 (edebug-toggle 'edebug-save-displayed-buffer-points)
4367 :style toggle :selected edebug-save-displayed-buffer-points]
4411 ;; Extension for bytecomp to resolve undefined function references.
4422 ;; The body of eval-when-compile seems to get evaluated with eval-defun.
4423 ;; We only want to evaluate when actually byte compiling.
4424 ;; But it is OK to evaluate as long as byte-compiler has been loaded.
4428 "Say it is OK for the named functions to be unresolved."
4439 "Say it is OK for the named variables to be referenced."
4449 "Say it is OK for the named variables to be assigned."
4461 ;; Interfaces to standard functions.
4464 edebug-get-buffer-window
4469 edebug-prin1-to-string
4496 ;; The following causes cl-specs to be loaded if you load cl.el.
4504 ;; The following causes edebug-cl-read to be loaded when you load cl-read.el.