]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoImprove handling of context menus for global, local, minor-mode menus
Juri Linkov [Tue, 3 Aug 2021 08:23:57 +0000 (11:23 +0300)]
Improve handling of context menus for global, local, minor-mode menus

* lisp/mouse.el (context-menu-global, context-menu-local, context-menu-minor):
Better handling of possibly nested menu maps.

3 years ago* lisp/help-mode.el (help-mode-context-menu): New function.
Juri Linkov [Sun, 1 Aug 2021 20:07:29 +0000 (23:07 +0300)]
* lisp/help-mode.el (help-mode-context-menu): New function.

(help-mode): Use it.

3 years agoImprove :type of defcustom 'context-menu-functions' and add documentation.
Juri Linkov [Wed, 28 Jul 2021 16:40:23 +0000 (19:40 +0300)]
Improve :type of defcustom 'context-menu-functions' and add documentation.

* doc/emacs/frames.texi (Menu Mouse Clicks): Describe context-menu-mode
and context-menu-functions instead of suggesting global-set-key.
(Menu Bars): Mention context-menu-mode and context-menu-functions.

* etc/NEWS: Add context-menu-mode and context-menu-functions.

* lisp/mouse.el (context-menu-functions): Use :type with repeat/function-item.
(context-menu-minor, context-menu-undo, context-menu-region)
(context-menu-ffap): Improve docstrings displayed for function-item in
defcustom of context-menu-functions.

3 years agoAdd new context-menu options for menus "File At Point" and "Version Control".
Juri Linkov [Tue, 27 Jul 2021 20:48:07 +0000 (23:48 +0300)]
Add new context-menu options for menus "File At Point" and "Version Control".

* lisp/mouse.el (context-menu-functions): Add more options.
(context-menu-global, context-menu-local): Fix separators.
(context-menu-minor): Rewrite to support list of submenus.
(context-menu-vc, context-menu-ffap): New functions.
(context-menu-undo, context-menu-region): Fix separators.

* lisp/dired.el (dired-context-menu):
* lisp/info.el (Info-context-menu):
* lisp/net/goto-addr.el (goto-address-context-menu):
* lisp/net/eww.el (eww-context-menu):
* lisp/progmodes/prog-mode.el (prog-context-menu):  Fix separators.

3 years agoImprove docstring of context-menu-functions and add eww-context-menu
Juri Linkov [Wed, 21 Jul 2021 20:34:59 +0000 (23:34 +0300)]
Improve docstring of context-menu-functions and add eww-context-menu

* lisp/mouse.el (context-menu-functions): Explain function args in docstring.

* lisp/net/eww.el (eww-context-menu): New function.
(eww-mode): Add it to context-menu-functions.

* lisp/info.el (Info-context-menu): Move history items higher.

* lisp/progmodes/prog-mode.el (prog-context-menu): Add menu items
in the middle of the menu after the region menu items.

3 years agoChange the order of context-menu-functions and add more context menus.
Juri Linkov [Wed, 21 Jul 2021 18:40:11 +0000 (21:40 +0300)]
Change the order of context-menu-functions and add more context menus.

* lisp/mouse.el (context-menu-functions): Update default list.
(context-menu-overriding-function): Remove variable.
(context-menu-map): Reverse the order.
(context-menu-global, context-menu-local, context-menu-minor): New functions.
(context-menu-undo, context-menu-region): Add separators.
Use define-key-after instead of bindings--define-key.
(context-menu-entry): New variable.
(context-menu-mode): Use it.

* lisp/dired.el (dired-context-menu): New function.
(dired-mode): Add it to context-menu-functions.

* lisp/info.el (Info-context-menu): Reorder.

* lisp/net/goto-addr.el (goto-address-at-mouse):
Rename from goto-address-at-click.
(goto-address-context-menu): Use goto-address-at-mouse.

* lisp/progmodes/prog-mode.el (prog-context-menu): New function.
(prog-mode): Add it to context-menu-functions.

3 years agoAdd new mode context-menu-mode and use it in info.el and goto-addr.el
Juri Linkov [Tue, 20 Jul 2021 20:48:43 +0000 (23:48 +0300)]
Add new mode context-menu-mode and use it in info.el and goto-addr.el

* lisp/mouse.el (context-menu-functions): New defcustom.
(context-menu-overriding-function): New function.
(context-menu-filter-function): New defcustom.
(context-menu-map): New function.
(context-menu-undo, context-menu-region): New menu functions.
(context-menu-mode): New mode.

* lisp/info.el (Info-context-menu): New function.
(Info-mode): Add Info-context-menu to context-menu-functions.

* lisp/net/goto-addr.el (goto-address-context-menu): New function.
(goto-address-at-click): New command.
(goto-address-mode): Add goto-address-context-menu to context-menu-functions.

