]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoConvert some more progmode menus to easy-menu-define
Stefan Kangas [Fri, 26 Feb 2021 15:23:45 +0000 (16:23 +0100)]
Convert some more progmode menus to easy-menu-define

* lisp/progmodes/dcl-mode.el (dcl-mode-map):
* lisp/progmodes/icon.el (icon-mode-map):
* lisp/progmodes/scheme.el (scheme-mode-map):
Move menu definitions from here...
* lisp/progmodes/dcl-mode.el (dcl-mode-menu):
* lisp/progmodes/icon.el (icon-mode-menu)
* lisp/progmodes/scheme.el (scheme-mode-menu):
...to here, and use easy-menu-define.

* lisp/progmodes/icon.el
(icon-mode-map, icon-mode-syntax-table): Simplify.

3 years agoConvert simula-mode menu to easy-menu-define
Stefan Kangas [Fri, 26 Feb 2021 15:09:14 +0000 (16:09 +0100)]
Convert simula-mode menu to easy-menu-define

* lisp/progmodes/simula.el (simula-mode-map): Move menu definition
from here...
(simula-mode-menu): ...to here, and use easy-menu-define.
(simula-popup-menu): Declare unused function obsolete.

3 years agoFix syntax highlighting of easy-menu-define docstrings
Stefan Kangas [Fri, 26 Feb 2021 14:59:56 +0000 (15:59 +0100)]
Fix syntax highlighting of easy-menu-define docstrings

* lisp/emacs-lisp/easymenu.el (easy-menu-define): Add doc-string
declaration for correct syntax highlighting.

3 years agoRemove redundant requires of easymenu
Stefan Kangas [Fri, 26 Feb 2021 14:50:41 +0000 (15:50 +0100)]
Remove redundant requires of easymenu

* lisp/allout.el:
* lisp/emacs-lisp/edebug.el:
* lisp/emacs-lisp/ert.el:
* lisp/erc/erc-menu.el:
* lisp/help-mode.el:
* lisp/net/dictionary.el:
* lisp/nxml/rng-nxml.el:
* lisp/progmodes/ebrowse.el:
* lisp/progmodes/meta-mode.el:
* lisp/progmodes/prolog.el:
* lisp/progmodes/ps-mode.el:
* lisp/progmodes/vera-mode.el:
* lisp/wid-browse.el: Remove redundant require of easymenu.  We only
use the autoloaded macro 'easy-menu-define' here.

3 years agoRemove check for missing easymenu from cperl-mode.el
Stefan Kangas [Fri, 26 Feb 2021 04:43:53 +0000 (05:43 +0100)]
Remove check for missing easymenu from cperl-mode.el

* lisp/progmodes/cperl-mode.el (cperl-menu): Don't wrap definition
in condition-case; easymenu always exists in Emacs.
(easymenu): Remove redundant require.

3 years agoFunction-quote completion property of declare form
Basil L. Contovounesios [Sat, 20 Feb 2021 18:55:12 +0000 (18:55 +0000)]
Function-quote completion property of declare form

For discussion, see the following thread:
https://lists.gnu.org/r/emacs-devel/2021-02/msg01666.html

* lisp/emacs-lisp/byte-run.el (byte-run--set-completion): Quote with
'function' for syntactical consistency with other declare form
properties.  This allows writing (declare (completion foo)) instead
of (declare (completion 'foo)).
* lisp/emacs-lisp/easymenu.el (easy-menu-do-define):
* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Prefer
function-put over put for function symbols.
* lisp/subr.el (ignore, undefined): Remove #'-quoting from declare
form; it is no longer needed.

3 years agoFix pcase rx pattern bugs
Mattias Engdegård [Fri, 26 Feb 2021 08:52:16 +0000 (09:52 +0100)]
Fix pcase rx pattern bugs

Two unrelated bugs: A missing type check caused an error in rx
patterns for non-string match targets, and rx patterns did not work at
all in pcase-let or pcase-let*.

Second bug reported by Basil Contovounesios and Ag Ibragimov; fixes
proposed by Stefan Monnier.  Discussion and explanation in thread at
https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg01924.html

* lisp/emacs-lisp/rx.el (rx): Add (pred stringp) to avoid type errors,
and replace the `pred` clause for the actual match with something that
works with pcase-let(*) without being optimised away.
* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test cases.

3 years agoFix documentation of a recent change
Eli Zaretskii [Thu, 25 Feb 2021 18:58:44 +0000 (20:58 +0200)]
Fix documentation of a recent change

* src/fns.c (Fyes_or_no_p): Don't use braces around one-line
block.
(syms_of_fns) <use-short-answers>: Improve the wording of the doc
string.
* etc/NEWS: Improve wording of the entry about 'use-short-answers'.

3 years agoNew variable 'use-short-answers' to use 'y-or-n-p' instead of 'yes-or-no-p'
Juri Linkov [Thu, 25 Feb 2021 18:45:40 +0000 (20:45 +0200)]
New variable 'use-short-answers' to use 'y-or-n-p' instead of 'yes-or-no-p'

* lisp/cus-start.el: Add use-short-answers.

* lisp/emacs-lisp/map-ynp.el (read-answer): Handle use-short-answers.
(read-answer-short): Add use-short-answers to docstring.

* src/fns.c (Fyes_or_no_p): Call y-or-n-p if use_short_answers is true.
(syms_of_fns): Add DEFVAR_BOOL use-short-answers (bug#46594).

3 years agoFix freeze on older macOS's (bug#46687)
Alan Third [Wed, 24 Feb 2021 09:52:42 +0000 (09:52 +0000)]
Fix freeze on older macOS's (bug#46687)

* src/nsterm.m ([EmacsView windowDidChangeBackingProperties:]):
([EmacsView viewWillDraw]): Only run this code when actually drawing
to an offscreen bitmap.

3 years agoRe-enable network-stream-tests.el :nowait t tests
Robert Pluim [Thu, 25 Feb 2021 15:39:34 +0000 (16:39 +0100)]
Re-enable network-stream-tests.el :nowait t tests

After the fix for Bug#46709, these no longer fail in the absence of a
working Internet connection

* test/lisp/net/network-stream-tests.el (internet-is-working): Remove
defvar, it's no longer needed in this file.

* test/lisp/net/network-stream-tests.el
(connect-to-tls-ipv4-nowait):
(connect-to-tls-ipv6-nowait):
(open-network-stream-tls-nowait):
(open-gnutls-stream-new-api-nowait):
(open-gnutls-stream-old-api-nowait): Remove check for internet-is-working.

3 years agoDon't crash if gnutls_handshake fails
Robert Pluim [Thu, 25 Feb 2021 15:36:56 +0000 (16:36 +0100)]
Don't crash if gnutls_handshake fails

In some situations involving Internet access not being fully
functional, gnutls_handshake returns a fatal error, which we were
ignoring, causing us to call gnutls_handshake again.  Now we check for
the error and return it to the caller.

* src/gnutls.c (gnutls_try_handshake): Return immediately if
gnutls_handshake returns a fatal error (Bug#46709).

3 years ago* Specify 'ipv4 when testing ipv4 in network-stream-tests.el
Robert Pluim [Thu, 25 Feb 2021 15:33:47 +0000 (16:33 +0100)]
* Specify 'ipv4 when testing ipv4 in network-stream-tests.el

* test/lisp/net/network-stream-tests.el
(connect-to-tls-ipv4-nowait): Specify :family 'ipv4.

3 years ago; * src/xfaces.c (realize_gui_face): Correct formatting
Robert Pluim [Tue, 23 Feb 2021 14:21:26 +0000 (15:21 +0100)]
; * src/xfaces.c (realize_gui_face): Correct formatting

* src/xfaces.c (realize_gui_face): Correct code formatting.

3 years agoConvert epa-key-list-mode menu to easy-menu-define
Stefan Kangas [Thu, 25 Feb 2021 11:54:58 +0000 (12:54 +0100)]
Convert epa-key-list-mode menu to easy-menu-define

* lisp/epa.el (epa-key-list-mode-map): Move menu from here...
(epa-key-list-mode-menu): ...to here, and convert to easy-menu-define.

3 years agoRemove last remaining external uses of `edebug-form-spec`
Stefan Monnier [Thu, 25 Feb 2021 04:08:47 +0000 (23:08 -0500)]
Remove last remaining external uses of `edebug-form-spec`

* lisp/emacs-lisp/gv.el (gv-place): Use `def-edebug-elem-spec`.

* lisp/obsolete/erc-compat.el (erc-define-minor-mode): Remove redundant
`edebug-form-spec`.

3 years ago* test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): Add case
Stefan Monnier [Wed, 24 Feb 2021 23:39:06 +0000 (18:39 -0500)]
* test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): Add case

Add use of `macroexp-file-name` from a macro called from within
a function, which works thanks to eager-macroexpansion (so the macro
is expanded which the file is being loaded rather than only later
when the function is called).

* test/lisp/emacs-lisp/macroexp-resources/m1.el
(macroexp--m1-tests-file-name): New function.

3 years ago* test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): New test
Stefan Monnier [Wed, 24 Feb 2021 23:12:18 +0000 (18:12 -0500)]
* test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): New test

