1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-05 03:20:39 -08:00
Commit graph

148664 commits

Author SHA1 Message Date
Juri Linkov
dc471feee3 * doc/emacs/windows.texi (Change Window): Add pxref to (elisp)Deleting Windows
(Bug#47300)
2021-06-13 01:10:38 +03:00
Stefan Monnier
4c6554413d EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior
Change docs to advertize `slot-value` rather than `oref`.
Change the implementation of `:initform` to better match the CLOS semantics,
while preserving the EIEIO semantics, but warn when encountering cases
where the two diverge.
Demote the mostly unused special semantics of `oref-default`
on non-class allocated slots.

* doc/misc/eieio.texi (Quick Start): Use `slot-value`.
(Accessing Slots): Move `slot-value` before `oref`.
Fix paren-typo in example (reported by pillule <pillule@riseup.net>).
(Introspection): Remove mention of `class-slot-initarg`.

* lisp/transient.el (transient--parse-group, transient--parse-suffix):
Don't use `oref-default` to get the default value.
(transient-lisp-variable): Init forms are evaluated.

* lisp/emacs-lisp/eieio.el (defclass): Warn about inapplicable
`:initarg` and about uses of init forms that are ambiguous.
(oref): Don't advertize the deprecated use of initargs as slot names.
(oref-default): Don't advertize the deprecated case where it returns the
initform's value.
(initialize-instance): Use `macroexp-const-p`.
* lisp/emacs-lisp/eieio-core.el (eieio--unbound): Rename from
`eieio-unbound`.
(eieio--unbound-form): New var.
(eieio--slot-override): Use it.
(eieio-defclass-internal): Use it.  Change `init` so it should always
be evaluated.
(eieio--known-class-slot-names): New var.
(eieio--eval-default-p): Rename from `eieio-eval-default-p`.
(eieio--perform-slot-validation-for-default): Use `macroexp-const-p` to
decide whether to skip the test.
(eieio--add-new-slot): Register slot in `eieio--known-class-slot-names`
when applicable.
(eieio-oref-default, eieio-oset-default): Add warning for unknown slots
and slots not known to be allocated to the class.
(eieio-default-eval-maybe): Delete function.  Use just `eval` instead.
(eieio-declare-slots): Allow slots to specify their allocation class.

* lisp/cedet/srecode/insert.el (point): Declare the slot instead of
moving the class definition before the slot's first use.
(srecode-template-inserter-point, srecode-insert-fcn):
Use nil instead of unbound for the `point` slot.

* lisp/cedet/srecode/compile.el (srecode-template-inserter):
Declare the `key` slot that all children should have.

* lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar)
(eieio-speedbar-directory-button, eieio-speedbar-file-button):
* lisp/emacs-lisp/eieio-custom.el (eieio-widget-test-class):
* lisp/emacs-lisp/chart.el (chart-bar):
* lisp/cedet/semantic/ede-grammar.el (semantic-ede-proj-target-grammar):
* lisp/cedet/semantic/db.el (semanticdb-project-database):
* lisp/cedet/semantic/db-javascript.el (semanticdb-table-javascript)
(semanticdb-project-database-javascript):
* lisp/cedet/semantic/db-el.el (semanticdb-table-emacs-lisp)
(semanticdb-project-database-emacs-lisp):
* lisp/cedet/semantic/db-ebrowse.el (semanticdb-table-ebrowse)
(semanticdb-project-database-ebrowse):
* lisp/cedet/ede/proj.el (ede-proj-project):
* lisp/cedet/ede/proj-obj.el (ede-proj-target-makefile-objectcode):
* lisp/cedet/ede/generic.el (ede-generic-project):
* lisp/cedet/ede/config.el (ede-project-with-config):
* lisp/cedet/ede/base.el (ede-target, ede-project):
* lisp/auth-source.el (auth-source-backend): Init forms are evaluated,
so quote them accordingly.
2021-06-12 16:22:03 -04:00
Robert Pluim
0afab352e0 Make `window-system-for-display' work for ipv6, too
* lisp/term/x-win.el (display-format-alist): Also work for ipv6
(bug#42045).
2021-06-12 15:11:56 +02:00
Lars Ingebrigtsen
099c7a0c05 Clarify some browse-url doc strings
* lisp/net/browse-url.el (browse-url-of-file)
(browse-url-of-buffer, browse-url-of-region, browse-url)
(browse-url-at-point, browse-url-at-mouse): Clarify doc strings
(bug#42432).
2021-06-12 15:07:07 +02:00
Tassilo Horn
b425966b07 Use file-in-directory-p instead of obsolete dired-in-this-tree-p
* lisp/dired-aux.el (dired-rename-subdir,dired-rename-subdir-1)
(dired-insert-subdir,dired-insert-subdir-validate)
(dired-kill-tree,dired-tree-down): Use file-in-directory-p instead of
obsolete dired-in-this-tree-p.
2021-06-12 14:53:15 +02:00
Lars Ingebrigtsen
6b5a7136ca Fix double (recursive) load of fortran.el
* lisp/progmodes/fortran.el (fortran-menu): Move menu creation to
the end to avoid a recursive load (bug#43116).
2021-06-12 14:44:54 +02:00
Alex Bochannek
dd3094170a Mention nov-is-evil/nnvirtual combination in the Gnus manual
* doc/misc/gnus.texi (To From Newsgroups): Mention using separate
select methods for different values (bug#48801).
2021-06-12 14:09:05 +02:00
Matt Beshara
57950515ec Add ability to bring only the selected frame to the front (bug#48865)
Causes ‘ns-hide-emacs’ to layer the selected frame in front of every other
application’s windows, and give that frame keyboard focus, when called with
'activate-front.

* src/nsfns.m (Fns_hide_emacs): Allow activating only selected frame.
2021-06-12 10:10:51 +01:00
Stefan Monnier
e775ef2f57 * lisp/emacs-lisp/benchmark.el (benchmark-elapse): Tweak 2021-06-11 14:06:29 -04:00
Harald Jörg
87bd14ca8b ; perl-mode.el: Allow newline between quote-likes and delimiter
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Allow newline between a quote-like operator and its delimiter
(Bug#22355).

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-22355):
Test case for the fix.

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-22355.pl:
Test resource for a quote-like with newline before the delimiter.
2021-06-11 13:55:08 +02:00
Robert Pluim
56e21ab2e1 ; Improve delete-window-choose-selected documentation
* doc/lispref/windows.texi (Deleting Windows): Improve
delete-window-choose-selected documentation.
2021-06-11 11:31:36 +02:00
Martin Rudalics
00140ca6bf Rename/rewrite recently added option and function in window.el
* lisp/window.el (window-at-x-y): Rename from `window-at-pos'.
Fix doc-string.
(delete-window-choose-selected): Rename from
`delete-window-set-selected'.  Fix doc-string.
(delete-window): Adjust to above renaming.
* doc/emacs/windows.texi (Change Window): Mention new option
`delete-window-choose-selected'.
* etc/NEWS:
* doc/lispref/windows.texi (Deleting Windows): Follow up on
above renamings.
2021-06-11 09:55:02 +02:00
Eli Zaretskii
0088cf4f93 ; * etc/NEWS: Rephrase the entry about 'grep-find-template'. 2021-06-11 09:29:37 +03:00
Dmitry Gutov
86309efb4a Simplify vc-git-log-switches's usage; change default value to nil
* lisp/vc/vc-git.el (vc-git-log-switches):
Do not mention or allow the value 't' anymore
(https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00452.html).
(vc-git-print-log): Use 'vc-git-log-switches' directly.
2021-06-11 04:39:34 +03:00
Eli Zaretskii
af4cccb8d9 Support mercury in 'ctags' as well
The previous lack of support was due to incorrect calls to 'make_tag'
in 'mercury_pr', which caused 'pfnote' to refrain from adding Mercury
tags to the list of recorded tags.

