]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 years agoRemove Emacs 22 compat code from ediff-vers.el
Stefan Kangas [Sat, 16 May 2020 13:34:47 +0000 (15:34 +0200)]
Remove Emacs 22 compat code from ediff-vers.el

* lisp/vc/ediff-vers.el (ediff-vc-revision-other-window)
(ediff-vc-working-revision): Redefine Emacs 22 compatibility
aliases as obsolete function aliases.
(ediff-vc-internal, ediff-vc-merge-internal): Don't use the now
obsolete aliases.

4 years agoRemove some XEmacs compat code from semantic
Stefan Kangas [Sat, 16 May 2020 13:22:54 +0000 (15:22 +0200)]
Remove some XEmacs compat code from semantic

* lisp/cedet/semantic/wisent/comp.el (wisent-ISVALID-TOKEN)
(wisent-parse-nonterminals):
* lisp/cedet/semantic/wisent/wisent.el
(wisent-item-to-string): Remove XEmacs compatibility code.
(wisent-char-p): Redefine as obsolete function alias for
'characterp'.

4 years ago* lisp/textmodes/bibtex.el: Fix bug#41285 (paren typo)
Stefan Monnier [Sat, 16 May 2020 13:08:14 +0000 (09:08 -0400)]
* lisp/textmodes/bibtex.el: Fix bug#41285 (paren typo)

4 years agoIntroduce process-file-return-signal-string
Michael Albinus [Sat, 16 May 2020 12:04:07 +0000 (14:04 +0200)]
Introduce process-file-return-signal-string

* doc/lispref/processes.texi (Synchronous Processes):
Describe `process-file-return-signal-string'.

* doc/misc/tramp.texi: Adapt Tramp and Emacs version numbers.
(Remote processes): Describe `process-file-return-signal-string'
and $INSIDE_EMACS.

