;;; -*- lexical-binding: t -*- ;;; ;;; this file: ;;; http://user.it.uu.se/~embe8573/emacs-init/help-new.el ;;; https://dataswamp.org/~incal/emacs-init/help-new.el (require 'apropos) (require 'close) (require 'debug) (require 'help-mode) (require 'scroll) (require 'super) (defun switch-to-help-buffer () (interactive) (switch-to-buffer "*Help*") ) (defun help-back () (interactive) (help-xref-go-back (current-buffer) )) (defun help-forward () (interactive) (help-xref-go-forward (current-buffer) )) (let ((the-map help-mode-map)) (set-scroll-keys the-map) (set-bury-keys the-map) (define-key the-map "b" #'help-back) (define-key the-map "j" #'help-back) (define-key the-map "l" #'help-forward) ) (defun describe-variable-short (var) (interactive (let*((v (variable-at-point)) (var-at-point (not (eq v 0))) (v-name (when var-at-point (let ((name (symbol-name v))) (kill-new name) name ))) (v-final (completing-read (format " variable%s: " (if var-at-point (format " (default %s)" v) "")) obarray (lambda (vv) (or (get vv 'variable-documentation) (boundp vv) )) t ; require match nil ; no text insert nil ; no history v-name )) ) `(,(intern v-final)) )) (message (format " %s: %s" (symbol-name var) (symbol-value var))) ) (let ((the-map completion-list-mode-map)) (set-scroll-keys the-map) (set-close-key the-map) ) ;; (setq apropos-mode-hook nil) (defun apropos-mode-hook-f () (set-scroll-keys apropos-mode-map) (set-close-key apropos-mode-map) ) (add-hook 'apropos-mode-hook #'apropos-mode-hook-f) (defun debugger-mode-hook-f () (let ((the-map debugger-mode-map)) (set-scroll-keys the-map) (set-close-key the-map) )) (add-hook 'debugger-mode-hook #'debugger-mode-hook-f) (provide 'help-new)