1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-03 14:10:47 -08:00
Commit graph

140606 commits

Author SHA1 Message Date
Stefan Monnier
299744e083 * lisp/vc/smerge-mode.el (smerge-start-session): Don't re-enable
Don't do anything if smerge-mode is already enabled.
2020-03-18 10:20:13 -04:00
Mattias Engdegård
f189e5dc10 Don't generate useless range table entries for ASCII chars
In multibyte regexps, each ASCII char or range in a character
alternative produces a nonsense range table entry in addition to the
correct bits in the ASCII bitmap.  Those entries do not match anything
but waste space and time.

* src/regex-emacs.c (regex_compile): Don't generate reversed intervals.
2020-03-17 17:22:02 +01:00
Yuan Fu
9dccaf8a5c Add store/restore window configuration feature for gdb-mi
Add a feature that allows a user to save a gdb window
configuration (window layout) to a file with
'gdb-save-window-configuration' and load it back with
'gdb-load-window-configuration'.  Set a default window configuration
by setting 'gdb-default-window-configuration-file'.
Add an option to make gdb preserve the window configuration
that the user had before starting gdb.  In window.el, add
'with-window-non-dedicated'.

* lisp/progmodes/gdb-mi.el (top/level): Require 'pcase' and 'cl-seq'.
(gdb--window-configuration-before): New variable.
(gdb-restore-window-configuration-after-quit): New option.
(gdb-window-configuration-directory,
gdb-default-window-configuration-file): New variables.
(gdb): Save configuration on startup.
(gud-menu-map): Add "Load Layout" and "Save Layout" to menu.  Add
"Restore Layout After Quit" button to menu.  Rename "Restore Window
Layout" to "Restore Default Layout", add some help echo, and move it
from "GDB-MI" menu to "GDB-WINDOWs" menu.
(gdb-toggle-restore-window-configuration): New function.
(gdb-get-source-buffer): New function, extracted out of
'gdb-restore-window'.
(gdb-setup-windows): Add a condition branch that loads default window
configuration when available.  Fix docstring.
(gdb-buffer-p, gdb-function-buffer-p, gdb--buffer-type,
gdb-save-window-configuration, gdb-load-window-configuration): New
functions.
(gdb-restore-windows): Edit docstring to mention
'gdb-default-window-configuration-file'.
(gdb-reset): Restore window configuration after quit.
* lisp/window.el (with-window-non-dedicated): New macro.
2020-03-15 16:47:43 +01:00
Eli Zaretskii
ff862f55f4 Reverse the meaning of 2nd arg to 'live_buffer_holding'
* src/alloc.c (live_buffer_holding): Rename ALL_BUFFERS ti
IGNORE_KILLED, and reverse the condition for returning killed
buffers.
(live_buffer_p): Add commentary.
(live_buffer_p, mark_maybe_object, mark_maybe_pointer): Reverse
the 2nd argument to live_buffer_holding.  (Bug#39962)
2020-03-15 16:47:54 +02:00
Pip Cet
afaf2f4651 Make sure we mark reachable killed buffers during GC
* src/alloc.c (live_buffer_holding): Add ALL_BUFFERS argument for
returning killed buffers.
(mark_maybe_object, mark_maybe_pointer): Use the additional
argument.  (Bug#39962)
2020-03-15 16:35:07 +02:00
Stefan Monnier
b39b564725 * lisp/progmodes/sql.el: Try and avoid eval; use define-derived-mode
Remove redundant `:group` args.

(sql-interactive-mode-map): `set-keymap-parent` is always fboundp.
(sql-get-product-feature): Prefer `symbol-value` over `eval`.
(sql--adjust-interactive-setup): New function, extracted from
`sql-interactive-mode`.
(sql-interactive-mode): Use it and `define-derived-mode`.
(sql-connect, sql-connection-menu-filter): Prefer `cl-progv` over `eval`.
2020-03-14 15:39:31 -04:00
Stefan Monnier
e2a15c8ac4 * lisp/textmodes/conf-mode.el (conf-mode): Use define-derived-mode
(conf--guess-mode): Extract from conf-mode.
(defcustoms): Remove redundant `:group` args.
(conf-mode, conf-mode-initialize, conf-javaprop-mode)
(conf-space-mode, conf-space-keywords, conf-space-mode-internal)
(conf-colon-mode): Use `setq-local`.
2020-03-14 15:16:51 -04:00
Stefan Monnier
f9685f9847 * lisp/emacs-lisp/package.el (package-activate-1): Avoid duplicates
in `Info-directory-list`.
2020-03-14 14:59:45 -04:00
Alan Mackenzie
1de9e0f368 * lisp/progmodes/cc-defs.el (c-version): update to 5.34.2 for master branch 2020-03-14 12:27:20 +00:00
Jeremy Compostella
3c443e990f Make previous mml-expand-html-into-multipart-related fix more general
* lisp/gnus/mml.el (mml-expand-html-into-multipart-related): This is
function is now called by a recursive
engine (mml-expand-all-html-into-multipart-related).  The structure of
the returned value should be identical between an untouched part and a
expanded multipart (bug#39230).
2020-03-14 12:45:03 +01:00
Eli Zaretskii
ff1e71c59a Add charsets to 'w32-charset-info-alist'
* lisp/w32-fns.el: Add a few more charsets to
w32-charset-info-alist.
2020-03-14 12:01:21 +02:00
Mattias Engdegård
7195ea7532 Avoid regexp stack overflow in GDB string matching (bug#22149)
* lisp/progmodes/gdb-mi.el (gdb--string-regexp):
Swap the or-clauses so that the rarely matching one comes first.
This avoids a build-up of backtrack points on the regexp stack.
2020-03-14 09:32:29 +01:00
Glenn Morris
6bdb561a3b Merge from origin/emacs-27
a2b07f9f11 (origin/emacs-27) ; * etc/NEWS: Explain how to get back ol...
b468b3d1ff Fix a recent documentation change
1ab766fd58 Fix last change
ecfe633993 * lisp/tab-bar.el: Last-minute changes.
c1ce9fa7f2 * lisp/subr.el (cancel-change-group): Fix bug#39680
ef5744a988 Improve docs for horizontal scrolling with mouse and touch...
1bc3fa0bd0 * lisp/emacs-lisp/package.el (package-install): Fix typo i...
4537976afd Port .gdbinit to clang with -gdwarf-4
0883c800a0 Simplify rx example in manual
a695189248 ; * etc/NEWS: Fix typo.

# Conflicts:
#	etc/NEWS
2020-03-13 07:50:33 -07:00
Eli Zaretskii
a2b07f9f11 ; * etc/NEWS: Explain how to get back old behavior with --eval. 2020-03-13 12:32:52 +02:00
Eli Zaretskii
b468b3d1ff Fix a recent documentation change
* doc/emacs/frames.texi (Mouse Commands): More detailed
description of how tilting the mouse-wheel works.

* lisp/mwheel.el (mouse-wheel-tilt-scroll)
(mouse-wheel-flip-direction): Fix the wording of doc strings.
(Bug#39979)
2020-03-13 12:24:25 +02:00
Michael Albinus
099520ec95 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2020-03-13 10:55:27 +01:00
Michael Albinus
f7e313956a * lisp/net/tramp.el (tramp-accept-process-output): Propagate `quit' signal. 2020-03-13 10:54:56 +01:00
Pieter van Oostrum
caed687626 * lisp/emacs-lisp/package.el (package-menu--generate): Fix doc string.
Add REMEMBER-POS to docstring (bug#39861).
2020-03-13 11:50:33 +02:00
Eli Zaretskii
1ab766fd58 Fix last change
* lisp/tab-bar.el (tab-bar-new-button-show): Fix wording of the
doc string.
2020-03-13 09:46:47 +02:00
Noam Postavsky
402b175f35 Make cl-equalp a bit more efficient at comparing strings
* lisp/emacs-lisp/cl-extra.el (cl-equalp): Use compare-strings with
the IGNORE-CASE argument, rather than creating downcased copies of the
strings to be compared.
2020-03-12 21:07:56 -04:00
Noam Postavsky
3758ff0f3a rcirc: Match NickServ messages case-insensitively (Bug#39345)
Reported by Jake Nelson <jake.nelson@gmail.com>.
* lisp/net/rcirc.el (rcirc-check-auth-status): NickServ will response
will show the nick in the same case used during registration, but
it allows case-insensitive matches when logging in.  Therefore, we
should accept response messages regardless of case.
2020-03-12 21:06:28 -04:00
Juri Linkov
ecfe633993 * lisp/tab-bar.el: Last-minute changes.
* lisp/tab-bar.el (tab-bar-mode): Check for non-nil
tab-bar-new-button and tab-bar-close-button.
(tab-bar-new-button-show): New defcustom.
(tab-bar-make-keymap-1): Check for tab-bar-new-button-show.
(tab-bar-separator): Add docstring.
2020-03-13 02:10:55 +02:00
Andrii Kolomoiets
bbc48b2634 Fix NS child frame in native fullscreen (bug#36672)
* lisp/frame.el (toggle-frame-fullscreen): Don't sleep on cocoa.
Fullscreen animation waiting is moved to src/nsterm.m.
* src/nsterm.h (EmacsView): Add in_fullscreen_transition,
inFullScreenTransition, waitFullScreenTransition.
(NSWindowCollectionBehaviorFullScreenAuxiliary): New define.
* src/nsterm.m (ns_make_frame_visible): Wait for fullscreen animation.
(ns_set_parent_frame): Set frame collection behavior; make child frames
non-fullscreen; make non-child frames fullscreen if parent was fullscreen.
([EmacsView initFrameFromEmacs]): Set in_fullscreen_transition; set frame
collection behavior according to parent frame.
([EmacsView windowDidMove]): Remove code by commenting with "fixme".
([EmacsView windowWillEnterFullScreen], [EmacsView windowDidEnterFullScreen])
([EmacsView windowWillExitFullScreen], [EmacsView windowDidExitFullScreen]):
Set in_fullscreen_transition.
([EmacsView inFullScreenTransition], [EmacsView waitFullScreenTransition]):
New methods.
([EmacsView updateCollectionBehavior]): Set collection behavior according to
parent frame.
([EmacsView toggleFullScreen]): Wait for fullscreen animation.
2020-03-12 23:16:41 +00:00
Stefan Monnier
3db5a51384 * lisp/emacs-lisp/eldoc.el: Remove redundant :group arguments 2020-03-12 18:21:19 -04:00
Stefan Monnier
2d221c8d87 * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): Understand the "old" API 2020-03-12 11:18:07 -04:00
Stefan Monnier
f253ff7b78 * lisp/subr.el (cancel-change-group): Undo accidental change 2020-03-12 10:03:14 -04:00
Stefan Monnier
c1ce9fa7f2 * lisp/subr.el (cancel-change-group): Fix bug#39680
Don't re-use an existing `pending-undo-list` even if (eq last-command 'undo)
since there might have been changes to the buffer since that `undo` command
and the `pending-undo-list` can hence be invalid for the current
buffer contents.
2020-03-12 10:01:54 -04:00
Michael Albinus
4c3c175a63 * lisp/net/tramp-sh.el (tramp-find-shell): Skip for asynchronous processes. 2020-03-12 11:44:38 +01:00
İ. Göktuğ Kayaalp
ef5744a988 Improve docs for horizontal scrolling with mouse and touchpad (Bug#39979)
* lisp/mwheel.el (mouse-wheel-tilt-scroll,
mouse-wheel-flip-direction): Improve docstrings.
* doc/emacs/frames.texi (Mouse Commands): Mention touchpads.
2020-03-11 19:48:47 -04:00
Stefan Kangas
16ec5f5f2f Remove XEmacs exclusive face from themes
* etc/themes/deeper-blue-theme.el (class):
* etc/themes/leuven-theme.el (class):
* etc/themes/manoj-dark-theme.el (manoj-dark):
* etc/themes/whiteboard-theme.el (class): Don't set XEmacs exclusive
face 'font-lock-doc-string-face'.
2020-03-11 02:57:27 +01:00
Stefan Kangas
e003e90c41 Remove more XEmacs compat code from eshell
* lisp/eshell/em-glob.el (eshell-extended-glob):
* lisp/eshell/em-ls.el (eshell-do-ls):
* lisp/eshell/em-unix.el (eshell/du, eshell-mvcpln-template):
* lisp/eshell/esh-util.el (eshell-file-attributes): Remove more XEmacs
compat code; no longer let-bind the unused variable ange-cache.
2020-03-11 02:22:04 +01:00
Stefan Monnier
0d6c51320d * lisp/emacs-lisp/cl-macs.el: More care with eval and with cl-typep
(cl-eval-when, cl--compile-time-too, cl-load-time-value):
Obey lexical-binding.
(cl-check-type): Prefer the predicate rather than the type in the
error signal when it's easy to do (as is done outside of CL).
(cl-deftype-satisfies): Add definitions for standard types.
2020-03-10 18:23:41 -04:00
Stefan Monnier
efe85a5b60 * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Simplify result
It used to return a pair (EXP . LAMBDA-CDR) but EXP was always nil, so
just return the LAMBDA-CDR instead.

(cl-defun, cl-iter-defun, cl-defmacro, cl-function, cl-macrolet):
Adjust callers accordingly.
2020-03-10 18:08:54 -04:00
Stefan Monnier
9900b145f9 * lisp/window.el: Avoid called-interactively-p.
(other-window, delete-other-windows, next-buffer, previous-buffer):
Use an `interactive` arg instead.
2020-03-10 12:12:06 -04:00
Stefan Monnier
317065c103 * lisp/ido.el: Remove redundant :groups 2020-03-10 12:03:11 -04:00
Stefan Monnier
297d3d2e0e * lisp/subr.el (dlet): New macro
* lisp/calendar/calendar.el (calendar-dlet*): Use it.
2020-03-10 12:00:51 -04:00
Juri Linkov
1bc3fa0bd0 * lisp/emacs-lisp/package.el (package-install): Fix typo in docstring. 2020-03-10 01:41:15 +02:00
Juri Linkov
a98c8f5a09 Improve new-frame logic of windmove-display-in-direction (bug#39875)
* lisp/windmove.el (windmove-display-in-direction):
For frame-based logic use code similar to display-buffer-pop-up-frame.
2020-03-10 01:39:05 +02:00
Juri Linkov
199acd6270 In vc-print-branch-log use root instead of the default directory (bug#39704)
* lisp/vc/vc.el (vc-print-branch-log): Use rootdir instead of
default-directory for the second arg of vc-print-log-internal.
2020-03-10 01:34:25 +02:00
Paul Eggert
4537976afd Port .gdbinit to clang with -gdwarf-4
* src/.gdbinit (xgetsym): Port to clang with -gdwarf-4, which
doesn’t output the type of lispsym anywhere other than emacs.o
(Bug#39962).
2020-03-09 12:25:56 -07:00
Michael Albinus
a1e2a68470 Finish implementation of set-file-times FLAG arg in Tramp
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
Implement FLAG.
(tramp-adb-handle-copy-file): Adapt `set-file-times' call.

* lisp/net/tramp-compat.el (tramp-compat-set-file-times): New defalias.

* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-set-file-modes)
(tramp-gvfs-handle-set-file-times, tramp-gvfs-set-file-uid-gid):
Simplify `tramp-gvfs-url-file-name' call.

* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times): Implement FLAG.
(tramp-do-copy-or-rename-file-via-buffer)
(tramp-do-copy-or-rename-file-out-of-band): Add optional argument
OK-IF-ALREADY-EXISTS.  Adapt callees.
(tramp-do-copy-or-rename-file-via-buffer)
(tramp-do-copy-or-rename-file-directly)
(tramp-do-copy-or-rename-file-out-of-band): Adapt `set-file-times' call.

* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-copy-file): Adapt `set-file-times' call.

* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
Adapt `set-file-times' call.
(tramp-sudoedit-handle-set-file-times): Implement FLAG.

* test/lisp/net/tramp-tests.el (tramp-test22-file-times): Extend test.
2020-03-09 16:05:21 +01:00
Mattias Engdegård
0883c800a0 Simplify rx example in manual
* doc/lispref/searching.texi (Rx Notation):
Use the 'not' shorthand introduced in Emacs 27.
2020-03-09 16:00:18 +01:00
Michael Albinus
a695189248 ; * etc/NEWS: Fix typo. 2020-03-09 15:49:05 +01:00
Paul Eggert
a461baae79 Merge from origin/emacs-27
cf223dc928 ; * src/timefns.c: Fix typo in previous change.
20d3d3a950 * src/timefns.c: Add comments.
2020-03-08 16:57:41 -07:00
Paul Eggert
cf223dc928 ; * src/timefns.c: Fix typo in previous change. 2020-03-08 16:49:32 -07:00
Paul Eggert
20d3d3a950 * src/timefns.c: Add comments. 2020-03-08 16:44:49 -07:00
Daniel Gröber
d00df0aaf9 * lisp/term/rxvt.el: Enable backeted paste and window title
rxvt-unicode uses the same escape sequences as xterm so just re-use
the xterm functions to enable them.  The `xterm-rxvt-function-map`
keymap already has

    (define-key map "\e[200~" [xterm-paste])

so we're already handling the paste sequence and only need to enable it.
Tested on rxvt-unicode version 9.22.

(rxvt-set-window-title): New var.
(terminal-init-rxvt): Use it; enable bracketed paste mode;
run terminal-init-rxvt-hook.
2020-03-08 14:07:04 -04:00
Alan Mackenzie
35a13fca32 CC Mode: allow specified directives (e.g. pragma) to be indented as statements
* lisp/progmodes/cc-cmds.el (c-align-cpp-indent-to-body)
(c-cpp-indent-to-body-flag, c-electric-pragma)
(c-add-indent-to-body-to-abbrev-table, c-clear-stale-indent-to-body-abbrevs)
(c-toggle-cpp-indent-to-body): New functions and variables.

* lisp/progmodes/cc-langs.el (c-std-abbrev-keywords): New lang const/var.

* lisp/progmodes/cc-mode.el (c-populate-abbrev-table): New function.
(c-basic-common-init): call the c-populate-abbrev-table.
(c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode):
Remove the setting of MODE-abbrev-table.

* lisp/progmodes/cc-vars.el (c-cpp-indent-to-body-directives): New defcustom.

* doc/misc/cc-mode.texi (Custom Macros): Introduce and refer to ....
(Indenting Directives): New page documenting the new mechanism.
2020-03-08 16:21:15 +00:00
Eli Zaretskii
66bc47d12a Fix the MinGW build as followup to recent "nofollow" changes
* src/w32.c (fdutimens): Call utimensat instead of utime.
(set_file_times): Function deleted.
(convert_from_timespec): Renamed from convert_from_time_t and
modified to accept 'struct timespec' argument instead of 'time_t'.
(utimensat): Renamed from utime and modified to accept 'struct
timespec [2]' argument and an additional argument FLAG.  Emulate
Posix 'utimensat'.  Call 'convert_from_timespec'.
(w32_copy_file): Call 'utimensat' instead of 'set_file_times'.
* src/fileio.c (Fcopy_file) [WINDOWSNT]: Make the error message be
identical to that on Posix platforms.

* nt/inc/sys/stat.h (utimensat): Provide prototype.
* nt/mingw-cfg.site (ac_cv_func_futimens)
(gl_cv_func_futimens_works, ac_cv_func_utimensat)
(gl_cv_func_utimensat_works): Override Gnulib tests.
* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_futimens)
(OMIT_GNULIB_MODULE_utimensat): Disable these Gnulib modules.
2020-03-08 17:00:10 +02:00
Paul Eggert
0a3f8da6e1 Simplify run-at-time
* lisp/emacs-lisp/timer.el (run-at-time):
Remove unnecessary test (Bug#39944).
2020-03-08 00:25:38 -08:00