* etc/NEWS: Describe `process-file-return-signal-string'.  Fix typos.

* lisp/simple.el (process-file-return-signal-string): New user option.

* lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-process-file): Use it.

* lisp/net/tramp.el (tramp-get-signal-strings): New defun.

* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.

4 years ago* lisp/progmodes/project.el (project-try-vc): Fix regexp typo.
Stefan Monnier [Fri, 15 May 2020 21:30:47 +0000 (17:30 -0400)]
* lisp/progmodes/project.el (project-try-vc): Fix regexp typo.

4 years agoFix submodules, second try
Dmitry Gutov [Fri, 15 May 2020 21:06:39 +0000 (00:06 +0300)]
Fix submodules, second try

* lisp/progmodes/project.el (project-try-vc):
Call the backend directly instead of binding default-directory.

4 years agoCC Mode: Fix bug #40052, where a very large macro was too slow in scrolling
Alan Mackenzie [Fri, 15 May 2020 19:24:29 +0000 (19:24 +0000)]
CC Mode: Fix bug #40052, where a very large macro was too slow in scrolling

* lisp/progmodes/cc-engine.el (c-end-of-macro): Fix faulty cache handling,
where the upper bound of c-macro-cache was never being set.
(c-forward-comment-minus-1): New macro which terminates unwanted indefinite
backward searching with lots of escaped newlines in c-backward-single-comment.
(c-backward-single-comment, c-backward-comments): Use the new macro above.

* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
(c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string):
Optimize three regexps by using shy groups, thus preventing regexp stack
overflow while handling the large C Macro.

4 years agoFix Git submodules detection breakage
Dmitry Gutov [Fri, 15 May 2020 19:09:55 +0000 (22:09 +0300)]
Fix Git submodules detection breakage

* lisp/progmodes/project.el (project-try-vc):
Use the absolute name of .git both times.

4 years ago* lisp/progmodes/xref.el: Fix first line syntax
Stefan Monnier [Fri, 15 May 2020 18:49:46 +0000 (14:49 -0400)]
* lisp/progmodes/xref.el: Fix first line syntax

(xref--find-ignores-arguments): Simplify.

4 years agoUse lexical-binding in autoconf.el and add tests
Simen Heggestøyl [Fri, 15 May 2020 18:27:19 +0000 (20:27 +0200)]
Use lexical-binding in autoconf.el and add tests

* lisp/progmodes/autoconf.el: Use lexical-binding.

* test/lisp/progmodes/autoconf-tests.el: New file with tests for
autoconf.el.

4 years agoCalc: GCD(0,x)=GCD(x,0)=|x|, not x (bug#41279)
Mattias Engdegård [Fri, 15 May 2020 12:52:50 +0000 (14:52 +0200)]
Calc: GCD(0,x)=GCD(x,0)=|x|, not x (bug#41279)

Reported by David Ongaro.

* lisp/calc/calc-comb.el (calcFunc-gcd): Fix GCD simplification.
* test/lisp/calc/calc-tests.el (calc-gcd, calc-sum-gcd): New tests.

4 years agoDelete libraries obsolete since 23.1 and 23.2
Stefan Kangas [Fri, 15 May 2020 17:55:26 +0000 (19:55 +0200)]
Delete libraries obsolete since 23.1 and 23.2

Emacs 23.2 was released 10 years ago.  old-whitespace.el has a
replacement in whitespace.el and is no longer relevant.  The other
libraries implement compatibility with Lucid Emacs, a modified version
of Emacs last released in the 1990s.

* lisp/obsolete/ledit.el:
* lisp/obsolete/lmenu.el:
* lisp/obsolete/lucid.el:
* lisp/obsolete/old-whitespace.el: Delete files.  These libraries have
been obsolete since Emacs 23.1 or 23.2.
* etc/NEWS: Announce their deletion.

* admin/authors.el (authors-ignored-files)
(authors-fixed-entries, authors-valid-file-names):
* lisp/emulation/viper.el (viper-mode):
* lisp/ffap.el (ffap-menu-ask): Remove references to deleted files.

4 years ago; Tweak version numbers in lisp/progmodes/xref.el
João Távora [Fri, 15 May 2020 14:20:36 +0000 (15:20 +0100)]
; Tweak version numbers in lisp/progmodes/xref.el

Hopefully this aids in getting the package correctly listed in GNU
ELPA.

* lisp/progmodes/xref.el (Version): Bump to 1.0.1
(Package-Requires): Require project 0.1.1.

4 years agoImprove detection of Git submodules
Dmitry Gutov [Fri, 15 May 2020 05:10:22 +0000 (08:10 +0300)]
Improve detection of Git submodules

* lisp/progmodes/project.el (project-try-vc):
Improve detection of Git submodules
(https://lists.gnu.org/archive/html/emacs-devel/2020-05/msg02008.html).

4 years ago; Fix warning in last change
Tino Calancha [Thu, 14 May 2020 20:02:09 +0000 (22:02 +0200)]
; Fix warning in last change

* lisp/arc-mode.el (archive--summarize-descs):
Use file-modes-number-to-symbolic.

4 years agoCombine archive-int-to-mode and tar-grind-file-mode
Tino Calancha [Fri, 8 May 2020 20:14:03 +0000 (22:14 +0200)]
Combine archive-int-to-mode and tar-grind-file-mode

Add a new function, file-modes-number-to-symbolic.
Make archive-int-to-mode and obsolete alias of it; use it
to define tar-grind-file-mode (Bug#27952).

* lisp/files.el (file-modes-number-to-symbolic): New defun.
* lisp/arc-mode.el (archive-int-to-mode): Make it an obsolete alias.
* lisp/tar-mode.el (tar-grind-file-mode):
Use file-modes-number-to-symbolic.

* test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
* test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
Update test.

* test/lisp/files-tests.el (files-tests-file-modes-symbolic-to-number)
(files-tests-file-modes-number-to-symbolic): New tests.

* doc/lispref/files.texi (Changing Files): Document the new funtion.
* etc/NEWS (Lisp Changes in Emacs 28.1): Announce it.

4 years agoFix customisation of mouse-drag-and-drop-region (bug#41251)
Mattias Engdegård [Thu, 14 May 2020 10:23:23 +0000 (12:23 +0200)]
Fix customisation of mouse-drag-and-drop-region (bug#41251)

Reported by David Ponce.

* lisp/mouse.el (mouse-drag-and-drop-region): Add missing unquote.

4 years agoCalc: fix LU decomposition for non-numeric matrices (bug#41223)
Mattias Engdegård [Wed, 13 May 2020 13:17:10 +0000 (15:17 +0200)]
Calc: fix LU decomposition for non-numeric matrices (bug#41223)

Computing determinant and inverse for on some matrices containing
non-numeric elements failed or gave the wrong result.
Reported by Mauro Aranda.

* lisp/calc/calc-mtx.el (math-do-matrix-lud): Don't use zero as pivot.
* test/lisp/calc/calc-tests.el (calc-matrix-determinant): New test.

4 years ago; Fix warning after last change in cal-julian.el
Stefan Kangas [Wed, 13 May 2020 23:28:03 +0000 (01:28 +0200)]
; Fix warning after last change in cal-julian.el

* lisp/calendar/cal-julian.el (diary-julian-date)
(diary-astro-day-number): Silence byte-compiler warning about variable
'declared after its first use'.

4 years agoFix some oddities, uncovered by Tramp tests
Michael Albinus [Wed, 13 May 2020 12:11:18 +0000 (14:11 +0200)]
Fix some oddities, uncovered by Tramp tests

* lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Prevent crash for
older Emacsen.

* lisp/net/tramp.el (tramp-process-running-p): Simplify.

* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.
(tramp-test33-environment-variables): Unset "INSIDE_EMACS" initially.

4 years agoTurn Eldoc, Xref and Project into GNU ELPA :core packages
João Távora [Wed, 13 May 2020 10:31:21 +0000 (11:31 +0100)]
Turn Eldoc, Xref and Project into GNU ELPA :core packages

The new packages state they require Emacs 26.3 to function, but a
small part of project.el breaks this "soft" rule: the two functions
requiring fileloop.el are incompatible with Emacs 26.3.

* lisp/jsonrpc.el: Tweak comment near Package-Requires.

* lisp/emacs-lisp/eldoc.el: Add Version and Package-Requires.

* lisp/progmodes/flymake.el: Add comment near Package-Requires.

* lisp/progmodes/project.el: Add Version and Package-Requires.

* lisp/progmodes/xref.el: Add Version and Package-Requires.

4 years agoUse lexical-binding in t-mouse.el
Stefan Kangas [Wed, 13 May 2020 10:13:52 +0000 (12:13 +0200)]
Use lexical-binding in t-mouse.el

* lisp/t-mouse.el: Use lexical-binding.

4 years ago; Fix warning in last change
Basil L. Contovounesios [Wed, 13 May 2020 01:12:33 +0000 (02:12 +0100)]
; Fix warning in last change

* lisp/play/animate.el (animate-place-char): Silence 'unused lexical
variable' warning.

4 years agoUse lexical-binding in animate.el and add tests
Stefan Kangas [Wed, 13 May 2020 00:06:03 +0000 (02:06 +0200)]
Use lexical-binding in animate.el and add tests

* lisp/play/animate.el: Use lexical-binding.
* test/lisp/play/animate-tests.el: New file.

4 years agoUse lexical-binding in dissociate.el and add tests
Stefan Kangas [Tue, 12 May 2020 23:48:55 +0000 (01:48 +0200)]
Use lexical-binding in dissociate.el and add tests

* lisp/play/dissociate.el: Use lexical-binding.
* test/lisp/play/dissociate-tests.el: New file.

4 years agoUse lexical-binding in cal-julian.el and add tests
Stefan Kangas [Tue, 12 May 2020 23:30:51 +0000 (01:30 +0200)]
Use lexical-binding in cal-julian.el and add tests

* lisp/calendar/cal-julian.el: Use lexical-binding.
* test/lisp/calendar/cal-julian-tests.el: New file.

4 years agoUse proper digraphs in Bahá’í month names
Paul Eggert [Tue, 12 May 2020 22:19:46 +0000 (15:19 -0700)]
Use proper digraphs in Bahá’í month names

* lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
There doesn’t seem to be any disagreement in the sources I
consulted that “Mas͟híyyat” and “S͟haraf” both need an “s͟h” digraph
instead of plain “sh”.

4 years ago* lisp/emacs-lisp/syntax.el: Fix bug#41195
Stefan Monnier [Tue, 12 May 2020 20:51:55 +0000 (16:51 -0400)]
* lisp/emacs-lisp/syntax.el: Fix bug#41195

Allow use of `syntax-ppss-flush-cache` in `syntax-propertize-function`.

(syntax-propertize--inhibit-flush): New var.
(syntax-propertize): Bind it.
(syntax-ppss-flush-cache): Test it.

4 years agoRevert "Inhibit modification hooks when saving eieio-persistent's"
Michael Heerdegen [Fri, 8 May 2020 01:49:24 +0000 (03:49 +0200)]
Revert "Inhibit modification hooks when saving eieio-persistent's"

This reverts commit c59e878439833d89998e03134ee9060f9c449fd9.

4 years agoSupport sorting timer-list-mode by column (Bug#40854)
Stefan Kangas [Fri, 24 Apr 2020 21:43:57 +0000 (23:43 +0200)]
Support sorting timer-list-mode by column (Bug#40854)

* lisp/emacs-lisp/timer-list.el (timer-list-mode)
(timer-list--idle-predicate, timer-list--next-predicate)
(timer-list--repeat-predicate)
(timer-list--function-predicate): Add support for sorting by column.

4 years agoBase timer-list-mode on tabulated-list-mode (Bug#40854)
Stefan Kangas [Fri, 24 Apr 2020 21:42:37 +0000 (23:42 +0200)]
Base timer-list-mode on tabulated-list-mode (Bug#40854)

* lisp/emacs-lisp/timer-list.el (list-timers)
(timer-list-mode): Inherit from 'tabulated-list-mode' instead of
'special-mode' and make the necessary changes to support that.

* doc/lispref/os.texi (Timers): Update documentation.

4 years agoSuppress test failure on hydra.nixos.org
Glenn Morris [Tue, 12 May 2020 16:34:46 +0000 (09:34 -0700)]
Suppress test failure on hydra.nixos.org

* test/lisp/net/tramp-tests.el (tramp-test28-process-file):
Attempt to suppress hydra oddity.

4 years agoPacify GCC 10.1.0
Paul Eggert [Tue, 12 May 2020 00:41:16 +0000 (17:41 -0700)]
Pacify GCC 10.1.0

Pacify GCC 10.1.0 so that it does not issue false alarms
when Emacs is configured with --enable-gcc-warnings.
* src/dispnew.c (clear_glyph_row):
* src/fns.c (hash_clear):
* src/keyboard.c (append_tab_bar_item):
* src/lisp.h (vcopy):
* src/xfaces.c (get_lface_attributes_no_remap)
(Finternal_copy_lisp_face, realize_default_face):
* src/xmenu.c (set_frame_menubar):
Work around -Warray-bounds false alarm in GCC 10.1.0.
* src/intervals.c (copy_properties):
Avoid -Wnull-dereference false alarm in GCC 10.1.0.
* src/lisp.h (xvector_contents_addr, xvector_contents):
New functions, useful for working around GCC bug 95072.

4 years agoUpdate from gnulib
Paul Eggert [Tue, 12 May 2020 00:28:23 +0000 (17:28 -0700)]
Update from gnulib

This incorporates:
2020-05-11 careadlinkat: fix GCC 10 workaround
2020-05-10 careadlinkat: limit GCC workaround
2020-05-10 attribute: clarify list of attributes
2020-05-10 string: fix compilation error in C++ mode
2020-05-09 manywarnings: port to GCC 10.1
2020-05-09 careadlinkat: pacify -Wreturn-local-addr
2020-05-09 attribute: remove ATTRIBUTE_DEPRECATED
2020-05-09 attribute: Add comments
* lib/attribute.h, lib/careadlinkat.c, lib/string.in.h:
* lib/warn-on-use.h, m4/manywarnings.m4: Copy from Gnulib.

4 years agoFix bug #40992 whilst still allowing breakpoint highlights in edebug
Alan Mackenzie [Mon, 11 May 2020 20:05:54 +0000 (20:05 +0000)]
Fix bug #40992 whilst still allowing breakpoint highlights in edebug

Strategy: when an instrumented function gets re-evaluated, save the former
value of its symbol's `edebug' property in the new propery `ghost-edebug'.  If
this function is still being edebugged, edebug will then access its info from
this new property.