* test/lisp/emacs-lisp/macroexp-resources/m1.el:
* test/lisp/emacs-lisp/macroexp-resources/m2.el: New files.

3 years agoInclude a "make check-maybe" in the admin/emake script
Lars Ingebrigtsen [Wed, 24 Feb 2021 22:55:05 +0000 (23:55 +0100)]
Include a "make check-maybe" in the admin/emake script

3 years ago; Fix recent obsoletion warning in cl.el.
Basil L. Contovounesios [Wed, 24 Feb 2021 22:34:06 +0000 (22:34 +0000)]
; Fix recent obsoletion warning in cl.el.

3 years ago; Add :version tags to recent newsticker options.
Basil L. Contovounesios [Wed, 24 Feb 2021 22:20:10 +0000 (22:20 +0000)]
; Add :version tags to recent newsticker options.

3 years ago* lisp/emacs-lisp/macroexp.el (macroexp-file-name): Work in `eval-buffer`
Stefan Monnier [Wed, 24 Feb 2021 22:16:00 +0000 (17:16 -0500)]
* lisp/emacs-lisp/macroexp.el (macroexp-file-name): Work in `eval-buffer`

Rely on `current-load-list` instead of `load-file-name`.

* lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables):
Change the var we override accordingly.

3 years agoImprove quail-update-leim-list-file error messaging
Lars Ingebrigtsen [Wed, 24 Feb 2021 19:32:09 +0000 (20:32 +0100)]
Improve quail-update-leim-list-file error messaging

* lisp/international/quail.el (quail-update-leim-list-file): Give
a better error message.

3 years agoFix warning generated by indian.el + quail.el
Lars Ingebrigtsen [Wed, 24 Feb 2021 19:31:31 +0000 (20:31 +0100)]
Fix warning generated by indian.el + quail.el

* lisp/leim/quail/indian.el (quail-define-indian-trans-package):
Reintroduce kludge to fix automatic detection by Quail.

3 years ago* lisp/tab-bar.el: Move aliases down closer to keybindings.
Juri Linkov [Wed, 24 Feb 2021 18:52:27 +0000 (20:52 +0200)]
* lisp/tab-bar.el: Move aliases down closer to keybindings.

3 years ago* lisp/tab-bar.el (tab-switch): New defalias to 'tab-bar-switch-to-tab'.
Juri Linkov [Wed, 24 Feb 2021 18:51:04 +0000 (20:51 +0200)]
* lisp/tab-bar.el (tab-switch): New defalias to 'tab-bar-switch-to-tab'.

(tab-prefix-map): Bind "O" to 'tab-previous'.

3 years ago* lisp/emacs-lisp/macroexp.el (macroexp-file-name): New function.
Stefan Monnier [Wed, 24 Feb 2021 18:52:45 +0000 (13:52 -0500)]
* lisp/emacs-lisp/macroexp.el (macroexp-file-name): New function.

Yes, finally: a function that tells you the name of the file where
the code is located.  Finding this name is non-trivial in practice,
as evidenced by the "4 shift/reduce conflicts" warning when compiling
CEDET's python.el, because its `wisent-source` got it wrong in that
case, thinking the grammar came from `python.el` instead of
`python-wy.el`.

While at it, also made `macroexp-compiling-p` public, since it's
useful at various places.

(macroexp-compiling-p): Rename from `macroexp--compiling-p`.

* lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables):
Bind `load-file-name` to nil so we can distinguish a load that calls
the byte compiler from a byte compilation which causes a load.

* lisp/cedet/semantic/wisent/python.el (wisent-python--expected-conflicts):
Remove; it was just a workaround.
* lisp/subr.el (do-after-load-evaluation): Avoid `byte-compile--` vars.
* lisp/cedet/semantic/fw.el (semantic-alias-obsolete):
Use `macroexp-compiling-p` and `macroexp-file-name`.
* lisp/cedet/semantic/wisent/comp.el (wisent-source): Use `macroexp-file-name`
(wisent-total-conflicts): Tighten regexp.
* lisp/emacs-lisp/cl-lib.el (cl--compiling-file): Delete function
and variable.  Use `macroexp-compiling-p` instead.
* lisp/progmodes/flymake.el (flymake-log):
* lisp/emacs-lisp/package.el (package-get-version):
* lisp/emacs-lisp/ert-x.el (ert-resource-directory):
Use `macroexp-file-name`.

3 years agoAdd options to use feed names from newticker-url-list
Ulf Jasper [Wed, 24 Feb 2021 18:26:37 +0000 (19:26 +0100)]
Add options to use feed names from newticker-url-list

