diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 719e09e8616..00c8ee4f98b 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi @@ -2252,10 +2252,13 @@ as a function from Lisp programs. When Emacs is started, it normally tries to load a Lisp program from an @dfn{initialization file}, or @dfn{init file} for short. This file, if it exists, specifies how to initialize Emacs for you. -If the file @file{~/.config/emacs/init.el} exists, it is used as the -init file; otherwise Emacs may look at @file{~/.emacs.el}, -@file{~/.emacs}, @file{~/.emacs.d/init.el}, or other locations. -@xref{Find Init}. +Traditionally, file @file{~/.emacs} is used as the init file, although +Emacs also looks at @file{~/.emacs.el}, @file{~/.emacs.d/init.el}, +@file{~/.config/emacs/init.el}, or other locations. @xref{Find Init}. + +You may find it convenient to have all your Emacs configuration in one +directory, in which case you should use @file{~/.emacs.d/init.el} or +the XDG-compatible @file{~/.config/emacs/init.el}. You can use the command line switch @samp{-q} to prevent loading your init file, and @samp{-u} (or @samp{--user}) to specify a @@ -2661,23 +2664,21 @@ library. @xref{Hooks}. @subsection How Emacs Finds Your Init File Emacs normally finds your init file in a location under your home -directory. @xref{Init File}. By default this location is -@file{~/.emacs.d/init.el} where @file{~/} stands for your home directory. -This default can be overridden as described below. +directory. @xref{Init File}. -Emacs looks for your init file -using the filenames @file{~/.emacs.el}, @file{~/.emacs}, or -@file{~/.emacs.d/init.el}; you can choose to use any one of these -names. (Note that only the locations directly in your home directory -have a leading dot in the location's basename.) + Emacs looks for your init file using the filenames @file{~/.emacs.el}, +@file{~/.emacs}, or @file{~/.emacs.d/init.el} in that order; you can +choose to use any one of these names. (Note that only the locations +directly in your home directory have a leading dot in the location's +basename.) Emacs can also look in an XDG-compatible location for @file{init.el}, the default is the directory @file{~/.config/emacs}. This can be overriden by setting @env{XDG_CONFIG_HOME} in your environment, its value replaces @file{~/.config} in the name of the default XDG init -file. However @file{~/.emacs.d} and @file{~/.emacs} are always -preferred if they exist, which means that you must delete or rename -them in order to use the XDG location. +file. However @file{~/.emacs.d}, @file{~/.emacs}, and +@file{~/.emacs.el} are always preferred if they exist, which means +that you must delete or rename them in order to use the XDG location. Note also that if neither the XDG location nor @file{~/.emacs.d} exist, then Emacs will create @file{~/.emacs.d} (and therefore use it diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index a2ace00cbbc..e96e43b377d 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -1584,7 +1584,9 @@ sequences}, with the @code{escape-glyph} face. For instance, character code @code{U+0098} (octal 230) is displayed as @samp{\230}. If you change the buffer-local variable @code{ctl-arrow} to @code{nil}, the @acronym{ASCII} control characters are also displayed -as octal escape sequences instead of caret escape sequences. +as octal escape sequences instead of caret escape sequences. (You can +also request that raw bytes be shown in hex, @pxref{Display Custom, +display-raw-bytes-as-hex}.) @vindex nobreak-char-display @cindex non-breaking space diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 91894522300..942bda105f7 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -707,6 +707,10 @@ the Emacs process. (This is useful primarily in batch operation; see If @var{exit-data} is a string, its contents are stuffed into the terminal input buffer so that the shell (or whatever program next reads input) can read them. + +If @var{exit-data} is neither an integer nor a string, or is omitted, +that means to use the (system-specific) exit status which indicates +successful program termination. @end deffn @cindex SIGTERM diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi index 49b6b53c0c4..fa1833a3da6 100644 --- a/doc/misc/epa.texi +++ b/doc/misc/epa.texi @@ -337,7 +337,8 @@ Verify OpenPGP cleartext signed messages in the current buffer. @kindex C-c C-e C-s @kindex C-c C-e s @findex epa-mail-sign -Compose a signed message from the current buffer. +Compose a signed message from the current buffer, using your default +key. With a prefix argument, select the key to use interactively. @item C-c C-e C-e and C-c C-e e @kindex C-c C-e C-e @@ -352,6 +353,8 @@ key in the recipient list, use @samp{encrypt-to} option in addresses using the @code{epa-mail-aliases} list. You can also use that option to ignore specific recipients for encryption purposes. +With prefix argument, asks you to select the recipients interactively, +whether to sign, and which key(s) to sign with. @end table @node Encrypting/decrypting gpg files, , Mail-mode integration, Commands diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index 89d2265f816..19dcb19de74 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi @@ -684,7 +684,7 @@ Binding,,, elisp, The Emacs Lisp Reference Manual}) to be active. msg) into diags finally (funcall report-fn diags))) - (flymake-log :warning "Cancelling obsolete check %s" + (flymake-log :warning "Canceling obsolete check %s" proc)) ;; Cleanup the temporary buffer used to hold the ;; check's output. diff --git a/etc/NEWS.27 b/etc/NEWS.27 index 10a6e3946e7..2c8fa9dd397 100644 --- a/etc/NEWS.27 +++ b/etc/NEWS.27 @@ -270,7 +270,7 @@ doing before changing the value. +++ ** Native GnuTLS connections can now use client certificates. Previously, this support was only available when using the external -'gnutls-cli' command. Call 'open-network-stream' with +'gnutls-cli' or 'starttls' command. Call 'open-network-stream' with ':client-certificate t' to trigger looking up of per-server certificates via 'auth-source'. diff --git a/lisp/bookmark.el b/lisp/bookmark.el index 5bb16981711..de7d60f97eb 100644 --- a/lisp/bookmark.el +++ b/lisp/bookmark.el @@ -1774,7 +1774,8 @@ Bookmark names preceded by a \"*\" have annotations. \\[bookmark-bmenu-show-annotation] -- show the annotation, if it exists, for the current bookmark in another buffer. \\[bookmark-bmenu-show-all-annotations] -- show the annotations of all bookmarks in another buffer. -\\[bookmark-bmenu-edit-annotation] -- edit the annotation for the current bookmark." +\\[bookmark-bmenu-edit-annotation] -- edit the annotation for the current bookmark. +\\[bookmark-bmenu-search] -- incrementally search for bookmarks." (setq truncate-lines t) (setq buffer-read-only t)) diff --git a/lisp/epa-mail.el b/lisp/epa-mail.el index 00f560af0b7..63475256ca8 100644 --- a/lisp/epa-mail.el +++ b/lisp/epa-mail.el @@ -85,7 +85,10 @@ The buffer is expected to contain a mail message." ;;;###autoload (defun epa-mail-sign (start end signers mode) "Sign the current buffer. -The buffer is expected to contain a mail message." +The buffer is expected to contain a mail message, and signing is +performed with your default key. +With prefix argument, asks you to select interactively the key to +use from your key ring." (declare (interactive-only t)) (interactive (save-excursion diff --git a/lisp/net/gnutls.el b/lisp/net/gnutls.el index cd86b4dea65..e713c94117b 100644 --- a/lisp/net/gnutls.el +++ b/lisp/net/gnutls.el @@ -105,12 +105,13 @@ Security'." (defcustom gnutls-trustfiles '( - "/etc/ssl/certs/ca-certificates.crt" ; Debian, Ubuntu, Gentoo and Arch Linux + "/etc/ssl/certs/ca-certificates.crt" ; Debian, Ubuntu, Gentoo, + ; Arch, Guix, Parabola "/etc/pki/tls/certs/ca-bundle.crt" ; Fedora and RHEL "/etc/ssl/ca-bundle.pem" ; Suse "/usr/ssl/certs/ca-bundle.crt" ; Cygwin "/usr/local/share/certs/ca-root-nss.crt" ; FreeBSD - "/etc/ssl/cert.pem" ; macOS + "/etc/ssl/cert.pem" ; macOS, Dragora, Parabola "/etc/certs/ca-certificates.crt" ; OpenIndiana ) "List of CA bundle location filenames or a function returning said list. diff --git a/lisp/shell.el b/lisp/shell.el index 1e2679f7235..dc528412a62 100644 --- a/lisp/shell.el +++ b/lisp/shell.el @@ -184,16 +184,13 @@ shell buffer. The value may depend on the operating system or shell." shell-environment-variable-completion shell-command-completion shell-c-a-p-replace-by-expanded-directory + pcomplete-completions-at-point shell-filename-completion - comint-filename-completion - ;; Put `pcomplete-completions-at-point' last so that other - ;; functions can run before it does, see bug#34330. - pcomplete-completions-at-point) + comint-filename-completion) "List of functions called to perform completion. This variable is used to initialize `comint-dynamic-complete-functions' in the shell buffer." :type '(repeat function) - :version "27.1" :group 'shell) (defcustom shell-command-regexp "[^;&|\n]+" diff --git a/src/emacs.c b/src/emacs.c index 45a215b66e2..8a6bb3ad228 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -2333,6 +2333,8 @@ DEFUN ("kill-emacs", Fkill_emacs, Skill_emacs, 0, 1, "P", doc: /* Exit the Emacs job and kill it. If ARG is an integer, return ARG as the exit program code. If ARG is a string, stuff it as keyboard input. +Any other value of ARG, or ARG omitted, means return an +exit code that indicates successful program termination. This function is called upon receipt of the signals SIGTERM or SIGHUP, and upon SIGINT in batch mode. diff --git a/src/w32proc.c b/src/w32proc.c index 16e32e4c58d..c50f246a454 100644 --- a/src/w32proc.c +++ b/src/w32proc.c @@ -2790,11 +2790,11 @@ sys_kill (pid_t pid, int sig) /* Set the foreground window to the child. */ if (SetForegroundWindow (cp->hwnd)) { - /* Record the state of the Ctrl key: the user could - have it depressed while we are simulating Ctrl-C, - in which case we will have to leave the state of - Ctrl depressed when we are done. */ - short ctrl_state = GetKeyState (VK_CONTROL) & 0x8000; + /* Record the state of the left Ctrl key: the user + could have it depressed while we are simulating + Ctrl-C, in which case we will have to leave the + state of that Ctrl depressed when we are done. */ + short ctrl_state = GetKeyState (VK_LCONTROL) & 0x8000; /* Generate keystrokes as if user had typed Ctrl-Break or Ctrl-C. */