* lib-src/etags.c (mercury_pr): Pass the correct NAME and NAMELEN
arguments to 'make_tag'.

* test/manual/etags/CTAGS.good: Adjust to the above change.
2021-06-10 16:57:03 +03:00
Eli Zaretskii
e27b531d5a Improve documentation of 'M-y'
* doc/emacs/killing.texi (Yanking): Mention that TTY frames can
also support yanking from the clipboard.
(Earlier Kills): Finalize the documentation of the new behavior
of the lone 'M-y'.  (Bug#48478)
2021-06-10 15:06:10 +03:00
Martin Rudalics
b3dd0ce75b Provide new option `delete-window-set-selected' (Bug#47300)
When `delete-window' deletes its frame's selected window, this new
option allows to choose another window as replacement.

* lisp/window.el (get-lru-window, get-mru-window)
(get-largest-window): New optional argument NO-OTHER.
(window-at-pos): New function.
(delete-window-set-selected): New option.
(delete-window): Handle `delete-window-set-selected'.
* src/window.c (Fdelete_window_internal): Set the selected
window of WINDOW's frame to the first window on that frame and
let `delete-window' choose a more suitable window instead.
* doc/lispref/windows.texi (Deleting Windows): Describe new
option `delete-window-set-selected'.
(Cyclic Window Ordering): Describe new NO-OTHER argument for
`get-lru-window', `get-mru-window' and `get-largest-window'.
* etc/NEWS: Mention `delete-window-set-selected' and the NO-OTHER
argument.
2021-06-10 09:14:21 +02:00
Harald Jörg
dd9385b404 ; perl-mode.el: Detect quote-like operator immediately after =>
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Detect a quotelike operator immediately after a fat comma "=>"
(Bug#25098)

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-25098):
Test case for the bug with code from the bug report.

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-25098.pl:
Resource file for the test.
2021-06-09 23:04:09 +02:00
Alan Third
ff65ea932c Remove pause on fullscreening in NS (bug#48406)
* src/nsterm.m (ns_make_frame_visible):
(ns_set_parent_frame):
([EmacsView windowWillEnterFullScreen:]):
([EmacsView windowDidEnterFullScreen:]):
([EmacsView windowWillExitFullScreen:]):
([EmacsView initFrameFromEmacs:]): Remove references to
in_fullscreen_transition.
([EmacsView toggleFullScreen:]): Remove calls to removed methods.
([EmacsView inFullScreenTransition]):
([EmacsView waitFullScreenTransition]): Remove Methods.
* src/nsterm.h (EmacsView): Remove defintions of removed methods, and
the in_fullscreen_transition variable.
2021-06-09 19:22:03 +01:00
Glenn Morris
5b68e7b488 * lib/Makefile.in (Makefile): Fix typo. 2021-06-09 09:51:45 -07:00
Alan Third
fb62846b68 Fix image filename encoding issues (bug#48902)
* src/image.c (image_find_image_fd): Don't return an encoded filename
string.
* src/nsfns.m: ([NSString stringWithLispString:]): Clarify usage
comment.
* src/nsimage.m ([EmacsImage allocInitFromFile:]): No need to encode
the filename when converting to NSString.
2021-06-09 12:54:58 +01:00
Michael Albinus
a63587c546 * etc/NEWS: New user option 'shell-has-auto-cd'. 2021-06-09 13:01:09 +02:00
Jason Kim
e67883bc2b Handle auto-cd in shell-mode
* lisp/shell.el (shell-has-auto-cd): New defcustom.
(shell-directory-tracker): Handle implicit "cd".

Copyright-paperwork-exempt: yes
2021-06-09 11:44:34 +02:00
Utkarsh Singh
4a1e97bea9 New user option for Git log switches
* lisp/vc/vc-git.el (vc-git-diff-switches): New defcustom.
(vc-git-print-log): Use it.

* etc/NEWS: Announce the new option.

Copyright-paperwork-exempt: yes
2021-06-09 02:25:47 +03:00
Harald Jörg
90f54aad5e ; perl-mode.el: Detect regexes immediately after "|&"
* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
Add "|&" to the list of characters after which a slash starts a
regular expression (Bug#23992).

* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-ppss):
Correct the docstring.
(cperl-test-bug-23992): New test for Bug#23992.
(cperl-test-bug-42168): Adapt inline comments to the current code.

* test/lisp/progmodes/cperl-mode-resources/cperl-bug-23992.pl:
Resource file with example code from the bug report.
2021-06-08 23:23:25 +02:00
Juri Linkov
9625e3026b * lisp/simple.el (yank-from-kill-ring): Add edited string to the kill-ring.
(Bug#48478)
2021-06-08 19:54:17 +03:00
Juri Linkov
15f4237303 Sync overlay code in minibuffer-message and set-minibuffer-message (bug#48669)
* lisp/minibuffer.el (minibuffer-message): Copy more overlay positioning code
from set-minibuffer-message.
(minibuffer--message-overlay-pos): Mention both minibuffer-message and
set-minibuffer-message in the docstring.
(set-minibuffer-message): Use 'cursor t' instead of 1.
2021-06-08 19:51:51 +03:00
Glenn Morris
bef3070ab8 Merge from origin/emacs-27
37f4457994 (origin/emacs-27) ; Fix typo in dynamic module functions d...
f7d4bbceee ; * src/composite.h: Improve comments for LGSTRING and LGL...
2021-06-08 07:50:36 -07:00
Glenn Morris
6456a67b5d ; Merge from origin/emacs-27
The following commit was skipped:

bef00aa137 (emacs-27) ; Auto-commit of loaddefs files.
2021-06-08 07:50:36 -07:00
Alex Bochannek
4888addd30 Change the Gnus default to use `#' to toggle the process mark
* doc/misc/gnus.texi (Marking Groups, Topic Commands):
(Setting Process Marks, Pick and Read): Document the new default.
* lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu.

* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu.

* lisp/gnus/gnus-topic.el (gnus-topic-make-menu-bar): Update menu.

* lisp/gnus/gnus.el (gnus-process-mark-toggle): Change default.
2021-06-08 13:34:24 +02:00
Stephen Gildea
0d42c92978 MH-E: do not look for MH variants in relative directories
* lisp/mh-e/mh-e.el (mh-variants): Do not examine relative directories
in exec-path (e.g., "."); these won't have MH installed.  Also,
file-chase-links is not robust with relative names: you cannot pass it
a relative name that is a symlink.
2021-06-07 21:47:24 -07:00
Stefan Kangas
19ef864084 Fix an example in ERC docs
* doc/misc/erc.texi (Connecting):
* lisp/erc/erc.el (erc, erc-tls): Fix example to use J. Random Hacker
instead of Harry S. Truman.
2021-06-08 02:00:29 +02:00
Stefan Kangas
27366fffbb * doc/man/emacs.1.in: Minor fixes. 2021-06-08 02:00:29 +02:00
Alan Third
f7d98dbba0 Revert "src/nsterm.m: fix window tabbing on macOS"
This reverts commit 2207f9adcc.
2021-06-07 23:16:15 +01:00
Michael Albinus
fcc827619f Improve support of remote files in browse-url.el
* etc/NEWS: Mention support of remote file browsing.

* lisp/net/browse-url.el (browse-url-of-buffer): Revert last change.
(browse-url-of-file): Use temporary file in case of remote file.
(Bug#48397)
2021-06-07 20:41:30 +02:00
Michael Albinus
89f91e502e ; Fix typos in etc/NEWS 2021-06-07 20:36:57 +02:00
Eli Zaretskii
17aced49a8 Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2021-06-07 15:03:56 +03:00
Dmitry Gutov
722064022c Fix rgrep abbreviation
* lisp/progmodes/grep.el (grep-mode-font-lock-keywords):
Update for the last change in grep-find-template (bug#48471).
2021-06-07 15:03:21 +03:00
Eli Zaretskii
69a65212a2 * src/xdisp.c (Fwindow_text_pixel_size): Plug memory leak. (Bug#48884) 2021-06-07 15:03:06 +03:00
Michael Albinus
c8d4af8637 Support remote file names in `browse-url-of-buffer'
* lisp/net/browse-url.el (browse-url-of-buffer): Use temporary
file in case of remote `file-name'.  (Bug#48397)
2021-06-07 13:45:38 +02:00
Dmitry Gutov
82ccc3afcf ; Mention the previous change in NEWS 2021-06-07 05:01:19 +03:00
Dmitry Gutov
45bdc37c81 Support old BSD find and "root dir symlink" better
* lisp/progmodes/grep.el (grep-compute-defaults):
Add '-H' to grep-find-template (bug#48471).

* lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search):
Pass the root directory name without the trailing slash.

* lisp/progmodes/xref.el (xref-matches-in-directory): Ditto.

* test/lisp/progmodes/xref-tests.el (xref--xref-file-name-display-is-abs)
(xref--xref-file-name-display-is-relative-to-project-root):
Make tests more strict again.
2021-06-07 04:52:30 +03:00
Dmitry Gutov
6329e70460 completion-pcm--hilit-commonality: Reuse the match-data cons cells
* lisp/minibuffer.el (completion-pcm--hilit-commonality): Reuse
the match-data cons cells for better performance (bug#48841).
2021-06-07 00:57:50 +03:00
Eli Zaretskii
fc37483617 Fix a problem with restarting 'tags-search'
* lisp/progmodes/etags.el (tags-search, tags-query-replace): Link
to 'fileloop-continue' instead of 'tags-loop-continue', for
continuing TAGS-based search/replace commands.

* lisp/fileloop.el (fileloop-continue): Reset
'switch-to-buffer-preserve-window-point' to nil when switching to
another buffer, so as to make sure a new search always restarts
from point-min in each buffer it searches.  (Bug#48628)
2021-06-06 15:29:18 +03:00
Lars Ingebrigtsen
0f9d8c9381 Clarify boolean widget prompt
* lisp/wid-edit.el (widget-boolean-prompt-value): Clarify prompt
(bug#43593).
2021-06-06 13:21:25 +02:00
Lars Ingebrigtsen
929adad22b Clarify file reversion prompt
* lisp/files.el (revert-buffer--default): Clarify prompt when the
buffer is modified (bug#43884).
2021-06-06 13:04:12 +02:00
Lars Ingebrigtsen
3c2db0c541 Make so-long' restore view-mode'
* lisp/so-long.el (so-long): Make the `v' command in Dired work
more reliably (bug#45084).
2021-06-06 12:33:21 +02:00
Sebastian Urban
f3498109be Minor copyedits in the Emacs user manual
* doc/emacs/fixit.texi (Spelling): Move TeX hyphenation directives
from here...
* doc/emacs/docstyle.texi: ...to here.
* doc/emacs/display.texi (Displaying Boundaries, Text Display):
Minor stylistic changes.  (Bug#48654)

Copyright-paperwork-exempt: yes
2021-06-06 12:58:40 +03:00
Eli Zaretskii
6ef5760b10 Minor fixes for last change
* test/manual/etags/ETAGS.good_1:
* test/manual/etags/ETAGS.good_2:
* test/manual/etags/ETAGS.good_3:
* test/manual/etags/ETAGS.good_4:
* test/manual/etags/ETAGS.good_5:
* test/manual/etags/ETAGS.good_6: Adapt to added Mercury support.

* lib-src/etags.c (find_entries, test_objc_is_mercury):
* etc/NEWS: Fix punctuation and typos in last change.
2021-06-06 12:44:49 +03:00
Fabrice Nicol
5a8a5a990a Add support for Mercury (https://mercurylang.org) in 'etags'
Tag declarations starting lines with ':-'.
By default, all declarations are tagged.  Optionally, first
predicate or functions in clauses can be tagged as in Prolog
support using '--declarations'.  (Bug#47408).
* lib-src/etags.c (test_objc_is_mercury, Mercury_functions)
(mercury_skip_comment,  mercury_decl, mercury_pr):
Implement Mercury support.  As Mercury and Objective-C have
the same file extension .m, a heuristic test tries to detect
the language.

* doc/man/etags.1: Document the change.  Add Mercury-specific
 behavior for '--declarations'.  This option tags first
predicates or functions in clauses in addition to declarations.
2021-06-06 12:29:29 +03:00