Also fix the bug whereby compile-defun'ing an instrumented function prevents
the function being re-instrumented by I (edebug-instrument-callee).

* lisp/emacs-lisp/edebug.el (edebug-get-edebug-or-ghost): New function.
(edebug-read-and-maybe-wrap-form1): save value of `edebug' property in
'ghost-edebug'.
(edebug-make-form-wrapper): Set value of `ghost-edebug' to nil.
(edebug-make-form-wrapper, edebug-find-stop-point, edebug-next-break-point)
(edebug-modify-breakpoint, edebug--overlay-breakpoints, edebug-set-breakpoint)
(edebug-unset-breakpoints, edebug-toggle-disable-breakpoint)
(edebug--backtrace-goto-source, edebug-display-freq-count)
(edebug-set-conditional-breakpoint): Use edebug-get-edebug-or-ghost to access
edebug information.
(edebug-instrument-function): Also check a function is a cons before declaring
it "already instrumented".

4 years ago* lisp/emacs-lisp/pcase.el (pcase--fgrep): Look inside vectors
Stefan Monnier [Mon, 11 May 2020 13:53:37 +0000 (09:53 -0400)]
* lisp/emacs-lisp/pcase.el (pcase--fgrep): Look inside vectors

4 years ago; Fix last change to bibtex.el
Basil L. Contovounesios [Mon, 11 May 2020 10:43:29 +0000 (11:43 +0100)]
; Fix last change to bibtex.el

