1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-31 11:10:51 -07:00
Commit graph

42481 commits

Author SHA1 Message Date
Andrea Corallo
c27394da7e Rework frame layout
Every function call by reference gets use one unique array of
arguments.
2020-02-15 10:17:08 +01:00
Andrea Corallo
f1bc8e480c Merge remote-tracking branch 'savannah/master' into HEAD 2020-02-14 23:22:10 +01:00
Stefan Monnier
2e81e5733d * src/lread.c: Remove old-style backquotes support
(new_backquote_flag): Delete variable.
(load_error_old_style_backquotes): Delete function.
(force_new_style_backquotes): Delete variable.
(read_internal_start): Don't obey it any more.
2020-02-14 11:18:00 -05:00
Alan Third
44298ea6aa Use CGImage instead of NSBitmapImageRep (bug#32932)
* src/nsterm.m (ns_update_end):
(ns_clear_frame): Remove forced draws.
(ns_draw_fringe_bitmap):
(ns_dumpglyphs_image): No longer need to invert images as the context
is already flipped.
([EmacsView updateFrameSize:]):
([EmacsView initFrameFromEmacs:]): Use new function.
([EmacsView createDrawingBuffer]): Replaces createDrawingBufferWithRect:.
([EmacsView focusOnDrawingBuffer]): Set CGImage context.
([EmacsView windowDidChangeBackingProperties:]): Use new function.
([EmacsView copyRect:to:]): Copy using CGImages.
([EmacsView wantsUpdateLayer]):
([EmacsView updateLayer]): New Functions.
([EmacsView drawRect:]): We no longer do anything special here for
Cocoa.
([EmacsView windowDidChangeBackingProperties:]): Fix indentation and
add NSTRACE.
2020-02-13 18:26:20 +00:00
Glenn Morris
56ce263f50 Merge from origin/emacs-27
ad5e350ab7 c-end-of-macro: Handle block coment lines with unescaped N...
06c302d425 Fix set-fontset-font with ADD arg non-nil
530067463b Correct "different than" to "different from" where appropr...
56b8768b32 More accurate documentation of 'package-menu-hide-package'
2020-02-13 07:50:24 -08:00
Eli Zaretskii
06c302d425 Fix set-fontset-font with ADD arg non-nil
* src/fontset.c (fontset_add): Fix off-by-one error at TO.
(Bug#39482)
2020-02-09 19:18:38 +02:00
Alan Mackenzie
530067463b Correct "different than" to "different from" where appropriate
(doc/emacs/screen.texi)
(doc/lispintro/emacs-lisp-intro.texi)
(doc/misc/calc.texi)
(doc/misc/gnus.texi)
(doc/misc/sc.texi)
(lisp/align.el)
(lisp/allout-widgets.el)
(lisp/allout.el)
(lisp/emacs-lisp/gv.el)
(lisp/font-lock.el)
(lisp/gnus/mm-util.el)
(lisp/mail/feedmail.el)
(lisp/mail/sendmail.el)
(lisp/mail/supercite.el)
(lisp/org/org-attach.el)
(lisp/progmodes/cc-langs.el)
(lisp/progmodes/idlw-shell.el)
(lisp/ps-print.el)
(lisp/simple.el)
(src/cmds.c)
(src/editfns.c)
(src/frame.h)
(src/regex-emacs.c)
(src/xfaces.c): Replace "different than" by "different from".
2020-02-09 14:33:14 +00:00
Eli Zaretskii
fe903c5ab7 Allow composition of pure-ASCII strings in the mode line
* src/composite.c (Fcomposition_get_gstring): Allow unibyte
strings if they are pure ASCII, by copying text into a
multibyte string.
2020-02-08 15:41:36 +02:00
Eli Zaretskii
ac6ba689d1 Minor fixes of the last commit
* src/xdisp.c (get_window_cursor_type): Fix indentation and
line-filling.
* doc/lispref/frames.texi (Cursor Parameters):
* doc/emacs/display.texi (Cursor Display):
* etc/NEWS: Fix wording and capitalization of the last change.
2020-02-07 12:10:43 +02:00
Zajcev Evgeny
63fd6c9ef0 Support for (box . SIZE) 'cursor-type'
This allows control of the minimum size of a masked image under
which the box cursor becomes hollow.
* buffer.c (cursor-type): Add commentary about (box . SIZE)
'cursor-type'.
* xdisp.c (get_specified_cursor_type): Check for 'cursor-type'
of the form (box . SIZE).
(get_window_cursor_type): Check masked image size for
(box . SIZE) 'cursor-type'.

* doc/emacs/display.texi (Cursor Display):
* doc/emacs/display.texi (Cursor Parameters): Add description
of (box . SIZE) 'cursor-type'.

* etc/NEWS: Mention the new (box . SIZE) 'cursor-type'.
2020-02-07 12:00:14 +02:00
Andrea Corallo
d71801ea34 Clean-up unused variable into load_comp_unit 2020-02-06 22:57:58 +01:00
Glenn Morris
68d43392a6 Merge from origin/emacs-27
09eed01afb Wrap some set-auto-mode calls with delay-mode-hooks (bug#3...
4a0a114505 Support ido-vertical-mode better
ef5fba9f40 Fix faces tab-bar and tab-line.
831508422e Cater for 3-argument version of pthread_setname_np
f27187f963 Clarify lexvar restrictions for add-to-ordered-list, add-t...
32763dac46 Replace add-to-list to lexical variable with push (bug#39373)
d07f177382 Clarify add-to-list documentation (bug#39373)
d3d2ea927c MH-E: alter content in mh-display-msg, not mh-show-mode
db7fa2546f Update documentation for mh-show-mode-hook
d10be6bf28 Example goto-addr hook: MH-E already uses goto-address

# Conflicts:
#	etc/NEWS
2020-02-06 07:50:29 -08:00
Andrea Corallo
15aedf3e3d Merge remote-tracking branch 'savannah/master' into HEAD 2020-02-04 15:11:20 +01:00
Andrea Corallo
ea56b58098 Add assertion in load_comp_unit
While resurrecting from an image dump loading more than once the
same compilation unit does not make any sense.
2020-02-04 11:03:13 +00:00
Andrea Corallo
7c93bb113e Rework load mechanism to make Vcomp_loaded_handles unnecessary 2020-02-03 21:56:46 +00:00
Robert Pluim
831508422e Cater for 3-argument version of pthread_setname_np
Fixes Bug#39363.

* configure.ac: Add check for 3-argument version of
pthread_setname_np.
* src/systhread.c (sys_thread_set_name)
[HAVE_PTHREAD_SETNAME_NP_3ARG]: Call pthread_setname_np with
3 arguments.
2020-02-03 16:40:25 +01:00
Andrea Corallo
ffa59bb161 Always define subr-native-elisp-p also without native compiler 2020-02-03 13:01:34 +01:00
AndreaCorallo
6696b561d4 Fix load_comp_unit for non zero speeds
'dlopen' returns the same handle when trying to load two times
the same shared.

Touching 'd_reloc' etc leads to fails in case a frame with a reference
to it in a register is active. (comp-speed >= 0)
2020-02-03 12:58:09 +01:00
Glenn Morris
0ceb5d0b23 Merge from origin/emacs-27
5bf2ef3871 Add more blackboard bold characters to TeX input method
c362a624d8 ; * lisp/progmodes/gdb-mi.el (gdb-handle-reply): Fix comme...
2b1e18ae85 Protect against errors in gdb-mi.el handlers
baceb8e84d Allow exiting the Python interpreter of a GDB session
2e66013dcf Ensure minibuffer input is added to history in read_minibuf
de41161534 Tab-bar related fixes.
247f2cfa02 ; ChangeLog.3 fixes.
e1a712bb3f * admin/authors.el: Add missing entries.
2020-02-01 07:50:10 -08:00
Federico Tedin
2e66013dcf Ensure minibuffer input is added to history in read_minibuf
* src/minibuf.c (read_minibuf): Parse input string after saving
the string to the history list instead of before, in case parsing
signals an error or is interrupted by C-g.  (Bug#39291)
2020-01-31 11:17:41 +02:00
Alan Third
93b5530662 Merge branch 'scratch/ns/draw-to-bitmap' 2020-01-28 18:15:19 +00:00
Glenn Morris
60a3c5d56c Merge from origin/emacs-27
1bcac29b2f (origin/emacs-27) dns-mode-soa-auto-increment-serial: safe...
abf0f8666d * lisp/wdired.el: Clean out isearch-filter-predicate (bug#...
c31c31e57f ; Spelling and URL fixes
066aad7b9d Finish the documentation for c-noise-macro-{,with-parens-}...
c8fcabf245 Correct regexp for flags in `format' doc string
2e9a153b26 Moderate recommendation to escape '(' in doc strings
d7cd4ab7d9 Objective C Mode: Make c-forward-type work with "unsigned ...
1705e32ebc Fix help text about configure module support
baca81e641 * doc/lispref/streams.texi (Output Functions): Improve ind...
568a560fce Improve doc string of 'newline'
7f50698505 Improve doc of eq on bignums etc.
e5327a569c Do not refer to obsolete alias
fd09196781 ; Clarify what time-stamp-active enables

# Conflicts:
#	etc/NEWS
2020-01-28 07:50:22 -08:00
Paul Eggert
a02b179242 Revert the --with-install-srcdir patch
Also, update description of debuginfo and sources to match
Debian and Red Hat more accurately, and move this sad tale
from INSTALL to etc/PROBLEMS which is a better home for it.
* Makefile.in (emacs_srcdir, install-c-src):
* configure.ac (emacs_srcdir, --with-install-srcdir):
* src/epaths.in (PATH_EMACS_SOURCE):
* src/lread.c (emacs-source-directory):
Remove.  All uses removed.
* lisp/emacs-lisp/find-func.el (find-function-C-source):
Do not worry about compressed C sources.
* src/lread.c: Do not include <dosname.h>.
2020-01-27 23:17:10 -08:00
Paul Eggert
c31c31e57f ; Spelling and URL fixes 2020-01-27 11:30:46 -08:00
Paul Eggert
23ef804eb5 * src/mini-gmp.c: Fix comment typos. 2020-01-26 12:54:47 -08:00
Paul Eggert
901f58ce5f Update mini-gmp
* src/mini-gmp.c, src/mini-gmp.h: Copy from GMP 6.2.0.
This incorporates:
2019-12-05 remove some sizeof(mp_limb_t)
2019-12-04 (mpn_invert_3by2): Remove special code for limb sizes
2019-12-04 (mpn_invert_3by2): Limit size of an intermediate
2019-11-20 (mpn_invert_3by2): Use xor instead of negation
2019-11-19 (mpn_invert_3by2): Move an assert earlier
2019-11-19 (mpn_invert_3by2): Add a new shortcut
2019-11-17 Prepend "unsigned" to MINI_GMP_LIMB_TYPE
2019-11-17 Enable testing with different limb sizes (types)
2019-11-20 Use already defined constants
2019-11-09 Avoid undefined behaviour with small limb sizes
2020-01-26 12:54:47 -08:00
Mattias Engdegård
c8fcabf245 Correct regexp for flags in `format' doc string
* src/editfns.c (Fformat): Use the correct regexp for describing the
flags in a %-sequence (place the hyphen last).
2020-01-26 10:05:53 -08:00
Paul Eggert
26d890c9cc Propagate NSLocale into Emacs better
* src/emacs.c (main): Call ns_init_locale before using the
environment variable that ns_init_locale sets up (Bug#39248).
2020-01-26 00:34:38 -08:00
Paul Eggert
f42d57c7db Install C source code for C-h f etc.
Without this change, on typical GNU/Linux distributions
like Debian, the first button of ‘C-h f car RET’ does not work
because the source code for ‘car’ is not installed (Bug#37527).
Fix this by installing the (compressed) C source code alongside
the (compressed) Lisp source code that is already installed.
This adds about 3 MB (about 2%) to the size of the installed files
on my platform.
* Makefile.in (emacs_srcdir): New macro.
(epaths-force): Substitute PATH_EMACS_SOURCE.
(install-c-src): New rule, that installs a copy of the C source
code if emacs_srcdir says to.
(install-arch-indep): Depend on it.
* configure.ac (emacs_srcdir): New var.
Add support for --disable-install-srcdir.
* lisp/emacs-lisp/find-func.el (find-function-C-source-directory):
Look in emacs-source-directory first.
(find-function-C-source): Also look for gzipped source files.
* lisp/startup.el (normal-top-level):
Also recode emacs-source-directory.
* src/epaths.in (PATH_EMACS_SOURCE): New macro.
* src/lread.c: Include dosname.h, for IS_ABSOLUTE_FILE_NAME.
(syms_of_lread): New var emacs-source-directory.
2020-01-24 16:46:42 -08:00
Alan Third
f674c905dc Draw to offscreen buffer on macOS
* src/nsfns.m (x_set_background_color): Clear the frame after changing
the background color, not before.
* src/nsterm.h (drawingBuffer): New variable.
([EmacsView focusOnDrawingBuffer]):
([EmacsView copyRect:to:]):
([EmacsView createDrawingBufferWithRect:]): New methods.
* src/nsterm.m (ns_update_begin):
(ns_update_end):
(ns_focus):
(ns_unfocus): Handle drawing to offscreen buffer.
(ns_clip_to_row): Use ns_row_rect.
(ns_copy_bits): Remove unused function.
(ns_scroll_run):
(ns_shift_glyphs_for_insert): Use new scrolling method.
(ns_draw_fringe_bitmap):
(ns_dumpglyphs_image): When drawing to the offscreen buffer, flip
images so they appear the right way up.
(ns_dumpglyphs_stretch): Remove unnecessary code.
(ns_draw_window_cursor): Don't disable screen updates.
([EmacsView updateFrameSize:]): Update the size of the offscreen
buffer.
([EmacsView initFrameFromEmacs:]): Create offscreen buffer.
([EmacsView windowDidChangeBackingProperties:]):
([EmacsView createDrawingBufferWithRect:]):
([EmacsView focusOnDrawingBuffer]):
([EmacsView copyRect]): New methods.
([EmacsView viewWillDraw]): Remove method as it no longer does
anything useful.
([EmacsView drawRect:]): Handle drawing from offscreen buffer.
2020-01-24 16:05:42 +00:00
Alan Third
3ad7813296 Revert "Make all NS drawing be done from drawRect"
This reverts commit 7946445962.
2020-01-24 16:05:41 +00:00
Alan Third
6b955c26f6 Revert "Ensure NS frame is redrawn correctly after scroll"
This reverts commit a6ab8db3a3.
2020-01-24 16:05:41 +00:00
Alan Third
ac6e620adc Revert "Fix some NS drawing issues (bug#32932)"
This reverts commit 7e8eee60a9.
2020-01-24 16:05:40 +00:00
Glenn Morris
a76e7d592f Merge from origin/emacs-27
0bed550e21 (origin/emacs-27) Remove EmacsOpenPanel and EmacsSavePanel...
a0336029db * doc/emacs/files.texi (Auto Save Files): Improve indexing...
57fb8b10c1 Fix inaccurate wording in the Emacs manual
1c487747ab Update ERC module URLs
7d1e9c943f Minor doc string clarification in use-hard-newlines
2020-01-24 07:50:22 -08:00
Glenn Morris
635e55e812 Merge from origin/emacs-27
92f080dda8 Tab-bar related finishing touches.
224e8d1464 Make call_process call signal_after_change.  This fixes bu...
d02f2a793e * lisp/simple.el: Minor fixes to commentary.
196c42b8bf Fix a few typos
4f2b967795 Fix doc strings for image-dired rotation commands

# Conflicts:
#	etc/NEWS
2020-01-24 07:50:22 -08:00
Alan Third
0bed550e21 Remove EmacsOpenPanel and EmacsSavePanel (bug#38031) 2020-01-24 09:55:55 +00:00
Paul Eggert
75c1f936fc Simplify locale setup
Stop exporting Vprevious_system_time_locale and
Vprevious_system_messages_locale to Elisp.  I did that export by
mistake in 1999, and the Elisp variables have never been used.
Simplifying this cruft should make it easier to fix Bug#39248.
* etc/NEWS: Mention this.
* src/emacs.c (main): Simplify locale initialization.
(synchronize_locale): Simplify.
(Vprevious_system_time_locale, Vprevious_system_messages_locale):
Now static variables not visible to Lisp, and defined only if
HAVE_SETLOCALE.
(Vprevious_system_messages_locale): Define only if LC_MESSAGES.
2020-01-23 23:20:01 -08:00
Paul Eggert
6f580542c1 Fix crash when sending Gnus message (Bug#39207)
* src/alloc.c (resize_string_data): The string must be multibyte.
When not bothering to reallocate, do bother to change the byte count.
* test/src/alloc-tests.el (aset-nbytes-change) New test.
2020-01-22 23:44:34 -08:00
Alan Mackenzie
224e8d1464 Make call_process call signal_after_change. This fixes bug #38691.
Now, functions such as call-proess-region invoke after-change-functions
correctly.

* src/callproc.c (call_process): Call prepare_to_modify_buffer in a single
place, no longer delegating the task to insert_1_both, etc.  Call
signal_after_change in each of two code branches, such that
before-change-functions and after-change-functions are always called in
balanced pairs.
2020-01-22 19:50:30 +00:00
Eli Zaretskii
196c42b8bf Fix a few typos
* etc/NEWS: Fix a typo.

* src/xdisp.c (try_window_reusing_current_matrix, try_window_id):
* src/dispnew.c (scrolling_window): Fix typos in comments.
2020-01-22 19:17:32 +02:00
Glenn Morris
5715eb94e9 Merge from origin/emacs-27
3b0938c042 (origin/emacs-27) Render Ido suggestions using an overlay
d5d90dc412 * doc/misc/tramp.texi (Bug Reports): Encourage use of "ema...
ac09e8e121 * lisp/vc/smerge-mode.el (smerge-match-conflict): Fix bug#...
7e37e61f4b Correct statement about ftcr and recommend HarfBuzz
4aec94da37 Avoid leaving artifacts when the system caret is used on w32
5abd8d73b0 Improve display of temporary echo messages
2020-01-22 07:55:18 -08:00
Glenn Morris
83d493426b Merge from origin/emacs-27
3ba0db41e3 Allow optional truncation of tab names in tab-bar and tab-...
7dd065fc7b Small fixes in documentation.
06166aa719 Improve explanation of available font backends under X
2eb834ead4 Clear output data pointer on NS
2020-01-22 07:55:18 -08:00
Eli Zaretskii
4aec94da37 Avoid leaving artifacts when the system caret is used on w32
* src/xdisp.c (try_window_reusing_current_matrix, try_window_id):
* src/dispnew.c (scrolling_window) [HAVE_NTGUI]: If
w32-use-visible-system-caret is non-nil, disallow scrolling the
display are in scroll_run_hook.  This avoids copying traces of the
caret, about which Emacs knows nothing, and thus considers those
pixels show the default background.  (Bug#39188)
(gui_update_window_end): Block input only around part of the code,
as we did before this code was extracted from backend-specific
implementations.

* src/w32term.c (w32_update_window_begin, w32_update_window_end):
Only hide/show the caret when redisplaying the window where the
caret is shown.
2020-01-21 18:23:32 +02:00
Pip Cet
2eb834ead4 Clear output data pointer on NS
* src/nsterm.m (ns_free_frame_resources): Clear the output data
pointer to prevent attempting to reuse freed resources (Bug#38748).
2020-01-20 17:27:43 +01:00
Eli Zaretskii
f650d54c6a Unbreak the MS-Windows build
* src/w32.c (openat): New function.
* src/w32.h (openat): Add prototype.
2020-01-20 18:21:09 +02:00
Paul Eggert
b3ad638a60 Work better if stat etc. are interrupted
Quit or retry if fstat, lstat, stat or openat fail with EINTR.
This should fix some bugs on platforms where accessing files via
NFS can fail that way (Bug#9256).
* src/dired.c (file_attributes):
* src/fileio.c (file_directory_p) [O_PATH]:
Use emacs_openat instead of openat.
* src/dired.c (file_attributes): Use emacs_fstatat instead of fstatat.
* src/fileio.c (barf_or_query_if_file_exists, Frename_file):
* src/filelock.c (rename_lock_file):
Use emacs_fstatat instead of lstat.
* src/fileio.c (file_directory_p, Ffile_regular_p, Ffile_modes)
(Ffile_newer_than_file_p, Fverify_visited_file_modtime)
(Fset_visited_file_modtime, auto_save_1):
* src/lread.c (Fload):
* src/sysdep.c (get_current_dir_name_or_unreachable):
Use emacs_fstatat instead of stat.
* src/sysdep.c (emacs_fstatat, emacs_openat): New functions.
(emacs_open): Redo in terms of emacs_open.
2020-01-20 01:21:52 -08:00
Paul Eggert
b222e1aaf9 Don’t assume sizeof (size_t) == 4 in allocators
This removes some old 32-bit assumptions in Emacs allocator tuning,
and improves performance of ‘make compile-always’ by about 7% on a
couple of 64-bit GNU/Linux platforms I tried it on.  It should not
affect performance on 32-bit platforms.
* src/alloc.c (MALLOC_SIZE_NEAR): New macro.
(MALLOC_ALIGNMENT): New constant.
(INTERVAL_BLOCK_SIZE, SBLOCK_SIZE, STRING_BLOCK_SIZE): Use the new
macro.  Make these enum constants since they need not be macros.
2020-01-18 13:21:20 -08:00
Stefan Monnier
a4610c3dca * src/fns.c (sxhash_obj): Fix crash on sub-char-tables
Also, look inside overlays, like `internal_equal`.

(internal_equal): Cosmetic tweak.
2020-01-18 13:13:21 -05:00
Paul Eggert
ac121d8c8f Make Faset nonrecursive
* src/data.c (Faset): Refactor Faset so that it’s not recursive.
This helps the compiler and makes the code a bit clearer.
2020-01-18 00:02:12 -08:00
Paul Eggert
c1b6d5c5b9 Improve performance when a string's byte count changes
* src/alloc.c (allocate_string_data): Now static.
Remove code for when Faset calls this function when S
already has data assigned, as that can no longer happen.
(resize_string_data): New function, which avoids relocation in
more cases than the old code did, by not bothering to relocate
when the size changes falls within the alignment slop.
* src/data.c (Faset): Use resize_string_data.
Change a while to a do-while since it must iterate at least once.
2020-01-18 00:02:12 -08:00