Commit graph

137190 commits

Author SHA1 Message Date
Noam Postavsky
648fdbbcec Don't bind search-spaces-regexp around possible autoload (Bug#35802)
* lisp/isearch.el (isearch-search-fun-default): Move possible autoload
trigger outside let-binding of search-spaces-regexp.
* lisp/char-fold.el (char-fold-make-table): Remove no longer needed
workaround.

* lisp/info.el (Info-search-whitespace-regexp):
* lisp/isearch.el (search-whitespace-regexp):
* src/search.c (syms_of_search) <search-spaces-regexp>: Add warning
about adding capturing groups to the value.

* test/lisp/char-fold-tests.el: Remove, binding search-spaces-regexp
to a different should be considered a bug.
2019-06-25 22:00:03 -04:00
Noam Postavsky
b59ffd2290 Support (rx (and (regexp EXPR) (literal EXPR))) (Bug#36237)
* lisp/emacs-lisp/rx.el (rx-regexp): Allow non-string forms.
(rx-constituents): Add literal constituent, which is like a plain
STRING form, but allows arbitrary lisp expressions.
(rx-literal): New function.
(rx-compile-to-lisp): New variable.
(rx--subforms): New helper function for handling subforms, including
non-constant case.
(rx-group-if, rx-and, rx-or, rx-=, rx->=, rx-repeat, rx-submatch)
(rx-submatch-n, rx-kleene, rx-atomic-p): Use it to handle non-constant
subforms.
(rx): Document new form, wrap non-constant forms with concat call.
* test/lisp/emacs-lisp/rx-tests.el (rx-tests--match): New macro.
(rx-nonstring-expr, rx-nonstring-expr-non-greedy): New tests.
* etc/NEWS: Announce changes.
2019-06-25 22:00:03 -04:00
Juanma Barranquero
29babad728 Fix PATH_MAX change to lib-src/emacsclient.c
* lib-src/emacsclient.c (get_current_dir_name): Declare pwdlen.
2019-06-26 02:05:53 +02:00
Lars Ingebrigtsen
e8d174304a Fix previous patch to dired-mark-if
* lisp/dired.el (dired-mark-if): Don't use looking-at to check for
characters.
2019-06-26 01:15:06 +02:00
Paul Eggert
824f784187 Prefer PATH_MAX to MAXPATHLEN
PATH_MAX is standardized, MAXPATHLEN is not.
Also, the Gnulib pathmax module fixes some rare bugs with PATH_MAX.
So prefer PATH_MAX to MAXPATHLEN unless we know the latter is
also correct (for some platform-specific code).
* admin/merge-gnulib (GNULIB_MODULES): Add pathmax.
This module was already present, as a dependency of canonicalize-lgpl,
but now Emacs is using it directly.  Sort.
* lib-src/emacsclient.c: Include stdint.h, pathmax.h.
(get_current_dir_name): Sync to current src/sysdep.c.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* src/sysdep.c: Include pathmax.h.
(get_current_dir_name_or_unreachable):
Use PATH_MAX instead of MAXPATHLEN.
2019-06-25 15:56:58 -07:00
Dima Kogan
7dcefa7a2b View-search-... now hit all the matches, regardless of window position
* lisp/view.el (view-search): Jump to the next/prev occurrence of
the search, even if it's displayed in the buffer (bug#18131).
This seems more logical than the previous (undocumented) behaviour.
2019-06-26 00:49:24 +02:00
Paul Eggert
d7c6836288 Avoid some strlen work, primarily via strnlen
* admin/merge-gnulib (GNULIB_MODULES): Add strnlen.
* lib-src/etags.c (find_entries):
* src/emacs.c (main):
* src/nsmenu.m (parseKeyEquiv:):
* src/nsterm.m (ns_xlfd_to_fontname):
* src/term.c (vfatal):
Prefer !*X to !strlen (X).
* lib-src/etags.c (pfnote, add_regex):
* lib-src/pop.c (pop_open):
* lib-src/update-game-score.c (main):
* lwlib/lwlib.c (lw_separator_p):
* src/doprnt.c (doprnt):
* src/emacs.c (main):
* src/inotify.c (inotifyevent_to_event):
* src/keyboard.c (menu_separator_name_p, parse_tool_bar_item):
* src/sysdep.c (get_current_dir_name_or_unreachable):
* src/xdisp.c (store_mode_line_string):
Use strnlen to avoid unnecessary work with strlen.
* lib-src/etags.c (Prolog_functions, prolog_pr)
(Erlang_functions, erlang_func):
Prefer ptrdiff_t to size_t when either will do.
(prolog_pr, erlang_func): New arg LASTLEN, to avoid
unnecessary strlen call. All callers changed.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
* lib/strnlen.c, m4/strnlen.m4: New files, copied from Gnulib.
* lwlib/lwlib.c (lw_separator_p):
* src/json.c (json_has_prefix):
Use strncmp to avoid unecessary work with strlen + memcmp.
* src/process.c (set_socket_option): Use SBYTES instead of strlen.
2019-06-25 14:55:08 -07:00
Emilio C. Lopes
349b778dde Support opening a new connection when reverting a telnet buffer
* net/telnet.el (telnet-connect-command): New variable.
(telnet-revert-buffer): New function.
(telnet-mode): Use `telnet-revert-buffer' as `revert-buffer-function'.
(telnet, rsh): Set `telnet-connect-command' accordingly (bug#18312).

Copyright-paperwork-exempt: yes
2019-06-25 23:40:22 +02:00
Arash Esbati
52e17e53b7 Suppress warning about unix-sync in nnmaildir.el
* nnmaildir.el (nnmaildir-request-replace-article): Check if the
function `unix-sync' is bound before running it.
2019-06-25 23:24:47 +02:00
Ivan Shmakov
3942821425 Check labels in smerge-mode
* lisp/vc/diff.el (diff-check-labels): Separated out into its own
function (bug#18850)...
(diff-no-select): ... from here.

* lisp/vc/smerge-mode.el (smerge-diff): Use diff-check-labels.
2019-06-25 23:23:01 +02:00
Basil L. Contovounesios
4217398de3 Avoid using subr-x.el function in files.el
* lisp/files.el (file-size-human-readable): Open code string-empty-p
call.  This was the single occurrence of a subr-x.el function in
files.el, which does not (yet) load subr-x.el.
2019-06-25 22:12:02 +01:00
Stefan Monnier
5463b7e77a * lisp/emacs-lisp/cl-extra.el (cl-isqrt): Speed up bignum case 2019-06-25 17:08:01 -04:00
Jonathan Shin Hayase
955e370373 Highlight zsh glob flags and qualifiers in sh-mode
* lisp/progmode/sh-script.el (sh-syntax-propertize-function):
Add regexps to highlight zsh glob flags and alternate qualifiers
without mistaking them for comments. (bug#19455).
2019-06-25 23:00:20 +02:00
Lars Ingebrigtsen
59550f7cce Build fix for previous buffers.texi change 2019-06-25 22:37:20 +02:00
Stefan Monnier
6baf81c918 * etc/NEWS: Fix vocabulary in last change 2019-06-25 16:36:53 -04:00
Stefan Monnier
51e4457a90 * lisp/tar-mode.el: Use lexical-binding; remove redundant :groups.
(tar-new-entry): Remove unused var `buffer`.
2019-06-25 16:36:53 -04:00
Lars Ingebrigtsen
98247645a7 Move widen/narrow in tabulated lists to } and {
* doc/emacs/buffers.texi (Several Buffers): Document it.

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map):
Move widen/narrow to `}' and `{'.
2019-06-25 22:34:55 +02:00
Glenn Morris
bc780a4691 * test/lisp/progmodes/flymake-tests.el (ruby-backend): Skip on hydra.
Another unstable test.
2019-06-25 13:23:15 -07:00
Stefan Monnier
93b823b6e4 * lisp/net/tramp.el (tramp-file-name-handler): Use autoload-do-load 2019-06-25 16:09:48 -04:00
Ivan Shmakov
0ab24743f1 Heed default directory in tar-untar-buffer
* lisp/tar-mode.el (tar-untar-buffer): Fix use the value of
default-directory local to the tar-mode buffer (bug#19865).
2019-06-25 19:54:35 +02:00
David Hull
f0151e17d2 etags: Fix handling of quoted symbol names in Erlang
* lib-src/etags.c (erlang_attribute): Fix handling of quoted
symbol names in Erlang (bug#24960).
2019-06-25 19:14:20 +02:00
Eli Zaretskii
a8457f0ada ; * etc/NEWS: Fix an entry from recent commit. 2019-06-25 19:38:11 +03:00
Paul Eggert
848ff94b45 Update from Gnulib
This incorporates:
2019-06-24 unistd: stddef.h and sys/types.h namespace cleanup
* lib/gnulib.mk.in: Regenerate.
* lib/unistd.in.h: Copy from gnulib.
2019-06-25 09:22:52 -07:00
Glenn Morris
55ccd1b485 * lisp/info.el (info-emphasis): Fix doc, version. 2019-06-25 09:13:22 -07:00
Vaidheeswaran C
9de1177a1e Preserve header lines from derived modes in tabulated lists
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
Preserve header line set by derived modes (bug#21025).
2019-06-25 18:09:54 +02:00
Drew Adams
90c25b2452 Make dired commands report how many files they mark
* lisp/dired.el (dired-mark-if): Report the number of files marked
when called, not the total number of marked files (bug#22457).
2019-06-25 17:44:56 +02:00
Stefan Monnier
da263640c8 * lisp/simple.el (forward-visible-line, end-of-visible-line): Use invisible-p 2019-06-25 11:35:56 -04:00
Lars Ingebrigtsen
b26c2767ed Add a new command to report the number and size of the marked files
2019-06-25  Constantino Calancha  <f92capac@gmail.com>

	* lisp/dired.el (dired-mode-map): New keystroke and menu binding
	(bug#22829).

2019-06-25  Lars Ingebrigtsen  <larsi@gnus.org>

	* doc/emacs/dired.texi (Marks vs Flags): Document it.

	* lisp/dired.el (dired-number-of-marked-files): New command.
2019-06-25 16:29:03 +02:00
Phil Sainty
9e81b22113 Fix `goto-address-url-regexp'
* lisp/net/goto-addr.el (goto-address-uri-schemes-ignored): New
variable.
(goto-address-uri-schemes): Ditto.
(goto-address-url-regexp): Use them to compose the final regexp.

* lisp/net/goto-addr.el: The URI schemes to be recognised by
`goto-address-mode' were not regexp-quoted (Bug#23343).
2019-06-25 16:02:12 +02:00
Tino Calancha
0454bfd331 Make winner restore point in all windows that display a buffer
* lisp/window.el (window--before-delete-windows): New defun.
(delete-window, delete-other-windows): Use it.
* lisp/winner.el (winner-set): Use marker in 'window-prev-buffers'
when available and different than the value returned by
'winner-get-point' (bug#23621).
2019-06-25 15:42:17 +02:00
Bastian Beischer
e195bbd95a Use xref in cedet
* lisp/cedet/semantic/complete.el (semantic-complete-jump-local)
* lisp/cedet/semantic/analyze/refs.el
(semantic-analyze-proto-impl-toggle): Use xref to handle jumping
(bug#23793).

Copyright-paperwork-exempt: yes
2019-06-25 15:12:04 +02:00
Drew Adams
72963b4e82 Fontify _emphasis_ in info nodes
* lisp/info.el (Info-fontify-node): Fontify _emphasis_ (bug#23798).
(info-emphasis): New face.
2019-06-25 14:53:52 +02:00
Robert Weiner
e9b05221ab Unlispify even more in custom-unlispify-menu-entry
* lisp/cus-edit.el (custom-unlispify-menu-entry): Also allow : and
/ as separators in symbols when making the symbols look more
human-readable (bug#23986).
2019-06-25 14:53:52 +02:00
Michael Shields
14fc8a108b [PATCH 1/1] Pass frame-parameters to server-create-tty-frame
* lisp/server.el: Pass frame-parameters when creating frames, even
on a tty (bug#24147).
2019-06-25 14:53:51 +02:00
Basil L. Contovounesios
0d51f54236 Fix recent tex-mode safe-local-variable changes
* lisp/textmodes/tex-mode.el (tex-verbatim-environments): Replace
(delq t ...) with more usual (memq nil ...).
(latex-noindent-environments, latex-noindent-commands): Fix typos
and thinkos in safe-local-variable logic.
2019-06-25 13:40:32 +01:00
Lars Ingebrigtsen
b060c81bb8 Don't delete macuvs.h in extraclean
* admin/unidata/Makefile.in (extraclean): Don't delete macuvs.h,
because it's a checked-in file, and make targets altering
checked-in files is confusing.
2019-06-25 13:23:14 +02:00
Fritz Stelzer
235ca1b4db Make xref-show-xrefs-function a defcustom
* lisp/progmodes/xref.el (xref-show-xrefs-function): Make into a
defcustome (bug#29206).

* lisp/progmodes/xref.el (xref-show-definitions-function): Ditto.

Copyright-paperwork-exempt: yes
2019-06-25 13:10:07 +02:00
Antoine Beaupré
ba476dc975 Add imenu support to package-menu-mode
* lisp/vc/vc-git.el (vc-git-grep-template): Include <C> in
template to be more consistent with lgrep/rgrep (bug#35326).  This
will introduce the --color and -i flags to the "git grep" command.

Copyright-paperwork-exempt: yes
2019-06-25 13:10:07 +02:00
Alan Mackenzie
8c17995f7f Fix documentation of inhibit-modification-hooks in overlays + text properties
This fixes bug #25111.

* doc/lispref/display.text (Overlay Properties): For the hook property
modification-hooks, state that inhibit-modification-hooks is bound to non-nil
when calling its functions.  This also applies to insert-in-front-hooks and
insert-behind-hooks, which refer to modification-hooks.

* doc/lispref/text.texi (Special Properties): For the hook property
modification-hooks, state that inhibit-modification-hooks is NOT bound to
non-nil when calling its functions.  For the hooks insert-in-fron-hooks and
insert-behind-hooks, state that that variable does get bound to non-nil.
2019-06-25 08:52:38 +00:00
Hong Xu
093f5d0045 Add imenu support to package-menu-mode
* gnus-cite.el (gnus-message-citation-mode): Fontify if the major
mode is derived from message-mode (not necessarily equal to
message-mode) (bug#25124).
2019-06-25 01:31:10 +02:00
Damien Cassou
cf9f481d98 Add imenu support to package-menu-mode
* lisp/emacs-list/package.el
(package--imenu-prev-index-position-function
package--imenu-extract-index-name-function): Add Imenu functions
to package-menu-mode (bug#27134).
2019-06-25 01:31:10 +02:00
Stefan Monnier
0ef3163959 * lisp/textmodes/tex-mode.el (latex-noindent-commands): New custom var
(latex-find-indent): Obey it.
(latex-noindent-environments): Make it into a defcustom as well.
2019-06-24 19:21:07 -04:00
Lars Ingebrigtsen
630e01a703 Make message_to_stderr do one single fwrite
* src/xdisp.c (message_to_stderr): When running as a batch
process, the output from `message' goes to stderr, and has a
newline appended.  Rewrite the code so that only one fwrite is
performed to enable messages that are shorter than PIPE_BUF
(usually 4096 on modern operating systems) are written out as one
chunk, as this will ensure that the messages are not interleaved
with messages from other processes that are writing at the same
time.  This does not affect other stderr outputs, just the ones
from `message'.
2019-06-25 00:46:20 +02:00
Kaushal Modi
f70cdd4caa Add example for enabling minor modes in .dir-local.el
* doc/emacs/custom.texi (Directory Variables): Add an example that
shows how a minor mode can be enabled in a .dir-local.el (Bug#27639).
Clarify that indent-tabs-mode is not a minor mode.
2019-06-25 00:46:20 +02:00
YAMAMOTO Mitsuharu
6e27086941 * configure.ac: Set HAVE_XFT to no for summary if HAVE_CAIRO is yes. 2019-06-25 07:24:37 +09:00
Stefan Monnier
d3ae5e1836 * lisp/svg.el: Prepare for distribution via GNU ELPA
Add a Version: and Package-Requires:.
Don't require subr-x.
Bring Commentary: from the GNU ELPA version of the package.
(svg-remove): Don't use when-let*.
2019-06-24 17:15:11 -04:00
Eric Abrahamsen
535051db2a Tweaks to html mode
* lisp/textmodes/sgml-mode.el (sgml-attributes): Add the "class" and
  "id" attributes when needed.
  (html-mode-map): Add the `html-div' and `html-span' commands to the
  `html-quick-keys' map.
  (html-ordered-list, html-unordered-list, html-paragraph): Use the
  "\n" element properly.
  (html-div, html-span): New HTML skeletons.
2019-06-24 10:21:09 -07:00
Lars Ingebrigtsen
35c72aea44 rectangle--pos-cols shouldn't move point
* lisp/rect.el (rectangle--pos-cols): Don't move point while
calculating the values (bug#25777).
2019-06-24 19:12:41 +02:00
Eli Zaretskii
9f5f5ae638 Fix MS-Windows build as followup to pdumper executable lookup
* src/w32.c (w32_my_exename): New function.
* src/w32.h (w32_my_exename): Add prototype.
* src/emacs.c (load_pdump_find_executable) [WINDOWSNT]: Find
the actual file name of the program without looking along
PATH, by calling w32_my_exename.

* nt/mingw-cfg.site (ac_cv_func_canonicalize_file_name)
(ac_cv_func_realpath, gl_cv_func_realpath_works): Disable
testing.
* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_canonicalize-lgpl): Set
to true.
2019-06-24 20:06:34 +03:00
Lars Ingebrigtsen
38502cd44d Make C-l in iimage-mode call recenter-top-bottom
* lisp/iimage.el (iimage-recenter): Call `recenter-top-bottom'
instead of `recenter', since that's the default function for `C-l'
(bug#27610).  Suggested by Arne Frederic Maria Döring.
2019-06-24 18:26:03 +02:00