* lisp/textmodes/bibtex.el
(bibtex-autokey-before-presentation-function): Bump :version tag now
that nil is no longer a valid value.

4 years ago* lisp/textmodes/bibtex.el: Avoid `eval`
Stefan Monnier [Mon, 11 May 2020 04:30:10 +0000 (00:30 -0400)]
* lisp/textmodes/bibtex.el: Avoid `eval`

In the top-level construction of the entry-type commands,
use `defalias` instead of (eval `(defun ...)).

(bibtex-insert-kill): Strength reduce `eval` => `symbol-value`.
(bibtex-autokey-before-presentation-function): Avoid nil value.

4 years ago* lisp/subr.el (dolist, dotimes, combine-change-calls): Cosmetic tweaks
Stefan Monnier [Mon, 11 May 2020 04:18:14 +0000 (00:18 -0400)]
* lisp/subr.el (dolist, dotimes, combine-change-calls): Cosmetic tweaks

(dolist, dotimes): Adjust comment since testing
`lexical-binding` is supposed to be reliable.
(combine-change-calls): Add debug and indent specs.

4 years ago* lisp/emacs-lisp/syntax.el (syntax-propertize): Use run-hook-wrapped
Stefan Monnier [Mon, 11 May 2020 04:15:15 +0000 (00:15 -0400)]
* lisp/emacs-lisp/syntax.el (syntax-propertize): Use run-hook-wrapped

This way we avoid making assumptions about the content of
syntax-propertize-extend-region-functions

4 years ago* lisp/ielm.el: Handle corner case where */**/*** are not yet bound
Stefan Monnier [Mon, 11 May 2020 04:12:29 +0000 (00:12 -0400)]
* lisp/ielm.el: Handle corner case where */**/*** are not yet bound

Remote redundant :group args.

(ielm-eval-input): Use bound-and-true-p for */**/***

4 years agoMap "mail/compose" icon to "mail-message-new" in GTK
Dmitry Gutov [Mon, 11 May 2020 02:13:25 +0000 (05:13 +0300)]
Map "mail/compose" icon to "mail-message-new" in GTK

* lisp/term/x-win.el (x-gtk-stock-map): One more icon mapping.

4 years agoUse the "modern" toolbars in Gnus again
Dmitry Gutov [Mon, 11 May 2020 01:34:55 +0000 (04:34 +0300)]
Use the "modern" toolbars in Gnus again

* lisp/gnus/gmm-utils.el (gmm-tool-bar-style):
Undo the breakage from commit d88118db37dd
(https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg02094.html).

4 years agoUse better icons on GTK in message-mode and isearch
Dmitry Gutov [Mon, 11 May 2020 01:25:53 +0000 (04:25 +0300)]
Use better icons on GTK in message-mode and isearch

* lisp/gnus/message.el (message-tool-bar-retro):
Use non-Gnus-specific icon.

* lisp/term/x-win.el (x-gtk-stock-map):
Use more themed icons (bug#40990).

4 years ago* lisp/emacs-lisp/pcase.el: Don't bind unused vars in branches
Stefan Monnier [Sun, 10 May 2020 23:07:45 +0000 (19:07 -0400)]
* lisp/emacs-lisp/pcase.el: Don't bind unused vars in branches

(pcase--fgrep): Change calling convention to take bindings rather than
just variables.
(pcase--funcall, pcase--eval): Adjust to this new calling convention.
(pcase--expand): Use `pcase--fgrep` to bind only the vars that are used.

4 years ago* lisp/emacs-lisp/eieio.el (eieio pcase macro): Fix last-minute typo
Stefan Monnier [Sun, 10 May 2020 20:17:01 +0000 (16:17 -0400)]
* lisp/emacs-lisp/eieio.el (eieio pcase macro): Fix last-minute typo

4 years agoPrefer function-put over put for setting browse-url-browser-kind.
Tassilo Horn [Sun, 10 May 2020 18:41:42 +0000 (20:41 +0200)]
Prefer function-put over put for setting browse-url-browser-kind.

* lisp/net/browse-url.el: Prefer `function-put' over `put' for setting
`browse-url-browser-kind' symbol property.

4 years ago* lisp/emacs-lisp/eieio.el (eieio pcase macro): Remove unused var `is`
Stefan Monnier [Sun, 10 May 2020 17:51:51 +0000 (13:51 -0400)]
* lisp/emacs-lisp/eieio.el (eieio pcase macro): Remove unused var `is`

4 years agoUse lexical-binding in glasses.el and add tests
Simen Heggestøyl [Sun, 10 May 2020 14:17:27 +0000 (16:17 +0200)]
Use lexical-binding in glasses.el and add tests

* lisp/progmodes/glasses.el: Use lexical-binding.
(glasses-separator, glasses-original-separator, glasses-face)
(glasses-separate-parentheses-p)
(glasses-separate-parentheses-exceptions)
(glasses-separate-capital-groups, glasses-uncapitalize-p)
(glasses-uncapitalize-regexp, glasses-convert-on-write-p): Remove
redundant :group args.

* test/lisp/progmodes/glasses-tests.el: New file with tests for
glasses.el.

4 years agoAllow underscores in CSS variable names
Simen Heggestøyl [Sun, 10 May 2020 12:44:26 +0000 (14:44 +0200)]
Allow underscores in CSS variable names

* lisp/textmodes/css-mode.el (css-nmchar-re): Allow underscores in
variable names (and in identifiers in general).

* test/manual/indent/css-mode.css: Add some examples of variable names
with underscores in them.

* test/manual/indent/less-css-mode.less: Add some examples of variable
names with underscores in them.

* test/manual/indent/scss-mode.scss: Add some examples of variable
names with underscores in them.

4 years agoAdd containment module to CSS property list
Simen Heggestøyl [Sun, 10 May 2020 10:14:21 +0000 (12:14 +0200)]
Add containment module to CSS property list

* lisp/textmodes/css-mode.el (css-property-alist): Add new properties
from CSS Containment Module Level 1.

4 years agoAdd writing modes module to CSS property list
Simen Heggestøyl [Sun, 10 May 2020 08:00:56 +0000 (10:00 +0200)]
Add writing modes module to CSS property list

* lisp/textmodes/css-mode.el (css-property-alist): Add new properties
from the CSS Writing Modes Level 3 module.

4 years agoUse lexical-binding in help-mode.el and add tests
Simen Heggestøyl [Sat, 9 May 2020 17:58:46 +0000 (19:58 +0200)]
Use lexical-binding in help-mode.el and add tests

* lisp/help-mode.el: Use lexical-binding.
(help-mode-map, help-mode-menu, help-mode-setup)
(help-mode-finish): Make spelling of "Help mode" consistent throughout
the doc strings (also making it consistent with the spelling of "Help
mode" used in the Elisp manual).
(help-do-xref): Re-indent to make the else-branch easier to see.

* test/lisp/help-mode-tests.el: New file with tests for help-mode.el.

4 years ago* src/xdisp.c (Fwindow_text_pixel_size): Fix previous merge.
Glenn Morris [Sat, 9 May 2020 17:17:27 +0000 (10:17 -0700)]
* src/xdisp.c (Fwindow_text_pixel_size): Fix previous merge.

4 years agoMerge from origin/emacs-27
Glenn Morris [Sat, 9 May 2020 17:03:21 +0000 (10:03 -0700)]
Merge from origin/emacs-27

be0d1cac83 (origin/emacs-27) Small fix for type of 'display-fill-colu...
c5e5839776 Fix customization of 'display-fill-column-indicator-charac...
d5c184aa3e Refer to fill column indicator Info node in some places.
e13300ae50 Merge branch 'emacs-27' of git.sv.gnu.org:/srv/git/emacs i...
0bae57033f Fix GTK's Tool Bar menu radio buttons
4c98aa7ea5 Minor clarifications in NEWS
a1cbd05f38 Improve documentation of 'with-suppressed-warnings'.
4a895c1b26 Fix a typo in a comment
2caf3e997e Improve documentation of Hi Lock mode
7081c1d66f Fix typos in the Emacs user manual
0385771e2f Fix references to Speedbar in VHDL mode
a76cafea0d Fix handling of FROM = t and TO = t by 'window-text-pixel-...

# Conflicts:
# etc/NEWS
# src/xdisp.c

4 years agoAdd new filter command to Package Menu (Bug#39903)
Pieter van Oostrum [Thu, 5 Mar 2020 19:20:04 +0000 (20:20 +0100)]
Add new filter command to Package Menu (Bug#39903)

* lisp/emacs-lisp/package.el
(package-menu-filter-marked): New filter command.
* test/lisp/emacs-lisp/package-tests.el
(package-test-list-filter-marked): New test.
(package-menu-mode-menu):
(package-menu-mode-map): Update menu to include new filter command.

* doc/emacs/package.texi (Package Menu): Document the new command.
* etc/NEWS: Announce the new command.

4 years agoImprove nonnull checking with GCC in emacs-module
Paul Eggert [Sat, 9 May 2020 16:10:50 +0000 (09:10 -0700)]
Improve nonnull checking with GCC in emacs-module

* src/emacs-module.h.in (EMACS_ATTRIBUTE_NONNULL):
Also do the nonnull check with GCC.  (The old code did the
check with Clang but not with GCC.)

4 years agoUpdate from Gnulib
Paul Eggert [Sat, 9 May 2020 15:47:05 +0000 (08:47 -0700)]
Update from Gnulib

This incorporates:
2020-05-09 stdio: don't redefine _GL_ATTRIBUTE_FORMAT
2020-05-09 dirent, stdlib, string: don't redefine _GL_ATTRIBUTE_PURE
2020-05-08 limits-h: define LONG_BIT correctly on Haiku/x86_64
2020-05-08 ignore-value tests: use module 'attribute'
2020-05-06 attribute: minor style fixes
* build-aux/config.sub, doc/misc/texinfo.tex, lib/attribute.h:
* lib/dirent.in.h, lib/limits.in.h, lib/stdio.in.h, lib/stdlib.in.h:
* lib/string.in.h, m4/gnulib-common.m4:
Copy from Gnulib.

4 years agoSmall fix for type of 'display-fill-column-indicator-character'
Philipp Stephani [Sat, 9 May 2020 12:33:05 +0000 (14:33 +0200)]
Small fix for type of 'display-fill-column-indicator-character'

* lisp/cus-start.el (standard): Don't mark t as safe file-local value
for 'display-fill-column-indicator-character', as that value isn't
allowed.

4 years agocc-mode: extend regexp used by ‘c-or-c++-mode’
Michal Nazarewicz [Mon, 4 May 2020 18:08:10 +0000 (19:08 +0100)]
cc-mode: extend regexp used by ‘c-or-c++-mode’

* lisp/progmodes/cc-mode (c-or-c++-mode--regexp): Expand the regexp to
match some more C++-only constructs and recognise a few more standard
C++ header files.  Also make sure identifiers start with non-digit.
(c-or-c++-mode): Add ‘(interactive)’ declaration.

* test/lisp/progmodes/cc-mode-tests.el (c-or-c++-mode): Add test case
for the newly recognised constructs.

4 years agocc-mode: add ‘c-lineup-ternary-bodies’ (bug#41061)
Michal Nazarewicz [Sun, 3 May 2020 15:32:47 +0000 (16:32 +0100)]
cc-mode: add ‘c-lineup-ternary-bodies’  (bug#41061)

Introduce ‘c-lineup-ternary-bodies’ function which, when used as
a c lineup function, aligns question mark and colon of a ternary
operator.  For example:

    return arg % 2 == 0 ? arg / 2
                        : (3 * arg + 1);

* lisp/progmodes/cc-align.el (c-lineup-ternary-bodies): New function.
* doc/misc/cc-mode.texi (Operator Line-Up Functions): Document the
new function.
* test/lisp/progmodes/cc-mode-tests.el (c-lineup-ternary-bodies): New
test case.

4 years agoFix customization of 'display-fill-column-indicator-character'
Eli Zaretskii [Sat, 9 May 2020 09:34:58 +0000 (12:34 +0300)]
Fix customization of 'display-fill-column-indicator-character'

* lisp/cus-start.el (display-fill-column-indicator-character): Fix
the customization form.  (Bug#41145)

4 years agoRefer to fill column indicator Info node in some places.
Philipp Stephani [Sat, 9 May 2020 08:20:47 +0000 (10:20 +0200)]
Refer to fill column indicator Info node in some places.

* src/xdisp.c (syms_of_xdisp): Add reference to manual in
documentation strings for variables related to fill column indicators.

* lisp/display-fill-column-indicator.el (display-fill-column-indicator)
(display-fill-column-indicator-mode): Add reference to manual.

4 years agoOnly treat display strings as buttons if they have 'button' property
Clément Pit-Claudel [Sun, 26 Apr 2020 16:41:42 +0000 (12:41 -0400)]
Only treat display strings as buttons if they have 'button' property

* lisp/button.el (push-button): Use 'posn-point' instead of
'posn-string' if the string doesn't have the 'button'
property (Bug#40859).

4 years agoMerge branch 'emacs-27' of git.sv.gnu.org:/srv/git/emacs into emacs-27
Martin Rudalics [Sat, 9 May 2020 07:39:40 +0000 (09:39 +0200)]
Merge branch 'emacs-27' of git.sv.gnu.org:/srv/git/emacs into emacs-27

4 years agoFix GTK's Tool Bar menu radio buttons
Martin Rudalics [Sat, 9 May 2020 07:38:27 +0000 (09:38 +0200)]
Fix GTK's Tool Bar menu radio buttons

* lisp/menu-bar.el (menu-bar-showhide-tool-bar-menu): Fix typo
that makes the radio buttons pretend that the tool bar is always
shown on the left side of the frame.

4 years agoPrevent hanging in next-single-char-property-change
Federico Tedin [Sun, 3 May 2020 13:47:56 +0000 (15:47 +0200)]
Prevent hanging in next-single-char-property-change

* src/textprop.c (Fnext_single_char_property_change): Clarify in
the doc string the behavior when LIMIT is past the end of OBJECT.
Stop the search when position gets to end of buffer, for when LIMIT
is beyond that.  (Bug#40000)

4 years agoMinor clarifications in NEWS
Eli Zaretskii [Sat, 9 May 2020 07:23:49 +0000 (10:23 +0300)]
Minor clarifications in NEWS

* etc/NEWS: Tell how to revert to previous behaviors regarding
displaying messages when the minibuffer is active.  (Bug#41087)

4 years agoImprove documentation of 'with-suppressed-warnings'.
Philipp Stephani [Fri, 8 May 2020 20:12:07 +0000 (22:12 +0200)]
Improve documentation of 'with-suppressed-warnings'.

* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings): Refer to
'byte-compile-warnings' instead of 'byte-compile-warning-types', as
only the former variable documents the available warning types.

4 years agoFix reading kind argument in browse-url-with-browser-kind.
Tassilo Horn [Fri, 8 May 2020 19:07:56 +0000 (21:07 +0200)]
Fix reading kind argument in browse-url-with-browser-kind.

* lisp/net/browse-url.el (browse-url-with-browser-kind): Convert KIND
argument queried from the user to a symbol.

4 years agoAllow predicates for matching in browse-url-handlers.
Tassilo Horn [Fri, 8 May 2020 18:57:19 +0000 (20:57 +0200)]
Allow predicates for matching in browse-url-handlers.

* lisp/net/browse-url.el (browse-url-handlers): Allow predicates for
matching in browse-url-handlers.  Adapt docs and customize type.
(browse-url-select-handler): Support predicates in addition to
regexes.
(browse-url--non-html-file-url-p): New defun.
(browse-url-default-handlers): Use above predicate entry instead of
two entries.

4 years agoFix a typo in a comment
Eli Zaretskii [Fri, 8 May 2020 17:27:39 +0000 (20:27 +0300)]
Fix a typo in a comment

* lisp/display-fill-column-indicator.el: Fix a typo in a comment.
Suggested by david s <ds@fastmail.com>.

4 years agoMake pcase pattern 'eieio' respect slot access related functions.
Zhu Zihao [Fri, 8 May 2020 09:01:56 +0000 (17:01 +0800)]
Make pcase pattern 'eieio' respect slot access related functions.

* lisp/emacs-lisp/eieio.el: Make pcase pattern respect slot-missing and
slot-unbound

4 years agoImprove documentation of Hi Lock mode
Eli Zaretskii [Fri, 8 May 2020 14:25:45 +0000 (17:25 +0300)]
Improve documentation of Hi Lock mode

* lisp/hi-lock.el (hi-lock-mode, hi-lock-face-buffer)
(hi-lock-face-phrase-buffer, hi-lock-face-symbol-at-point):
Clarify when 'hi-lock-mode' will use Font Lock and when it will
use overlays.  (Bug#41124)

4 years agoFix typos in the Emacs user manual
Eli Zaretskii [Fri, 8 May 2020 11:21:35 +0000 (14:21 +0300)]
Fix typos in the Emacs user manual

* doc/emacs/calendar.texi (Holidays): Fix usage of non-ASCII
accents.
* doc/emacs/custom.texi (Init Rebinding): Fix a cross-reference.
* doc/emacs/dired.texi (Operating on Files): Make the
cross-reference to "VC Delete/Rename" be to a different manual in
the printed version.  (Bug#41100)

4 years agoFix references to Speedbar in VHDL mode
Björn Holby [Mon, 4 May 2020 20:02:57 +0000 (22:02 +0200)]
Fix references to Speedbar in VHDL mode

* lisp/progmodes/vhdl-mode.el (vhdl-speedbar-initialize): Update
references to Speedbar variables.  (Bug#41084)

Copyright-paperwork-exempt: yes

4 years agoFix handling of FROM = t and TO = t by 'window-text-pixel-size'
Eli Zaretskii [Fri, 8 May 2020 10:35:34 +0000 (13:35 +0300)]
Fix handling of FROM = t and TO = t by 'window-text-pixel-size'

* src/xdisp.c (Fwindow_text_pixel_size): Use byte position for
accessing buffer text, not character positions.  (Bug#41125)

4 years ago; Update recent function declaration in dnd.el
Basil L. Contovounesios [Thu, 7 May 2020 20:40:09 +0000 (21:40 +0100)]
; Update recent function declaration in dnd.el

* lisp/dnd.el (dnd-handle-one-url): Update arglist declaration for
browse-url-select-handler following recent change.

4 years agoAllow browsing an URL explicitly with an internal or external browser.
Tassilo Horn [Thu, 7 May 2020 17:38:57 +0000 (19:38 +0200)]
Allow browsing an URL explicitly with an internal or external browser.

* lisp/net/browse-url.el (browse-url-with-browser-kind): New command.

4 years agoCategorize browse-url functions into internal and external ones.
Tassilo Horn [Thu, 7 May 2020 11:02:13 +0000 (13:02 +0200)]
Categorize browse-url functions into internal and external ones.

* lisp/net/browse-url.el: Write package documentation explaining
browse-url-browser-kind symbol property.  Categorize existing
browse-url functions into internal and external ones.
(browse-url--browser-kind, browse-url--browser-kind-mailto)
(browse-url--browser-kind-man, browse-url--browser-kind-browser): New
functions.
(browse-url-select-handler): Add KIND argument to restrict selection.
* lisp/dnd.el (dnd-handle-one-url): Only select browse-url handler of
kind `internal'.
* lisp/net/eww.el (eww): Add `browse-url-browser-kind' symbol property
with value `internal'.

4 years ago; Fix recent byte-compiler warning in dnd.el again
Basil L. Contovounesios [Thu, 7 May 2020 17:36:53 +0000 (18:36 +0100)]
; Fix recent byte-compiler warning in dnd.el again

* lisp/dnd.el (dnd-handle-one-url): Declare new autoloaded function
browse-url-select-handler to silence the byte-compiler during 'make
bootstrap'.

4 years ago; Improve recent change to browse-url.el
Basil L. Contovounesios [Thu, 7 May 2020 15:59:26 +0000 (16:59 +0100)]
; Improve recent change to browse-url.el

* lisp/net/browse-url.el (browse-url-select-handler): Use lwarn with
specific warning type, as recommended in "(elisp) Warning Basics".

4 years agoDon't increment array index in cl-loop twice (Bug#40727)
Noam Postavsky [Thu, 30 Apr 2020 22:55:40 +0000 (18:55 -0400)]
Don't increment array index in cl-loop twice (Bug#40727)

* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause): Put the temp-idx
increment in cl--loop-body, leaving just the side-effect free testing
of the index for both cl--loop-body and cl--loop-conditions.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-and-arrays):
Extend test to cover this case.

