The last change to forward-button added support for help-echo values
that are functions. This patch fixes the arguments passed to such
functions and further adds support for help-echo values that are
forms (bug#37515).
* doc/lispref/display.texi (Button Properties): Fix description of
help-echo button property.
* lisp/button.el (button--help-echo): New function.
(forward-button): Use it.
(backward-button): Clarify help-echo reference in docstring.
* test/lisp/button-tests.el (button--help-echo-string)
(button--help-echo-form, button--help-echo-function): New tests.
* lisp/tab-bar.el (tab-bar-close-current-tab, tab-bar-close-tab):
(tab-bar-new-tab): Use tab-bar-show.
* doc/emacs/frames.texi (Tab Bars): Add tab-bar-show.
* lisp/speedbar.el (speedbar-mode): Set buffer-local tab-bar-mode
and tab-line-format to nil to not show in dedicated speedbar frame.
server-socket-dir is a defvar, and users should use the defcustom
server-name instead.
* doc/misc/efaq.texi (Using an already running Emacs process): Remove
details on server-socket-dir, refer to Emacs Manual. (Bug#20675)
* doc/lispref/minibuf.texi (Completion Commands)
(Text from Minibuffer): Document it.
* lisp/minibuffer.el (minibuffer-beginning-of-buffer): New command
(bug#3447).
(map): Bind it.
* doc/lispref/display.texi (Defining Images): Document it.
* lisp/image.el (convert-images-externally): New variable.
(image-type): Use it.
(create-image): Convert images.
* lisp/image/image-converter.el (image-converter--convert): New file.
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-clear-all-tags):
New function to clear all tags from padding area in current buffer.
* doc/lispref/modes.texi (Tabulated List Mode): Document it.
* etc/NEWS: Announce it.
* lisp/emacs-lisp/rx.el:
* test/lisp/emacs-lisp/rx-tests.el:
* doc/lispref/searching.texi (Rx Constructs):
Rewrite rx for correctness, clarity, and performance. The new
implementation retains full compatibility and has more comprehensive
tests.
* lisp/emacs-lisp/re-builder.el (reb-rx-font-lock-keywords):
Adapt to changes in internal variables in rx.el.
* src/search.c (Fregexp_quote): Only allocate a new string if needed.
* doc/lispref/searching.texi (Regexp Functions):
* etc/NEWS (Incompatible Lisp Changes): Document.
* src/image.c (xbm_image_p): Explicitly specify the right stride if a
bool vector is used as argument.
* doc/lispref/display.texi (XBM Images): Describe bool vectors
accurately.
* etc/NEWS: Document the change (bug#36337).
* lisp/net/shr.el (shr--use-cookies-p): New function.
(shr-tag-img): Use it.
(shr-cookie-policy): New variable.
(shr-save-contents): Use cookies.
* doc/misc/eww.texi (Advanced): Document it.
This mostly changes http: to https: in URLs. It also updates
some URLs that have moved, removes some URLs that no longer
work, recommends against using procmail (procmail.org no
longer works), and removes some mentions of the
no-longer-existing Gmane, LPF and VTW.
It doesn't update all URLs, just the ones I had time for.
* GNUmakefile (help):
* admin/admin.el (manual-doctype-string):
* admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map):
* admin/charsets/mapconv:
* lisp/net/soap-client.el (soap-create-envelope):
* lisp/org/org.el (org-doi-server-url):
* lisp/textmodes/bibtex.el (bibtex-generate-url-list):
Prefer https: to http: un URLs.
* lisp/gnus/gnus-win.el (gnus-use-atomic-windows): New boolean
customization option.
(gnus-configure-windows): When removing old window layouts, check
for and remove atomicity.
(gnus-configure-windows): When gnus-use-atomic-windows is non-nil,
make Gnus window layouts atomic.
* doc/misc/gnus.texi (Window Layout): Document.
Problem reported by Andreas Schwab (Bug#37475).
* doc/lispref/files.texi (Writing to Files)
(Testing Accessibility, Kinds of Files):
Document that accessibility and file-type predicates return nil
if there is trouble determining accessibility or type.
* etc/NEWS: Adjust, and list the affected primitives.
* src/callproc.c (init_callproc): Go back to Ffile_exists_p.
* src/fileio.c (PICKY_EACCES, file_test_errno):
Remove. All uses removed.
(Ffile_name_case_insensitive_p, Ffile_exists_p, Ffile_symlink_p)
(Ffile_directory_p, Ffile_regular_p): Document that these
functions return nil if there is trouble.
(Ffile_name_case_insensitive_p, check_file_access)
(Ffile_writable_p, Ffile_symlink_p, Ffile_directory_p)
(Ffile_accessible_directory_p, Ffile_regular_p)
* src/lread.c (Fload):
Go back to treating trouble in determining the answer as if the
file were missing.
* src/fileio.c (Ffile_newer_than_file_p): Use file_attribute_errno
not file_test_errno, since returning nil is not appropriate when
there are two files to test; e.g., in the rare cases where both
file timestamps have overflowed then neither t nor nil is correct.
* doc/lispref/text.texi (Checksum/Hash):
* src/fns.c (Fmd5, Fsecure_hash):
* lisp/subr.el (sha1): Doc fix to recommend against SHA-1 and MD5 for
security-related applications, since they are not collision
resistant. (Bug#37420)
* doc/lispref/processes.texi (Process Information): Document it.
* lisp/simple.el (list-processes--refresh): Don't wait for contact
information for non-setup processes.
* src/process.c (Fprocess_contact): Take an optional parameter to
avoid blocking (bug#37408).
* doc/misc/tramp.texi (Inline methods) <sshx, plink, plinkx>:
(External methods) <scpx, pscp, psftp>: Mention, that the remote
login shell could be changed.
(Remote shell setup): Remove description of properties
"remote-shell-login" and "remote-shell-args", they don't matter
here. Changing the default remote shell works only for some
methods.
(Frequently Asked Questions): Refer to alternative approach fixing
zsh problems.
* etc/NEWS: Some Tramp methods allow to change the remote login shell.
* lisp/net/tramp-sh.el (tramp-default-remote-shell): New defconst.
(tramp-methods): Use it.
(tramp-get-sh-extra-args): New defun.
(tramp-open-shell, tramp-maybe-open-connection): Use it.
* lisp/net/tramp.el (tramp-methods): Adapt docstring.
Problem reported by Katsumi Yamaoka (Bug#37456).
* lisp/startup.el (startup--xdg-or-homedot): Also
prefer .emacs.d if a traditional .emacs file exists.
Signal an error for file-oriented errors that are not tame
errors like ENOENT and ENOTDIR (Bug#37389).
Do this for primitives exposed to Lisp; the lower
level internal C API merely makes errno values available
to higher-level C code.
* doc/lispref/files.texi (Testing Accessibility)
(File Attributes, Extended Attributes): Do not say that the
functions return nil when the return value cannot be determined.
* etc/NEWS: Mention the change.
* src/dired.c (Ffile_attributes): Fix doc string confusion
about opening a file vs getting its attributes.
(file_attributes): Signal serious errors.
* src/fileio.c (check_existing, check_executable)
(check_writable): Remove. All callers changed to use
check_file_access or file_access_p.
(file_access_p, file_metadata_errno, file_attribute_errno)
(file_test_errno, check_file_access, check_emacs_readlinkat):
New functions.
* src/fileio.c (Ffile_executable_p, Ffile_readable_p)
(Ffile_name_case_insensitive_p, Frename_file, Ffile_exists_p):
(Ffile_symlink_p, Ffile_directory_p)
(Ffile_accessible_directory_p, Ffile_regular_p)
(Ffile_selinux_context, Ffile_acl, Ffile_modes)
(Ffile_newer_than_file_p, Fset_visited_file_modtime)
(Ffile_system_info):
* src/filelock.c (unlock_file, Ffile_locked_p):
* src/lread.c (Fload):
Signal serious errors.
* src/fileio.c (Ffile_writable_p): Remove unnecessary CHECK_STRING.
(emacs_readlinkat): Now static.
* src/filelock.c (current_lock_owner, lock_if_free): Return a
positive errno on error, and the negative of the old old value
on success. All callers changed.
* src/lread.c (openp): Propagate serious errno values to caller.
* src/w32font.c (struct font_callback_data): New member
'known_fonts'.
(w32font_list_internal, w32font_match_internal): Set up
match_data.known_fonts if the font spec includes :script that
names one of the non-USB scripts.
(add_font_entity_to_list): If font_matches_spec returns zero
for a font, and we have some fonts in match_data->known_fonts,
consider the font to be a match if it is named in known_fonts.
(font_supported_scripts): Update the Unicode Subranges. In
particular, map bit 74 to 'burmese', as this is the name Emacs
uses, not 'myanmar'. Add a list of scripts that have no USBs
defined for them.
(syms_of_w32font) <Qburmese, Qcuneiform_numbers_and_punctuation>
<Qaegean_number, Qw32_non_USB_fonts>: New symbols.
* lisp/term/w32-win.el (w32-no-usb-subranges): New defconst.
(w32--filter-USB-scripts, w32-find-non-USB-fonts): New functions.
(w32-non-USB-fonts): New defvar.
* lisp/international/fontset.el (setup-default-fontset): Add
more scripts to automatic setup by representative characters.
* doc/emacs/msdos.texi (Windows Fonts): Document
'w32-find-non-USB-fonts' and 'w32-non-USB-fonts'.
* etc/NEWS: Mention 'w32-find-non-USB-fonts' and
'w32-non-USB-fonts'.
* doc/misc/smtpmail.texi (Server workarounds): Mention it (bug#34177).
* lisp/mail/smtpmail.el (smtpmail-retries): New variable.
(smtpmail-via-smtp): Use it.