1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-25 07:40:40 -07:00
Commit graph

72428 commits

Author SHA1 Message Date
Noam Postavsky
7a382383ac Properly bracket concat of comment-start-skip (Bug#34805)
* lisp/emacs-lisp/smie.el (smie-indent-fixindent):
* lisp/cedet/semantic/doc.el (semantic-doc-snarf-comment-for-tag):
* lisp/progmodes/fortran.el (fortran-previous-statement)
(fortran-next-statement)
(fortran-fill-statement):
* lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-statement): Bracket
comment-start-skip and comment-end-skip to avoid unexpected regexp
operator precedence.
2019-04-15 20:28:03 -04:00
Mattias Engdegård
e9e807e931 Don't remove notify descriptor that is already gone
* lisp/autorevert.el (auto-revert-use-notify, auto-revert-mode,
global-auto-revert-mode, auto-revert-notify-rm-watch,
auto-revert-notify-add-watch, auto-revert-notify-handler,
auto-revert-notify-rm-watch-callback):
Don't remove a notify descriptor after receiving a `stopped' notification
event, because the descriptor is then already gone and any attempt to
remove it causes a recursive call to `auto-revert-notify-handler'.
2019-04-15 10:30:31 +02:00
Dmitry Gutov
ae78bda5b8 Sort files in the default impl of project-files alphabetically
* lisp/progmodes/project.el (project--files-in-directory):
Sort the files alphabetically
(https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23179#296).
2019-04-15 00:39:57 +03:00
Michael Albinus
dcfe1c4aba Fix Bug#35055
* lisp/net/tramp.el (tramp-handle-shell-command):
Handle `shell-command-width'.  (Bug#35055)
2019-04-14 19:52:12 +02:00
Alexander Gramiak
e233dedde2 * lisp/frame.el (frame--size-history): Fix infloop. (Bug#35272) 2019-04-14 11:36:32 -06:00
Stephen Leake
5ee5895f9b Merge commit '890440a44c' 2019-04-14 09:24:42 -07:00
Stephen Leake
ca449fb1c1 Rename new user variable next-error-verbosity' to next-error-verbose'
* etc/NEWS: Update entry to match renaming.

* lisp/simple.el (next-error-verbose): Rename.
(next-error, next-error-internal): Match rename.
2019-04-14 09:23:24 -07:00
Eli Zaretskii
29b36a007a Improve documentation of a recent commit
* etc/NEWS: Fix the description of 'shell-command-width'.
Mark the entry as not needing the manual update.

* lisp/simple.el (shell-command-width): Doc fix.  (Bug#35055)
2019-04-14 17:50:12 +03:00
Basil L. Contovounesios
c49f5d573b Fix gnus-group-describe-all-groups (bug#35233)
This fixes oversights from
2018-04-26T16:26:27-07:00!eric@ericabrahamsen.net and
2016-02-13T18:45:11+11:00!larsi@gnus.org.
* lisp/gnus/gnus-group.el (gnus-group-describe-all-groups): Insert
group name and description instead of group name twice.  Do not pass
a hash-table to intern.  Call sort with correct number of arguments.
2019-04-14 01:58:47 +01:00
Juri Linkov
894e142082 * lisp/vc/log-edit.el (log-edit-insert-changelog): Add field "Summary"
explicitly after adding field "Author".  (Bug#34972)
2019-04-14 01:02:39 +03:00
Juri Linkov
ed2b0bdfe2 New faces in xref (bug#23179)
* lisp/progmodes/xref.el (xref-file-header, xref-line-number)
(xref-match):  New faces.
(xref--insert-xrefs, xref--collect-matches-1): Use them.
2019-04-14 00:54:14 +03:00
Juri Linkov
3a34f57c7e * lisp/simple.el (shell-command-width): New defcustom.
(shell-command): Use it.  (Bug#35055)
2019-04-14 00:46:38 +03:00
Alan Mackenzie
ad652a3b89 * lisp/progmodes/cc-langs.el (c-class-id-suffix-ws-ids-kwds): Correct a typo 2019-04-13 19:33:18 +00:00
Alan Mackenzie
f9694a7138 Implement "final" before C++ class inheritance lists.
* lisp/progmodes/cc-langs.el (c-class-id-suffix-ws-ids-kwds)
(c-class-id-suffix-ws-ids-key): New lang const/var.

* lisp/progmodes/cc-engine.el (c-guess-basic-syntax CASE 5D.4): Check for and
skip over any matches for c-class-id-suffix-ws-ids-key (i.e. "final") before
":".
2019-04-13 13:29:58 +00:00
Michael Albinus
c2c9ef2c1e Fix error in tramp-sh.el
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
Revert "simplification", which was an error.
2019-04-13 12:34:44 +02:00
Paul Eggert
7ddd08bd3e Omit/rewrite useless regexp repetitions
Problem reported by Mattias Engdegård in:
https://lists.gnu.org/r/emacs-devel/2019-04/msg00527.html
* lisp/align.el (align-rules-list):
* lisp/cedet/srecode/srt-mode.el (srecode-font-lock-keywords):
* lisp/emacs-lisp/copyright.el (copyright-regexp):
* lisp/erc/erc-backend.el (JOIN):
* lisp/erc/erc-goodies.el (erc-unmorse):
* lisp/mail/mail-extr.el (mail-extr-telephone-extension-pattern):
* lisp/net/tramp-adb.el (tramp-adb-prompt):
* lisp/org/org-table.el (org-table-range-regexp):
* lisp/progmodes/idlwave.el (idlwave-where):
* lisp/progmodes/verilog-mode.el (verilog-declaration-re-2-no-macro)
(verilog-declaration-re-2-macro, verilog-delete-auto-buffer)
(verilog-auto-inst-port):
* lisp/url/url-misc.el (url-data):
Omit or rewrite useless repetitions that risk being very slow in
the backtracking regexp engine in Emacs.
2019-04-12 19:43:41 -07:00
Dmitry Gutov
8635e011ed Don't signal error from url debug functions
* lisp/url/url-http.el (url-http-debug): Don't signal error.

* lisp/url/url-util.el (url-debug): Same (bug#34763).
2019-04-13 03:36:45 +03:00
Alan Mackenzie
cc80eeb4a4 Analyze C++ method with & or && ref-qualifier as defun, not brace list
Also firm up detection of beginning of brace list in
c-looking-at-or-maybe-in-bracelist.

* lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): On
detection of such a ref-qualifier, set braceassignp to nil.  When this
variable has a nil value, return nil as the value of the function.  On
encountering a } when scanning backwards, recognise this as the end of a
previous construct and stop the scan.
2019-04-12 20:07:03 +00:00
Stefan Monnier
896e580216 * lisp/help-fns.el (help-fns-describe-variable-functions): New hook
(help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete)
(help-fns--interactive-only): Indent output by 2 spaces.
(help-fns--side-effects): New function extracted from
describe-function-1.
(help-fns-describe-function-functions): Use it.
(help-fns--first-release, help-fns--mention-first-release): New functions.
(help-fns-function-description-header): Keymaps and macros can't
be interactive.
(help-fns--ensure-empty-line): New function.
(describe-function-1): Use it.
(help-fns--var-safe-local, help-fns--var-risky)
(help-fns--var-ignored-local, help-fns--var-file-local)
(help-fns--var-watchpoints, help-fns--var-obsolete)
(help-fns--var-alias, help-fns--var-bufferlocal): New functions,
extacted from describe-variable.
(describe-variable): Run help-fns-describe-variable-functions instead.
2019-04-12 12:37:00 -04:00
Basil L. Contovounesios
9a54e70c18 Optimize byte-compilation of proper-list-p
For discussion, see thread starting at:
https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00316.html
* lisp/emacs-lisp/byte-opt.el: Optimize proper-list-p as a
predicate.
* lisp/subr.el: Mark proper-list-p as pure, and side-effect and
error free.
2019-04-12 14:25:36 +01:00
Alex Murray
6dc4c722af Pop to originating erc buffer when clicking desktop notification
* lisp/erc/erc-desktop-notifications.el: Switch to lexical-binding.
(erc-notifications-notify): Add a default action to the desktop
notification which pops to the buffer from which the notification
originated.  (Bug#35141)

Copyright-paperwork-exempt: yes
2019-04-12 13:08:28 +01:00
Basil L. Contovounesios
2b82c82970 Always set gnus-group property to a group name
* lisp/gnus/gnus-group.el (gnus-group-prepare-flat-list-dead): Set
gnus-group property to a group name, not active info. (bug#33653)
Simplify surrounding logic.
(gnus-group-prepare-flat, gnus-group-goto-group): Use accessor
macros.
(gnus-group-insert-group-line, gnus-group-new-mail)
(gnus-group-mark-group): Write ?\s instead of ? .
(gnus-group-group-name, gnus-group-list-active): Simplify.
2019-04-12 12:02:58 +01:00
Stefan Monnier
bd6a19ccfd * lisp/vc/diff-mode.el: Avoid re-initializing buffer in diff-syntax
(diff--syntax-file-attributes): New var.
(diff-syntax-fontify-hunk): Detect when we're reusing the same buffer as
last time, to avoid re-initializing it.  Skip the
diff-syntax-fontify-revisions hash-table, since buffer-alist plays the
same role.
(diff-syntax-fontify-revisions): Delete var.
2019-04-11 21:06:59 -04:00
Stephen Leake
7ba7def5ca Merge commit 'de238b39e3' 2019-04-11 14:00:02 -07:00
Stephen Leake
7768581172 Make `next-error' output fewer messages about locus
* lisp/simple.el (next-error-verbosity): New user variable.
(next-error, next-error-internal): Use it to control only outputting
locus message if locus changed.
2019-04-11 13:58:36 -07:00
Christopher Thorne
de238b39e3 Fix rgrep in dired using directory for search file pattern
* lisp/progmodes/grep.el (grep-read-files): Allow major modes to
define file name to use for default search pattern.
Add non-directory file at point as default search pattern candidate.

* lisp/dired.el (dired-grep-read-files): Use non-directory file at
point for grep file name pattern.  (Bug#34621)

Copyright-paperwork-exempt: yes
2019-04-11 23:51:13 +03:00
Jackson Ray Hamilton
382a508ed2
Add extra text property to fix issue with js2-mode integration
* lisp/progmodes/js.el (js-jsx--put-syntax-table): New function for
consistently ensuring smooth js2-mode integration.  js2-mode sets
syntax-table temporarily while parsing buffers—seemingly to recover
from parsing interruptions—and then it later clears syntax-table
blindly.  When integrating with js-mode, this means that unterminated
string quotes are re-broken in JSX (i.e., they become strings again,
often stringifying large regions of the buffer which should not be
strings).  We try to treat quotes in JSXText as non-strings by setting
syntax-table to a non-“string quote” syntax class, but that stops
working if we lose the property.  On the js2-mode end, by scanning for
this second js-jsx-syntax-table property, we can recover the
syntax-table property there.
(js-jsx--text-range, js-jsx--syntax-propertize-tag): Use
js-jsx--put-syntax-table for above reason.
(js-jsx--text-properties): Clear the js-jsx-syntax-table property too.
2019-04-10 22:53:34 -07:00
Katsumi Yamaoka
0627a8d7bc Enable message saving to work when first use of Gnus (bug#35208)
* lisp/gnus/gnus-group.el (gnus-group-goto-group);
Use gnus-active-hashtb in addition to gnus-newsrc-hashtb to check if
a group exists since some kinds of groups are registered in only one
of them (bug#35208).
2019-04-11 00:23:38 +00:00
Juri Linkov
8ecce6af47 Inhibit displaying help buffer in main window in perform-replace
* lisp/replace.el (perform-replace): Use
display-buffer-overriding-action with inhibit-same-window to prevent
the help buffer from being displayed in the main window.  (Bug#34972)

Author: Michał Krzywkowski <k.michal@zoho.com>
Copyright-paperwork-exempt: yes
2019-04-10 23:48:13 +03:00
Glenn Morris
61cdadf5bc Merge from origin/emacs-26
5999401 (origin/emacs-26) Note that choose-completion-string-function...
8d2f1df Address name conflicts in EIEIO documentation (bug#31660)
2019-04-10 09:07:16 -07:00
Glenn Morris
7f88eecd7c Merge from origin/emacs-26
a5da653 * src/editfns.c (Fnarrow_to_region): Doc fix.  (Bug#35163)
646d33d Fix doc strings of 'vc-version-diff' and 'vc-version-ediff'
a30a6c3 Improve documentation of set-window-start
92ce2dd Improve documentation of window parameters
6dc42c5 Improve commentary in frame.el
a8cffcf Fix typo in a doc string
9e79f19 (emacs-26) ; * src/fontset.c (set-fontset-font): Use uppercas...

# Conflicts:
#	lisp/vc/vc.el
2019-04-10 09:07:16 -07:00
Stefan Monnier
e3bd33fb1c Eshell dependencies: Fix recent regressions
* lisp/dired.el (dired-insert-directory): Tweak bug#27817's ugly hack.

* lisp/eshell/em-ls.el: Refine 'require's.

* lisp/eshell/esh-opt.el: Require esh-util on behalf of its clients.
2019-04-10 10:11:50 -04:00
Eric Abrahamsen
59994015f1 Note that choose-completion-string-functions funcs take four args
* lisp/simple.el (choose-completion-string-functions): Functions in
  this list actually need to accept four arguments, though the fourth
  should be ignored.
2019-04-09 20:13:47 -07:00
Jackson Ray Hamilton
f29010729f
Add new defcustom js-jsx-align->-with-<
* lisp/progmodes/js.el (js-jsx-align->-with-<): New variable for users
to control one opinionated aspect of JSX indentation.  It defaults to
the style seen in the React docs, which many users expected as the
“correct” indentation.  Still, the old SGML-style of indentation could
be desirable too, especially since it was the old default.  This
ensures users have a way of getting back the old behavior.
(js-jsx--contextual-indentation): Respect js-jsx-align->-with-<.

* test/manual/indent/jsx-align-gt-with-lt.jsx: New test for
js-jsx-align->-with-<.
2019-04-09 19:42:49 -07:00
Jackson Ray Hamilton
5772971f25
Add new defcustom js-jsx-indent-level
* lisp/progmodes/js.el (js-jsx-indent-level): New variable for users
to set JSX indentation differently than JS, like before.
(js-jsx--contextual-indentation): Respect js-jsx-indent-level when
it’s set.

* test/manual/indent/jsx-indent-level.jsx: New test for
js-jsx-indent-level.
2019-04-09 18:44:36 -07:00
Stefan Monnier
85fbdf027d diff-font-lock-syntax: clarify distinction between t and hunk-also
* lisp/vc/diff-mode.el (diff-font-lock-syntax): Rework docstring.
(diff-syntax-fontify-hunk): Never use the hunk method when
diff-font-lock-syntax is just t.
2019-04-09 18:39:22 -04:00
Alex Branham
d96b672f2b
Use lexical-binding in bug-reference.el
* .dir-locals.el: Set bug-reference-url-format in all modes, not just
changelog mode. Use (eval . (bug-reference-mode)) as described
in (info "(emacs) Specifying File Variables")
* lisp/progmodes/bug-reference.el: Use lexical binding.
(bug-reference-unfontify):
(bug-reference-fontify): Mention args in docstring.

Bug#35123
2019-04-09 16:29:09 -05:00
Basil L. Contovounesios
6cb49922e6 Fix Gnus duplicate suppression guards (bug#34987)
* lisp/gnus/gnus-dup.el (gnus-dup-enter-articles)
(gnus-dup-suppress-articles): Use gnus-dup-hashtb as an indicator of
initialization instead of gnus-dup-list, which may happen to be nil.
(gnus-dup-unsuppress-article): Do nothing if gnus-dup-hashtb is
uninitialized.
2019-04-09 21:29:38 +01:00
Stefan Monnier
4f19bbb125 * lisp/printing.el: Use lexical-binding
Require easy-menu instead of adding declarations.
Remove backward compatiblity.  Remove redundant ':group' args.
(pr-region-active-p): Use use-region-p.
(pr-set-keymap-name): Delete function and callers.
(pr-set-keymap-parents): Delete function; use set-keymap-parent instead.
(pr-read-string): Delete function; use read-string instead.
(pr-menu-char-height): Delete function; use frame-char-height instead.
(pr-menu-char-width): Delete function; use frame-char-width instead.
(pr-menu-position): Merge the two definitions.
(pr-get-symbol): Delete function; use easy-menu-intern instead.
(pr-update-mode-line): Delete function; use force-mode-line-update instead.
(pr-do-update-menus): Turn local save-var into dynbound pr--save-var.
(pr-menu-alist): Use setf.  Simplify since we don't keep key-bindings
in the menus any more.
(pr-dosify-file-name): Remove interactive spec.
(pr-filename-style): Rename from pr-path-style.
(pr-unixify-file-name): Delete function.
(pr-standard-file-name): Don't turn \ into / under POSIX.
(pr-temp-dir): Don't dosify.  Use temporary-file-directory unconditionally.
(pr-save-file-modes): Delete macro.
(pr-ps-directory-using-ghostscript, pr-ps-directory-print)
(pr-ps-directory-ps-print, pr-ps-mode-using-ghostscript, pr-ps-print)
(pr-ps-mode-preview, pr-ps-mode-print, pr-printify-directory)
(pr-txt-directory, pr-ps-file-up-preview, pr-ps-directory-preview)
(pr-ps-file-up-ps-print, pr-ps-preview, pr-ps-using-ghostscript):
Use properly prefixed, declared, and
explicitly let-bound dynamically bound variables around calls to
pr-ps-utility-args and pr-set-dir-args.
(pr-ps-file-using-ghostscript): Only dosify when passing to suprocess.
(pr-expand-file-name): Delete function; use expand-file-name instead.
(pr-ps-file-print): Properly dosify.
(pr-menu-create): Use backquotes.
(pr-eval-alist, pr-eval-local-alist): Use dolist.
(pr-ps-utility-args): Don't dosify here.
(pr-ps-utility-process): Dosify here instead.
(pr-ps-file, pr-command): Don't dosify here either.
(pr-interface-map): Move initialization into declaration.
(pr-insert-section-1): Use 'push'.
(pr-insert-toggle): Use closure instead of backquoted lambda.
(pr-insert-menu): Use apply i.s.o eval.
(pr-insert-radio-button): Avoid 'eval'.
2019-04-09 16:28:42 -04:00
Stefan Monnier
8a5ecdaa2f quail.el: Use delete-and-extract-region
* lisp/international/quail.el (quail-overlay-region-events):
Use delete-and-extract-region.
(quail-activate): Use setq-local.
2019-04-09 15:11:38 -04:00
Stefan Monnier
4b39b741f1 python.el: don't syntax-propertize single/double quoted strings
* lisp/progmodes/python.el (python-syntax-propertize-function):
Only mark triple-quoted strings, let the normal syntax-table handle
the rest.
(python-syntax-stringify): Adjust accordingly.
2019-04-09 15:08:21 -04:00
Stefan Monnier
c443133275 * lisp/progmodes/js.el (js-mode): Don't set comment-start-skip globally! 2019-04-09 15:02:00 -04:00
Stefan Monnier
a017927c9f Fix up Eshell 'require's after previous dependency reshuffle.
* lisp/eshell/em-unix.el:
* lisp/eshell/em-script.el:
* lisp/eshell/em-pred.el:
* lisp/eshell/em-dirs.el:
* lisp/eshell/em-alias.el:
Fix up 'require's to silence byte-compiler.

* lisp/eshell/esh-util.el (eshell-read-hosts-file): Don't limit number
of entries per line.  Preserve the structure.
(eshell-read-hosts): Adjust accordingly.
2019-04-09 14:57:29 -04:00
Mattias Engdegård
00a2d57adf Clarify the TESTFN argument to `alist-get'
* lisp/subr.el (alist-get):
Rephrase the initial text to clarify the meaning of the TESTFN argument.
It's an equality predicate, not a look-up function (Bug#35206).

(cherry picked from commit c81465580f)
2019-04-09 19:10:47 +03:00
Stefan Monnier
1055eee692 * lisp/gnus/mm-view.el (mm-display-inline-fontify): Simplify.
Remove hacks that were needed before font-lock-ensure.
Don't use switch-to-buffer.  Don't assume point-min == 1.
2019-04-09 12:04:03 -04:00
Basil L. Contovounesios
e1a457e635 ; Warn of while/dolist pitfall in gnus-sum.el
Suggested by Andy Moreton in the following thread:
https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00294.html
* lisp/gnus/gnus-sum.el (gnus-summary-move-article): Add comment
warning of common while/dolist pitfall. (bug#33653#134)
2019-04-09 16:32:27 +01:00
Stefan Monnier
90c7e363b7 * lisp/vc/diff-mode.el: Cosmetic changes in diff-syntax-fontify-hunk
(diff-default-directory): Use defvar-local.
(diff-syntax-fontify-hunk): Use 'setq' less.  Fit within 80 columns.
Simplify some looking-at tests.
(diff-syntax-fontify-props): Don't check the buffer-local part of
find-file-hook.
2019-04-09 11:10:23 -04:00
Mattias Engdegård
c81465580f Clarify the TESTFN argument to `alist-get'
* lisp/subr.el (alist-get):
Rephrase the initial text to clarify the meaning of the TESTFN argument.
It's an equality predicate, not a look-up function (Bug#35206).
2019-04-09 16:56:37 +02:00
Eli Zaretskii
1e58dc9e11 Fix "M-x eshell"
* lisp/eshell/em-dirs.el (eshell-variable-aliases-list)
(eshell-directory-name, eshell-mode): Defvar them.
(eshell-dirs-initialize): Require esh-var.  (Bug#35203)
(eshell-apply-indices): Declare.
2019-04-09 11:01:24 +03:00
Jackson Ray Hamilton
cf416d96c2
Explain reasonings for JSX syntax support design decisions
* lisp/progmodes/js.el: Throughout the code, provide explanations for
why JSX support was implemented in the way that it was; in particular,
address the overlap between syntax-propertize-function, font-lock, and
indentation (as requested by Stefan).
2019-04-08 22:48:25 -07:00