4 years agoRevert "cl-loop: Calculate the array length just once"
Noam Postavsky [Thu, 30 Apr 2020 11:54:49 +0000 (07:54 -0400)]
Revert "cl-loop: Calculate the array length just once"

It fails when using 'and' (parallel bindings) for arrays (Bug#40727).
* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause): Revert to
recomputing array length.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-and-arrays): New
test.

4 years agoFix browse-url (remove debugging leftover).
Tassilo Horn [Thu, 7 May 2020 11:10:44 +0000 (13:10 +0200)]
Fix browse-url (remove debugging leftover).

* lisp/net/browse-url.el (browse-url): Fix "No suitable browser for
URL" always popping up.

4 years agoHandle signals in Tramp's process-file
Michael Albinus [Thu, 7 May 2020 08:27:14 +0000 (10:27 +0200)]
Handle signals in Tramp's process-file

* lisp/net/tramp-adb.el (tramp-adb-handle-process-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-process-file): Handle signals.

* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.

4 years agoRefactor browse-url handler selection into separate function.
Tassilo Horn [Thu, 7 May 2020 07:53:54 +0000 (09:53 +0200)]
Refactor browse-url handler selection into separate function.

* lisp/net/browse-url.el (browse-url-select-handler): New function.
(browse-url): Use it.
* lisp/dnd.el (dnd-handle-one-url): Use it.

