emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/help-mode.el [emacs-unicode-2]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/help-mode.el [emacs-unicode-2]
Date: Mon, 28 Jun 2004 04:37:17 -0400

Index: emacs/lisp/help-mode.el
diff -c emacs/lisp/help-mode.el:1.17.4.1 emacs/lisp/help-mode.el:1.17.4.2
*** emacs/lisp/help-mode.el:1.17.4.1    Fri Apr 16 12:49:50 2004
--- emacs/lisp/help-mode.el     Mon Jun 28 07:28:40 2004
***************
*** 147,160 ****
    :supertype 'help-xref
    'help-function (lambda (fun file)
                   (require 'find-func)
                   ;; Don't use find-function-noselect because it follows
                   ;; aliases (which fails for built-in functions).
                   (let ((location
!                         (cond
!                          ((bufferp file) (cons file fun))
!                          ((string-match "\\`src/\\(.*\\.c\\)" file)
!                           (help-find-C-source fun (match-string 1 file) 'fun))
!                          (t (find-function-search-for-symbol fun nil file)))))
                     (pop-to-buffer (car location))
                     (goto-char (cdr location))))
    'help-echo (purecopy "mouse-2, RET: find function's definition"))
--- 147,159 ----
    :supertype 'help-xref
    'help-function (lambda (fun file)
                   (require 'find-func)
+                  (when (eq file 'C-source)
+                    (setq file
+                          (help-C-file-name (indirect-function fun) 'fun)))
                   ;; Don't use find-function-noselect because it follows
                   ;; aliases (which fails for built-in functions).
                   (let ((location
!                         (find-function-search-for-symbol fun nil file)))
                     (pop-to-buffer (car location))
                     (goto-char (cdr location))))
    'help-echo (purecopy "mouse-2, RET: find function's definition"))
***************
*** 162,172 ****
  (define-button-type 'help-variable-def
    :supertype 'help-xref
    'help-function (lambda (var &optional file)
!                  (let ((location
!                         (cond
!                          ((string-match "\\`src/\\(.*\\.c\\)" file)
!                           (help-find-C-source var (match-string 1 file) 'var))
!                          (t (find-variable-noselect var file)))))
                     (pop-to-buffer (car location))
                     (goto-char (cdr location))))
    'help-echo (purecopy"mouse-2, RET: find variable's definition"))
--- 161,169 ----
  (define-button-type 'help-variable-def
    :supertype 'help-xref
    'help-function (lambda (var &optional file)
!                  (when (eq file 'C-source)
!                    (setq file (help-C-file-name var 'var)))
!                  (let ((location (find-variable-noselect var file)))
                     (pop-to-buffer (car location))
                     (goto-char (cdr location))))
    'help-echo (purecopy"mouse-2, RET: find variable's definition"))
***************
*** 195,208 ****
  
  ;;;###autoload
  (defun help-mode-finish ()
    (when (eq major-mode 'help-mode)
      ;; View mode's read-only status of existing *Help* buffer is lost
      ;; by with-output-to-temp-buffer.
      (toggle-read-only 1)
!     (help-make-xrefs (current-buffer)))
!   (setq view-return-to-alist
!       (list (cons (selected-window) help-return-method))))
! 
  
  ;; Grokking cross-reference information in doc strings and
  ;; hyperlinking it.
--- 192,208 ----
  
  ;;;###autoload
  (defun help-mode-finish ()
+   (let ((entry (assq (selected-window) view-return-to-alist)))
+       (if entry (setcdr entry (cons (selected-window)
+                                     help-return-method))
+         (setq view-return-to-alist
+               (cons (cons (selected-window) help-return-method)
+                     view-return-to-alist))))
    (when (eq major-mode 'help-mode)
      ;; View mode's read-only status of existing *Help* buffer is lost
      ;; by with-output-to-temp-buffer.
      (toggle-read-only 1)
!     (help-make-xrefs (current-buffer))))
  
  ;; Grokking cross-reference information in doc strings and
  ;; hyperlinking it.
***************
*** 577,588 ****
        (goto-char position)))))
  
  (defun help-go-back ()
!   "Invoke the [back] button (if any) in the Help mode buffer."
    (interactive)
!   (let ((back-button (button-at (1- (point-max)))))
!     (if back-button
!       (button-activate back-button)
!       (error "No [back] button"))))
  
  (defun help-do-xref (pos function args)
    "Call the help cross-reference function FUNCTION with args ARGS.
--- 577,587 ----
        (goto-char position)))))
  
  (defun help-go-back ()
!   "Go back to previous topic in this help buffer."
    (interactive)
!   (if help-xref-stack
!       (help-xref-go-back (current-buffer))
!     (error "No previous help buffer.")))
  
  (defun help-do-xref (pos function args)
    "Call the help cross-reference function FUNCTION with args ARGS.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]