1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 08:41:47 -07:00
Commit graph

155589 commits

Author SHA1 Message Date
Paul Eggert
fadfde5fdf Pacify gcc -Og x86-64
* src/editfns.c (Ftranslate_region_internal): Add UNINIT
to pacify gcc -Og x86-64 (GCC 9.3.1 20200317 (Red Hat 9.3.1-1)).
2020-04-17 09:17:36 -07:00
Paul Eggert
27d101832a Prefer more inline functions in character.h
* src/buffer.h (fetch_char_advance, fetch_char_advance_no_check)
(buf_next_char_len, next_char_len, buf_prev_char_len)
(prev_char_len, inc_both, dec_both): New inline functions,
replacing the old character.h macros FETCH_CHAR_ADVANCE,
FETCH_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS, INC_POS, BUF_DEC_POS,
DEC_POS, INC_BOTH, DEC_BOTH respectively.  All callers changed.
These new functions all assume buffer primitives and so need
to be here rather than in character.h.
* src/casefiddle.c (make_char_unibyte): New static function,
replacing the old MAKE_CHAR_UNIBYTE macro.  All callers changed.
(do_casify_unibyte_string): Use SINGLE_BYTE_CHAR_P instead
of open-coding it.
* src/ccl.c (GET_TRANSLATION_TABLE): New static function,
replacing the old macro of the same name.
* src/character.c (string_char): Omit 2nd arg.  3rd arg can no
longer be NULL.  All callers changed.
* src/character.h (SINGLE_BYTE_CHAR_P): Move up.
(MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE, PREV_CHAR_BOUNDARY)
(STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE)
(FETCH_STRING_CHAR_ADVANCE)
(FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
(FETCH_STRING_CHAR_ADVANCE_NO_CHECK, FETCH_CHAR_ADVANCE)
(FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, INC_BOTH)
(DEC_BOTH, BUF_INC_POS, BUF_DEC_POS): Remove.
(make_char_multibyte): New static function, replacing
the old macro MAKE_CHAR_MULTIBYTE.  All callers changed.
(CHAR_STRING_ADVANCE): Remove; all callers changed to use
CHAR_STRING.
(NEXT_CHAR_BOUNDARY): Remove; it was unused.
(raw_prev_char_len): New inline function, replacing the
old PREV_CHAR_BOUNDARY macro.  All callers changed.
(string_char_and_length): New inline function, replacing the
old STRING_CHAR_AND_LENGTH macro.  All callers changed.
(STRING_CHAR): Rewrite in terms of string_char_and_length.
(string_char_advance): New inline function, replacing the old
STRING_CHAR_ADVANCE macro.  All callers changed.
(fetch_string_char_advance): New inline function, replacing the
old FETCH_STRING_CHAR_ADVANCE macro.  All callers changed.
(fetch_string_char_as_multibyte_advance): New inline function,
replacing the old FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE macro.
All callers changed.
(fetch_string_char_advance_no_check): New inline function,
replacing the old FETCH_STRING_CHAR_ADVANCE_NO_CHECK macro.  All
callers changed.
* src/regex-emacs.c (HEAD_ADDR_VSTRING): Remove; no longer used.
* src/syntax.c (scan_lists): Use dec_bytepos instead of
open-coding it.
* src/xdisp.c (string_char_and_length): Rename from
string_char_and_length to avoid name conflict with new function in
character.h.  All callers changed.
2020-04-17 09:17:35 -07:00
Paul Eggert
3e46a2315f Prefer inline functions in character.h
In character.h, replace macros with inline functions or enums
when this is easy.  This improves maintainability and
on my platform (Fedora 31 x86-64, gcc -O2) improved CPU
performance very slightly (0.3%) on ‘make compile-always’.
* src/buffer.h (SANE_TAB_WIDTH, CHARACTER_WIDTH):
Move here from character.h, and make them inline functions.
Tune CHARACTER_WIDTH so that ASCII_CHAR_WIDTH is no longer needed.
(sanitize_tab_width, sanitize_char_width):
Move here from character.h.
* src/character.h (MAX_CHAR, MAX_UNICODE_CHAR, MAX_1_BYTE_CHAR)
(MAX_2_BYTE_CHAR, MAX_3_BYTE_CHAR, MAX_4_BYTE_CHAR)
(MAX_5_BYTE_CHAR, MIN_MULTIBYTE_LEADING_CODE)
(MAX_MULTIBYTE_LEADING_CODE, MAX_MULTIBYTE_LENGTH):
Now enum constants instead of macros.
* src/character.h (CHAR_BYTES): Redo to avoid conditional branches.
(CHAR_BYTE8_P, BYTE8_TO_CHAR, UNIBYTE_TO_CHAR, CHAR_TO_BYTE8)
(CHAR_TO_BYTE_SAFE, CHAR_BYTE8_HEAD_P, CHARACTERP)
(CHECK_CHARACTER, CHECK_CHARACTER_CAR, CHECK_CHARACTER_CDR)
(CHAR_PRINTABLE_P, CHAR_BYTES, CHAR_LEADING_CODE, BYTE8_STRING)
(LEADING_CODE_P, TRAILING_CODE_P, CHAR_HEAD_P)
(BYTES_BY_CHAR_HEAD):
Now inline functions instead of macros.
(ASCII_CHAR_WIDTH): Remove; no longer used.
* src/conf_post.h (ATTRIBUTE_PURE): New macro.
* src/lisp.h (char_table_ref): Use it, for better inlining.
* src/fns.c (base64_decode_1): Add now-necessary casts.
2020-04-17 09:17:35 -07:00
Basil L. Contovounesios
7f1dae114d Fix effect-free warning in ob-screen.el while loop
The warning was introduced and detected by an optimizer addition
proposed in the following thread:
https://lists.gnu.org/archive/html/emacs-devel/2019-12/msg00711.html

* lisp/org/ob-screen.el (org-babel-screen-test): Avoid 'value
returned from (format "...") is unused' warning by doing something
more useful than busy string manipulation while waiting for an
asynchronous subprocess to make the temporary file readable.
2020-04-17 11:38:25 +01:00
Nicolas Petton
c36c5a3ded
; lisp/ldefs-boot.el: Update. 2020-04-17 12:21:36 +02:00
Justin Timmons
763ec05cc1 Bind 'n' and 'p' to move between symbols in apropos
* lisp/apropos.el (apropos-next-symbol)
(apropos-previous-symbol): New commands.
(apropos-mode-map): Bind above commands to 'n' and 'p'.  (Bug#20694)
* etc/NEWS: Announce the new commands.
2020-04-17 06:26:43 +02:00
Masahiro Nakamura
be77a68d52 Fix comparing command names in strokes.el (bug#40600)
* lisp/strokes.el (strokes-alphabetic-lessp): Simply call string-lessp
because the cdr of the argument may be a string.
2020-04-16 20:47:35 -04:00
jakub-w
3876a60569 Fix a typo in calculator.el
* lisp/calculator.el (calculator-expt): Overflowing exponentiation
caused the function to return -1.0e+INF if the base was an odd,
negative number, no matter what the exponent was.
Copyright-paperwork-exempt: yes
2020-04-16 13:55:13 -07:00
Amin Bandali
9e832ba91b
* lisp/erc/erc.el: Add URL to the new ERC page on the Emacs site 2020-04-16 15:11:11 -04:00
Alan Third
e105d01c95 Use native image API for NS
* configure.ac (NATIVE_IMAGE_API): Move above NS definitions.
(HAVE_NATIVE_IMAGE_API): Set for NS.
(HAVE_PNG, HAVE_JPEG, HAVE_GIF, HAVE_TIFF): Enable on NS builds.
* src/image.c (HAVE_NS): Fix a number of #if's so they no longer rely
on HAVE_NS.
(PIX_MASK_DRAW): Add for HAVE_NS so libpng support will compile.
(image_can_use_native_api):
(native_image_load): Add NS support.
(png_load):
(jpeg_load):
(tiff_load):
(gif_load): Remove NS specific definitions.
* src/nsimage.m (ns_can_use_native_image_api): New function.
* src/nsterm.h: (ns_can_use_native_image_api): New function.
2020-04-16 19:11:05 +01:00
Alan Third
c019f03e38 Allow dynamic choice of drawing path on NS (bug#39883)
* src/nsterm.h (NS_DRAW_TO_BUFFER): Let this be enabled on versions
older than 10.14.
* src/nsterm.m (ns_update_begin):
(ns_update_end):
(ns_focus):
(ns_unfocus):
([EmacsView viewDidResize:]):
([EmacsView createDrawingBuffer]):
([EmacsView windowDidChangeBackingProperties:]):
([EmacsView copyRect:to:]):
([EmacsView wantsUpdateLayer]): Dynamically switch between drawing to a
buffer and drawing to the screen, depending on the version of AppKit
in use.
([EmacsView dealloc]): We can't release the context unless
NS_DRAW_TO_BUFFER is defined.
2020-04-16 19:11:05 +01:00
Alan Third
24cb6908d7 Fix NS frame resizing issues (bug#40200, bug#28872)
* src/nsmenu.m (update_frame_tool_bar): Remove reference to
updateFrameSize.
* src/nsterm.h: ([EmacsView updateFrameSize]):
([EmacsView setRows:andColumns:]): Remove unused
method definitions.
(NS_PARENT_WINDOW_LEFT_POS):
(NS_PARENT_WINDOW_TOP_POS): Move to nsterm.m.
* src/nsterm.m (ns_parent_window_rect): New function.
(NS_PARENT_WINDOW_LEFT_POS):
(NS_PARENT_WINDOW_TOP_POS): Move to nsterm.m and simplify.
(ns_set_offset): Fix strange behaviours when using negative values.
(ns_set_window_size):
(ns_set_undecorated):
([EmacsView windowDidResize:]):
([EmacsView windowDidExitFullScreen]):
(ns_judge_scroll_bars): Remove references to updateFrameSize.
([EmacsView dealloc]): Unset resize notification and release buffer.
([EmacsView updateFrameSize:]): Remove function.
([EmacsView windowWillResize:toSize:]): Move some code to
viewDidResize.
([EmacsView viewDidResize]): New function.
([EmacsView initFrameFromEmacs:]): Set up resize notification and move
buffer creation until after the prerequisite objects are created.
([EmacsView toggleFullScreen:]): Set frame to the size of the
contentview, not the whole window, and remove reference to
updateFrameSize.
([EmacsView setRows:andColumns:]): Remove unused method.
([EmacsView windowDidMove:]): Tidy up.
2020-04-16 19:11:05 +01:00
Andrea Corallo
65cc8efa33 * lisp/emacs-lisp/comp.el (comp-never-optimize-functions): Better doc fix 2020-04-16 19:06:08 +01:00
Mattias Engdegård
6a60701bba Improve regexp in org-table-finish-edit-field
* lisp/org/org-table.el (org-table-finish-edit-field):
Further improvement of regexp, as suggested by Paul Eggert.
2020-04-16 19:53:10 +02:00
Michael Albinus
0bb3aec267 Ignore D-Bus errors in tramp-gvfs.el (Bug#40655)
* lisp/net/tramp-gvfs.el (with-tramp-dbus-call-method): Ignore D-Bus
errors.  (Bug#40655)
2020-04-16 19:51:23 +02:00
Alan Mackenzie
22ba047420 (forward-comment -n): escaped newline is sometimes NOT end of comment
* src/syntax.c (Fforward_comment) When comment-end-can-be-escaped is non-nil,
don't attempt back_comment when point is just after an escaped newline, etc.
2020-04-16 17:01:14 +00:00
Andrea Corallo
d432cbeb27 Merge remote-tracking branch 'savannah/master' into HEAD 2020-04-16 17:35:35 +01:00
Andrea Corallo
886ded1b70 * lisp/emacs-lisp/comp.el (comp-never-optimize-functions): Add yes-or-no-p 2020-04-16 18:59:40 +01:00
Paul Eggert
0127118c25 Fix type-checking bug in vertical-motion
* src/indent.c (Fvertical_motion): Fix bug where the type of lcols
was checked too late.
2020-04-16 09:24:48 -07:00
Glenn Morris
cead6f0ad1 * src/indent.c (Fvertical_motion): Fix int/Lisp_Object mix up. 2020-04-16 09:05:52 -07:00
Mattias Engdegård
b5e9beda8d ; * lisp/files.el (directory-files-no-dot-files-regexp): Arg name. 2020-04-16 17:33:02 +02:00
Mattias Engdegård
d5a7df8c02 Use directory-files-no-dot-files-regexp wherever possible
Suggested by Paul Eggert.

* lisp/files.el (directory-files-no-dot-files-regexp):
Clarify semantics and purpose.
* lisp/dired.el (dired-re-no-dot):
Define as obsolete alias of directory-files-no-dot-files-regexp.
(dired-delete-file):
* lisp/gnus/gnus-util.el (gnus-delete-directory):
* lisp/net/ange-ftp.el (ange-ftp-delete-directory):
* lisp/obsolete/vc-arch.el (vc-arch-trim-revlib):
* lisp/org/ob-core.el (org-babel-remove-temporary-directory):
* lisp/vc/vc-rcs.el (vc-rcs-unregister):
Use directory-files-no-dot-files-regexp.
2020-04-16 12:14:38 +02:00
Mattias Engdegård
7839390f27 Quote semanticdb-ebrowse-default-file-name in regexp
Noticed by Andreas Schwab.

* lisp/cedet/semantic/db-ebrowse.el (semanticdb-load-ebrowse-caches):
Quote file name in regexp.
2020-04-16 12:14:38 +02:00
Mattias Engdegård
905c0a13f7 Fix bugs, inefficiencies and bad style in regexps
Found by relint.  See discussion at
https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg00265.html

* lisp/org/org-table.el (org-table-finish-edit-field):
* lisp/arc-mode.el (archive-rar-summarize):
Avoid wrapped subsumption in repeated sequences.
* lisp/erc/erc-dcc.el (erc-dcc-ctcp-query-send-regexp): Replace
inefficient repeated empty-matching expression with a plain greedy
form.
(erc-dcc-handle-ctcp-send): Adjust group numbers.
* lisp/net/puny.el (puny-encode-domain): Fix fast-path shortcut
pattern so that it actually works as intended.
* lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp):
* lisp/vc/diff-mode.el (diff-imenu-generic-expression):
Remove superfluous backslashes.
* lisp/progmodes/scheme.el (scheme-imenu-generic-expression):
Correct confused definition-matching pattern which would match more
than intended.
* lisp/textmodes/sgml-mode.el (sgml-tag-name-re): Avoid inefficient
matching by using the fact that the first character cannot match the
last char of sgml-name-re.
2020-04-16 12:14:38 +02:00
Mattias Engdegård
01436fddfb Regularise some file-matching regexps
* admin/authors.el (authors-obsolete-files-regexps)
(authors-renamed-files-regexps): Replace ^ and $ with \` and \'.
2020-04-16 12:14:37 +02:00
Eli Zaretskii
c77d6af1dd Avoid compiler warning in indent.c
* src/indent.c (Fvertical_motion): Avoid compilation warning.
Reported by Juanma Barranquero <lekktu@gmail.com>.
2020-04-16 13:08:01 +03:00
Eli Zaretskii
82c1d15093 ; * src/w32image.c (w32_select_active_frame): Comment about GUID values. 2020-04-16 12:52:35 +03:00
Nicolas Petton
399c20d2e0
Bump Emacs version to 27.0.91
* README:
* configure.ac:
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version.
2020-04-16 11:06:14 +02:00
João Távora
145a151d62 Correct Fido-mode's backspacing of directories with spaces
Fixes: bug#40625

* lisp/icomplete.el (icomplete-fido-backward-updir): Use
zap-up-to-char.
2020-04-16 09:33:37 +01:00
Eli Zaretskii
490f279c7e File-handling cleanup in w32image.c
* src/w32image.c (w32_load_image): Encode the image file name and
convert it via 'map_w32_filename'.  No need to do anything special
when 'w32_unicode_filenames' is zero, since file names are in
UTF-8 internally, and this code will never run on Windows 9X.
* src/w32.h (map_w32_filename): Add prototype; removed prototypes
from all *.c files.
2020-04-16 09:14:07 +03:00
Andrea Corallo
c5ed3a72a8 * lisp/subr.el (eval-after-load): Make use of load-true-file-name bug#40638 2020-04-15 22:55:30 +01:00
Eli Zaretskii
e16374507f Fix retrieval of frame delay when using GDI+
* src/w32image.c (enum PropertyItem_type): New enumeration.
(decode_delay): New function.
(w32_frame_delay): Call 'decode_delay' to retrieve the frame delay
from image data.
2020-04-15 23:15:03 +03:00
João Távora
660b9b8cfb Default completion-flex-nospace to nil
By default, the flex completion style _does_ match spaces.

Fixes: bug#40625

* lisp/icomplete.el (icomplete--fido-mode-setup): Force
completion-flex-nospace to nil.

* lisp/minibuffer.el (completion-flex-nospace): Default to nil.
2020-04-15 18:43:09 +01:00
Eli Zaretskii
fb5f616ae8 Improve an example in w32 FAQ
* doc/misc/efaq-w32.texi (Font names): Modify the expression to
insert a lits of all installed fonts so as to avoid producing too
long lines.  Suggested by ndame <ndame@protonmail.com>.
2020-04-15 20:27:12 +03:00
Stefan Monnier
0ed7177696 * lisp/htmlfontify.el (hfy-force-fontification): Fix bug#40642
Don't presume that `jit-lock-mode` is enabled.
Do not merge to `master`.
2020-04-15 12:17:14 -04:00
Glenn Morris
97e48510ad Merge from origin/emacs-27
a5f7c26907 (origin/emacs-27) * admin/authors.el: Add an author alias.
d87a4d1f4e Limit RLIMIT_NOFILE to FD_SETSIZE on macOS
e5ca8e5e73 Fix Elisp manual entry on 'set-window-configuration'
485f24223f ; Update ChangeLog.3
8f200254fb ; Update etc/AUTHORS
c7adc851ad * admin/authors.el: Add missing author aliases.
4acdd7fe58 Fix edge case errors in filename-matching regexps
5f36e21fe5 Clarify the doc string of 'yank'
13301d4266 New function erc-track-switch-buffer-other-window
38f7538d8f New function erc-switch-to-buffer-other-window

# Conflicts:
#	etc/NEWS
2020-04-15 07:50:15 -07:00
Eli Zaretskii
afa542c914 Fix small glitches in documenting the native image API feature
* etc/NEWS: Fix wording of the entry for native image API support.
Reported by Juanma Barranquero <lekktu@gmail.com>.

* configure.ac (native-image-api): Fix the "--help" description.
2020-04-15 16:54:38 +03:00
Eli Zaretskii
bedb3cb665 Avoid infloop in redisplay when wrap-prefix is too wide
* src/xdisp.c (move_it_to): Avoid infloop due to wrap-prefix that
is wide enough to leave no space to display even the first
character of the continuation line.  (Bug#40632)
2020-04-15 14:28:21 +03:00
Nicolas Petton
a5f7c26907
* admin/authors.el: Add an author alias. 2020-04-15 13:22:44 +02:00
YAMAMOTO Mitsuharu
d87a4d1f4e Limit RLIMIT_NOFILE to FD_SETSIZE on macOS
* src/nsterm.m ([EmacsApp applicationDidFinishLaunching:]): Call
CoreFoundation functions that increase RLIMIT_NOFILE behind our back
during startup, and then set RLIMIT_NOFILE back to FD_SETSIZE to avoid
crashes in setup_process_coding_system  (Bug#39164).
2020-04-15 11:55:16 +02:00
Martin Rudalics
e5ca8e5e73 Fix Elisp manual entry on 'set-window-configuration'
* doc/lispref/windows.texi (Window Configurations): Fix
description of 'set-window-configuration'.
2020-04-15 10:18:15 +02:00
Stefan Monnier
72fc8ec6dd * lisp/htmlfontify.el: Use font-lock-ensure unconditionally
Remove redundant `:group`s.

(hfy-force-fontification): Make it an obsolete alias for `font-lock-ensure`.
Update all callers.
(hfy-init-kludge-hooks, hfy-init-kludge-hook): Remove vars, not used any more.
(hfy-kludge-cperl-mode): Declare it obsolete.
2020-04-15 00:23:32 -04:00
Eli Zaretskii
26df9aae53 Avoid compiler warning in image.c
* src/image.c (image_can_use_native_api): Avoid compiler warnings
by making this function conditioned on HAVE_NATIVE_IMAGE_API.
(initialize_image_type): Call image_can_use_native_api only if
HAVE_NATIVE_IMAGE_API is non-zero.  Reported by Basil
L. Contovounesios <contovob@tcd.ie>.
2020-04-14 22:22:07 +03:00
Andrea Corallo
208a11d3f0 Merge remote-tracking branch 'savannah/master' into HEAD 2020-04-14 18:25:23 +01:00
Andrea Corallo
8db8c851ad Always set load-true-file-name' where load-file-name' is set too.
Fix bug#40620.

	* lisp/cus-dep.el (custom-make-dependencies): Set
	load-true-file-name.

	* lisp/emacs-lisp/package.el (package-quickstart-refresh):
	Likewise.

	* lisp/international/mule.el (load-with-code-conversion):
	Likewise.

	* lisp/loadup.el (load-true-file-name): Likewise.
2020-04-14 19:58:41 +01:00
Nicolas Petton
485f24223f
; Update ChangeLog.3 2020-04-14 18:34:30 +02:00
Nicolas Petton
8f200254fb
; Update etc/AUTHORS 2020-04-14 18:33:50 +02:00
Nicolas Petton
c7adc851ad
* admin/authors.el: Add missing author aliases. 2020-04-14 18:33:28 +02:00
Eli Zaretskii
6bf79d65d3 ; * src/image.c: Cleanup of #ifdef's related to HAVE_NATIVE_IMAGE_API. 2020-04-14 18:19:59 +03:00
Eli Zaretskii
e94206aaf6 Make use of MS-Windows native image API be selectable at run time
* configure.ac: Minor cleanup in how w32image.o is added to the
build when native image APIs are requested.

* src/w32gui.h (w32_load_image, w32_can_use_native_image_api)
(w32_gdiplus_shutdown): Move prototypes from w32term.h here, since
w32.c doesn't include w32term.h.
* src/image.c (struct image_type): No need to pass TYPE to the
'valid_p' method.  All callers changed.
(initialize_image_type) [HAVE_NATIVE_IMAGE_API]: Call
'image_can_use_native_api' before trying image-specific methods.
(image_can_use_native_api): New function.
(image_types): Remove the native_image_type parts.
(syms_of_image): New symbol 'native-image'.
(parse_image_spec): Accept native-image "type" for any image type.
* src/w32term.c (syms_of_w32term): New variable
'w32-use-native-image-API'.
* src/w32image.c: (w32_can_use_native_image_api): New function.
(gdiplus_init): Rename from w32_gdiplus_startup. Simplify code.
Move the call to GdiplusStartup to a separate function.  Use
ordinal number for SHCreateMemStream if cannot load it by name.
(w32_load_image): Ignore Win32Error status from
w32_select_active_frame.
Move DEFSYMs from here...
* src/image.c (syms_of_image) [HAVE_NATIVE_IMAGE_API]: ...to here.

* etc/NEWS: Update the entry about native image API use.
2020-04-14 18:10:41 +03:00