4 years ago; Fix recent byte-compiler warnings in dnd.el
Basil L. Contovounesios [Thu, 7 May 2020 00:52:50 +0000 (01:52 +0100)]
; Fix recent byte-compiler warnings in dnd.el

* lisp/dnd.el (dnd-handle-one-url): Don't require browse-url twice
in the same function.  Declare non-autoloaded browse-url-handlers to
silence byte-compiler.

4 years agoRestore HTML rendering behavior of browse-url-of-buffer/file.
Tassilo Horn [Wed, 6 May 2020 20:23:03 +0000 (22:23 +0200)]
Restore HTML rendering behavior of browse-url-of-buffer/file.

* lisp/net/browse-url.el (browse-url-default-handlers): Add a browser
handler for HTML page file:// URLs before the generic file:// handler.
(browse-url--browser): New defun.

4 years agoPacify buggy old GCC with a cast
Paul Eggert [Wed, 6 May 2020 17:57:18 +0000 (10:57 -0700)]
Pacify buggy old GCC with a cast

* src/bignum.h (bignum_integer): Pacify GCC 4.8.5.
Problem reported by Andreas Schwab in:
https://lists.gnu.org/r/emacs-devel/2020-05/msg00781.html

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 6 May 2020 16:28:36 +0000 (09:28 -0700)]
Merge from origin/emacs-27

