1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 08:43:40 -07:00
Commit graph

73446 commits

Author SHA1 Message Date
Paul Eggert
c63e7f1bf6 Remove no-longer-needed integer overflow code
* lisp/calculator.el (calculator-number-to-string):
Use truncate, not calculator-truncate, since integer
overflow cannot occur here.
* lisp/calendar/cal-persia.el (calendar-persian-year-from-absolute):
* lisp/gnus/gnus-agent.el (gnus-agent-read-article-number):
* lisp/gnus/nnmaildir.el (nnmaildir--group-maxnum)
(nnmaildir--new-number):
* lisp/scroll-bar.el (scroll-bar-scale):
* lisp/simple.el (beginning-of-buffer, end-of-buffer):
Simplify, now that integer overflow cannot occur.
2019-07-22 16:36:50 -07:00
Eric Abrahamsen
b904a238a5 Adjust regexp for parsing IMAP header response
* lisp/gnus/nnimap.el (nnimap-transform-headers): The first header
might have no value, or a continuation header might start with a
newline.
2019-07-22 12:50:33 -07:00
Stefan Monnier
33ed571808 * lisp/progmodes/opascal.el: Tweak code to ease edebugging
(opascal-strings): Inline in its sole use.
(opascal-save-excursion): Add Edebug spec.
(opascal-is): Remove.  Use `memq` directly instead.
(opascal--in): New pcase pattern.
(opascal-literal-end-pattern): Remove unused function.
(opascal--scan-non-whitespace-backward): New macro.
(opascal-block-start, opascal-else-start, opascal-is-use-clause-end)
(opascal-previous-indent-of, opascal-section-indent-of)
(opascal-enclosing-indent-of): Use it.
(opascal-corrected-indentation): Presume we're already at first token.
(opascal-indent-line): Use indent-line-to.
(opascal-new-comment-line): Declare obsolete.
(opascal-mode-map): Keep the default M-j binding instead.
2019-07-22 15:41:17 -04:00
Eric Abrahamsen
3f571bdd68 Fix case of IMAP Noselect flag
* lisp/gnus/nnimap.el (nnimap-get-groups): We should be looking for
%Noselect, not %NoSelect.
2019-07-22 10:57:09 -07:00
Mattias Engdegård
7e294d55e1 Remove some obsolete integer overflow handling
* lisp/subr.el (number-sequence):
* lisp/org/org-gnus.el (org-gnus-follow-link):
* lisp/ls-lisp.el (ls-lisp-insert-directory):
Remove dead code guarding against integer overflow.
2019-07-22 19:26:21 +02:00
Stefan Monnier
87ad8a1143 * lisp/progmodes/opascal.el: Allow inline var decl in for (bug#36348)
(opascal-enclosing-indent-of): Ignore decls "neutered" by delimiter.
2019-07-22 13:10:35 -04:00
Michael Albinus
7f95d2d407 Support history files in remote shells (Bug#36742)
* doc/emacs/misc.texi (Shell Ring): Mention history file for
remote shells.

* lisp/shell.el (shell--start-prog): New buffer-local variable.
(shell): Set it.
(shell-mode): Handle history file for remote shells. (Bug#36742)
2019-07-22 13:04:14 +02:00
Martin Rudalics
8e0ebb9a3c Handle persistence of windows' scroll bar and fringes settings (Bug#36193)
* doc/lispref/display.texi (Fringe Size/Pos): Document new
argument PERSISTENT of 'set-window-fringes'.
(Scroll Bars): Document new argument PERSISTENT of
'set-window-scroll-bars'.  Mention that HORIZONTAL-TYPE must
be 'bottom' to show a horizontal scroll bar on mini windows.
* lisp/window.el (window-min-pixel-height): For mini windows the
minimum height is one line.
(window--min-size-1): Use value returned by
'window-min-pixel-height' when dealing with mini windows.
(window--resize-mini-window): Try to handle horizontal scroll
bars and size restrictions more accurately.
(window--state-put-2): Handle persistence of scroll bar
settings.
* src/frame.c (make_frame): Allow horizontal scroll bars in
mini windows.
(adjust_frame_size): Drop PIXELWISE argument in
'resize_frame_windows' calls.
* src/window.c (set_window_buffer): Don't override WINDOW's
scroll bar and fringe settings when marked as persistent.
(resize_frame_windows): Drop fourth argument PIXELWISE - SIZE
is always specified in terms of pixels.  Try to handle height
of mini windows more accurately.
(grow_mini_window, shrink_mini_window): Use body height of
mini window when calculating expected height change.  Take
horizontal scroll bars into account.
(struct saved_window): Two new members to handle persistence
of window fringes and scroll bars.
(Fset_window_configuration, save_window_save): Handle
persistence of fringes and scroll bars.
(set_window_fringes, set_window_scroll_bars): New arguments
PERSISTENT.  Make dimension checks more accurate.
(Fset_window_fringes): New argument PERSISTENT.
(Fwindow_fringes, Fwindow_scroll_bars): Add PERSISTENT to
return values.
(Fset_window_scroll_bars): New argument PERSISTENT.  In
doc-string mention that 'bottom' must be specified to get a
horizontal scroll bar in mini windows.
(compare_window_configurations): Add checks for persistence of
fringes and scroll bars.
* src/window.h (struct window): New boolean slots
'fringes_persistent' and 'scroll_bars_persistent'.
(WINDOW_HAS_HORIZONTAL_SCROLL_BAR): Allow horizontal scroll bars
for mini windows.
(resize_frame_windows): Remove fourth argument of
'resize_frame_windows' in external declaration.
* src/xdisp.c (resize_mini_window): Use box text height to
tell whether mini window height changed.
(set_horizontal_scroll_bar): Set mini window's horizontal
scroll bar when its type is specified as 'bottom'.
* etc/NEWS: Mention new options for 'set-window-fringes' and
'set-window-scroll-bars'.
2019-07-22 09:19:18 +02:00
Alan Mackenzie
5ccaee4bbc Implement C++ Mode attributes. This fixes bug #36650.
* lisp/progmodes/cc-engine.el (c-looking-at-c++-attribute)
(c-enclosing-c++-attribute, c-slow-enclosing-c++-attribute): New macro and
functions.
(c-crosses-statement-barrier-p): Add [ into skip-chars for C++ Mode, and use
it to detect and skip over an attribute whilst scanning forward.
(c-sws-lit-type): Use the new value 'attribute.
(c-invalidate-sws-region-before): Put a save-match-data around this function.
Detect and handle an enclosing attribute at either END or BEG.
(c-invalidate-sws-region-after): Handle C++ attributes.
(c-forward-sws, c-backward-sws): Handle C++ attributes.

* lisp/progmodes/cc-mode.el (c-fl-decl-end): Detect and handle point being
inside a C++ attribute.
2019-07-21 21:08:03 +00:00
Lars Ingebrigtsen
51f5c19431 Make the unflag-p parameter in dired-mark-unmarked-files work
* lisp/dired-x.el (dired-mark-unmarked-files): Make the unflag-p
parameter work (bug#27465).
2019-07-21 17:40:51 +02:00
Lars Ingebrigtsen
76d0ca983b Fill footnotes better on `M-q'
* lisp/mail/footnote.el (footnote--fill-paragraph): New function
(bug#27775).
(footnote-mode): Use it.
2019-07-21 16:43:11 +02:00
Gemini Lasswell
0c48c0d0b2 Fix inline-quote Edebug spec
* lisp/emacs-lisp/inline.el (inline-quote): Fix the edebug spec
(bug#31051).
2019-07-21 15:40:48 +02:00
Noam Postavsky
6490269bec Merge from emacs-26
150bdfe43a Handle completely undecoded input in term (Bug#29918)
021f32cca1 * doc/misc/forms.texi (Control File Format): Fix a doc error.
76538d09b7 Fix typo in package-alist docstring
b2fde4b5e8 * doc/lispref/text.texi (Mode-Specific Indent): Fix a typo...
7e62778548 ; Another minor change in 'bidi-display-reordering's doc s...
4455ddbe56 Improve doc string of 'bidi-display-reordering'
34ee26dd93 Add warning to bidi-display-reordering doc string

# Conflicts:
#	lisp/term.el
#	test/lisp/term-tests.el
2019-07-20 22:02:36 -04:00
Noam Postavsky
150bdfe43a Handle completely undecoded input in term (Bug#29918)
* lisp/term.el (term-emulate-terminal): Avoid errors if the whole
decoded string is eight-bit characters.  Don't attempt to save the
string for next iteration in that case.
* test/lisp/term-tests.el (term-decode-partial)
(term-undecodable-input): New tests.
2019-07-20 21:35:21 -04:00
Basil L. Contovounesios
f02b9e9a6f Use lexical-binding in compface.el
* lisp/image/compface.el: Use lexical-binding.  Extend Keywords
header.
(uncompface): Call call-process-region directly.
2019-07-21 02:16:09 +01:00
Oleh Krehel
45fc6f203e * lisp/files.el (file-size-function): Add :version tag 2019-07-20 19:31:07 +02:00
Stefan Monnier
625b23fc6f * lisp/progmodes/octave.el (matchedrules): Add spmd...end (bug#36703) 2019-07-20 12:05:07 -04:00
Basil L. Contovounesios
a1b49f3bff Fix last change to format-spec
* doc/lispref/text.texi (Interpolated Strings): Use @result and fix
typos.
* lisp/format-spec.el: Avoid loading subr-x at runtime.
(format-spec--parse-modifiers): Optimize slightly.
2019-07-20 16:46:04 +01:00
Basil L. Contovounesios
b728620a75 Allow counter-clockwise rotations in image-rotate
* lisp/image.el (image-rotate): Extend with an optional argument
specifying the rotation in degrees (bug#35421).
* doc/lispref/display.texi (Showing Images):
* etc/NEWS: Document the change.
* test/lisp/image-tests.el (image-rotate): New test.
2019-07-20 16:00:31 +01:00
Adam Sjøgren
2019a6d8a8 Enable showing local time and lapsed time in Gnus
* lisp/gnus/gnus-art.el (article-make-date-combine-with-lapsed) factor
code out into new function, used for providing both combined-lapsed
and combined-local-lapsed.
2019-07-20 15:02:22 +02:00
Lars Ingebrigtsen
d5c1e1211a Clean up code in nnimap-parse-flags slightly
* lisp/gnus/nnimap.el (nnimap-parse-flags): Clean up code
slightly, removing redundant checks for `end'.
2019-07-20 14:08:36 +02:00
Eli Zaretskii
0731273fac Fix last change
* etc/NEWS: Call out the change in matching REGEXP.

* lisp/files.el (magic-mode-alist)
(magic-fallback-mode-alist): Doc fix.  (Bug#36401)
2019-07-20 12:34:02 +03:00
Benjamin Riefenstahl
e6bfc6753c Make REs in magic-(fallback-)mode-alist case-sensitive.
These variables are used for well-defined file formats where relaxed
case matching is not wanted usually.

* lisp/files.el (magic-mode-alist, magic-fallback-mode-alist): Update
the doc string.
(set-auto-mode): Make looking-at for elements of magic-mode-alist and
magic-fallback-mode-alist use case-fold-search == nil.
* lisp/files.el (files-test-magic-mode-alist-re-baseline)
(files-test-magic-mode-alist-re-no-match)
(files-test-magic-mode-alist-re-case-diff): Add.
2019-07-20 12:27:19 +03:00
Stefan Kangas
070dd43909 Make finder-exit use quit-window (Bug#33610)
* lisp/finder.el (finder-exit): Quit window instead of
deleting.  This restores previous contents of the window,
if any, that was usurped by "C-h p" to show the list of
packages.
2019-07-20 12:23:07 +03:00
Mauro Aranda
b6bef9f193 Remove duplicated code in octave-eldoc-function
* lisp/progmodes/octave.el (octave-eldoc-function): The
test of position of the opening parenthesis in
inferior-octave-process was duplicated.  Remove one of
the tests.  (Bug#36557)
2019-07-20 12:13:38 +03:00
Oleh Krehel
fd5410217f * lisp/files.el (file-size-function): New defcustom 2019-07-19 18:55:47 +02:00
Mattias Engdegård
b663fbcd06 Neater free disk space formatting
* lisp/files.el (get-free-disk-space): Update doc string.
Use `iec' style and proper spacing.
2019-07-19 11:16:46 +02:00
Martin Rudalics
8d34cb3f07 Have 'display-buffer-reuse-window' prefer window on selected frame (Bug#36680)
* lisp/window.el (display-buffer-reuse-window): Preferably reuse
window on selected frame (Bug#36680).
* doc/lispref/windows.texi (Buffer Display Action Functions): Say
that 'display-buffer-reuse-window' prefers window on the selected
frame.
2019-07-19 10:08:08 +02:00
Noam Postavsky
8f54998827 Don't load elec-pair in elisp-mode (Bug#36539)
* lisp/progmodes/elisp-mode.el (emacs-lisp-set-electric-text-pairs):
New function.
(emacs-lisp-mode): Add it to electric-pair-mode-hook, if elec-pair
hasn't been loaded yet.
2019-07-18 20:06:27 -04:00
Stefan Kangas
bba80faf87 Declare mwheel-install obsolete (Bug#36553)
* lisp/mwheel.el: Update `Commentary' section.
(mwheel-install): Declare obsolete in favor of mouse-wheel-mode.
* etc/NEWS: Announce it.
2019-07-18 20:06:27 -04:00
Juri Linkov
940cbaa792 * lisp/vc/vc-git.el (vc-git-log-search): Remove shell-quote-argument.
(Bug#36644)
2019-07-19 01:35:27 +03:00
Michael Albinus
5130a95cd1 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2019-07-18 20:46:39 +02:00
Michael Albinus
12d6abb27f ; Fix last commit in tramp-sh.el 2019-07-18 20:46:25 +02:00
Simen Heggestøyl
b4eaa7eace Use lexical-binding in asm-mode.el and add tests
* lisp/progmodes/asm-mode.el: Use lexical-binding.
(asm-comment-char): Remove redundant :group arg.
(asm-mode): Use `setq-local'.
(asm-calculate-indentation): Remove moot `or'.

* test/lisp/progmodes/asm-mode-tests.el: New file with tests for
asm-mode.el.
2019-07-18 20:41:47 +02:00
Michael Albinus
71ce14a83e Determine file-notify' handler in Tramp from special-event-map'.
* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter)
(tramp-sh-gvfs-monitor-dir-process-filter)
(tramp-sh-inotifywait-process-filter): Determine `file-notify'
handler from `special-event-map'.
2019-07-18 20:26:24 +02:00
Stefan Monnier
8a2f763e5c * lisp/server.el (server-ensure-safe-dir): Revert part of b663c83724
A non-cosmetic change that was mistakenly included.
2019-07-18 11:10:05 -04:00
Oleh Krehel
a4e57274cc * lisp/files.el (get-free-disk-space): Use file-size-human-readable
Since there is no longer an option to do:

    (setq directory-free-space-args "-Pmh")
2019-07-18 14:54:09 +02:00
Eli Zaretskii
cdf8a4f920 * lisp/abbrev.el (abbrev-prefix-mark): Fix a typo. (Bug#36715) 2019-07-18 15:44:51 +03:00
Eric Abrahamsen
b10464c6f9 Fix indexing of Gnus entry in gnus-group-unsubscribe-group
* lisp/gnus/gnus-group.el (gnus-group-unsubscribe-group): Hopefully
  that's the last of these.
2019-07-17 20:34:48 -07:00
Stephen Leake
d590b27ee4 Add xref-file-name-display
* lisp/progmodes/xref.el (xref-file-name-display): New user variable.
(xref-location-group): Use it.

* etc/NEWS: Mention it.
2019-07-17 09:17:36 -07:00
Basil L. Contovounesios
76538d09b7 Fix typo in package-alist docstring
Pointed out by Michael Heerdegen <michael_heerdegen@web.de>.
* lisp/emacs-lisp/package.el (package-alist): Fix docstring
grammar (bug#17403).
2019-07-17 15:07:16 +01:00
Alan Mackenzie
87b1495f30 * lisp/progmodes/cc-fonts.el (gtkdoc-font-lock-keywords): Fix faulty regexp 2019-07-17 09:35:26 +00:00
Glenn Morris
31f2663e56 * lisp/wid-edit.el: Previous change needs subr-x. 2019-07-16 15:57:51 -07:00
Sam Steingold
5aa6a15e20 Treat the "Link" link in gnus-summary-browse-urls specially
* lisp/gnus/gnus-sum.el (gnus-collect-urls): Make sure that
the URL labeled "Link" is the first in the return list.
(gnus-summary-browse-url): Use the 1st URL as the default.
* lisp/wid-edit.el (widget-text): New function.
2019-07-16 17:24:32 -04:00
Alan Mackenzie
585fb95739 CC Mode: allow bogusly "adjacent" double quote marks to pair up syntactically
For this introduce the text property c-fl-syn-tab to "mirror" syntax-table.

* lisp/progmodes/cc-defs.el (c-is-escaped, c-will-be-escaped, c-put-syn-tab)
(c-clear-syn-tab, c-clear-syn-tab-properties, c-with-extended-string-fences):
new macros.
(c-point): Use c-is-escaped
(c-search-forward-char-property, c-search-backward-char-property)
(c-search-forward-char-property-with-value-on-char)
(c-search-forward-char-property-without-value-on-char): Fix regexp error
involving \n.

* lisp/progmodes/cc-engine.el (c-semi-pp-to-literal): User
c-with-extended-string-fences around a parse-partial-sexp.
(c-full-get-near-cache-entry): Fix an off-by-one error.
(c-full-pp-to-literal): Avoid writing duplicate entries into a cache.
(c-after-change-unmark-raw-strings): Use c-clear-syn-tab-properties.

* lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Clear the c-fl-syn-tab
properties, too.
(c-basic-common-init): Mark c-fl-syn-tab as a non-sticky text property.
(c-depropertize-new-text): Also handle c-fl-syn-tab.
(c-multiline-string-check-final-quote, c-parse-quotes-after-change): Use
c-is-escaped.
(c-fl-syn-tab-region): New variable.
(c-clear-string-fences, c-restore-string-fences, c-remove-string-fences): New
functions.
(c-before-change-check-unbalanced-strings)
(c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string):
Use the new functions and macros.
(c-before-change, c-after-change, c-font-lock-fontify-region): Restore the
syntax-table text properties from c-fl-syn-tab text properties for these
functions.
(c-electric-pair-inhibit-predicate): Test the c-fl-syn-tab property rather
than syntax-table.
2019-07-16 20:01:12 +00:00
Mattias Engdegård
a87840fffb Fix calc number formatting with digit grouping (bug#36689)
The functions math-format-hex and math-format-octal were not
implemented, yet called, leading to a crash when using hex or octal
radix with digit grouping.

* test/lisp/calc/calc-tests.el (calc-test-format-radix): New test.
* lisp/calc/calc-ext.el: Don't declare non-existing functions.
(math--format-integer-fancy): Don't call non-existing functions.
* lisp/calc/calc-bin.el (math-format-binary, math-binary-digits):
Simplify, fixing 0-padding bug.
2019-07-16 17:37:46 +02:00
Lars Ingebrigtsen
0a2461be9e Revert "Add support for paths to svg.el"
This reverts commit d6bc55ae2d.

Paperwork not ready for Felix Klee; will reapply once that's in place.
2019-07-16 15:44:58 +02:00
Mattias Engdegård
450fd8e570 Set revert-buffer-function in ert-results-mode
* lisp/emacs-lisp/ert.el (ert-results-mode): Set revert-buffer-function
to re-run the same test selection.  It is a good fit and permits use of
the standard "g" key binding.
2019-07-16 15:35:45 +02:00
Stephen Berman
288e83ae00 Prevent infinite loop on entering wdired-mode
* lisp/wdired.el (wdired-preprocess-symlinks): Remove unneeded use
of beginning-of-line, which also triggers an infinite loop in a
find-dired buffer that doesn't end with a newline (see discussion
in bug#35609).
2019-07-16 11:04:56 +02:00
Juri Linkov
cdec5a17fd * lisp/vc/vc.el (vc-log-search): New command (bug#36644).
* lisp/vc/vc-git.el (vc-git-log-search): New function.
(vc-git-log-view-mode): Check vc-log-view-type for log-search.
2019-07-16 01:27:19 +03:00