3 years ago* lisp/button.el (button-map): Bind [follow-link] to 'mouse-face' (bug#49626)
Juri Linkov [Tue, 20 Jul 2021 19:53:06 +0000 (22:53 +0300)]
* lisp/button.el (button-map): Bind [follow-link] to 'mouse-face' (bug#49626)

3 years ago; * lisp/emacs-lisp/byte-opt.el (byte-optimize-eq): Fix last change.
Mattias Engdegård [Tue, 20 Jul 2021 17:32:11 +0000 (19:32 +0200)]
; * lisp/emacs-lisp/byte-opt.el (byte-optimize-eq): Fix last change.

3 years agoStrength-reduce (eq X nil) to (not X)
Mattias Engdegård [Tue, 20 Jul 2021 13:46:32 +0000 (15:46 +0200)]
Strength-reduce (eq X nil) to (not X)

* lisp/emacs-lisp/byte-opt.el (byte-optimize-eq): New optimisation,
which results in better test and branch code generation where it
applies.

3 years agoCount (not X) as a switch condition
Mattias Engdegård [Tue, 20 Jul 2021 15:23:11 +0000 (17:23 +0200)]
Count (not X) as a switch condition

* lisp/emacs-lisp/bytecomp.el (byte-compile--cond-switch-prefix):
Treat (not VAR) and (null VAR) as (eq VAR nil) when computing the
extent of switch ops.

3 years ago* lisp/shadowfile.el (shadow-homedir): Add slash.
Michael Albinus [Tue, 20 Jul 2021 16:44:51 +0000 (18:44 +0200)]
* lisp/shadowfile.el (shadow-homedir): Add slash.

(shadow-contract-file-name): Use it.  Bug#49596.

3 years ago; * etc/NEWS: Announce the change in json.c behavior on MS-Windows.
Eli Zaretskii [Tue, 20 Jul 2021 16:00:53 +0000 (19:00 +0300)]
; * etc/NEWS: Announce the change in json.c behavior on MS-Windows.

3 years agoFix documentation of a recent changeset
Eli Zaretskii [Tue, 20 Jul 2021 15:37:40 +0000 (18:37 +0300)]
Fix documentation of a recent changeset

* lisp/autorevert.el (auto-revert-mode):
* lisp/files.el (revert-buffer): Doc fix.  (Bug#49661)

3 years agoFix Bug#49636
Michael Albinus [Tue, 20 Jul 2021 15:28:29 +0000 (17:28 +0200)]
Fix Bug#49636

* test/lisp/net/tramp-tests.el (tramp-test39-make-lock-file-name):
Let-bind `auto-save-default'.  (Bug#49636)

3 years agoImprove auto-revert-mode and revert-buffer doc strings
Konstantin Kharlamov [Tue, 20 Jul 2021 14:38:55 +0000 (16:38 +0200)]
Improve auto-revert-mode and revert-buffer doc strings

* lisp/autorevert.el (auto-revert-mode):
* lisp/files.el (revert-buffer): Mention that there is
revert-buffer-with-fine-grain that is better suited for markers
preservation (bug#49661).

3 years agoMake `kill-all-local-variables' also remove lambda from hooks
jakanakaevangeli [Tue, 20 Jul 2021 14:31:24 +0000 (16:31 +0200)]
Make `kill-all-local-variables' also remove lambda from hooks

* src/buffer.c (reset_buffer_local_variables): Also remove
non-symbol elements from hook variables (bug#46407).

3 years agoMake dired-guess-default return all matching programs
Lars Ingebrigtsen [Tue, 20 Jul 2021 14:16:09 +0000 (16:16 +0200)]
Make dired-guess-default return all matching programs

* lisp/dired-x.el (dired-guess-default): Return all matching
programs (bug#48071).

3 years agoAllow installing packages with DOS line endings
Ioannis Kappas [Tue, 20 Jul 2021 13:53:34 +0000 (15:53 +0200)]
Allow installing packages with DOS line endings

* lisp/emacs-lisp/package.el (package-install-from-buffer): Allow
installing files with different line ending conventions (Unix, DOS
and Macos) (bug#48137).

3 years agoSignal an error in json.c function if not available
Lars Ingebrigtsen [Tue, 20 Jul 2021 12:47:07 +0000 (14:47 +0200)]
Signal an error in json.c function if not available

* src/json.c (Fjson_serialize, Fjson_insert)
(Fjson_parse_string, Fjson_parse_buffer, syms_of_json): Signal
`json-unavailable' if jansson isn't available (bug#48228).

3 years agoQuit minibuffers without aborting kmacros
Miha Rihtaršič [Tue, 20 Jul 2021 12:36:45 +0000 (14:36 +0200)]
Quit minibuffers without aborting kmacros

* doc/lispref/commands.texi (Quitting): Document `minibuffer-quit'
(Recursive Editing): Document throwing of function values to `exit'.

* doc/lispref/errors.texi (Standard Errors): Document
`minibuffer-quit'

* lisp/minibuffer.el (minibuffer-quit-recursive-edit): New function.

* lisp/simple.el (minibuffer-error-function): Do not abort keyboard
macro execution if is minibuffer-quit is signaled (bug#48603).
* src/data.c (syms_of_data): New error symbol `minibuffer-quit'

* src/keyboard.c (recursive_edit_1): Implement throwing of function
values to `exit`.  In that case, the function will be called without
arguments before returning from the command loop.
(cmd_error):
(Fcommand_error_default_function): Do not abort keyboard macro
execution if minibuffer-quit is signaled.
(command_loop_2): New argument HANDLERS.

* src/macros.c (Fexecute_kbd_macro): Use command_loop_2 instead of
command_loop_1.

* src/minibuf.c (Fabort_minibuffers): Use it.

3 years agoFix problem with certain fonts in ftfont_shape_by_flt
Kenichi Handa [Tue, 20 Jul 2021 12:22:53 +0000 (14:22 +0200)]
Fix problem with certain fonts in ftfont_shape_by_flt

* src/ftfont.c (ftfont_shape_by_flt): Fix problem with unusual OTF
tables in fonts (bug#49066).

3 years agoAdd commands 'kill-matching-lines' and 'copy-matching-lines'
Earl Hyatt [Sat, 19 Jun 2021 12:30:31 +0000 (08:30 -0400)]
Add commands 'kill-matching-lines' and 'copy-matching-lines'

* doc/emacs/search.texi: Document these additions.
* lisp/replace.el:
Add the commands 'kill-matching-lines' and 'copy-matching-lines'.

'kill-matching-lines' is like 'flush-lines', but adds the lines to the
kill ring as a single string, keeping line endings.
'copy-matching-lines' is like 'kill-matching-lines', but only copies
those lines instead of killing them.

3 years agoTweak example in Function Indirection node in the lispref manual
Lars Ingebrigtsen [Tue, 20 Jul 2021 12:06:40 +0000 (14:06 +0200)]
Tweak example in Function Indirection node in the lispref manual

* doc/lispref/eval.texi (Function Indirection): Make example more
robust (bug#49647).  Suggested by Scott Marks
<scott.c.marks@gmail.com>.

3 years agoPut command line file names and mouse dragging onto 'file-name-history'
Lars Ingebrigtsen [Tue, 20 Jul 2021 11:48:10 +0000 (13:48 +0200)]
Put command line file names and mouse dragging onto 'file-name-history'

* lisp/dnd.el (dnd-open-local-file): Add file to history.
* lisp/files.el (file-name-history--add): New function (bug#12915).

* lisp/startup.el (command-line-1): Add file to history.

3 years agoMention `overlays-in' in the `overlays-at' doc string
Lars Ingebrigtsen [Tue, 20 Jul 2021 11:32:39 +0000 (13:32 +0200)]
Mention `overlays-in' in the `overlays-at' doc string

* src/buffer.c (Foverlays_at): Mention `overlays-in' in the doc
string (bug#459).

3 years agoMake wdired work better in narrowed-to buffers
Lars Ingebrigtsen [Mon, 19 Jul 2021 17:03:28 +0000 (19:03 +0200)]
Make wdired work better in narrowed-to buffers

* lisp/wdired.el (wdired--before-change-fn):
(wdired--restore-properties): Widen before doing anything so that
we get all the changed bits (bug#49124).

3 years agoAdd function for filtering ANSI sequences when compiling
Ivan Sokolov [Mon, 19 Jul 2021 16:54:18 +0000 (18:54 +0200)]
Add function for filtering ANSI sequences when compiling

* lisp/ansi-color.el (ansi-color-for-compilation-mode): New user
option (bug#49609).
(ansi-color-compilation-filter): New function.

3 years agoFix typos in a recent change
Eli Zaretskii [Mon, 19 Jul 2021 16:46:43 +0000 (19:46 +0300)]
Fix typos in a recent change

* src/buffer.c (Fmake_indirect_buffer): Fix a typo in a recent
change.

* doc/lispref/buffers.texi (Indirect Buffers): Fix punctuation.

3 years agoMake the `s' command in *Help* work for Lisp variables defined in C
Lars Ingebrigtsen [Mon, 19 Jul 2021 16:35:09 +0000 (18:35 +0200)]
Make the `s' command in *Help* work for Lisp variables defined in C

* lisp/help-fns.el (describe-variable): Store the type.
* lisp/help-mode.el (help-view-source): Use the type.  This fixes
the problem when looking for a variable defined in a C file.

3 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Mon, 19 Jul 2021 16:24:41 +0000 (19:24 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

3 years ago; Fix a typo in a recent change
Eli Zaretskii [Mon, 19 Jul 2021 16:24:01 +0000 (19:24 +0300)]
; Fix a typo in a recent change

* src/callint.c (syms_of_callint) <mouse-leave-buffer-hook>: Fix a
typo in the doc string.

3 years agoAdd inhibit-buffer-hooks to `make-indirect-buffer'
Lars Ingebrigtsen [Mon, 19 Jul 2021 16:23:07 +0000 (18:23 +0200)]
Add inhibit-buffer-hooks to `make-indirect-buffer'

* doc/lispref/buffers.texi (Indirect Buffers): Document it (bug#49160).

* src/buffer.c (Fmake_indirect_buffer): Allow controlling whether
to inhibit buffer hooks.

3 years agoMake make-indirect-buffer inherit inhibit-buffer-hook from base buffer
dickmao [Mon, 19 Jul 2021 16:12:17 +0000 (18:12 +0200)]
Make make-indirect-buffer inherit inhibit-buffer-hook from base buffer

* src/buffer.c (Fmake_indirect_buffer):
Match base buffer's inhibit-buffer-hooks.
* test/src/buffer-tests.el (buffer-tests-inhibit-buffer-hooks-indirect):
Add a test (bug#49160).

3 years agoDocument recent changes in 'comint-delete-output' (bug#1496)
Eli Zaretskii [Mon, 19 Jul 2021 16:21:49 +0000 (19:21 +0300)]
Document recent changes in 'comint-delete-output' (bug#1496)

* doc/emacs/misc.texi (Shell Mode): Document the new optional
behavior of 'C-c C-o'.

* etc/NEWS: Call out the new behavior of 'C-c C-o'.

3 years agoUse 'remember-buffer' in remember.el doc strings.
Gabriel do Nascimento Ribeiro [Mon, 19 Jul 2021 16:04:25 +0000 (18:04 +0200)]
Use 'remember-buffer' in remember.el doc strings.

* lisp/textmodes/remember.el (remember-initial-contents)
(remember-before-remember-hook, remember-destroy): Refer to
`remember-buffer'.

* lisp/textmodes/remember.el (remember-buffer): Make into
defcustom (bug#49373).

3 years agoUse 'remember-buffer' in remember.el doc strings.
Gabriel do Nascimento Ribeiro [Mon, 19 Jul 2021 15:47:30 +0000 (17:47 +0200)]
Use 'remember-buffer' in remember.el doc strings.

* lisp/textmodes/remember.el (remember-initial-contents)
(remember-before-remember-hook, remember-destroy): Refer to
`remember-buffer'.

* lisp/textmodes/remember.el (remember-buffer): Make into
defcustom (bug#49373).

3 years agoPropagate asynchronousness correctly when using proxies in url.el
Madhu [Mon, 19 Jul 2021 15:42:18 +0000 (17:42 +0200)]
Propagate asynchronousness correctly when using proxies in url.el

* lisp/url/url.el (url-retrieve-internal): Propagate
asynchronousness correctly when using a proxy (bug#49570).

Copyright-paperwork-exempt: yes

3 years agoFix infloop in woman-file-name
Lars Ingebrigtsen [Mon, 19 Jul 2021 15:31:17 +0000 (17:31 +0200)]
Fix infloop in woman-file-name

* lisp/woman.el (woman-file-name): Fix infloop for non-existent
manual page (bug#414).

3 years agoAllow comint-delete-output to save the output on the kill ring
Lars Ingebrigtsen [Mon, 19 Jul 2021 15:13:11 +0000 (17:13 +0200)]
Allow comint-delete-output to save the output on the kill ring

* lisp/comint.el (comint-delete-output): Allow saving the output
to the kill ring (bug#1496).

3 years agoFix documentation of mouse-leave-buffer-hook
Lars Ingebrigtsen [Mon, 19 Jul 2021 14:41:54 +0000 (16:41 +0200)]
Fix documentation of mouse-leave-buffer-hook

* doc/lispref/hooks.texi (Standard Hooks): Ditto.

* src/callint.c (syms_of_callint): Document the actual usage of
`mouse-leave-buffer-hook' (bug#2932).

3 years agoUse make-separator-line in shortdoc
Lars Ingebrigtsen [Mon, 19 Jul 2021 14:13:57 +0000 (16:13 +0200)]
Use make-separator-line in shortdoc

* lisp/simple.el (separator-line): Tweak definition to not be so
overwhelming.

* lisp/emacs-lisp/shortdoc.el (shortdoc-separator): Removed.
(shortdoc-display-group): Use make-separator-line.

3 years agoAdd a new function for separator lines
Lars Ingebrigtsen [Mon, 19 Jul 2021 13:48:20 +0000 (15:48 +0200)]
Add a new function for separator lines

* lisp/help-fns.el (describe-symbol): Use it.

* lisp/help.el (describe-key): Use it.

* lisp/simple.el (separator-line): New face.
(make-separator-line): New function (bug#49630).

3 years ago; Fix omission in last change to custom.texi.
Basil L. Contovounesios [Sun, 18 Jul 2021 22:06:45 +0000 (23:06 +0100)]
; Fix omission in last change to custom.texi.

3 years ago; * doc/lispref/variables.texi (File Local Variables): Fix last change.
Eli Zaretskii [Sun, 18 Jul 2021 18:57:03 +0000 (21:57 +0300)]
; * doc/lispref/variables.texi (File Local Variables): Fix last change.

3 years agoFix documentation of a recent changeset (bug#5003)
Eli Zaretskii [Sun, 18 Jul 2021 18:53:22 +0000 (21:53 +0300)]
Fix documentation of a recent changeset (bug#5003)

* lisp/files.el (safe-local-variable-values)
(ignored-local-variable-values): Doc fix.
(ignored-local-variable-values): Add :version tag.

* doc/emacs/custom.texi (Safe File Variables): Mention
'ignored-local-variable-values'.
* doc/lispref/variables.texi (File Local Variables): Fix wording.

* etc/NEWS: Improve wording of the 'ignored-local-variable-values'
entry.

3 years agoCount compile errors when FILE is a function
Mattias Engdegård [Sun, 18 Jul 2021 18:27:03 +0000 (20:27 +0200)]
Count compile errors when FILE is a function

* lisp/progmodes/compile.el (compilation-parse-errors):
Don't omit messages from the error count when FILE is a function
rather than a regexp match number.

3 years ago; * test/lisp/progmodes/compile-tests.el: simplify end-col
Mattias Engdegård [Sun, 18 Jul 2021 15:28:24 +0000 (17:28 +0200)]
; * test/lisp/progmodes/compile-tests.el: simplify end-col

The internal representation of columns uses half-open intervals but
don't expose that in the test cases, where we want to use the same
numbers as in the compilation messages.

3 years agoClarify event-convert-list doc string
Lars Ingebrigtsen [Sun, 18 Jul 2021 16:18:03 +0000 (18:18 +0200)]
Clarify event-convert-list doc string

* src/keyboard.c (Fevent_convert_list): Clarify that the base type
returned isn't always the same (bug#7631).

3 years agoAdd doc string to time-stamp-tests that didn't have one
Stephen Gildea [Sun, 18 Jul 2021 15:38:37 +0000 (08:38 -0700)]
Add doc string to time-stamp-tests that didn't have one

* test/lisp/time-stamp-tests.el (formatz-generate-tests,
  formatz-%z-spotcheck): Add doc strings to tests.

3 years agoAllow ignoring local variable values permanently
Lars Ingebrigtsen [Sun, 18 Jul 2021 15:18:17 +0000 (17:18 +0200)]
Allow ignoring local variable values permanently

* doc/lispref/variables.texi (File Local Variables): Document it.

* lisp/files.el (ignored-local-variable-values): New user option
(bug#5003).
(hack-local-variables-confirm): Allow ignoring permanently.
(hack-local-variables-filter): Ignore the permanently ignored
variables.

3 years agoMake remote file locks more robust
Michael Albinus [Sun, 18 Jul 2021 14:58:52 +0000 (16:58 +0200)]
Make remote file locks more robust

* lisp/net/tramp.el (tramp-handle-write-region):
* lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
* lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region):
Make file locks more robust.

* test/lisp/net/tramp-tests.el (tramp-test39-make-lock-file-name):
Rename and extend.

3 years agoMake remote file locks more robust. (Bug#49621)
Naofumi Yasufuku [Sun, 18 Jul 2021 14:57:53 +0000 (16:57 +0200)]
Make remote file locks more robust.  (Bug#49621)

* lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Make file
locks more robust.  (Bug#49621)

Copyright-paperwork-exempt: yes

3 years agoMaintain a list of terminal buffers in the menu
Lars Ingebrigtsen [Sun, 18 Jul 2021 14:34:02 +0000 (16:34 +0200)]
Maintain a list of terminal buffers in the menu

* lisp/term.el (term--update-term-menu): New function (bug#5641).
(term-mode): Use it to list terminal buffers.

3 years agoFix display of mode-line with bidi formatting controls
Eli Zaretskii [Sun, 18 Jul 2021 14:27:23 +0000 (17:27 +0300)]
Fix display of mode-line with bidi formatting controls

* src/xdisp.c (face_before_or_after_it_pos): Reimplement the bidi
iteration to find the character after the current in visual order.
(Bug#49562)

3 years agoFix problem in `shadow-define-literal-group' (Bug#49596)
Michael Albinus [Sun, 18 Jul 2021 13:57:41 +0000 (15:57 +0200)]
Fix problem in `shadow-define-literal-group' (Bug#49596)

* lisp/shadowfile.el (shadow-make-fullname): HOST can also be a
remote file name.  Bug#49596.

* test/lisp/shadowfile-tests.el (auth-source-save-behavior)
(tramp-cache-read-persistent-data, tramp-persistency-file-name):
Set them globally.
(shadow-test06-literal-groups): Extend test.

3 years agoMake indent-tabs-mode into a regular mode instead of just a variable
Lars Ingebrigtsen [Sun, 18 Jul 2021 13:24:55 +0000 (15:24 +0200)]
Make indent-tabs-mode into a regular mode instead of just a variable

* lisp/simple.el (indent-tabs-mode): Make into a minor mode (bug#6276).

3 years agoDon't shorten comment padding if the padding isn't spaces
Lars Ingebrigtsen [Sun, 18 Jul 2021 12:49:48 +0000 (14:49 +0200)]
Don't shorten comment padding if the padding isn't spaces

* lisp/newcomment.el (comment-padright): Don't shorten non-space
padding (bug#6822).
(comment-padleft): Ditto.

3 years agoFix an unlikely `copyright-find-copyright' problem
Lars Ingebrigtsen [Sun, 18 Jul 2021 12:31:09 +0000 (14:31 +0200)]
Fix an unlikely `copyright-find-copyright' problem

* lisp/emacs-lisp/copyright.el (copyright-find-copyright): Make
the copyright matcher more robust (bug#7179).

3 years ago; * etc/NEWS: Move entry to its right place.
Mattias Engdegård [Sun, 18 Jul 2021 11:33:30 +0000 (13:33 +0200)]
; * etc/NEWS: Move entry to its right place.

3 years agoFix previous grep-file-at-point change
Lars Ingebrigtsen [Sat, 17 Jul 2021 14:56:35 +0000 (16:56 +0200)]
Fix previous grep-file-at-point change

* lisp/progmodes/grep.el (grep-file-at-point): Fix previous change.

3 years agoAdd new function 'grep-file-at-point'
Lennart Borgman [Sat, 17 Jul 2021 14:53:36 +0000 (16:53 +0200)]
Add new function 'grep-file-at-point'

* lisp/progmodes/grep.el (grep-file-at-point): New function to
return the file name at point (bug#8252).

3 years agoEnhance pcomplete support for xargs
Karthik Chikmagalur [Sat, 17 Jul 2021 14:29:11 +0000 (16:29 +0200)]
Enhance pcomplete support for xargs

* lisp/pcmpl-unix.el (pcomplete/xargs): Add support for completing xargs
options, including the ability to distinguish them from the command
xargs runs (bug#49603).
Copyright-paperwork-exempt: yes

3 years agoMake 'n'/'p' work again in shortdoc after previous changes
Lars Ingebrigtsen [Sat, 17 Jul 2021 13:41:33 +0000 (15:41 +0200)]
Make 'n'/'p' work again in shortdoc after previous changes

* lisp/emacs-lisp/shortdoc.el (shortdoc--goto-section): Adjust to
changes in how the text properties are inserted in 22a5482ab6
(bug#49605).  Also make into a regular function.

3 years agoEIEIO: Prevent excessive evaluation of :initform
akater [Mon, 12 Jul 2021 14:15:54 +0000 (14:15 +0000)]
EIEIO: Prevent excessive evaluation of :initform

* lisp/emacs-lisp/eieio.el (initialize-instance):
Do not evaluate initform of a slot when initarg for the slot is provided,
according to the following secitons of CLHS:
- Object Creation and Initialization
- Initialization Arguments
- Defaulting of Initialization Arguments
- Rules for Initialization Arguments

* test/lisp/emacs-lisp/eieio-etests/eieio-tests.el:
Add corresponding tests
Fix a typo

3 years agoDefine revert-buffer-function for *Memory Report*
Mattias Engdegård [Fri, 16 Jul 2021 11:04:14 +0000 (13:04 +0200)]
Define revert-buffer-function for *Memory Report*

* lisp/emacs-lisp/memory-report.el (memory-report):
Allow the memory report buffer to be updated by pressing 'g'.

3 years ago; Fix last change in files.el
Michael Albinus [Fri, 16 Jul 2021 16:54:12 +0000 (18:54 +0200)]
; Fix last change in files.el

3 years agoAdd lock-file-mode
Michael Albinus [Fri, 16 Jul 2021 16:13:28 +0000 (18:13 +0200)]
Add lock-file-mode

* doc/emacs/files.texi (Interlocking):
* doc/lispref/files.texi (File Locks):
* etc/NEWS: Add lock-file-mode.

* lisp/files.el (lock-file-name-transforms)
(remote-file-name-inhibit-locks): Move down.
(lock-file-mode): New minor mode.

3 years agoMerge from origin/emacs-27
Glenn Morris [Fri, 16 Jul 2021 14:51:35 +0000 (07:51 -0700)]
Merge from origin/emacs-27

7ac411ae2c (origin/emacs-27) ; * src/data.c (Fcar, Fcdr): Doc fix.
0d9e1826f7 One more minor update of the Emacs manual for 19th printing
92616d30e0 ; Fix let-alist Texinfo markup
c13acf8e34 ; * doc/emacs/mule.texi (International Chars): Mention 'de...

3 years ago; Fix wording of recent changes in documentation
Eli Zaretskii [Fri, 16 Jul 2021 13:26:21 +0000 (16:26 +0300)]
; Fix wording of recent changes in documentation

* lisp/files.el (query-about-changed-file):
* doc/emacs/files.texi (Visiting):
* etc/NEWS: Fix the wording of a recent change.  (Bug#10755)

3 years agoClarify emacsclient Options node in the Emacs manual
Lars Ingebrigtsen [Fri, 16 Jul 2021 12:51:03 +0000 (14:51 +0200)]
Clarify emacsclient Options node in the Emacs manual

* doc/emacs/misc.texi (emacsclient Options): Don't claim that
emacsclient searches for a socket name (bug#13319).

3 years agoAdd new user option 'query-about-changed-file'
Lars Ingebrigtsen [Fri, 16 Jul 2021 12:30:24 +0000 (14:30 +0200)]
Add new user option 'query-about-changed-file'

* doc/emacs/files.texi (Visiting): Document it.
* lisp/files.el (query-about-changed-file): New user option (bug#10775).
(find-file-noselect): Use it.

3 years agoFix lock-file-name-transforms build problem
Lars Ingebrigtsen [Fri, 16 Jul 2021 11:59:42 +0000 (13:59 +0200)]
Fix lock-file-name-transforms build problem

* lisp/files.el (lock-file-name-transforms): Remove
custom-initialize-delay to fix build problem (bug#49507).

3 years agoFix wording in a recent ELisp manual change
Eli Zaretskii [Fri, 16 Jul 2021 11:30:12 +0000 (14:30 +0300)]
Fix wording in a recent ELisp manual change

* doc/lispref/tips.texi (Coding Conventions): Fix wording in a
recent change.  (Bug#21440)

3 years agoAllow hiding variables in Customize
Lars Ingebrigtsen [Fri, 16 Jul 2021 10:55:21 +0000 (12:55 +0200)]
Allow hiding variables in Customize

* lisp/cus-edit.el (custom-toggle-hide-variable): Allow closing an
option even if there are unsaved changes (bug#11655).

3 years agoMake `number-at-point' work for more hex numbers
Remington Furman [Fri, 16 Jul 2021 09:47:36 +0000 (11:47 +0200)]
Make `number-at-point' work for more hex numbers

* lisp/thingatpt.el (number-at-point): Rewrite to actually catch
the hex numbers (bug#49588).

Copyright-paperwork-exempt: yes

3 years agoClarify -unload-feature in Coding Conventions
Lars Ingebrigtsen [Fri, 16 Jul 2021 08:56:21 +0000 (10:56 +0200)]
Clarify -unload-feature in Coding Conventions

* doc/lispref/tips.texi (Coding Conventions): Clarify when an
unload function is useful (bug#21440).

3 years agoAdd a couple more shell-tests-split-string tests
Lars Ingebrigtsen [Thu, 15 Jul 2021 23:42:49 +0000 (01:42 +0200)]
Add a couple more shell-tests-split-string tests

3 years agoImprove recent jka-compr-compression-info-list change
Glenn Morris [Thu, 15 Jul 2021 20:19:48 +0000 (13:19 -0700)]
Improve recent jka-compr-compression-info-list change

* lisp/jka-cmpr-hook.el (jka-compr-compression-info-list):
Document previous change, and fix :type.

3 years agoAdd bug-reference support for Codeberg projects
Tassilo Horn [Thu, 15 Jul 2021 19:51:54 +0000 (21:51 +0200)]
Add bug-reference support for Codeberg projects

* lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist):
Add support for codeberg.org bug and pull request references.
* doc/emacs/maintaining.texi (Bug Reference): Mention that bug and
pull request references for codeberg projects are supported.

3 years agoAdd support for sourcehut to bug-reference.el
Tassilo Horn [Thu, 15 Jul 2021 19:43:29 +0000 (21:43 +0200)]
Add support for sourcehut to bug-reference.el

* lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist):
Add support for bug references like #17 and ~user/project#19 for
sourcehut (sr.ht).
* doc/emacs/maintaining.texi (Bug Reference): Document sourcehut
support.

3 years ago; * lisp/help-fns.el: Speed up `describe-mode'
Ori [Thu, 15 Jul 2021 16:57:38 +0000 (18:57 +0200)]
; * lisp/help-fns.el: Speed up `describe-mode'

* lisp/help-fns.el (help-fns--list-local-commands): Speed up (bug#49579).

A predicate checks if there are no key bindings for a given function. A
full list of bindings is not needed, even a single binding is sufficient
to say the function is bound. Set FIRSTONLY arg in where-is-internal so
this predicate runs faster, with functional equivalence. For some
configurations this has a noticeable improvement on the speed of
describe-mode.

Copyright-paperwork-exempt: yes

3 years agoAdd more car/cdr examples to shortdoc
Lars Ingebrigtsen [Thu, 15 Jul 2021 16:32:34 +0000 (18:32 +0200)]
Add more car/cdr examples to shortdoc

* lisp/emacs-lisp/shortdoc.el (list): Add more car/cdr examples.

3 years agoImprove the shortdoc link action in *Help* buffers
Lars Ingebrigtsen [Thu, 15 Jul 2021 16:29:27 +0000 (18:29 +0200)]
Improve the shortdoc link action in *Help* buffers

* lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Allow
taking an optional parameter to place point on a specific function.
(shortdoc--display-function): Go to the function in question in
the shortdoc buffer.

3 years agoAdd new user option to abbreviate file names in save-place
Lars Ingebrigtsen [Thu, 15 Jul 2021 16:03:36 +0000 (18:03 +0200)]
Add new user option to abbreviate file names in save-place

* lisp/saveplace.el (save-place-abbreviate-file-names): New user
option (bug#13286).
(save-place-to-alist): Use it.

3 years agoAllow restoring the original order in 'tabulated-list-mode'
Lars Ingebrigtsen [Thu, 15 Jul 2021 15:36:07 +0000 (17:36 +0200)]
Allow restoring the original order in 'tabulated-list-mode'

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Allow
restoring the original order (bug#13411).
(tabulated-list--sort-by-column-name): Store the original order.
(tabulated-list--original-order): New buffer-local variable.

3 years agoUpdate modus-themes to version 1.5.0
Protesilaos Stavrou [Thu, 15 Jul 2021 14:20:07 +0000 (17:20 +0300)]
Update modus-themes to version 1.5.0

* doc/misc/modus-themes.org (Enable and load): Include internal link.
(Sample configuration for use-package): Update code sample.
(Customization Options): Update references to customization options.
(Option for more italic constructs): Document new variable, as an
alias of the deprecated 'modus-themes-slanted-constructs'.

(Option for syntax highlighting, Option for links)
(Option for command prompt styles, Option for mode line presentation)
(Option for language checkers)
(Option for line highlighting (hl-line-mode))
(Option for parenthesis matching (show-paren-mode))
(Option for active region, Option for the headings' overall style):
Update documentation to describe new possible values, expressed as a
list of symbols.

(Option for Org agenda constructs): Document new user option.

(Control the scale of headings): Update symbol of variable.

(Remap face with local value (DIY), Backdrop for pdf-tools (DIY)):
Tweak text of internal reference.

(Font configurations for Org and others (DIY)):  Add internal link and
document how to configure the 'bold' and 'italic' faces.

(Custom Org user faces (DIY)): Minor corrections or changes to single
words.

(Full support for packages or face groups): Include new items.

(Notes on individual packages): Add notes on Avy hints, the colour of
days in 'M-x calendar', and underlines in 'compilation-mode' buffers.

(What is the best setup for legibility?): Remove single word.
(Acknowledgements): Update list of contributors.

* etc/themes/modus-themes.el (modus-themes-faces)
(modus-themes-operandi-colors, modus-themes-vivendi-colors)
(modus-themes-subtle-red, modus-themes-subtle-green)
(modus-themes-subtle-yellow, modus-themes-subtle-blue)
(modus-themes-subtle-magenta, modus-themes-subtle-cyan)
(modus-themes-subtle-neutral, modus-themes-intense-red)
(modus-themes-intense-green, modus-themes-intense-yellow)
(modus-themes-intense-blue, modus-themes-intense-magenta)
(modus-themes-intense-cyan, modus-themes-intense-neutral)
(modus-themes-refine-red, modus-themes-refine-green)
(modus-themes-refine-yellow, modus-themes-refine-blue)
(modus-themes-refine-magenta, modus-themes-refine-cyan)
(modus-themes-active-red, modus-themes-active-green)
(modus-themes-active-yellow, modus-themes-active-blue)
(modus-themes-active-magenta, modus-themes-active-cyan)
(modus-themes-fringe-red, modus-themes-fringe-green)
(modus-themes-fringe-yellow, modus-themes-fringe-blue)
(modus-themes-fringe-magenta, modus-themes-fringe-cyan)
(modus-themes-nuanced-red, modus-themes-nuanced-green)
(modus-themes-nuanced-yellow, modus-themes-nuanced-blue)
(modus-themes-nuanced-magenta, modus-themes-nuanced-cyan)
(modus-themes-special-cold, modus-themes-special-mild)
(modus-themes-special-warm, modus-themes-special-calm)
(modus-themes-diff-added, modus-themes-diff-changed)
(modus-themes-diff-removed, modus-themes-diff-refine-added)
(modus-themes-diff-refine-changed, modus-themes-diff-refine-removed)
(modus-themes-diff-focus-added, modus-themes-diff-focus-changed)
(modus-themes-diff-focus-removed, modus-themes-diff-heading)
(modus-themes-pseudo-header, modus-themes-mark-alt)
(modus-themes-mark-del, modus-themes-mark-sel, modus-themes-mark-symbol)
(modus-themes-heading-1, modus-themes-heading-2, modus-themes-heading-3)
(modus-themes-heading-4, modus-themes-heading-5, modus-themes-heading-6)
(modus-themes-heading-7, modus-themes-heading-8, modus-themes-hl-line)
(modus-themes-bold, modus-themes-slant, modus-themes-variable-pitch)
(modus-themes-graph-red-0, modus-themes-graph-red-1)
(modus-themes-graph-green-0, modus-themes-graph-green-1)
(modus-themes-graph-yellow-0, modus-themes-graph-yellow-1)
(modus-themes-graph-blue-0, modus-themes-graph-blue-1)
(modus-themes-graph-magenta-0, modus-themes-graph-magenta-1)
(modus-themes-graph-cyan-0, modus-themes-graph-cyan-1)
(modus-themes-lang-note, modus-themes-lang-warning)
(modus-themes-lang-error, modus-themes-reset-soft)
(modus-themes-reset-hard, modus-themes-key-binding)
(modus-themes-search-success, modus-themes-search-success-modeline)
(modus-themes-search-success-lazy): Add new ':group' specification for
custom faces.

(modus-themes-operandi-color-overrides)
(modus-themes-vivendi-color-overrides, modus-themes-bold-constructs)
(modus-themes-variable-pitch-headings, modus-themes-variable-pitch-ui)
(modus-themes-no-mixed-fonts, modus-themes-fringes)
(modus-themes-scale-headings, modus-themes-scale-1, modus-themes-scale-2)
(modus-themes-scale-3, modus-themes-scale-4, modus-themes-scale-title)
(modus-themes-org-blocks, modus-themes-completions)
(modus-themes-success-deuteranopia, modus-themes-mail-citations)
(modus-themes-subtle-line-numbers, modus-themes-intense-hl-line): Add
custom setter.

(modus-themes-scale-5, modus-themes-scale-title): Deprecate variable
and replace it with alias 'modus-themes-scale-title'.

(modus-themes-slanted-constructs, modus-themes-italic-constructs):
Deprecate variable and replace it with alias
'modus-themes-italic-constructs'.

(modus-themes-org-habit, modus-themes-org-agenda): Deprecate variable
and make its functionality a part of 'modus-themes-org-agenda'.

(modus-themes-headings, modus-themes-mode-line, modus-themes-diffs)
(modus-themes-prompts, modus-themes-paren-match, modus-themes-syntax)
(modus-themes-links, modus-themes-region, modus-themes-lang-checkers)
(modus-themes-org-blocks): Make user options accept a value as a list
of properties.

(modus-themes--mixed-fonts, modus-themes--slant)
(modus-themes--fixed-pitch, modus-themes--lang-check)
(modus-themes--prompt, modus-themes--paren)
(modus-themes--syntax-foreground, modus-themes--syntax-extra)
(modus-themes--syntax-string, modus-themes--syntax-docstring)
(modus-themes--syntax-comment, modus-themes--heading-p)
(modus-themes--heading, modus-themes--org-habit)
(modus-themes--mode-line-attrs, modus-themes--link-color)
(modus-themes--link, modus-themes--region, modus-themes--hl-line):
Update internal functions to parse new values for user options.

* etc/themes/modus-operandi-theme.el,
  etc/themes/modus-vivendi-theme.el: Bump version number.

A detailed change log is provided here (no javascript required):
<https://protesilaos.com/codelog/2021-07-15-modus-themes-1-5-0/>.

3 years agoAutoload `split-string-shell-command'
Lars Ingebrigtsen [Thu, 15 Jul 2021 15:04:00 +0000 (17:04 +0200)]
Autoload `split-string-shell-command'

* lisp/shell.el (split-string-shell-command): Autoload.

3 years agoFix 'shell-tests-split-string' on MS-Windows
Eli Zaretskii [Thu, 15 Jul 2021 09:37:26 +0000 (12:37 +0300)]
Fix 'shell-tests-split-string' on MS-Windows

* test/lisp/shell-tests.el (shell-tests-split-string): Skip test
that always fails on MS-Windows/MS-DOS.

3 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Thu, 15 Jul 2021 09:23:50 +0000 (12:23 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

3 years agoImprove the `window-end' doc string
Lars Ingebrigtsen [Thu, 15 Jul 2021 09:22:52 +0000 (11:22 +0200)]
Improve the `window-end' doc string

* src/window.c (Fwindow_end): Be more explicit about what the
position is (bug#13429).

3 years ago; * etc/NEWS: Fix wording in a recent addition.
Eli Zaretskii [Thu, 15 Jul 2021 09:22:47 +0000 (12:22 +0300)]
; * etc/NEWS: Fix wording in a recent addition.

3 years ago; * lisp/gnus/message.el (message-signature-separator): Add :version.
Eli Zaretskii [Thu, 15 Jul 2021 09:22:27 +0000 (12:22 +0300)]
; * lisp/gnus/message.el (message-signature-separator): Add :version.

3 years agoMention more split-string-* functions in shortdoc
Lars Ingebrigtsen [Thu, 15 Jul 2021 08:37:11 +0000 (10:37 +0200)]
Mention more split-string-* functions in shortdoc

* lisp/emacs-lisp/shortdoc.el (string): Mention
split-string-and-unquote and split-string-shell-command.

3 years agoAllow using spaces in `inferior-lisp' command names
Lars Ingebrigtsen [Thu, 15 Jul 2021 08:33:22 +0000 (10:33 +0200)]
Allow using spaces in `inferior-lisp' command names

* lisp/progmodes/inf-lisp.el (inferior-lisp): Allow using spaces
in the command names (by splitting using shell syntax) (bug#16005).

3 years agoRename shell-split-string to split-string-shell-command
Lars Ingebrigtsen [Thu, 15 Jul 2021 08:29:04 +0000 (10:29 +0200)]
Rename shell-split-string to split-string-shell-command

* lisp/shell.el (split-string-shell-command):
* doc/lispref/processes.texi (Shell Arguments): Rename from
shell-split-string.

3 years agoAdd a new function 'shell-split-string'
Lars Ingebrigtsen [Thu, 15 Jul 2021 08:25:41 +0000 (10:25 +0200)]
Add a new function 'shell-split-string'

* doc/lispref/processes.texi (Shell Arguments): Document it.
* lisp/shell.el (shell-split-string): New function.

3 years agoClarify overriding-local-map doc string
Lars Ingebrigtsen [Thu, 15 Jul 2021 05:17:53 +0000 (07:17 +0200)]
Clarify overriding-local-map doc string

* src/keyboard.c (syms_of_keyboard): Clarify
`overriding-local-map' vs. text properties/overlays (bug#16312).

3 years agoPacify gcc -Woverflow more clearly
Paul Eggert [Wed, 14 Jul 2021 22:10:06 +0000 (17:10 -0500)]
Pacify gcc -Woverflow more clearly

* src/alloc.c (mark_maybe_pointer): Make it clearer that ANDing
with UINTPTR_MAX is intended.  Omit a now-unnecessary cast.

3 years agoPreserve backward compatibility in Tramp
Michael Albinus [Wed, 14 Jul 2021 16:36:14 +0000 (18:36 +0200)]
Preserve backward compatibility in Tramp

* lisp/net/tramp-crypt.el (tramp-crypt-handle-lock-file)
(tramp-crypt-handle-unlock-file): Preserve backward compatibility.

* lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Do not
create lock file twice.

* lisp/net/tramp.el (tramp-handle-make-lock-file-name): Move lock
file security check ...
(tramp-handle-lock-file): ... here.
(tramp-handle-unlock-file): Preserve backward compatibility.

* test/lisp/net/tramp-tests.el (lock-file-name-transforms)
(remote-file-name-inhibit-locks): Declare.
(tramp-allow-unsafe-temporary-files): Set to t.
(tramp-test37-make-auto-save-file-name)
(tramp-test38-find-backup-file-name): Move binding of
`tramp-allow-unsafe-temporary-files' up.
(tramp-test39-lock-file): Bind `tramp-allow-unsafe-temporary-files'.
Preserve backward compatibility.  Extend test.