76516465bf (origin/emacs-27) * doc/emacs/modes.texi (Major Modes): Fi...
f8e6cd11b3 Fix docstring quoting

4 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 6 May 2020 16:28:36 +0000 (09:28 -0700)]
; Merge from origin/emacs-27

The following commits were skipped:

1e09364d67 ; Mark Bug#29799 tests as failing since we reverted the fix
de1b33f5a8 Revert "cl-loop: Calculate the array length just once"
caf155c463 Revert "cl-loop: Add missing guard condition"
79e133da03 Revert "Refix conditional step clauses in cl-loop"

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 6 May 2020 16:28:36 +0000 (09:28 -0700)]
Merge from origin/emacs-27

7be160d800 Improve "Help Summary" section in user manual
f6d6ccc984 Clarify message-sendmail-extra-arguments docstring
95fde1a851 * src/editfns.c (Fformat): Small documentation fix.

4 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 6 May 2020 16:28:36 +0000 (09:28 -0700)]
; Merge from origin/emacs-27

The following commit was skipped:

9f5999b08d Remove calls to non-existent functions from edebug.el.

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 6 May 2020 16:28:36 +0000 (09:28 -0700)]
Merge from origin/emacs-27

4b419083f9 Honor search-upper-case
310112fdc7 Fix eww-follow-link on URLs with #target

