Commit graph

143150 commits

Author SHA1 Message Date
Stefan Monnier
f342b7c969 * lisp/calc/: Use lexical scoping in all the files
Includes the following pervasive changes:
- Move some defvars earlier in the file so they cover earlier let-bindings
- Change dynamically scoped `calc-FOO` or `math-FOO` function arguments
  to just FOO and then let-bind the `calc-FOO` or `math-FOO` variable
  explicitly in the body of the function.  In some cases, the
  beginning of the function was changed to refer to FOO so as to delay
  the binding to a nearby `let` when I could ensure that it did
  not make a difference.
- Add an underscore in front of unused vars or comment them out altogether.
- Replace unused `err` arg to `condition-case` with nil.

Plus the additional itemized changes below.

* lisp/calc/calc-map.el (calcFunc-reducer):
* lisp/calc/calc-arith.el (math-setup-declarations):
* lisp/calc/calc-help.el (calc-full-help, calc-help-index-entries)
(calc-full-help): Use `ignore-errors`.

* lisp/calc/calc-embed.el (calc-embedded-modes-change):
Declare `the-language` and `the-display-just` as dynamically scoped.

* lisp/calc/calc-forms.el (math-setup-year-holidays): Use `dolist`.

* lisp/calc/calc-graph.el (calc-graph-set-styles): Use `symbol-value`
rather than `eval.`
(calc-graph-delete-temps, calc-graph-set-styles): Use ignore-errors.

* lisp/calc/calc-macs.el (calc-with-trail-buffer): Add artificial use
of `save-buf` to silence compiler warnings in all the cases where
`body` doesn't make use of it.

* lisp/calc/calc-math.el (math-largest-emacs-expt)
(math-smallest-emacs-expt, math-use-emacs-fn): Use ignore-errors.

* lisp/calc/calc-mode.el (calc-total-algebraic-mode): Remove "P" from
interactive spec since it's not used anyway.

* lisp/calc/calc-rewr.el (calc-match): Simplify.

* lisp/calc/calc.el (calc-buffer): Give it a global nil value,
so it's automatically declared dynbound in any file that requires `calc`.
(calcDigit-nondigit): Adjust accordingly.

* lisp/calc/calcalg2.el (calcFunc-table): Declare `var-dummy` as dynbound.
(math-scan-for-limits): Comment out dead code.

* lisp/calc/calcalg3.el (math-general-fit): Declare `var-YVAL` and
`var-YVALX` as dynbound.
2020-10-10 16:00:51 -04:00
Stefan Monnier
46c0f28c0e * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc tweak
Try and clarify the meaning of `init-value`.
2020-10-10 11:07:28 -04:00
Glenn Morris
0ed0dac0ca Merge from origin/emacs-27
c00606171f (origin/emacs-27) A better fix for bug#43886
3196fd44c3 Avoid crashes when a theme is loaded with one frame suspended
0407b15500 Removed an incorrectly placed extra word in the semantic docs
040dcbe53e Fix current-line hscrolling when overlays change
c56eeba2ce Extend tests for shell-command-dont-erase-buffer
2020-10-10 07:50:20 -07:00
Glenn Morris
607dacb5a9 ; Merge from origin/emacs-27
The following commit was skipped:

6fea8699a1 Clarify what ``chrooted environment means'' for TRAMP
2020-10-10 07:50:19 -07:00
Glenn Morris
530ec029cd Merge from origin/emacs-27
b6704d58e8 ; * src/xdisp.c (Fwindow_text_pixel_size): Doc fix.
2020-10-10 07:50:19 -07:00
Glenn Morris
6e3bf3968d ; Merge from origin/emacs-27
The following commit was skipped:

cbcca8159d Add missing full stop in MS-DOS processes documentation
2020-10-10 07:50:19 -07:00
Glenn Morris
950911373c Merge from origin/emacs-27
acc9b46153 Fix merging of region face for non-ASCII characters
c2a13969e4 Make drag and drop on NS open all URLs (bug#43470)
2020-10-10 07:50:18 -07:00
Mattias Engdegård
1006eb1198 Improve coverage of Calc bit shift test
* test/lisp/calc/calc-tests.el (calc-tests--rsh, calc-tests--rash)
(calc-shift-binary): Test with negative word sizes.
2020-10-10 11:29:43 +02:00
Eli Zaretskii
c00606171f A better fix for bug#43886
* src/xfaces.c (load_color2, Fcolor_distance): Revert last change.
* src/term.c (clear_tty_hooks): Don't clear defined_color_hook.
2020-10-10 11:11:34 +03:00
Eli Zaretskii
3196fd44c3 Avoid crashes when a theme is loaded with one frame suspended
* src/xfaces.c (load_color2, Fcolor_distance): Don't try to call
the frame's defined_color_hook if the frame is suspended.
(Bug#43886)
2020-10-09 22:21:18 +03:00
Eli Zaretskii
5824c209ba Add Euro Sign to Latin language input methods
* lisp/leim/quail/latin-post.el ("danish-postfix")
("finnish-postfix", "french-postfix", "german-postfix")
("icelandic-postfix", "italian-postfix", "norwegian-postfix")
("scandinavian-postfix", "spanish-postfix", "swedish-postfix"):
Add "E=" for the Euro Sign.  (Bug#43866)
2020-10-09 17:28:24 +03:00
Stefan Kangas
b19bf08447 ; shorten https://lists.gnu.org/archive/html/... links 2020-10-09 12:23:02 +02:00
Stefan Kangas
95e8c7d1d9 ; Fix typos 2020-10-09 11:53:21 +02:00
Mattias Engdegård
35478f3f76 Calc: fix arithmetic right shift sign bit detection
Arithmetic right shift didn't compute the bit to shift in correctly.
For example, #x600000000 right-shifted 8 steps (with 32 bit word size)
resulted in #xff000000 rather than 0. (Bug#43764)

* lisp/calc/calc-bin.el (calcFunc-ash): Fix condition.
* test/lisp/calc/calc-tests.el (calc-tests--clip, calc-tests--lsh)
(calc-tests--rsh, calc-tests--ash, calc-tests--rash, calc-tests--rot):
New.
(calc-shift-binary): New test.
2020-10-09 11:24:15 +02:00
Nick Gasson
c69c17d573 Match OpenBSD doas password prompt in comint
* lisp/comint.el (comint-password-prompt-regexp): match OpenBSD doas
password prompt. OpenBSD 5.8 replaced sudo with doas in the base
install.

* test/lisp/comint-tests.el (comint-testsuite-password-strings): test
that the doas password prompt is matched (bug#43846).

Copyright-paperwork-exempt: yes
2020-10-09 06:57:07 +02:00
Lars Ingebrigtsen
e45b0c5d94 message-signature doc fix
* lisp/gnus/message.el (message-signature): Mention
message-signature-insert-empty-line (bug#43853).
2020-10-09 06:48:51 +02:00
Pankaj Jangid
0407b15500 Removed an incorrectly placed extra word in the semantic docs
* doc/misc/semantic.texi (Parser code): Copy edit (bug#43861).

Copyright-paperwork-exempt: yes
2020-10-09 06:46:27 +02:00
Lars Ingebrigtsen
82d70d3aab Clarify define-minor-mode hooks
* doc/lispref/modes.texi (Defining Minor Modes): Note that the
code (and the hook) is run both when the mode is enabled and
disabled (bug#43868).
2020-10-09 06:36:53 +02:00
Lars Ingebrigtsen
e2ece08273 Revert "Don't eagerly store articles in the Agent by default"
This reverts commit def34a2076.

This made storing articles in the Agent very slow.
2020-10-09 06:26:17 +02:00
Lars Ingebrigtsen
f3dbde7e6f Only skip directories in lgrep, not the other grep commands
* lisp/progmodes/grep.el (lgrep): Do the directory ignores here
(bug#23590).
(grep-compute-defaults): ... instead of here, because this would
affect all grep commands, not just lgrep.
2020-10-09 06:15:07 +02:00
Alan Mackenzie
81fe8990c0 CC Mode: Move the handling of keyword auto into type handling for C++.
This should allow auto, const, static, ... to be in any order.

* lisp/progmodes/cc-engine.el (c-forward-type): New return value 'no-id for
when auto precludes the parsing of a type identifier.  Adapt processing for
this.
(c-forward-decl-or-cast-1): Use the new facility from c-forward-type.

* lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): Insert the value
of c-no-type-kwds into the value.
(c-no-type-kwds, c-no-type-key): New lang consts/vars, basically "auto".
(c-typeless-decl-kwds, c-modifier-kwds): Remove "auto" from the C++ value.
2020-10-08 16:49:49 +00:00
Stefan Monnier
c7804ac401 * src/ftcrfont.c (ftcrfont_open): Initialize the max_width field
On a 32bit build, Emacs can otherwise crash with a !FIXNUM_OVERFLOW_P
assertion in `Ffont_info` by simply doing `emacs -Q` and then `C-s`.

* src/font.c: Try and detect uninitialized `max_width` fields.
(font_make_object): Set max_width to a silly value.
(Ffont_info): Check the value is not silly any more.
2020-10-08 09:49:20 -04:00
Stefan Monnier
d340a979db * lisp/doc-view.el: Fix "can't resize root window" error
(doc-view-fit-window-to-page): Change approach to detect when the
frame needs to be resized.
2020-10-08 09:44:34 -04:00
Eli Zaretskii
040dcbe53e Fix current-line hscrolling when overlays change
* src/xdisp.c (redisplay_internal): Disable "optimization 1" when
auto-hscrolling current line and we're redisplaying the selected
window.  (Bug#43835)
2020-10-08 14:45:16 +03:00
Michael Albinus
c56eeba2ce Extend tests for shell-command-dont-erase-buffer
* test/lisp/simple-tests.el
(simple-tests-shell-command-dont-erase-buffer): Extend test.

* test/lisp/net/tramp-tests.el
(tramp-test32-shell-command-dont-erase-buffer): Adapt test.  Tag
it :unstable.
2020-10-08 11:28:50 +02:00
Dmitry Gutov
0a5e9cf262 Mention two more functions in the commentary
* lisp/progmodes/project.el:
Mention two more functions in the commentary (bug#43595).
2020-10-08 02:41:12 +03:00
Eli Zaretskii
7be18bbfe1 Improve documentation of 'isearch-group-N' faces
* etc/NEWS:
* doc/emacs/search.texi (Search Customizations): Improve and
clarify the wording of the 'isearch-group-N' faces description.

* lisp/isearch.el (search-highlight-submatches): Doc fix.
2020-10-07 12:12:06 +03:00
Eli Zaretskii
466db12df0 Fix last change in frame.el.
* lisp/frame.el (frame-set-background-mode): Fix last change: yet
another place where FRAME was not taken into account, using the
selected frame instead.  (Bug#43837)
2020-10-07 11:35:59 +03:00
Hong Xu
6fea8699a1 Clarify what ``chrooted environment means'' for TRAMP
* doc/misc/tramp.texi (Frequently Asked Questions): Clarify what
``chrooted environment means'' for TRAMP (bug#43839).
2020-10-07 10:21:03 +02:00
Eli Zaretskii
bc2b63876b Fix face recalculation when frame's background mode changes
* lisp/frame.el (frame-set-background-mode): Use the FRAME
argument instead of the selected frame, when calling
'face-spec-match-p'.  (Bug#43837)
2020-10-07 10:02:20 +03:00
Lars Ingebrigtsen
4bea5574a5 Remove mention of the obsolete cust-print.el from the manual
* doc/lispref/edebug.texi (Printing in Edebug): Remove mention of
the obsolete cust-print.el (bug#37956) and adjust the text a bit.
2020-10-07 06:42:05 +02:00
Lars Ingebrigtsen
5bc2f37dfb Update documentation on this-command-keys to reflect new behavior
* doc/lispref/commands.texi (Command Loop Info):
`this-command-keys' does not include the C-u any more, so remove
that from the description and the example
(bug#22107).

* src/keyboard.c (Fthis_single_command_keys): Don't say that
`this-command-keys' returns the C-u prefix (bug#22111).
2020-10-07 06:09:18 +02:00
Alex Gramiak
0ab67a65f5 Default the grep commands to skip directories
* lisp/progmodes/grep.el (grep-compute-defaults): Skip directories
(bug#23590).
2020-10-07 05:41:23 +02:00
Lars Ingebrigtsen
c842bd993f Make artist-mode work when display-line-numbers-mode is on
* lisp/textmodes/artist.el (artist--adjust-x): New function.
(artist-mouse-draw-continously, artist-mouse-draw-poly)
(artist-mouse-draw-1point, artist-mouse-draw-2points): Use it to
take `display-line-numbers-mode' widths into account.
2020-10-07 05:23:26 +02:00
Lars Ingebrigtsen
95c7aa96af Remove reference to outdated Gnus variable from the manual
* doc/misc/gnus.texi (Startup Variables): Remove reference to
gnus-use-backend-marks, which was removed in 2011 (bug#43833).
2020-10-07 05:05:20 +02:00
Lars Ingebrigtsen
cc70a7b7a8 alist-get doc string further clarification
* lisp/subr.el (alist-get): Mention generalized variables again
for easier cross-referencing (bug#43836).
2020-10-07 04:50:52 +02:00
Hong Xu
c36cd48546 Clarify what ``chrooted environment means'' for TRAMP
* doc/misc/tramp.texi (Frequently Asked Questions): Clarify what
``chrooted environment means'' for TRAMP (bug#43839).
2020-10-07 04:41:29 +02:00
Mauro Aranda
7305437654 Make the State button in Custom use extended menus
* lisp/cus-edit.el (custom-actioned-widget): New variable.
Dynamically hold the widget for which to show the menu.
(custom-variable-extended-menu, custom-face-extended-menu)
(custom-group-extended-menu): Keymap menus for the State menu.  Use
custom-actioned-widget for the :enable and :selected forms.  Make
related items radio buttons.  (Bug#4787)
(custom-variable-menu, custom-face-menu, custom-group-menu): Keep for
backward compatibility, but default to nil, so we prefer the keymap
menus instead.
(custom-variable-action, custom-face-action, custom-group-action):
Pass the keymap menu to widget-choose when the simplified menus
are nil.
2020-10-07 04:35:58 +02:00
Stefan Monnier
891248be1c * test/lisp/progmodes/ruby-mode-tests.el: Fix obsolete warnings 2020-10-06 22:08:19 -04:00
Juri Linkov
46aa145d39 Add match-data to isearch state and repeat faces to highlight group matches
* lisp/isearch.el (isearch-match-data): New variable.
(isearch-mode): Set isearch-match-data to nil.
(isearch-update): Call isearch-highlight with isearch-match-data.
(isearch--state): Add isearch-match-data.
(isearch--set-state): Restore isearch-match-data.
(with-isearch-suspended): Preserve isearch-match-data.
(isearch-search): Set isearch-match-data to integers.
(isearch-group-1): Rename from isearch-group-odd and adjust colors.
(isearch-group-2): Rename from isearch-group-even and adjust colors.
(isearch-highlight): Add optional arg 'match-data'.
Rewrite search-highlight-submatches part to recycle faces.

* doc/emacs/search.texi (Search Customizations): Amend the
documentation for isearch-group faces.

(bug#6227, bug#43702)
2020-10-06 23:14:26 +03:00
Alan Third
ec705a6c34 Fix crash when creating new NS frame (bug#43812)
* src/nsterm.m (ns_clear_under_internal_border): Check the frame is
live.
2020-10-06 21:05:18 +01:00
Juri Linkov
fc6decdfbc Add check for bound and true 'ido-everywhere' in multi-occur--prompt
* lisp/replace.el (multi-occur--prompt): Check if 'ido-everywhere' is
bound and true (bug#41633).
2020-10-06 21:35:53 +03:00
Juri Linkov
c30f6da0da Fix args of truncate-string-to-width in ibuffer-compile-make-substring-form
* lisp/ibuffer.el (ibuffer-compile-make-substring-form): Fix args of
truncate-string-to-width call (bug#41250)
2020-10-06 21:33:20 +03:00
Eli Zaretskii
b6704d58e8 ; * src/xdisp.c (Fwindow_text_pixel_size): Doc fix. 2020-10-06 19:32:20 +03:00
Stefan Monnier
278c9d69cd * lisp/international/mule.el (define-coding-system): Revert accidental change
This was accidentally included in a9f147af71
"Use the full name of the null byte/character, not its abbreviation".
2020-10-06 11:02:00 -04:00
Stefan Monnier
bcd09e9869 * lisp/international/mule-util.el: Revert bug#41250 workaround
(truncate-string-ellipsis): Use the '…' character itself since it
should work now and is more readable.
2020-10-06 09:38:25 -04:00
Stefan Monnier
9a819568cc * lisp/international/ja-dic-cnv.el: Attempt to fix bug#41250
(skkdic-convert): Only bind `coding-system-for-read` where needed.
2020-10-06 09:34:20 -04:00
Mattias Engdegård
61113a3254 Suppress obsoletion warning in test of obsolete rx function
* test/lisp/emacs-lisp/rx-tests.el (rx-compat): Add byte-compilation
warning suppression.
2020-10-06 14:22:57 +02:00
Eli Zaretskii
ff9b04fbc4 ; * lisp/international/mule-util.el (truncate-string-ellipsis): Fix comment. 2020-10-06 14:51:13 +03:00
Mattias Engdegård
bf34cf75fc Fix last change
* lisp/international/mule-util.el (truncate-string-ellipsis):
Use Unicode hex escapes instead of named escapes here, because \N{...}
is not available during bootstrapping.  (Bug#41250)
2020-10-06 13:14:19 +02:00