Mauro Aranda [Sun, 23 Jun 2019 17:57:48 +0000 (19:57 +0200)]
Document Winner mode user options
* doc/emacs/windows.texi (Window Convenience): Add documentation for
the user options winner-dont-bind-my-keys, winner-ring-size and
winner-boring-buffers (bug#35146).
Drew Adams [Sun, 23 Jun 2019 17:24:20 +0000 (19:24 +0200)]
Make ls-lisp--dired ape dired-noselect more closely
* lisp/ls-lisp.el (ls-lisp--dired): Emulate the behaviour of
non-ls-lisp.el dired better by defaulting to default-directory as
dired-noselect does (bug#35390).
Eric Abrahamsen [Sun, 23 Jun 2019 15:09:23 +0000 (08:09 -0700)]
New command gnus-summary-browse-url
* lisp/gnus/gnus-sum.el (gnus-summary-browse-url): New command for
browsing URLs from the article buffer from the summary buffer.
(gnus-summary-mode-map): Bind to "w".
(gnus-summary-article-map): And to "A w".
* doc/misc/gnus.texi (Article Commands): Document.
Michael Albinus [Sun, 23 Jun 2019 16:58:11 +0000 (18:58 +0200)]
Improve error handling in tramp-gvfs
* lisp/net/tramp-gvfs.el (tramp-gvfs-get-directory-attributes)
(tramp-gvfs-get-root-attributes)
(tramp-gvfs-handle-file-attributes): Don't ignore errors.
(tramp-make-goa-name): New defun.
(tramp-gvfs-get-remote-prefix): Use it.
(tramp-gvfs-maybe-open-connection): Raise user errors in case of.
Check also, that GOA accounts are proper.
(tramp-get-goa-accounts): Cache connection property.
* lisp/net/tramp.el (tramp-handle-file-equal-p)
(tramp-handle-file-in-directory-p): Use `tramp-equal-remote'.
Simen Heggestøyl [Sat, 22 Jun 2019 10:49:04 +0000 (12:49 +0200)]
Split up and add tests for two page.el functions
* lisp/textmodes/page.el (page--count-lines-page): New function
extracted from `count-lines-page'.
(count-lines-page): Extract main logic into `page--count-lines-page'.
(page--what-page); New function extracted from `what-page'.
(what-page): Extract main logic into `page--what-page'.
* test/lisp/textmodes/page-tests.el (page-tests-count-lines-page)
(page-tests-what-page): New tests for `page--count-lines-page' and
`page--what-page'. (Bug#36009)
Noam Postavsky [Fri, 21 Jun 2019 11:49:22 +0000 (07:49 -0400)]
Fix python docstring auto-fill (Bug#36056)
* lisp/progmodes/python.el (python-mode): Set
fill-indent-according-to-mode locally to t. This lets auto-fill do
the right thing when auto-filling inside a docstring. The default was
to nil on 2001-11-25 "(fill-indent-according-to-mode): Default to nil"
with the comment that it "screws up CC-mode's filling tricks". But
presumably it shouldn't be a problem for python-mode.
* test/lisp/progmodes/python-tests.el (python-auto-fill-docstring):
New test.
Noam Postavsky [Sun, 16 Jun 2019 17:48:56 +0000 (13:48 -0400)]
Make rcirc parsing more RFC2812 compliant (Bug#36233)
Do continue to allow multiple spaces between arguments, even though
that is technically not allowed by the RFC.
* lisp/net/rcirc.el (rcirc-process-server-response-1): Fix parsing of
arguments which contain colons.
* test/lisp/net/rcirc-tests.el: New test.
Paul Eggert [Sat, 22 Jun 2019 18:35:45 +0000 (11:35 -0700)]
Bring macuvs.h back under Git control
* admin/unidata/Makefile.in (maintainer-clean):
Instead of removing macuvs.h here ...
(extraclean): ... Remove it here.
* admin/unidata/uvs.el (uvs-print-table-ivd):
Add to comment explaining why macuvs.h is in Git.
* src/macuvs.h: Regenerate and re-add to Git.
Remove XEmacs compat code from savehist.el (reworked)
* lisp/savehist.el (savehist-coding-system, savehist-install)
(savehist-uninstall, savehist-save): Remove XEmacs compat code.
(savehist-trim-history): Made obsolete.
(savehist-minibuffer-hook): Update comment to reflect the t value
of HISTORY in `read-string'.
Stefan Kangas [Sun, 9 Jun 2019 02:27:09 +0000 (04:27 +0200)]
Make toolbar show keyboard equivalents in its tooltips
* src/keyboard.c (parse_tool_bar_item): Add equivalent key binding to
the tooltip string of toolbar buttons.
* etc/NEWS: Announce it.
* etc/TODO: Remove its entry. (Bug#36156)
Eli Zaretskii [Sat, 22 Jun 2019 08:59:16 +0000 (11:59 +0300)]
Fix an off-by-one error in assertion
* src/fileio.c (Fexpand_file_name): Fix off-by-one error in an
assertion. This avoids assertion violations when the home
directory is an empty string for some reason. (Bug#36363)
Eli Zaretskii [Sat, 22 Jun 2019 08:51:50 +0000 (11:51 +0300)]
Correct and update the mapping of LaTeX encodings
* lisp/international/latexenc.el
(latex-inputenc-coding-alist): Fix the association of latin5.
(Bug#36253) Uncomment latin10 and map it to iso-8859-16.
Eli Zaretskii [Sat, 22 Jun 2019 08:34:23 +0000 (11:34 +0300)]
Avoid using string-make-unibyte in select.el
* lisp/select.el (selection-coding-system): Doc fix.
(xselect--encode-string): For C_STRING, if the text is not
already unibyte, use encode-coding-string instead of
string-make-multibyte to make it unibyte.
Paul Eggert [Fri, 21 Jun 2019 21:45:35 +0000 (14:45 -0700)]
Remove src/macuvs.h from Git repository
It can be generated automatically and easily during a normal
bootstrap, so there’s no need to keep it in the repository.
* admin/unidata/Makefile.in (maintainer-clean):
Behave like extraclean and remove macuvs.h etc.
* src/macuvs.h: Remove.
Stefan Monnier [Fri, 21 Jun 2019 05:16:54 +0000 (01:16 -0400)]
* lisp/vc/ediff-*.el: Use lexical-binding, plus misc cleanup
Re-enable lexical-binding in ediff. For that, change ediff-find-file
so as not to rely on dynamic scoping in its calling convention.
* lisp/vc/ediff-diff.el: Move `provide` to the end.
Remove redundant :group.
(ediff-exec-process): Disregard current directory.
(ediff-forward-word-function): Use defvar-local.
* lisp/vc/ediff-help.el (ediff-set-help-message): Use functionp.
* lisp/vc/ediff-hook.el (menu-bar-ediff-misc-menu): Make a toggle, as
in the XEmacs menu.
* lisp/vc/ediff-mult.el: Move `provide` to the end.
Remove redundant :groups.
(ediff-dir-diffs-buffer-map):
Move initialization into declaration.
(ediff-meta-mode): Use define-derived-mode.
(ediff-intersect-directories): Remove `comparison-func`, unused.
(ediff-prepare-meta-buffer): Fix use of `startup-hooks`.
* lisp/vc/ediff-ptch.el: Move `provide` to the end.
* lisp/vc/ediff-util.el (ediff-add-to-history): Use add-to-history instead.
* lisp/vc/ediff-vers.el (ediff-vc-internal, ediff-vc-merge-internal):
Use push and closures.
* lisp/vc/ediff.el: Move `provide` to the end.
Remove redundant :groups.
(ediff--magic-file-name, ediff--startup-hook): New vars.
(ediff-find-file): Change calling convention so as not to use
symbols as value cells.
(ediff--buffer-file-name): New function.
(ediff-files-internal): Adjust to new calling convention of ediff-find-file.
(ediff-directories-internal, ediff-directory-revisions-internal)
(ediff-regions-internal): Use push and closures.
Paul Eggert [Thu, 20 Jun 2019 18:18:14 +0000 (11:18 -0700)]
Fix extraclean in a different way for info+lib/sys
* Makefile.in (extraclean):
* lib/Makefile.in (extraclean): Use rmdir but suppress any
error indication. That way, ‘make extraclean’ will remove the
directory if it’s empty, and successfully do nothing otherwise.
Paul Eggert [Thu, 20 Jun 2019 15:56:22 +0000 (08:56 -0700)]
Simplify lib-src version printing
* lib-src/Makefile.in (etags_cflags): Remove.
All uses replaced by a simple ‘-o $@’.
(ebrowse${EXEEXT}, emacsclient${EXEEXT}, emacsclientw${EXEEXT}):
Omit -DVERSION= option.
* lib-src/ebrowse.c (VERSION):
* lib-src/emacsclient.c (VERSION):
* lib-src/etags.c (EMACS_NAME, VERSION): Remove.
All uses replaced by PACKAGE_NAME and PACKAGE_VERSION.
* lib-src/ebrowse.c (version):
* lib-src/etags.c (print_version):
Use fputs to output the version info, since that’s fputs_unlocked.
* lib-src/etags.c (PROGRAM_NAME): New macro.
(print_version): Use it.
Make extraclean return tree to pristine state by deleting more
* src/Makefile.in (extraclean): Remove TAGS and config.in.
* Makefile.in (extraclean): Remove info, configure and
emacsver.texi in extraclean.
* admin/unidata/Makefile.in (extraclean): Make it depend on
distclean to remove .elc files.
* leim/Makefile.in (extraclean): Depend on bootstrap-clean to
remove generated .el files.
* lib/Makefile.in (extraclean): Added target to remove sys
directory and run distclean.
* lisp/Makefile.in (extraclean): Also remove loaddefs*.el~ files.
Don't define *, ** and ** in ielm as real variables
* lisp/ielm.el: (*, **, ***): Change defvars into compiler
directives instead of real variable definitions to avoid polluting
the global Emacs namespace.
(*1, *2, *3): Ditto.
* lisp/eshell/esh-mode.el (eshell-mode): Remove special binding
for M-. in eshell buffers: The comment indicates that this is
outdated code.
(eshell-find-tag): Make obsolete.
* lisp/mail/binhex.el (binhex-insert-char): Remove XEmacs compat
code and made into a function instead of a defalias.
(binhex-decode-region-internal): Remove XEmacs compat code.
Paul Eggert [Thu, 20 Jun 2019 07:35:41 +0000 (00:35 -0700)]
Remove no-longer-needed fflushes of stderr
* src/gmalloc.c (mabort) [GC_MCHECK && !__GNU_LIBRARY__]:
* src/term.c (vfatal): Remove fflush (stderr) when it is now a
no-op because newline automatically flushes stderr.
Change font_put_extra value for property removal from Qnil to Qunbound
* font.c (font_put_extra): If VAL is Qunbound, delete the slot for PROP from
the list of extra properties. Previous value Qnil is valid as boolean.
(font_clear_prop): Changed argument of font_put_extra for property removal.
Juri Linkov [Wed, 19 Jun 2019 21:55:07 +0000 (00:55 +0300)]
Add file sorting options to find-dired and grep-find (bug#36110)
* lisp/find-dired.el (find-ls-option-default-ls)
(find-ls-option-default-exec, find-ls-option-default-xargs):
New variables for values used for options of 'find-ls-option'.
(find-ls-option): Use these variables for default values and options.
(find-dired-refine-function): Refine :type.
* lisp/progmodes/grep.el (grep-find-use-xargs): Use defcustom
instead of defvar. Add new value 'gnu-sort'.
(grep-compute-defaults): Handle new 'gnu-sort' option of
'grep-find-use-xargs'.
* lisp/emacs-lisp/eieio.el (object-print):
* lisp/emacs-lisp/eieio-base.el (eieio-object-set-name-string):
Move the defgeneric before the defmethod, because that makes more
sense.
Fix previous change to erc (where commands like /me wouldn't be sent)
* lisp/erc/erc-ring.el (erc-add-to-input-ring):
* lisp/erc/erc-goodies.el (erc-send-distinguish-noncommands): Pass
in a erc-input structure instead of a simple string.
* lisp/erc/erc.el (erc-pre-send-functions): Document the new
argument to the filter functions.
(erc-send-input): Use the new structure to allow the filter
functions to alter all three things: The string, whether to insert
the string, and whether to send the string.
Stefan Monnier [Wed, 19 Jun 2019 14:47:55 +0000 (10:47 -0400)]
(with-suppressed-warnings): Make it apply to macro-expansion as well
* lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
Change with-suppressed-warnings so it also affects the macro-expansion of
the body.