* lisp/net/newst-treeview.el
  (newsticker-treeview-use-feed-name-from-url-list-in-treeview): New.
  (newsticker-treeview-use-feed-name-from-url-list-in-itemview): New.
  (newsticker--treeview-item-show): Show feed name from
  newsticker-url-list if wanted.
  (newsticker--treeview-propertize-tag): Add argument 'tooltip'.
  (newsticker--treeview-tree-get-tag): Usefeed name from
  newsticker-url-list if wanted.  (Fixes third issue in
  Bug#41376.)

3 years agoFix wisent/python.el grammar warning
Lars Ingebrigtsen [Wed, 24 Feb 2021 17:29:25 +0000 (18:29 +0100)]
Fix wisent/python.el grammar warning

* lisp/cedet/semantic/wisent/python.el: Fix warning about
shift/reduce conflicts in the Python grammar.

3 years agoFix warning generated by indian.el + quail.el
Lars Ingebrigtsen [Wed, 24 Feb 2021 17:13:03 +0000 (18:13 +0100)]
Fix warning generated by indian.el + quail.el

* lisp/leim/quail/indian.el (quail-define-indian-trans-package):
Reintroduce kludge to fix automatic detection by Quail.

3 years agoRemove the "Documentation:" line from the variable help
Lars Ingebrigtsen [Wed, 24 Feb 2021 16:58:38 +0000 (17:58 +0100)]
Remove the "Documentation:" line from the variable help

* lisp/help-fns.el (describe-variable): Remove the
"Documentation:" line (bug#46702).  This makes the help text more
compact and seems easier to read, too.

3 years agoFix Calc menu item for vector dot products
Lars Ingebrigtsen [Wed, 24 Feb 2021 16:53:53 +0000 (17:53 +0100)]
Fix Calc menu item for vector dot products

* lisp/calc/calc-menu.el (calc-vectors-menu): Use the correct
function `calc-times' instead of the non-existent `calc-mult'
function (bug#46710).

3 years agoInteractive tag byte compilation functions in emacs-lisp-mode
Doug Davis [Wed, 24 Feb 2021 16:43:49 +0000 (17:43 +0100)]
Interactive tag byte compilation functions in emacs-lisp-mode

* lisp/progmodes/elisp-mode.el (emacs-lisp-byte-compile)
(emacs-lisp-byte-compile-and-load): Add interactive tagging
(bug#46721).

3 years agoRun all functions in `prefix-command-echo-keystrokes-functions'
Miha Rihtaršič [Wed, 24 Feb 2021 16:38:56 +0000 (17:38 +0100)]
Run all functions in `prefix-command-echo-keystrokes-functions'

* lisp/simple.el (internal-echo-keystrokes-prefix): Really run all
functions in `prefix-command-echo-keystrokes-functions' (bug#46727).

Copyright-paperwork-exempt: yes

3 years agoUse named faces in shortdoc
Protesilaos Stavrou [Wed, 24 Feb 2021 16:18:26 +0000 (17:18 +0100)]
Use named faces in shortdoc

* shortdoc.el (shortdoc-heading): Define new face for headings.
(shortdoc-display-group): Apply new heading face.
(shortdoc--display-function): Use existing face for section text.
* etc/NEWS: Document new face (bug#46748).

3 years agoUse sh-mode for PKGBUILD files
Utkarsh Singh [Tue, 23 Feb 2021 15:41:14 +0000 (16:41 +0100)]
Use sh-mode for PKGBUILD files

* lisp/files.el (auto-mode-alist): Use sh-mode for PKGBUILD files
(bug#46660).

Copyright-paperwork-exempt: yes

3 years agoFix dangerous code in xdisp.c
Eli Zaretskii [Wed, 24 Feb 2021 15:55:28 +0000 (17:55 +0200)]
Fix dangerous code in xdisp.c

* src/xdisp.c (move_it_to, display_line): Make sure ZV_BYTE is
greater than 1 before fetching previous byte.

3 years agoBetter support for 'truncate-line' non-nil in the mini-window
Eli Zaretskii [Wed, 24 Feb 2021 15:43:08 +0000 (17:43 +0200)]
Better support for 'truncate-line' non-nil in the mini-window

* src/xdisp.c (resize_mini_window): Resize the mini-window
when multi-line text is displayed under truncate-lines
non-nil in the minibuffer.  (Bug#46718)

3 years agoSpecify the Emacs version of new vc-dir faces
Protesilaos Stavrou [Wed, 24 Feb 2021 09:18:38 +0000 (11:18 +0200)]
Specify the Emacs version of new vc-dir faces

* vc-dir.el (vc-dir-header)
(vc-dir-header-value)
(vc-dir-directory)
(vc-dir-file)
(vc-dir-mark-indicator)
(vc-dir-status-warning)
(vc-dir-status-edited)
(vc-dir-status-up-to-date)
(vc-dir-status-ignored): Add version 28.1.  (Bug#46745)

3 years agoSmall fixes
Juri Linkov [Tue, 23 Feb 2021 19:05:30 +0000 (21:05 +0200)]
Small fixes

* lisp/emacs-lisp/seq.el (seq-contains): Move the ‘declare’ form
after the docstring.
* lisp/misc.el (copy-from-above-command): Fix whitespace regexp.

3 years ago* lisp/tab-line.el (tab-line-tab-name-format-function): New defcustom.
Juri Linkov [Tue, 23 Feb 2021 19:01:31 +0000 (21:01 +0200)]
* lisp/tab-line.el (tab-line-tab-name-format-function): New defcustom.

(tab-line-tab-name-format-default): New function as the default value.
(tab-line-format-template): Funcall tab-line-tab-name-format-function.
This is like recently added tab-bar-tab-name-format-function.

3 years ago* lisp/tab-bar.el (tab-prefix-map): Bind "n" to 'tab-duplicate'.
Juri Linkov [Tue, 23 Feb 2021 18:57:31 +0000 (20:57 +0200)]
* lisp/tab-bar.el (tab-prefix-map): Bind "n" to 'tab-duplicate'.

(tab-bar-separator): New function.
(tab-bar-make-keymap-1): Use it.

3 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Ulf Jasper [Tue, 23 Feb 2021 18:43:56 +0000 (19:43 +0100)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

3 years agoLeave other windows unchanged, use search instead of re-search
Ulf Jasper [Tue, 23 Feb 2021 18:31:32 +0000 (19:31 +0100)]
Leave other windows unchanged, use search instead of re-search

* lisp/net/newst-backend.el (newsticker-customize-feed): Leave other
  windws unchanged.  Use search instead of re-search.

3 years agoFix invalid interactive-statement
Ulf Jasper [Tue, 23 Feb 2021 18:23:50 +0000 (19:23 +0100)]
Fix invalid interactive-statement

* lisp/net/newst-backend.el (newsticker-customize): Fix invalid
  interactive-statement.

3 years ago* test/: Use lexical-binding the few remaining files
Stefan Monnier [Tue, 23 Feb 2021 17:14:59 +0000 (12:14 -0500)]
* test/: Use lexical-binding the few remaining files

* test/manual/biditest.el: Use lexical-binding.
(biditest-generate-testfile): Remove unused var `levels`.

* test/manual/image-circular-tests.el: Use lexical-binding.

* test/manual/image-size-tests.el: Use lexical-binding.
(image-size-tests): Check `fboundp` before calling `imagemagick-types`.

* test/manual/redisplay-testsuite.el: Use lexical-binding.

* test/manual/cedet/cedet-utests.el: Use lexical-binding.
Use `with-current-buffer`.
(cedet-utest): Test `fboundp` i.s.o `featurep` to silence warning.
(srecode-map-save-file): Declare var.
(pulse-test): Test `fboundp` before calling `pulse-available-p`.
Declare `pulse-momentary-highlight-overlay` since it's not autoloaded.

* test/manual/cedet/semantic-tests.el: Use lexical-binding.
Use `with-current-buffer`.
(semanticdb-ebrowse-dump): Remove unused var `ab`.
(semanticdb-test-gnu-global): Don't use obsolete "name" arg to constructor.
(cedet-utest-directory): Declare var.

3 years agoAdd command for customizing current newsticker feed
Ulf Jasper [Tue, 23 Feb 2021 16:33:46 +0000 (17:33 +0100)]
Add command for customizing current newsticker feed

* lisp/net/newst-backend.el (newsticker-customize-feed): New.
  (newsticker--insert-bytes): Add documentation string.
  (newsticker--decode-iso8601-date): Fix documentation string.
* lisp/net/newst-treeview.el (newsticker-treeview-customize-current-feed):
  New.
  (newsticker-treeview-mode-map): Add key for new command
  'newsticker-treeview-customize-current-feed'. (Fixes second issue in
  Bug#41376.)

3 years ago; Fix tramp.texi typos
Michael Albinus [Tue, 23 Feb 2021 15:04:22 +0000 (16:04 +0100)]
; Fix tramp.texi typos

3 years ago* doc/misc/tramp.texi: Grammar/style fixes
Robert Pluim [Tue, 23 Feb 2021 13:21:26 +0000 (14:21 +0100)]
* doc/misc/tramp.texi: Grammar/style fixes

* doc/misc/tramp.texi (Overview):
(Obtaining @value{tramp}):
(Quick Start Guide):
(Configuration):
(Connection types):
(Inline methods):
(External methods):
(Password handling):
(Predefined connection information):
(Remote shell setup):
(Remote processes):
(Frequently Asked Questions):
(External packages):
(Traces and Profiles): Grammar/style fixes.

3 years ago* lisp/net/dictionary-connection.el: Grammar fixes
Robert Pluim [Tue, 23 Feb 2021 13:07:32 +0000 (14:07 +0100)]
* lisp/net/dictionary-connection.el: Grammar fixes

* lisp/net/dictionary-connection.el: Grammar fix
(dictionary-connection-open): Use active voice.
(dictionary-connection-status): Reword and improve formatting.

3 years agoMake message-mailto work for emacsclient
Robert Pluim [Tue, 23 Feb 2021 12:47:49 +0000 (13:47 +0100)]
Make message-mailto work for emacsclient

* doc/misc/message.texi (System Mailer Setup): Add index entry.
Mention option to use emacsclient.

* etc/NEWS: Mention emacsclient option for 'mailto:' handling.

* etc/emacs-mail.desktop: Add example using emacsclient.

* lisp/gnus/message.el (message-mailto): Add optional url argument
so we can call it from emacsclient.

3 years agoCC Mode: Fix bug in "state cache" invalidation function.
Alan Mackenzie [Tue, 23 Feb 2021 11:16:24 +0000 (11:16 +0000)]
CC Mode: Fix bug in "state cache" invalidation function.

* lisp/progmodes/cc-engine.el (c-invalidate-state-cache-1): Rewrite part of
it, following the code in c-parse-state-1, to get a proper setting of
c-state-cache-good-pos.

3 years agoConvert some more menus to easy-menu-define
Stefan Kangas [Tue, 23 Feb 2021 02:51:12 +0000 (03:51 +0100)]
Convert some more menus to easy-menu-define

* lisp/tar-mode.el (tar-mode-map):
* lisp/textmodes/sgml-mode.el (sgml-mode-map, html-mode-map):
* lisp/wdired.el (wdired-mode-map): Move menus from here...

* lisp/tar-mode.el (tar-mode-immediate-menu, tar-mode-mark-menu)
* lisp/textmodes/sgml-mode.el (sgml-mode-menu, html-mode-menu):
* lisp/wdired.el (wdired-mode-menu): ...to here, and convert to
easy-menu-define.

3 years agoImprove easymenu.el Commentary section
Stefan Kangas [Tue, 23 Feb 2021 02:24:31 +0000 (03:24 +0100)]
Improve easymenu.el Commentary section

* lisp/emacs-lisp/easymenu.el: Improve Commentary section.

3 years ago* lisp/progmodes/antlr-mode.el: Fix bootstrap failure
Stefan Monnier [Mon, 22 Feb 2021 22:38:58 +0000 (17:38 -0500)]
* lisp/progmodes/antlr-mode.el: Fix bootstrap failure

(antlr-mode): Remove compatibility code with older CC-mode.
This somehow appears to fix the error:

    In antlr-mode:
    progmodes/antlr-mode.el:2426:20: Error: `c-init-language-vars' defined
        after use in (c-init-language-vars) (missing `require' of a library
        file?)
    progmodes/antlr-mode.el:2427:26: Warning: c-init-language-vars called
        with 0 arguments, but requires 1

No idea what caused the error to appear after the previous patch either.

3 years agoDo mode tagging in decipher.el
Lars Ingebrigtsen [Mon, 22 Feb 2021 22:30:04 +0000 (23:30 +0100)]
Do mode tagging in decipher.el

3 years agoDo mode tagging in bubbles.el
Lars Ingebrigtsen [Mon, 22 Feb 2021 22:27:53 +0000 (23:27 +0100)]
Do mode tagging in bubbles.el

3 years ago* lisp/obsolete: Use lexical-binding
Stefan Monnier [Mon, 22 Feb 2021 21:54:59 +0000 (16:54 -0500)]
* lisp/obsolete: Use lexical-binding

Use lexical-binding in all the lisp/obsolete/*.el files.
While at it, removed redundant :group arguments and used #' to quote
functions.  Commented out the key bindings which the #' revealed
to lead to non-existing commands, and replaced those revealed to be obsolete.

* lisp/obsolete/cl-compat.el: Use cl-lib.

* lisp/obsolete/cust-print.el: Assume `defalias` exists.
(with-custom-print): Use `declare`.

* lisp/obsolete/iswitchb.el (iswitchb-init-XEmacs-trick)
(iswitchb-xemacs-backspacekey): Remove functions.

* lisp/obsolete/landmark.el (landmark, landmark-nslify-wts):
Prefer `apply` to `eval`.

* lisp/obsolete/longlines.el (longlines-mode): Don't use `add-to-list`
on a hook.

* lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region): Use `clear-string`.

* lisp/obsolete/pgg-pgp.el (pgg-pgp-encrypt-region): Remove oddly
unused var `passphrase`.
(pgg-pgp-verify-region): Declare var `jam-zcat-filename-list`.

* lisp/obsolete/pgg-pgp5.el (pgg-pgp5-encrypt-region): Remove oddly
unused var `passphrase`.
(pgg-pgp5-verify-region): Declare var `jam-zcat-filename-list`.

* lisp/obsolete/pgg.el: Remove some XEmacs compatibility code.
(pgg-run-at-time, pgg-cancel-timer, pgg-clear-string): Remove functions.
Use their core equivalent instead.

* lisp/obsolete/rcompile.el (remote-compile): Remove unused vars `l`,
`l-host`, `l-user`, and `localname`.

* lisp/obsolete/starttls.el (starttls-any-program-available):
Use `define-obsolete-function-alias`.

* lisp/obsolete/tls.el (tls-format-message): Delete function, use
`format-message` instead.

* lisp/obsolete/url-ns.el (url-ns-prefs): Use `with-current-buffer`
and `dlet`.

* lisp/obsolete/vip.el (vip-escape-to-emacs): Remove unused var `key`.
(vip-command-argument, vip-read-string, ex-delete, ex-line): Remove
unused var `conditions`.
(ex-map): Use a closure instead of `eval`.
(ex-set): Make it an alias of `set-variable`.
(ex-substitute): Remove unused var `cont`.

* lisp/obsolete/abbrevlist.el:
* lisp/obsolete/bruce.el:
* lisp/obsolete/cc-compat.el:
* lisp/obsolete/cl-compat.el:
* lisp/obsolete/cl.el:
* lisp/obsolete/complete.el:
* lisp/obsolete/crisp.el:
* lisp/obsolete/cust-print.el:
* lisp/obsolete/erc-compat.el:
* lisp/obsolete/erc-hecomplete.el:
* lisp/obsolete/eudcb-ph.el:
* lisp/obsolete/fast-lock.el:
* lisp/obsolete/gs.el:
* lisp/obsolete/gulp.el:
* lisp/obsolete/html2text.el:
* lisp/obsolete/info-edit.el:
* lisp/obsolete/iswitchb.el:
* lisp/obsolete/landmark.el:
* lisp/obsolete/lazy-lock.el:
* lisp/obsolete/longlines.el:
* lisp/obsolete/mailpost.el:
* lisp/obsolete/mantemp.el:
* lisp/obsolete/meese.el:
* lisp/obsolete/messcompat.el:
* lisp/obsolete/metamail.el:
* lisp/obsolete/mouse-sel.el:
* lisp/obsolete/nnir.el:
* lisp/obsolete/old-emacs-lock.el:
* lisp/obsolete/otodo-mode.el:
* lisp/obsolete/patcomp.el:
* lisp/obsolete/pc-mode.el:
* lisp/obsolete/pc-select.el:
* lisp/obsolete/pgg-def.el:
* lisp/obsolete/pgg-gpg.el:
* lisp/obsolete/pgg-parse.el:
* lisp/obsolete/pgg-pgp.el:
* lisp/obsolete/pgg-pgp5.el:
* lisp/obsolete/pgg.el:
* lisp/obsolete/rcompile.el:
* lisp/obsolete/s-region.el:
* lisp/obsolete/sb-image.el:
* lisp/obsolete/sregex.el:
* lisp/obsolete/starttls.el:
* lisp/obsolete/sup-mouse.el:
* lisp/obsolete/terminal.el:
* lisp/obsolete/tls.el:
* lisp/obsolete/tpu-edt.el:
* lisp/obsolete/tpu-extras.el:
* lisp/obsolete/tpu-mapper.el:
* lisp/obsolete/url-ns.el:
* lisp/obsolete/vc-arch.el:
* lisp/obsolete/vi.el:
* lisp/obsolete/vip.el:
* lisp/obsolete/ws-mode.el:
* lisp/obsolete/yow.el: Use lexical-binding.

3 years agoMention the problems with newlines in Dired
Lars Ingebrigtsen [Mon, 22 Feb 2021 21:39:27 +0000 (22:39 +0100)]
Mention the problems with newlines in Dired

* doc/emacs/dired.texi (Dired Enter): Mention newlines and what to
do about them.

* lisp/dired.el (dired-listing-switches): Mention newlines
(bug#46705).

3 years agoButtonize function values in help (and add a blank line)
Lars Ingebrigtsen [Mon, 22 Feb 2021 21:34:03 +0000 (22:34 +0100)]
Buttonize function values in help (and add a blank line)

* lisp/help-fns.el (describe-variable): Add a newline for better
readability (bug#46702).  This also has the side effect of
buttonizing `function-references-like-this' in the "Its value is"
part.

* lisp/help-mode.el (help-make-xrefs): Adjust comments.

3 years ago; Fix last change in test-custom-libs.el.
Basil L. Contovounesios [Mon, 22 Feb 2021 20:31:06 +0000 (20:31 +0000)]
; Fix last change in test-custom-libs.el.

3 years ago* lisp/progmodes/antlr-mode.el: Remove XEmacs compatibility
Stefan Monnier [Mon, 22 Feb 2021 17:22:19 +0000 (12:22 -0500)]
* lisp/progmodes/antlr-mode.el: Remove XEmacs compatibility

(cond-emacs-xemacs, cond-emacs-xemacs-macfn, defunx, ignore-errors-x):
Remove those functions and macros.  Replace every use with the result
of their use.
(antlr-default-directory): Remove function, use the `default-directory`
variable instead.
(antlr-read-shell-command): Remove function, use
`read-shell-command` instead.
(antlr-with-displaying-help-buffer): Remove function, by inlining it at
its only call site.
(antlr-end-of-rule, antlr-beginning-of-rule, antlr-end-of-body)
(antlr-beginning-of-body): Mark them as movement commands.

3 years ago* lisp/tab-bar.el: 'C-x t N' bound to tab-new-to supports a negative argument
Juri Linkov [Mon, 22 Feb 2021 17:12:43 +0000 (19:12 +0200)]
* lisp/tab-bar.el: 'C-x t N' bound to tab-new-to supports a negative argument

* lisp/tab-bar.el (tab-bar-new-tab-to): Negative TO-INDEX counts
tabs from the end of the tab bar.
(tab-bar-new-tab): Fix docstring to add reference to
'tab-bar-new-tab-to'.
(tab-prefix-map): Bind "N" to tab-new-to.

3 years ago* lisp/tab-bar.el: 'C-x t M' bound to tab-move-to supports a negative argument
Juri Linkov [Mon, 22 Feb 2021 17:08:16 +0000 (19:08 +0200)]
* lisp/tab-bar.el: 'C-x t M' bound to tab-move-to supports a negative argument

* lisp/tab-bar.el (tab-bar-move-tab-to): Negative TO-INDEX counts
tabs from the end of the tab bar.
(tab-bar-move-tab): Fix docstring to add reference to tab-bar-move-tab-to.
(tab-prefix-map): Bind "M" to tab-move-to.

3 years ago'Mod-9' bound to 'tab-last' now switches to the last tab like in web browsers
Juri Linkov [Mon, 22 Feb 2021 17:03:42 +0000 (19:03 +0200)]
'Mod-9' bound to 'tab-last' now switches to the last tab like in web browsers

* lisp/tab-bar.el (tab-bar--define-keys): Rebind 0 from
tab-bar-switch-to-recent-tab to its alias tab-recent.
Bind 9 to tab-last.
(tab-bar-switch-to-last-tab): New command.
(tab-last): New alias to tab-bar-switch-to-last-tab.
(tab-bar-switch-to-tab, tab-bar-undo-close-tab): Fix docstrings to
avoid mentioning the term "last" for "most recently used" meaning.

3 years ago* lisp/tab-bar.el (tab-bar--undefine-keys): New function from tab-bar-mode.
Juri Linkov [Mon, 22 Feb 2021 16:56:47 +0000 (18:56 +0200)]
* lisp/tab-bar.el (tab-bar--undefine-keys): New function from tab-bar-mode.

3 years agoPrefer `declare` over a `put` of `list-indent-function`.
Stefan Monnier [Mon, 22 Feb 2021 16:54:17 +0000 (11:54 -0500)]
Prefer `declare` over a `put` of `list-indent-function`.

While at it, I enabled lexical-binding in the affected files.

* lisp/cedet/semantic/sb.el: Enable lexical-binding.
(semantic-sb-with-tag-buffer): Use `declare`.

* lisp/cedet/semantic/bovine/el.el: Enable lexical-binding.
(semantic-elisp-setup-form-parser): Use `declare`.

* lisp/emacs-lisp/ert.el:
* lisp/emacs-lisp/ert-x.el: Remove redundant `put`.

* lisp/emulation/cua-rect.el: Enable lexical-binding.
(cua--rectangle-operation, cua--rectangle-aux-replace): Use `declare`.

* lisp/mh-e/mh-acros.el: Enable lexical-binding.
(mh-do-in-gnu-emacs, mh-do-in-xemacs, mh-funcall-if-exists, defun-mh)
(defmacro-mh, with-mh-folder-updating, mh-in-show-buffer)
(mh-do-at-event-location, mh-iterate-on-messages-in-region)
(mh-iterate-on-range): Use `declare`.

* lisp/mh-e/mh-compat.el: Enable lexical-binding.
(mh-flet): Use `declare`.

* lisp/mh-e/mh-e.el: Enable lexical-binding.
(defgroup-mh, defcustom-mh, defface-mh): Use `declare`.

* lisp/net/sieve.el: Enable lexical-binding.  Remove redundant :group args.
(sieve-activate, sieve-remove, sieve-edit-script): Remove unused arg
from the interactive spec.
(sieve-deactivate-all): Remove unused var `name`.
(sieve-change-region): Use `declare`.

* lisp/obsolete/fast-lock.el: Enable lexical-binding.
Remove redundant :group args.  Remove XEmacs compat code.
(save-buffer-state): Remove macro.
(fast-lock-add-properties): Use `with-silent-modifications` instead.

* lisp/obsolete/lazy-lock.el: Enable lexical-binding.
Remove redundant :group args.
(do-while): Use `declare`.
(save-buffer-state): Remove macro.
(lazy-lock-fontify-rest-after-change, lazy-lock-defer-line-after-change)
(lazy-lock-defer-rest-after-change, lazy-lock-after-fontify-buffer)
(lazy-lock-after-unfontify-buffer, lazy-lock-fontify-region):
Use `with-silent-modifications` instead.

* lisp/obsolete/pgg.el: Enable lexical-binding.  Remove XEmacs compat code.
(pgg-save-coding-system, pgg-as-lbt, pgg-process-when-success):
Use `declare`.
(pgg-add-passphrase-to-cache): Remove unused var `new-timer`.
(pgg-decrypt-region): Remove unused var `buf`.

* lisp/org/org-agenda.el (org-let, org-let2): Move from org-macs and
use `declare`.

* lisp/org/org-macs.el (org-let, org-let2): Move these functions that
are inherently harmful to your karma to the only package that uses them.
(org-scroll): Use `pcase` to avoid `eval` and use more readable syntax
for those integers standing for events.

* lisp/progmodes/antlr-mode.el: Enable lexical-binding.
(save-buffer-state-x): Use `declare` and `with-silent-modifications`.

* lisp/international/mule-util.el (with-coding-priority):
* lisp/cedet/ede/proj-comp.el (proj-comp-insert-variable-once):
* lisp/org/org-element.el (org-element-map):
* test/lisp/emacs-lisp/bytecomp-tests.el (test-byte-comp-compile-and-load):
* test/lisp/emacs-lisp/generator-tests.el (cps-testcase): Use `declare`.

3 years agoFix ANSI coloring problem in large outputs in eshell
Lars Ingebrigtsen [Mon, 22 Feb 2021 15:47:38 +0000 (16:47 +0100)]
Fix ANSI coloring problem in large outputs in eshell

* lisp/ansi-color.el (ansi-color-apply-on-region): Ensure that we
fontize from where we left off, and don't skip to the end of the
region (bug#46332).

3 years agocl-extra: Fix docstring retrieval
Julian Scheid [Mon, 22 Feb 2021 15:06:03 +0000 (16:06 +0100)]
cl-extra: Fix docstring retrieval

* lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Fix
docstring retrieval (bug#46662).

3 years agoSkip tests that require Internet when there's no Internet
Robert Pluim [Mon, 22 Feb 2021 14:05:48 +0000 (15:05 +0100)]
Skip tests that require Internet when there's no Internet

Bug#46641

The network-stream-tests actually work fine when the local machine has
no IP at all, but cause a crash in the GnuTLS library when there is an
IP configured but the interface is down.

* test/lisp/net/network-stream-tests.el (internet-is-working): New
defvar, checks if we can resolve "google.com".
(connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait)
(open-network-stream-tls-nowait, open-gnutls-stream-new-api-nowait)
(open-gnutls-stream-old-api-nowait): Use it to check for working
Internet access.

* test/src/process-tests.el (internet-is-working): New defvar, checks
if we can resolve "google.com".
(lookup-family-specification, lookup-unicode-domains)
(unibyte-domain-name, lookup-google, non-existent-lookup-failure): Use
it to check for working Internet access.

3 years agoFix hang when running dns-query with no working internet
Robert Pluim [Mon, 22 Feb 2021 13:47:41 +0000 (14:47 +0100)]
Fix hang when running dns-query with no working internet

* lisp/net/dns.el (dns-set-servers): reduce the timeout and retry
count when using 'nslookup' for "localhost".
(dns-query): Check to see if we actually managed to initiate a dns
request before starting a busy-wait for the result.

3 years agoSimplify comint-watch-for-password-prompt
Lars Ingebrigtsen [Mon, 22 Feb 2021 14:47:30 +0000 (15:47 +0100)]
Simplify comint-watch-for-password-prompt

* lisp/comint.el (comint-watch-for-password-prompt): Simplify by
using `string-trim'.

3 years agoFix prompt for the `M-S-x' command
Lars Ingebrigtsen [Mon, 22 Feb 2021 14:32:34 +0000 (15:32 +0100)]
Fix prompt for the `M-S-x' command

* lisp/simple.el (read-extended-command): Further kludge the
hard-coded "M-x" prompt for the new `M-S-x' command.

3 years agoPrefer mailing lists to newsgroups in FAQ
Stefan Kangas [Mon, 22 Feb 2021 11:17:41 +0000 (12:17 +0100)]
Prefer mailing lists to newsgroups in FAQ

* doc/misc/efaq.texi (Real meaning of copyleft)
(Guidelines for mailing list postings, Mailing list archives)
(Packages that do not come with Emacs): Prefer mailing lists to
newsgroups.  (Bug#46633)

3 years agoImprove wrong number of args error message in propertize
Stefan Kangas [Mon, 22 Feb 2021 10:56:12 +0000 (11:56 +0100)]
Improve wrong number of args error message in propertize

* src/editfns.c (Fpropertize): Improve error message.
(syms_of_editfns) <Qpropertize>: New DEFSYM.
* test/src/editfns-tests.el
(propertize/error-wrong-number-of-args): New test.

3 years agoFix compilation of closures with nontrivial doc strings
Mattias Engdegård [Mon, 22 Feb 2021 10:37:29 +0000 (11:37 +0100)]
Fix compilation of closures with nontrivial doc strings

* lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure):
Use the supplied doc string if it's a literal; fall back to the old
slow way of building a closure otherwise.

3 years agoFix up previous conf-mode.el and nroff-mode.el change slightly
Lars Ingebrigtsen [Mon, 22 Feb 2021 04:10:13 +0000 (05:10 +0100)]
Fix up previous conf-mode.el and nroff-mode.el change slightly

* lisp/textmodes/conf-mode.el (conf-mode-map): Remove variable now
unused.

* lisp/textmodes/nroff-mode.el (nroff-mode-map): Remove variable
now unused.

3 years ago* test/misc/test-custom-libs.el (test-custom-libs): Skip on hydra.
Glenn Morris [Mon, 22 Feb 2021 03:11:19 +0000 (19:11 -0800)]
* test/misc/test-custom-libs.el (test-custom-libs): Skip on hydra.

3 years ago* test/misc/test-custom-noloads.el (custom-test-load): Unstable.
Glenn Morris [Mon, 22 Feb 2021 02:58:14 +0000 (18:58 -0800)]
* test/misc/test-custom-noloads.el (custom-test-load): Unstable.

3 years agoConvert some textmodes menus to easy-menu-define
Stefan Kangas [Mon, 22 Feb 2021 01:24:25 +0000 (02:24 +0100)]
Convert some textmodes menus to easy-menu-define

* lisp/textmodes/artist.el (artist-menu-map): Convert menu definition
to easy-menu-define.

* lisp/textmodes/conf-mode.el (conf-mode-map):
* lisp/textmodes/nroff-mode.el (nroff-mode-map): Move menu
definition from here...
* lisp/textmodes/conf-mode.el (conf-mode-menu):
* lisp/textmodes/nroff-mode.el (nroff-mode-menu): ...to here, and
convert to use easy-menu-define.

3 years agoFaster, more compact, and readable closure creation
Mattias Engdegård [Sun, 21 Feb 2021 14:24:41 +0000 (15:24 +0100)]
Faster, more compact, and readable closure creation

Simplify closure creation by calling a single function at run time
instead of putting it together from small pieces.  This is faster
(by about a factor 2), takes less space on disk and in memory, and
makes internal functions somewhat readable in disassembly listings again.

This is done by creating a prototype function at compile-time whose
closure variables are placeholder values V0, V1... which can be seen
in the disassembly.  The prototype is then cloned at run time using
the new make-closure function that replaces the placeholders with
the actual closure variables.

* lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure):
Generate call to make-closure from a prototype function.
* src/alloc.c (Fmake_closure): New function.
(syms_of_alloc): Defsubr it.
* src/data.c (syms_of_data): Defsym byte-code-function-p.

3 years agoRun admin/cus-tests.el tests from test suite
Stefan Kangas [Fri, 19 Feb 2021 11:31:56 +0000 (12:31 +0100)]
Run admin/cus-tests.el tests from test suite

* test/Makefile.in (SUBDIRS): Run tests in new directory "misc",
intended for tests not belonging to any one file.
* test/misc/test-custom-deps.el:
* test/misc/test-custom-libs.el:
* test/misc/test-custom-noloads.el:
* test/misc/test-custom-opts.el: New files.
* test/lisp/custom-tests.el (custom--test-local-option): Move test to
above new file test-custom-opts.el.

* admin/cus-test.el: Document running tests from regular test suite.
* test/file-organization.org (Test Files): Document new test directory
"misc" for tests not belonging to any one file.

3 years agoFix interactive mode tagging for man and woman
Stefan Kangas [Sun, 21 Feb 2021 10:19:57 +0000 (11:19 +0100)]
Fix interactive mode tagging for man and woman

* lisp/man.el (man-common): New mode inheriting special-mode.
(Man-mode):
* lisp/woman.el (woman-mode): Inherit from man-common.

* lisp/man.el (man-follow, Man-update-manpage)
(Man-fontify-manpage, Man-cleanup-manpage, Man-next-section)
(Man-previous-section, Man-goto-section)
(Man-goto-see-also-section, Man-follow-manual-reference)
(Man-kill, Man-goto-page, Man-next-manpage)
(Man-previous-manpage): Change interactive mode tag to man-common.

This was discussed in:
https://lists.gnu.org/r/emacs-devel/2021-02/msg01619.html

3 years agoDeclare that `ignore' and `undefined' shouldn't be completed over
Lars Ingebrigtsen [Sun, 21 Feb 2021 18:26:39 +0000 (19:26 +0100)]
Declare that `ignore' and `undefined' shouldn't be completed over

* lisp/subr.el (ignore, undefined): Declare that these shouldn't
be completed over.

3 years agoUse `undefined' instead of `ignore' in wdired
Lars Ingebrigtsen [Sun, 21 Feb 2021 13:03:13 +0000 (14:03 +0100)]
Use `undefined' instead of `ignore' in wdired

* lisp/wdired.el (wdired-mode-map): Use `undefined' here instead
of `ignore' to give the user more feedback.

3 years agoFix json.el encoding of confusable object keys
Basil L. Contovounesios [Thu, 11 Feb 2021 12:00:05 +0000 (12:00 +0000)]
Fix json.el encoding of confusable object keys

* lisp/json.el (json-encode-string): Clarify commentary.
(json--encode-stringlike): New function that covers a subset of
json-encode.
(json-encode-key): Use it for more efficient encoding and
validation, and to avoid mishandling confusable keys like boolean
symbols (bug#42545).
(json-encode-array): Make it clearer that argument can be a list.
(json-encode): Reuse json-encode-keyword and json--encode-stringlike
for a subset of the dispatch logic.
(json-pretty-print): Ensure confusable keys like ":a" survive a
decoding/encoding roundtrip (bug#24252, bug#45032).

* test/lisp/json-tests.el (test-json-encode-string)
(test-json-encode-hash-table, test-json-encode-alist)
(test-json-encode-plist, test-json-pretty-print-object): Test
encoding of confusable keys.

3 years agoMake unused variable menu-bar-handwrite-map obsolete
Stefan Kangas [Sun, 21 Feb 2021 09:23:12 +0000 (10:23 +0100)]
Make unused variable menu-bar-handwrite-map obsolete

* lisp/play/handwrite.el (menu-bar-handwrite-map): Make unused
variable obsolete.

3 years agoConvert bubbles menu to easy-menu-define
Stefan Kangas [Sun, 21 Feb 2021 09:19:23 +0000 (10:19 +0100)]
Convert bubbles menu to easy-menu-define

* lisp/play/bubbles.el (bubbles-game-theme-menu)
(bubbles-graphics-theme-menu, bubbles-menu, bubbles-mode-map):
Move menu definition from here...
(bubbles-menu): ...to here, and convert to easy-menu-define.

3 years ago; Fix previous easy-menu-define conversion
Stefan Kangas [Sun, 21 Feb 2021 09:10:03 +0000 (10:10 +0100)]
; Fix previous easy-menu-define conversion

* lisp/emacs-lisp/re-builder.el (reb-mode-menu):
* lisp/progmodes/make-mode.el (makefile-mode-menu): Replace :button
attribute with :style and :selected.

3 years ago* etc/NEWS.19: Add entry for 'easy-menu-define'.
Stefan Kangas [Sun, 21 Feb 2021 09:02:43 +0000 (10:02 +0100)]
* etc/NEWS.19: Add entry for 'easy-menu-define'.

3 years agoConvert some progmodes menus to easy-menu-define
Stefan Kangas [Sun, 21 Feb 2021 07:24:44 +0000 (08:24 +0100)]
Convert some progmodes menus to easy-menu-define

* lisp/progmodes/asm-mode.el (asm-mode-map):
* lisp/progmodes/grep.el (grep-mode-map):
* lisp/progmodes/m4-mode.el (m4-mode-map):
* lisp/progmodes/sh-script.el (sh-mode-map): Move menu definition from here...
* lisp/progmodes/asm-mode.el (asm-mode-menu):
* lisp/progmodes/grep.el (grep-menu-map):
* lisp/progmodes/m4-mode.el (m4-mode-menu):
* lisp/progmodes/sh-script.el (sh-mode-menu): ...to here, and rewrite
using easy-menu-define.

3 years agoClarification of password handling in Tramp manual
Michael Albinus [Sun, 21 Feb 2021 09:24:56 +0000 (10:24 +0100)]
Clarification of password handling in Tramp manual

* doc/misc/tramp.texi (Password handling): Describe, how to
suppress `auth-sources' for Tramp.
(Remote shell setup, Remote processes)
(Cleanup remote connections, Frequently Asked Questions):
Handle reference to Emacs manual.

3 years agoFix memory leak
Alan Third [Sat, 20 Feb 2021 20:40:56 +0000 (20:40 +0000)]
Fix memory leak

* src/nsterm.m ([EmacsSurface dealloc]): Release will remove all
objects and free the memory.

3 years agoConvert makefile-mode menu to easy-menu-define
Stefan Kangas [Sat, 20 Feb 2021 16:43:03 +0000 (17:43 +0100)]
Convert makefile-mode menu to easy-menu-define

* lisp/progmodes/make-mode.el (makefile-mode-map): Move menu
definition from here...
(makefile-mode-menu): ...to here, and rewrite using easy-menu-define.

3 years agoMute noisy test fixture for socks.el
F. Jason Park [Sat, 20 Feb 2021 14:50:30 +0000 (06:50 -0800)]
Mute noisy test fixture for socks.el

* test/lisp/net/socks-tests.el:
(socks-tests-perform-hello-world-http-request): Bind
'inhibit-message' non-nil when in batch mode.
(Bug#46342)

3 years agoChange command-completion-using-modes-p to defun
Lars Ingebrigtsen [Sat, 20 Feb 2021 14:43:26 +0000 (15:43 +0100)]
Change command-completion-using-modes-p to defun

* lisp/simple.el (command-completion-using-modes-p): Change into a
defun for now because of a build problem.

3 years agoMention `M-S-x' in the Emacs manual.
Lars Ingebrigtsen [Sat, 20 Feb 2021 14:37:24 +0000 (15:37 +0100)]
Mention `M-S-x' in the Emacs manual.

* doc/emacs/m-x.texi (M-x): Mention `M-S-x' in the Emacs manual.

3 years ago; Fix typos in last change
Eli Zaretskii [Sat, 20 Feb 2021 14:24:03 +0000 (16:24 +0200)]
; Fix typos in last change

* etc/NEWS: Improve wording.
* lisp/simple.el (execute-extended-command-for-buffer): Fix typo.

3 years agoAdd a new command for mode-specific commands
Lars Ingebrigtsen [Sat, 20 Feb 2021 14:12:45 +0000 (15:12 +0100)]
Add a new command for mode-specific commands

* doc/lispref/commands.texi (Interactive Call): Document it.
* lisp/simple.el (command-completion-using-modes-p): Refactored
out into its own function for reuse...
(command-completion-default-include-p): ... from here.
(execute-extended-command-for-buffer): New command and keystroke
(`M-S-x').

3 years agoChange how (declare (modes store the data
Lars Ingebrigtsen [Sat, 20 Feb 2021 13:29:41 +0000 (14:29 +0100)]
Change how (declare (modes store the data

* lisp/emacs-lisp/byte-run.el (byte-run--set-modes): Change from
being a predicate to storing the modes.  This allows using the
modes for positive command discovery, too.
* src/data.c (Fcommand_modes): Look at the `command-modes' symbol
property, too.