* lisp/ielm.el (inferior-emacs-lisp-mode): Add
`elisp-eldoc-var-docstring' and `elisp-eldoc-funcall' as
`eldoc-documentation-functions' instead of the undefined
elisp-eldoc-documentation-function (bug#42493).
* lisp/emacs-lisp/eldoc.el: Update commentary.
(eldoc--eval-expression-setup): Use new hook.
(eldoc--supported-p): Accomodate new hook.
(eldoc-documentation-functions): New hook.
(eldoc-documentation-default, eldoc-documentation-compose): New
functions.
(eldoc-documentation-function): Use 'eldoc-documentation-default' as new
default value. Update documentation and custom attributes.
(eldoc-print-current-symbol-info): Accomodate possible null value for
'eldoc-documentation-function'.
* etc/NEWS: Mention them.
* doc/emacs/programs.texi (Emacs Lisp Documentation Lookup): Mention
new hook and changes to 'eldoc-documentation-function'.
* lisp/hexl.el (hexl-mode, hexl-revert-buffer-function):
* lisp/ielm.el (inferior-emacs-lisp-mode):
* lisp/progmodes/cfengine.el (cfengine3-mode):
* lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
* lisp/progmodes/octave.el (octave-mode):
* lisp/progmodes/python.el (python-mode): Use new hook.
* lisp/ielm.el: (*, **, ***): Change defvars into compiler
directives instead of real variable definitions to avoid polluting
the global Emacs namespace.
(*1, *2, *3): Ditto.
Restore lines saying "Maintainer: emacs-devel@gnu.org" when there is
no special maintainer for a file. Although this wasn't documented
it was common practice and removing the lines didn't have consensus.
* lisp/startup.el (command-line): Default to lexical-binding in *scratch*.
(normal-no-mouse-startup-screen, command-line-1):
Use startup--get-buffer-create-scratch.
(command-line-1):
* lisp/simple.el (eval-expression):
* lisp/server.el (server-eval-and-print): Use lexical-binding to
evaluate the expression.
(server-execute): Use startup--get-buffer-create-scratch.
* lisp/ielm.el (inferior-emacs-lisp-mode): Default to lexical-binding.
The ielm buffer name was hardcoded which made it hard for programs to
interactively create ielm buffers with different names and switch to
them (e.g. perhaps you want to have one ielm buffer for each of the
Elisp projects you're working on).
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November. Change these FTP URLs to https://ftp.gnu.org
instead. Make similar changes for URLs to other organizations moving
away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-function): Describe how
major modes should use `add-function' to alter value of the variable.
* lisp/hexl.el (hexl-mode): Set `eldoc-documentation-function' using
`add-function' so the default value is always used.
* lisp/ielm.el (inferior-emacs-lisp-mode): Set
`eldoc-documentation-function' using `add-function' so the default
value is always used.
* lisp/progmodes/cfengine.el (cfengine3-mode): Set
`eldoc-documentation-function' using `add-function' so the default
value is always used.
* lisp/progmodes/elisp-mode (emacs-lisp-mode): Set
`eldoc-documentation-function' using `add-function' so the default
value is always used.
* lisp/progmodes/octave.el (octave-mode): Set
`eldoc-documentation-function' using `add-function' so the default
value is always used.
* lisp/progmodes/python.el (python-mode): Set
`eldoc-documentation-function' using `add-function' so the default
value is always used.
* lisp/simple.el (read--expression): Set `eldoc-documentation-function'
using `add-function' so the default value is always used.
(ielm-map): Use ielm-tab for tab.
(ielm-complete-filename): Use comint-filename-completion.
(ielm-complete-symbol): Remove.
(inferior-emacs-lisp-mode): Use lisp-completion-at-point instead and
remove ielm-tab from completion-at-point-functions.
Fixes: debbugs:16224
command names and the last command. Always display additional
formats of the integer result in the echo area, and insert them
to the current buffer only with a zero prefix arg.
Display character when char-displayable-p is non-nil.
(eval-expression): With a zero prefix arg, set `print-length' and
`print-level' to nil, and insert the integer values from
`eval-expression-print-format' at the end. Doc fix.
* lisp/emacs-lisp/lisp-mode.el (eval-print-last-sexp): Add arg
`eval-last-sexp-arg-internal'. Doc fix.
(eval-last-sexp-1): Pass arg `eval-last-sexp-arg-internal' to
`eval-last-sexp-print-value'. Doc fix.
(eval-last-sexp-print-value): Add arg `eval-last-sexp-arg-internal'.
Set `print-length' and `print-level' to nil when arg is zero.
(eval-last-sexp): Doc fix.
(eval-defun-2): Print the integer values from
`eval-expression-print-format' at the end.
* lisp/emacs-lisp/edebug.el (edebug-eval-defun): Print the integer
values from `eval-expression-print-format' at the end.
* lisp/ielm.el (ielm-eval-input): Print the integer
values from `eval-expression-print-format' at the end.
Fixes: debbugs:12985
* lisp/ielm.el (ielm-map, ielm-complete-symbol):
Use completion-at-point rather than obsolete functions.
(inferior-emacs-lisp-mode): Doc fix.
Set completion-at-point-functions, rather than
comint-dynamic-complete-functions.
* lisp/window.el (display-buffer-alist): Add entry for buffers
previously handled same-window-*.
(display-buffer-alist, display-buffer-default-action)
(display-buffer-overriding-action): Mark as risky.
(display-buffer-alist): Document action function changes.
(display-buffer--same-window-action)
(display-buffer--other-frame-action): New variables.
(switch-to-buffer, display-buffer-other-frame): Use them.
(display-buffer): Rename reuse-frame entry to reusable-frames.
(display-buffer-reuse-selected-window): Function deleted.
(display-buffer-reuse-window): Handle reusable-frames alist entry.
If it's omitted, check pop-up-frames/display-buffer-reuse-frames.
(display-buffer-special): New function.
(display-buffer--maybe-pop-up-frame-or-window): Rename from
display-buffer-reuse-or-pop-window. Split off special-display
part into display-buffer-special.
(display-buffer-use-some-window): Don't perform any special
pop-up-frames handling.
(pop-to-buffer): Use window-normalize-buffer-to-switch-to.
* lisp/cmuscheme.el:
* lisp/ielm.el:
* lisp/shell.el:
* lisp/mail/sendmail.el:
* lisp/progmodes/inf-lisp.el: Don't set same-window-buffer-names.
* lisp/cus-edit.el:
* lisp/info.el:
* lisp/net/rlogin.el:
* lisp/net/telnet.el:
* lisp/progmodes/gud.el: Don't set same-window-regexps.