1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-11 18:31:17 -08:00
Commit graph

140512 commits

Author SHA1 Message Date
Juri Linkov
7e8b8da9e3 Fix handling of empty input in describe-variable and describe-symbol
* lisp/help-fns.el (describe-variable): Use 'user-error' like in
'describe-function'.
(describe-symbol): Use empty string for arg SYMBOL when input is empty
and there is no default value.
This allows to signal the error "You didn't specify a function or variable"
instead of displaying help about the symbol 'nil' on empty input.
OTOH, still allows to see help about 'nil' when the input is "nil".
2020-03-06 02:27:32 +02:00
Juri Linkov
32261ed15b New command make-frame-on-current-monitor to use in windmove (bug#39875)
* lisp/frame.el (make-frame-on-current-monitor): New command.

* lisp/windmove.el (windmove-display-in-direction):
Use make-frame-on-current-monitor for 'new-frame'.
(windmove-display-new-frame): New command.
(windmove-display-default-keybindings): Bind
windmove-display-new-frame to 'f' key.

* lisp/window.el (display-buffer-in-direction): Fix quotes in docstring.
2020-03-06 02:19:00 +02:00
Glenn Morris
b5474ba160 Merge from origin/emacs-27
a3c2d186eb (origin/emacs-27) CC Mode: Fix the handling of two adjacen...
a1abf73c76 Fix combine-change-calls-1 for when buffer-undo-list is t
db37dd2e84 Don't misinterpret doc string as initial value
40b217c2bf Bump checkdoc-version to match library header
60418a1ab2 Explain how to unset mode bindings (Bug#39802)
7cafbbe964 Fix describe-variable on values with circular syntax (Bug#...
592b1cfee9 Improve documentation of next-error-highlight-no-select (b...
2020-03-04 13:57:58 -08:00
Glenn Morris
79f196551a ; Merge from origin/emacs-27
The following commit was skipped:

add0610ec9 Fix implicit declaration of getenv and atol
2020-03-04 13:57:58 -08:00
Glenn Morris
6a0e1c4104 Merge from origin/emacs-27
a4e4510ccd Fix handling MS-Windows keyboard input above the BMP
a38bebb0c1 * etc/NEWS: More complete description of rx 'not' changes.
d373647e8f ; * doc/emacs/mini.texi (Yes or No Prompts): Fix last change.
1ca6d15656 * doc/emacs/mini.texi (Yes or No Prompts): 'y-or-n-p' now ...
fe1a447d52 Don't attempt to cache glyph metrics for FONT_INVALID_CODE
b42b894d1d Fix fit-frame-to-buffer for multi-monitor setup
366fd4fd07 (emacs-27) ; * etc/NEWS: Fix typo.
49d3cd90bd rx: Improve 'or' compositionality (bug#37659)
6b48aedb6b * lisp/tab-line.el: Fix auto-hscrolling (bug#39649)
c5f255d681 (tag: emacs-27.0.90) ; Update lisp/ldefs-boot.el
60c84ad992 ; * etc/TODO: Fix last change.
5af9e5baad ; Add an entry to TODO
d424195905 Fix rx charset generation
9908b5a614 Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
6dc2ebe00e Fix overquoting in mule.el
5cca73dd82 * src/timefns.c (time_arith): Omit incorrect comment.
d767c357ca Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e...
4dec693f70 * lisp/vc/vc-cvs.el (vc-cvs-ignore): Copy-edit doc string
ff729e3f97 ; bug#39779: Fix some typos in documentation.
696ee02c3a checkdoc: Don't mistake "cf." for sentence end

# Conflicts:
#	etc/NEWS
2020-03-04 13:57:58 -08:00
Glenn Morris
b6c3921406 ; Merge from origin/emacs-27
The following commit was skipped:

d096bab787 Bump Emacs version to 27.0.90
2020-03-04 13:57:57 -08:00
Glenn Morris
1c81bb8c24 Merge from origin/emacs-27
5b7d226779 * etc/AUTHORS: Update.
4aa758e53d ; ChangeLog.3 update
9261b1ed49 * admin/authors.el (authors-ignored-files): Fix entries.
86e4da6eaf ; ChangeLog.3 update
009c6a1767 ; ChangeLog.3 fixes
f9e53947c7 Fix documented slot name of eieio-instance-tracker class
999d75c0c1 Range-check width passed to define-fringe-bitmap
29e415d6b0 ; ChangeLog.3 fixes
4653baa6a5 ; ChangeLog.3 update & fixes.
a95ec6e060 * admin/authors.el: Add missing entries
af519a6348 Define libgnutls-version properly
9ec6eb1065 vc-dir-ignore: More accurately choose base directory
e74fb4688b * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect)...
3bce7ec382 CC Mode: Protect against consecutive calls to before-chang...
2020-03-04 13:57:56 -08:00
Paul Eggert
dc3006cf14 Pacify GCC 9.2.1 20190927 -O3
Original problem report by N. Jackson in:
https://lists.gnu.org/r/emacs-devel/2020-03/msg00047.html
I found some other warnings when I used gcc, and fixed them
with this patch.
* lib-src/etags.c: Include verify.h.
(xnmalloc, xnrealloc): Tell the compiler that NITEMS is
nononnegative and ITEM_SIZE is positive.
* src/conf_post.h (__has_attribute_returns_nonnull)
(ATTRIBUTE_RETURNS_NONNULL): New macros.
* src/editfns.c (Fuser_full_name): Don’t assume Fuser_login_name
returns non-nil.
* src/intervals.c (rotate_right, rotate_left, update_interval):
* src/intervals.h (LENGTH, LEFT_TOTAL_LENGTH, RIGHT_TOTAL_LENGTH):
Use TOTAL_LENGTH0 or equivalent on intervals that might be null.
* src/intervals.h (TOTAL_LENGTH): Assume arg is nonnull.
(TOTAL_LENGTH0): New macro, with the old TOTAL_LENGTH meaning.
(make_interval, split_interval_right): Add ATTRIBUTE_RETURNS_NONNULL.
* src/pdumper.c (dump_check_dump_off): Now returns void, since
no caller uses the return value.  Redo assert to pacify GCC.
(decode_emacs_reloc): Add a seemingly-random eassume to pacify GCC.
Ugly, and I suspect due to a bug in GCC.
2020-03-04 13:48:58 -08:00
Alan Mackenzie
a3c2d186eb CC Mode: Fix the handling of two adjacent after-change-functionses.
The bug involved failing to set c-new-END correctly, which lead to an
args-out-of-range error when after-change-functions was invoked twice without
an intervening invocation of before-change-functions.

* lisp/progmodes/cc-mode.el (c-after-change): Correct a coding error in the
handling of c-just-done-before-change.
2020-03-04 21:17:04 +00:00
Alan Third
d1bbd32dba Fix more NS_DRAW_TO_BUFFER #ifdefs (bug#39883)
* src/nsterm.m (ns_update_end): Make sure the frame is updated after
drawing.
(ns_focus):
(ns_unfocus): Should be checking on NS_DRAW_TO_BUFFER rather than if
it's Cocoa or GNUstep.
2020-03-04 20:53:57 +00:00
Alan Mackenzie
a1abf73c76 Fix combine-change-calls-1 for when buffer-undo-list is t
* lisp/subr.c (combine-change-calls-1): Bind before/after-change-functions to
nil also when buffer-undo-list is t.
2020-03-04 19:50:38 +00:00
Mattias Engdegård
db37dd2e84 Don't misinterpret doc string as initial value
* lisp/loadhist.el (loadhist--restore-autoload):
* lisp/progmodes/vhdl-mode.el (vhdl-font-lock-keywords-0):
Prevent the doc string from being used as initial value.
2020-03-04 14:46:46 +01:00
Stefan Kangas
cf45e8022e Declare speedbar-incompatible-version obsolete
This variable refers to a now ancient version of speedbar, and is no
longer useful.

* lisp/speedbar.el (speedbar-incompatible-version): Declare obsolete.
2020-03-04 05:50:26 +01:00
Stefan Kangas
40b217c2bf Bump checkdoc-version to match library header
* lisp/emacs-lisp/checkdoc.el (checkdoc-version): Bump version.
2020-03-04 05:45:30 +01:00
Noam Postavsky
60418a1ab2 Explain how to unset mode bindings (Bug#39802)
* doc/emacs/custom.texi (Init Rebinding): Explain that passing nil to
define-key will unbind keys, and extend the example accordingly.
2020-03-03 22:04:48 -05:00
Noam Postavsky
7cafbbe964 Fix describe-variable on values with circular syntax (Bug#39805)
* lisp/help-fns.el (describe-variable): Set syntax tables before
calling pp-buffer.
2020-03-03 22:04:48 -05:00
Daniel Colascione
1aa8780d7b Ignore spurious focus events
* src/xterm.c (x_detect_focus_change): Ignore FocusIn and FocusOut
events from grabs
2020-03-03 18:29:41 -08:00
Stéphane Boucher
21ebfa1dd8 Update default-directory in occur buffer (bug#39608)
* lisp/replace.el (occur-1): Update default-directory in occur buffer.

Copyright-paperwork-exempt: yes
2020-03-04 02:05:55 +02:00
Juri Linkov
592b1cfee9 Improve documentation of next-error-highlight-no-select (bug#38778)
* doc/emacs/building.texi (Compilation Mode):
Mention next-error-highlight-no-select.

* lisp/simple.el (next-error-highlight): Add reference to
next-error-highlight-no-select.
(next-error-highlight-no-select): Add reference to
next-error-highlight.
2020-03-04 01:48:03 +02:00
Andreas Schwab
add0610ec9 Fix implicit declaration of getenv and atol
* src/gtkutil.c: Include <stdlib.h>.
2020-03-03 19:42:17 +01:00
Paul Eggert
b48142ba19 Time division speedups
* src/timefns.c (frac_to_double) [FASTER_TIMEFNS]: Prefer intmax_t
division or double division to mpz division if they also yield the
correctly rounded result.
2020-03-03 10:20:33 -08:00
Paul Eggert
5e229f88f9 Fix rounding errors in time conversion
* src/timefns.c (frac_to_double): Pass FLT_RADIX to mpz_sizeinbase
instead of doing the radix calculation ourselves, not always
correctly.  Fix off-by-one error in scale, which caused
double-rounding.
(decode_time_components): Use frac_to_double (via decode_ticks_hz)
to fix double-rounding error that can occur even though
intermediate results are long double.
* test/src/timefns-tests.el (float-time-precision):
Test the above fixes.
2020-03-03 10:20:32 -08:00
Stefan Monnier
b28b7382e3 * etc/NEWS: Add entry missed in previous commit 2020-03-03 11:42:01 -05:00
Eli Zaretskii
a4e4510ccd Fix handling MS-Windows keyboard input above the BMP
* src/w32term.c (w32_read_socket): If we get a WM_UNICHAR message
with a surrogate codepoint, assemble the corresponding character
code above the BMP from its UTF-16 encoding, communicated in two
consecutive WM_UNICHAR messages.
2020-03-03 18:40:28 +02:00
Mattias Engdegård
a38bebb0c1 * etc/NEWS: More complete description of rx 'not' changes. 2020-03-03 17:38:51 +01:00
Stefan Monnier
620f672518 * lisp/progmodes/elisp-mode.el (elisp-enable-lexical-binding): New command
(emacs-lisp-mode): Indicate lex/dyn binding mode in the mode line.
(elisp--dynlex-modeline-map): New var.
2020-03-03 11:34:49 -05:00
Eli Zaretskii
d373647e8f ; * doc/emacs/mini.texi (Yes or No Prompts): Fix last change. 2020-03-03 18:23:40 +02:00
Štěpán Němec
0f94f698aa Use help-fns-short-filename in other describe- commands
The commit

2015-01-16T22:52:15-05:00!monnier@iro.umontreal.ca
24b7f77581
(Improve handling of doc-strings and describe-function for cl-generic)

added 'help-fns-short-filename', which provides file name shortening
smarter than a simple 'file-name-nondirectory' call, but besides the
generic/eieio functions ('cl--generic-describe', 'cl--describe-class',
'eieio-help-constructor'), it is currently only used by
'describe-function' (via 'help-fns-function-description-header').

Make the other help commands use it, too.

(Other than the obvious consistency/maintenance argument, my immediate
motivation for this change is the possibility to customize the file
name abbreviation by advising the function.)

* lisp/help.el (describe-mode): Move to help-fns.el.  The command was
already depending on 'find-lisp-object-file-name' defined there.
* lisp/help-fns.el (describe-variable) (describe-face) (describe-keymap)
(describe-mode): Use 'help-fns-short-filename'.
2020-03-03 10:52:27 -05:00
Juri Linkov
1ca6d15656 * doc/emacs/mini.texi (Yes or No Prompts): 'y-or-n-p' now uses the minibuffer. 2020-03-03 00:33:30 +02:00
Paul Eggert
8518b14a76 Tweak GMP usage for (HI LO US PS) timestamps
* src/timefns.c (decode_time_components): Cut down on the number
of calls to GMP functions when generating old-style (HI LO US PS)
timestamps.
2020-03-02 12:40:59 -08:00
Alan Third
b4911a6f0d Fix macOS/GNUstep compilation warnings
* src/nsfns.m (handlePanelKeys): Unused function.
* src/nsterm.m (ns_set_appearance):
([EmacsView initFrameFromEmacs:]): Use EmacsWindow type instead of
NSWindow.
(ns_clip_to_row): Unused function.
(ns_dumpglyphs_stretch): Remove unused variable.
(ns_term_init):
([EmacsWindow setAppearance]): Only compile on macOS.
(ns_mouse_position): Make sure f is initialised on GNUstep.
* src/emacs.c (main): Move allocation of autorelease pool to before
first use.
2020-03-02 18:30:44 +00:00
Alan Third
68109c56e4 Fix #defines controlling when NS port draws to offscreen buffer
* src/nsterm.h (NS_DRAW_TO_BUFFER): New definition.
* src/nsterm.m (ns_update_begin):
(ns_update_end):
(ns_focus):
([EmacsView updateFrameSize:]):
([EmacsView initFrameFromEmacs:]):
([EmacsView copyRect:to:]): Use new #define.
2020-03-02 18:29:09 +00:00
Robert Pluim
fe1a447d52 Don't attempt to cache glyph metrics for FONT_INVALID_CODE
This was causing massive slowdown in redisplay when eg #xfe0f
(VARIATION SELECTOR-16) was present, as the cache ended up very large,
unused, and being recreated on every call to font_fill_lglyph_metrics
(Bug#39133).

* src/composite.c (fill_gstring_body): Hoist FONT_OBJECT_P check out
of loop.  Calculate glyph code and check for FONT_INVALID_CODE before
calling font_fill_lglyph_metrics.  Pass glyph code to it.

* src/font.c (font_fill_lglyph_metrics): Add code parameter, move
glyph code calculation up the call stack into fill_gstring_body.

* src/font.h: Adjust font_fill_lglyph_metrics prototype.
2020-03-02 09:59:34 +01:00
Štěpán Němec
1939f7580b whitespace: Turn long lines regexp into a function (bug#36837)
* lisp/whitespace.el (whitespace-color-on): Turn long lines regexp
into a function to ensure it uses current 'whitespace-line-column'
and 'fill-column' values.  (Bug#36837)
(whitespace-lines-regexp): New function.
2020-03-01 22:54:32 -05:00
Sergey Trofimov
b42b894d1d Fix fit-frame-to-buffer for multi-monitor setup
* lisp/window.el (fit-frame-to-buffer): Call
'frame-monitor-attributes' instead of
'display-monitor-attributes-list'.  Fix geometry calculations for
multiple monitors.

Copyright-paperwork-exempt: yes
2020-03-01 19:49:18 +01:00
Glenn Morris
13a69c829e ; Auto-commit of loaddefs files. 2020-03-01 10:04:27 -08:00
Michael Albinus
366fd4fd07 ; * etc/NEWS: Fix typo. 2020-03-01 18:58:16 +01:00
Mattias Engdegård
49d3cd90bd rx: Improve 'or' compositionality (bug#37659)
Perform 'regexp-opt' on nested 'or' forms, and after expansion of
user-defined and 'eval' forms.  Characters are now turned into strings
for wider 'regexp-opt' scope.  This preserves the longest-match
semantics for string in 'or' forms over composition.

* doc/lispref/searching.texi (Rx Constructs): Document.
* lisp/emacs-lisp/rx.el (rx--normalise-or-arg)
(rx--all-string-or-args): New.
(rx--translate-or): Normalise arguments first, and check for strings
in subforms.
(rx--expand-eval): Extracted from rx--translate-eval.
(rx--translate-eval): Call rx--expand-eval.
* test/lisp/emacs-lisp/rx-tests.el (rx-or, rx-def-in-or): Add tests.
* etc/NEWS: Announce.
2020-03-01 10:47:14 +01:00
Stefan Kangas
1dd4a63140 * lisp/progmodes/cperl-mode.el: Clarify comment. 2020-03-01 01:56:42 +01:00
Stefan Kangas
228fb6f384 Remove more XEmacs compat code from viper
* lisp/emulation/viper-mous.el (viper-multiclick-timeout)
(viper-current-click-count, viper-last-click-event-timestamp)
(viper-mouse-click-insert-word)
(viper-mouse-click-search-word): Remove XEmacs compat code.
(viper-event-click-count): Redefine as obsolete function alias
for 'event-click-count'.
* lisp/emulation/viper-util.el (viper-check-version): Declare
obsolete.
2020-03-01 01:56:03 +01:00
Stefan Kangas
e98ee8ddac Make 'load-dangerous-libraries' obsolete (Bug#37819)
When 'load-dangerous-libraries' was t, Emacs allowed loading .elc
files compiled by XEmacs.  This patch removes the support for that use
case, and declares the variable obsolete.

* lisp/subr.el (load-dangerous-libraries): Declare obsolete.
* src/lread.c (Fload): Ignore its value, and thereby refuse to load
files byte compiled by XEmacs.
(syms_of_lread): Update doc string of 'bytecomp-version-regexp' to not
refer to it.
* doc/emacs/building.texi (Lisp Libraries): Remove its documentation.
2020-03-01 01:19:23 +01:00
Noah Friedman
79fe320566 Fix XEmacs-specific clause in definition of pascal-outline-map.
* lisp/progmodes/pascal.el (pascal-outline-map): Call set-keymap-name
on map, not pascal-outline-map, as the latter is not yet defined.
2020-02-29 14:50:51 -08:00
Juri Linkov
6b48aedb6b * lisp/tab-line.el: Fix auto-hscrolling (bug#39649)
Distinguish offsets between manual-vs-automatic scrolling
as integers-vs-floats instead of positive-vs-negative integers.

* lisp/tab-line.el (tab-line-format-template): Use 'numberp'
instead of 'integerp', and 'truncate' instead of 'abs'.
(tab-line-format): When the window-buffer was updated, set window-parameter
to float to enable auto-hscroll after it was disabled on manual scrolling.
(tab-line-auto-hscroll-buffer): New variable with internal buffer.
(tab-line-auto-hscroll): Erase in tab-line-auto-hscroll-buffer.
Use 'numberp' instead of 'integerp', 'truncate' instead of 'abs',
and 'float' instead of '-'.
(tab-line-hscroll): Use 'numberp' instead of 'integerp',
and 'truncate' instead of 'abs'.
2020-02-29 23:49:17 +02:00
Nicolas Petton
c5f255d681
; Update lisp/ldefs-boot.el 2020-02-29 22:25:38 +01:00
Philipp Stephani
3d2c82ac96 Unbreak build with CHECK_STRUCTS
* src/pdumper.c (dump_object): Fix hash for Lisp_Type after commit
202c3319a2.
2020-02-29 21:12:18 +01:00
Eli Zaretskii
60c84ad992 ; * etc/TODO: Fix last change. 2020-02-29 19:30:27 +02:00
Eli Zaretskii
5af9e5baad ; Add an entry to TODO
* etc/TODO: Expand the ligature support entry.  Add a new entry
about better support of Emoji.
2020-02-29 15:10:09 +02:00
Mattias Engdegård
d424195905 Fix rx charset generation
* lisp/emacs-lisp/rx.el (rx--charset-p): Don't overquote.
(rx--generate-alt): Generate '.' for negated newline.
* test/lisp/emacs-lisp/rx-tests.el (rx-any, rx-charset-or): Test.
2020-02-29 10:15:51 +01:00
Eli Zaretskii
9908b5a614 Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/emacs into emacs-27 2020-02-29 09:51:43 +02:00
Mattias Engdegård
6dc2ebe00e Fix overquoting in mule.el
* lisp/international/mule.el (sgml-xml-auto-coding-function):
Remove accidental quote.
2020-02-28 22:39:41 +01:00