# Conflicts:
# lisp/fileloop.el

4 years ago; Merge from origin/emacs-27
Glenn Morris [Wed, 6 May 2020 16:22:55 +0000 (09:22 -0700)]
; Merge from origin/emacs-27

The following commit was skipped:

f5cb5bb828 Revert part of recent commit 85544f8ef5 (bug#40808)

4 years agoMerge from origin/emacs-27
Glenn Morris [Wed, 6 May 2020 16:22:55 +0000 (09:22 -0700)]
Merge from origin/emacs-27

f9fa726ced Improve doc strings of makunbound and fmakunbound

4 years agoConsult browse-url-{default-,}handlers in drag&drop.
Tassilo Horn [Wed, 6 May 2020 14:48:57 +0000 (16:48 +0200)]
Consult browse-url-{default-,}handlers in drag&drop.

* lisp/dnd.el (dnd-handle-one-url): Consult `browse-url-handlers' and
`browse-url-default-handlers' for a matching handler.  Adapt
docstring.
* doc/lispref/frames.texi (Drag and Drop): Remove the docs for the
deprecated alist choice of `browse-url-browser-function' and mention
`browse-url-handlers' and `browse-url-default-handlers'.

4 years ago* doc/emacs/modes.texi (Major Modes): Fix quoting. (Bug#41110)
Eli Zaretskii [Wed, 6 May 2020 14:13:55 +0000 (17:13 +0300)]
* doc/emacs/modes.texi (Major Modes): Fix quoting.  (Bug#41110)

4 years agoprocess-file in Tramp must return exit code (Bug#41099)
Michael Albinus [Wed, 6 May 2020 08:36:43 +0000 (10:36 +0200)]
process-file in Tramp must return exit code (Bug#41099)

* lisp/net/tramp-adb.el (tramp-adb-send-command-and-check): Add optional
argument EXIT-STATUS.
(tramp-adb-handle-process-file): Use it.

* lisp/net/tramp-sh.el (tramp-send-command-and-check): Add optional
argument EXIT-STATUS.
(tramp-sh-handle-process-file): Use it.  (Bug#41099)

* test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.