353 |
(forward-line -1) |
(forward-line -1) |
354 |
(setq new-start (point))) |
(setq new-start (point))) |
355 |
(if (not (zerop |
(if (not (zerop |
356 |
(compare-buffer-substrings |
(let ((case-fold-search nil)) |
357 |
(current-buffer) old-start old-end |
(compare-buffer-substrings |
358 |
buffer new-start new-end))) |
(current-buffer) old-start old-end |
359 |
|
buffer new-start new-end)))) |
360 |
(setq all-match nil)))) |
(setq all-match nil)))) |
361 |
;; Now new-end is the position of the start of the |
;; Now new-end is the position of the start of the |
362 |
;; unchanged part in the current buffer, and old-end is |
;; unchanged part in the current buffer, and old-end is |
660 |
For the cross-reference format, see `help-make-xrefs'." |
For the cross-reference format, see `help-make-xrefs'." |
661 |
(interactive "d") |
(interactive "d") |
662 |
(require 'help-mode) |
(require 'help-mode) |
663 |
|
;; Ideally we'd just do (call-interactively 'help-follow) except that this |
664 |
|
;; assumes we're already in a *Help* buffer and reuses it, so it ends up |
665 |
|
;; incorrectly "reusing" the *Backtrace* buffer to show the help info. |
666 |
(unless pos |
(unless pos |
667 |
(setq pos (point))) |
(setq pos (point))) |
668 |
(unless (push-button pos) |
(unless (push-button pos) |
675 |
(progn (skip-syntax-forward "w_") |
(progn (skip-syntax-forward "w_") |
676 |
(point))))))) |
(point))))))) |
677 |
(when (or (boundp sym) (fboundp sym) (facep sym)) |
(when (or (boundp sym) (fboundp sym) (facep sym)) |
678 |
(switch-to-buffer-other-window (generate-new-buffer "*Help*")) |
(help-xref-interned sym))))) |
|
(help-do-xref pos #'help-xref-interned (list sym)))))) |
|
679 |
|
|
680 |
;; When you change this, you may also need to change the number of |
;; When you change this, you may also need to change the number of |
681 |
;; frames that the debugger skips. |
;; frames that the debugger skips. |