1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-22 16:01:04 -08:00
Commit graph

39897 commits

Author SHA1 Message Date
Paul Eggert
b38724ab67 Work around ImageMagick bug 825
This should fix several bugs reported recently against Emacs
(Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
* src/image.c (imagemagick_load_image):
Do not call MagickWandTerminus.
2017-10-16 23:45:31 -07:00
Eli Zaretskii
081d2187c4 Fix 'line-number-display-width' in hscrolled windows
* src/indent.c (line_number_display_width): Make sure a line
number is generated even when the first line of the window is
completely hscrolled out of view.  (Bug#28854)
2017-10-16 18:51:32 +03:00
Paul Eggert
3205b12a78 Fix regression in display of PPM images
Problem reported by Roland Winkler (Bug#28824#35).
Based on a patch proposed by Andy Moreton (Bug#28824#38).
* src/image.c (pbm_scan_index): New function.
(pbm_load): Use it to decode raw data correctly when its top bit
is set.
2017-10-16 01:24:27 -07:00
Eli Zaretskii
325dfdae13 Avoid compilation warnings in optimized builds
* src/process.c (Fmake_network_process):
* src/image.c (xbm_scan, gif_load):
* src/fileio.c (Frename_file):
* src/data.c (Fmake_local_variable):
* src/buffer.c (fix_start_end_in_overlays):
* lib-src/etags.c (process_file_name): Mark variables with UNINIT
to avoid compiler warnings in optimized builds.
2017-10-15 19:20:58 +03:00
Eli Zaretskii
f79382819c ; * src/composite.c (Fclear_composition_cache): Fix last change. 2017-10-15 19:13:34 +03:00
K. Handa
f95cd5cd70 Improve customization of arabic-shaper-ZWNJ-handling.
Make the effect of customizing arabic-shaper-ZWNJ-handling appear
immediately.
* lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
value.
* src/composite.c (Fclear_composition_cache): New function.
(syms_of_composite): Defsubr it.
2017-10-15 23:15:47 +09:00
Eli Zaretskii
aa0c38f358 Make sure thread stack is properly aligned on MS-Windows
* src/systhread.c: Include w32term.h instead of windows.h.
(w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
the thread's stack is correctly aligned.
* src/w32term.h (ALIGN_STACK): Update commentary.
2017-10-14 11:13:47 +03:00
Paul Eggert
d7038020aa Do not under-align pseudovectors
Problem reported by Fabrice Popineau in:
https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00357.html
Also see diagnosis by Eli Zaretskii in:
https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00476.html
* src/alloc.c (vector_alignment):
Now a multiple of alignof (max_align_t).
2017-10-14 01:01:16 -07:00
Andreas Schwab
716b84034d gnutls_mac_get_nonce_size has been added in gnutls 3.3
* src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
[GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
(gnutls_mac_get_nonce_size): Depend on
HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
(Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
!HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
2017-10-13 12:42:45 +02:00
Eli Zaretskii
59b5dc60d6 Fix this-command-keys for "M-x foo" commands
* src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
unibyte string.  (Bug#28798)
2017-10-12 23:38:48 +03:00
Paul Eggert
2f4bd2fbda Let rename-file rename dirs across filesystems
Problem diagnosed by Andreas Schwab (Bug#28792#65).
This fixes a bug that I introduced in
2017-09-10T22:39:24@eggert@cs.ucla.edu
"Fix race with rename-file etc. with dir NEWNAME".
* src/fileio.c (Frename_file): Copy a source directory across
file system boundaries even if its name does not end in slash.
2017-10-12 13:11:33 -07:00
Alan Third
078fb7f6df Make frame-list-z-order on NS match Windows behaviour (bug#28788)
* src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
ignore it rather than returning nil.
2017-10-11 22:21:57 +01:00
Radon Rosborough
eab051991e Fix docstring style for 'functionp'
* src/eval.c (functionp): Make docstring start with verb.
(Bug#28781)
2017-10-11 16:08:18 +03:00
Paul Eggert
5d51403ceb ; Typo fixes, mostly repeated words 2017-10-09 22:55:06 -07:00
Alexander Gramiak
0485aa76c9 ; * src/lread.c (syms_of_lread) <module-file-suffix>: Fix typo 2017-10-09 14:30:29 -06:00
Paul Eggert
f352d0257c Fix PWD check on DOS_NT
* src/sysdep.c (get_current_dir_name_or_unreachable):
Do not consider a file name like "a:b" to be absolute on DOS_NT.
2017-10-09 10:48:56 -07:00
Paul Eggert
934f08f3de Fix unlikely overflows with wd length
* src/sysdep.c (get_current_dir_name_or_unreachable):
Avoid integer overflow if working directory name is absurdly long.
When allocating memory for getcwd, do not exceed MAXPATHLEN.
2017-10-09 10:48:55 -07:00
Eli Zaretskii
2da83c9d36 Avoid assertion violations when line numbers are displayed
* src/xdisp.c (redisplay_window): Clear the window's desired glyph
matrix before calling try_window with the same starting	point.
This avoids assertion violations when switching from a buffer
without line numbers to a buffer with line numbers.  (Bug28710)
2017-10-09 15:28:16 +03:00
Paul Eggert
7c2c117c91 Improve test for unreachable dirs
* src/sysdep.c (get_current_dir_name_or_unreachable):
New function, with most of the old contents of
emacs_get_current_dir_name.
(emacs_get_current_dir_name): Use it.  Use a simpler
test for unreachable directory strings, and also apply
it to getcwd etc. (Bug#27871)
2017-10-07 22:57:12 -07:00
Paul Eggert
2202952b83 * src/xsmfns.c (x_session_initialize): Fix memory leak. 2017-10-07 22:57:11 -07:00
Alan Third
3db0dc2168 Fix crash when closing fullscreen frame on macOS (bug#28661)
* src/nsterm.m (EmacsView::windowWillResize): Return new frame size
unmodified if the frame isn't live.
2017-10-07 21:57:16 +01:00
Piotr Trojanek
0fa353b504 * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
Copyright-paperwork-exempt: yes.
2017-10-07 17:54:36 +03:00
Eli Zaretskii
75174a632d Fix glitches in displaying TTY menus
* src/dispnew.c (update_frame_line): Accept an additional argument
UPDATING_MENU_P; if non-zero, home the cursor before updating a
frame's line.  All callers changed.
(update_frame_1): Accept an additional argument UPDATING_MENU_P,
and pass it to update_frame_line.  All callers changed.
(update_frame_with_menu): Call update_frame_1 with last argument
non-zero.  (Bug#17497)
2017-10-07 14:20:42 +03:00
Paul Eggert
9226cf3254 Fix bug in recent styled_format change
Problem reported by Kaushal Modi in:
http://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00141.html
* src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
not always followed by SAFE_FREE.  This bug was introduced in my
patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
unnecessary copying in Fformat etc."
2017-10-06 10:33:53 -07:00
Piotr Trojanek
560dd9b573 * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
Fixes: Bug#28721

Copyright-paperwork-exempt: yes.
2017-10-06 17:12:31 +03:00
Paul Eggert
db893ab863 Fix bug with unmounted directory on GNU/Linux
* src/sysdep.c (emacs_get_current_dir_name): Do not use
get_current_dir_name result unless it is absolute (Bug#27871).
2017-10-05 16:05:49 -07:00
Johan Bockgård
3d8df4d636 Fix search for ~/.Xdefaults-HOSTNAME
* src/xrdb.c (get_environ_db): Fix typo when handling
~/.Xdefaults-HOSTNAME (Bug#28708).
2017-10-04 15:25:08 -07:00
Paul Eggert
3db388b0bf Speed up (format "%s" STRING) and the like
Although the Lisp manual said that ‘format’ returns a
newly-allocated string, this was not true for a few cases like
(format "%s" ""), and fixing the documentation to allow reuse of
arguments lets us improve performance in common cases like
(format "foo") and (format "%s" "foo") (Bug#28625).
* doc/lispref/strings.texi (Formatting Strings):
* etc/NEWS:
Say that the result of ‘format’ might not be newly allocated.
* src/callint.c (Fcall_interactively):
* src/dbusbind.c (XD_OBJECT_TO_STRING):
* src/editfns.c (Fmessage, Fmessage_box):
* src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
Just use Fformat or Fformat_message, as that’s simpler and no
longer makes unnecessary copies.
* src/editfns.c (styled_format): Remove last argument, as it
is no longer needed: all callers now want it to behave as if it
were true.  All remaining callers changed.  Make this function
static again.  Simplify the function now that we no longer
need to worry about whether the optimization is allowed.
2017-10-04 14:45:08 -07:00
Eli Zaretskii
ea39d470bf Avoid crashes on C-g when several threads wait for input
* src/thread.h (m_getcjmp): New member of 'struct thread_state'.
(getcjmp): Define to current thread's 'm_getcjmp'.
* src/thread.c (maybe_reacquire_global_lock): Switch to main
thread, since this is called from a SIGINT handler, which always
runs in the context of the main thread.
* src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
definitions before thread.h is included, as thread.h now uses
sys_jmp_buf.
* src/keyboard.c (getcjmp): Remove declaration.
(read_char): Don't call maybe_reacquire_global_lock here.
(handle_interrupt): Call maybe_reacquire_global_lock here, if
invoked from the SIGINT handler, to make sure
quit_throw_to_read_char runs with main thread's Lisp bindings and
uses the main thread's jmp_buf buffer.  (Bug#28630)
2017-10-04 10:27:49 +03:00
Philipp Stephani
0fff900c18 Work around deprecation of gtk_style_context_get_background_color
* src/gtkutil.c (xg_check_special_colors): Replace call to
gtk_style_context_get_background_color with its definition.
2017-10-03 14:58:19 +02:00
Eli Zaretskii
d09ac15005 Fix the --without-x build
* src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
frame_parent only in GUI builds to avoid compilation errors in
--without-x builds.  (Bug#28611)
2017-10-02 21:35:51 +03:00
Paul Eggert
5172fa02cc Prefer HTTPS to HTTP for gnu.org
This fixes some URLs I omitted from my previous pass,
notably those in lists.gnu.org.  Although lists.gnu.org
does not yet support TLS 1.1, TLS 1.0 is better than nothing.
* lisp/erc/erc.el (erc-official-location):
* lisp/mail/emacsbug.el (report-emacs-bug):
Use https:, not http:.
2017-10-01 19:59:01 -07:00
Paul Eggert
8cdd8b920a Merge from Gnulib
This is mostly to change http: to https: in licenses.
* COPYING, build-aux/config.guess, build-aux/config.sub:
* doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
* doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
* doc/lispref/gpl.texi, doc/misc/doclicense.texi:
* doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
* lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
* msdos/COPYING, nt/COPYING, src/COPYING:
Copy from Gnulib.
2017-10-01 18:31:10 -07:00
Alan Mackenzie
5f76ac150a Make the value nil in text-quoting-style mean what it does in Emacs 25.
This is a partial reversion of yesterday's commit by the same author, which
changed the meaning of nil and introduced the new value t.

* src/doc.c (text_quoting_style, text-quoting-style)
(internal--text-quoting-flag): Revert yesterday's changes.

* lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.

* etc/NEWS: Amend the entry for text-quoting-style.

* doc/lispref/control.texi (Signalling Errors)
* doc/lispref/display.texi (Displaying Messages)
* doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
grave rather than nil to inhibit translation of quotes.

* doc/lispref/help.texi (Keys in Documentation): Revert the description of the
proposed new default, t.
2017-10-01 11:27:16 +00:00
Alan Mackenzie
d5e4e004fa Make text-quoting-style customizable. Introduce t and new meaning for nil.
A value of nil for text-quoting-style now means "no translation".  t means
"Use curved quotes if displayable".

* src/doc.c (text-quoting-style (function)): modify for new semantics.
(text-quoting-style (variable)): Amend the doc string, set the default value
to t.

* lisp/cus-start.el: (top level): Create a customize entry for
text-quoting-style in group display.

* etc/NEWS: Amend the entry for text-quoting-style.

* doc/emacs/display.texi (Text Display): Describe the translation of ASCII
quotes to curved quotes, and how to influence or inhibit it.

* doc/lispref/control.texi (Signalling Errors)
* doc/lispref/display.texi (Displaying Messages)
* doc/lispref/strings.texi (Formatting Strings): Describe binding
text-quoting-style to nil to inhibit unwanted quote translation.

* doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
from a variable to a user option.  Describe its changed set of values.  State
that it can be customized freely.
2017-10-01 11:27:15 +00:00
Martin Rudalics
b03b4f6d79 Improve handling of iconification of child frames (Bug#28611)
* src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
(syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
(iconify_child_frame): New option.
* lisp/cus-start.el (iconify-child-frame): Add customization
properties.
* doc/lispref/frames.texi (Child Frames): Describe new option
`iconify-child-frame'.  Don't index "top-level frame" twice.
2017-10-01 10:17:17 +02:00
Eli Zaretskii
cb93a6ce72 Improve documentation of 'copy-sequence'
* src/fns.c (Fcopy_sequence):
* doc/lispref/sequences.texi (Sequence Functions): Mention the
exception when copying an empty sequence.  (Bug#28627)
2017-09-30 16:01:00 +03:00
Mark Oteiza
645ff6c702 Add CAM02 JCh and CAM02-UCS J'a'b' conversions
* src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
(jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
(lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
functions.
(lcms-cam02-ucs): Refactor.
(syms_of_lcms2): Declare new functions.
* test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
(lcms-jmh->cam02-ucs-silver): New tests.
* etc/NEWS: Mention new functions.
2017-09-30 08:00:53 -04:00
Paul Eggert
cbc8324488 Prefer HTTPS to HTTP for gnu.org
This catches some URLs I missed in my previous scan,
or perhaps were added after the scan.
2017-09-29 17:48:22 -07:00
Noam Postavsky
695cf5300b Wait for frame visibility with timeout in w32term too
* src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
variable.
(x_make_frame_visible): Wait for frame to become visible according to
its value.
(input_signal_count): Remove.
2017-09-29 18:40:06 -04:00
Noam Postavsky
e1f6e3127a Bring back the busy wait after x_make_frame_visible (Bug#25521)
But wait specfically for a MapNotify event, and only for a
configurable amount of time.
* src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
variable.
(x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
(x_make_frame_visible): Call x_wait_for_event at the end.
* etc/NEWS: Announce x_wait_for_event.
2017-09-29 18:40:06 -04:00
Philipp Stephani
bccf635217 ; * src/gtkutil.c (xg_check_special_colors): Add another GTK+ FIXME. 2017-09-29 22:47:33 +02:00
Alan Third
7476eeaa23 Revert "Fix build on macOS (bug#28571)"
This reverts commit fec63089d5.

Prematurely pushed.
2017-09-28 22:27:02 +01:00
Alan Third
fec63089d5 Fix build on macOS (bug#28571)
* src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
[DARWIN_OS]: Undefine.
2017-09-28 19:01:12 +01:00
Martin Rudalics
88a0dd71f1 In w32fullscreen_hook don't add decorations to undecorated frames
* src/w32term.c (w32fullscreen_hook): Do not add (or try to
remove) decorations for undecorated frames.
2017-09-28 10:10:21 +02:00
Paul Eggert
a3f647c5c8 * src/editfns.c (styled_format): Fix typo in previous change. 2017-09-26 17:16:19 -07:00
Paul Eggert
0e82fa3416 Avoid some unnecessary copying in Fformat etc.
This patch is just for performance; it should not affect behavior.
On my platform, it made the microbenchmark (format "%S" load-path)
run about 45% faster.  It should also speed up calls like (message
"%s" STRING).
* src/callint.c (Fcall_interactively):
* src/dbusbind.c (XD_OBJECT_TO_STRING):
* src/editfns.c (Fmessage, Fmessage_box):
* src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
Use styled_format instead of Fformat or Fformat_message,
to avoid unnecessary copying.
* src/editfns.c (styled_format): New arg NEW_RESULT.
All uses changed.  Reuse an input string if it has the
right value and if !NEW_RESULT.
* src/lisp.h (style_format): New decl.
2017-09-26 16:36:43 -07:00
Philipp Stephani
1e5949642a ; * src/gtkutil.c (xg_create_frame_widgets): Add FIXME re. X drawing 2017-09-26 20:34:27 +02:00
Alan Third
638f64c40a Improve new NS scrolling variable names
* src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
'ns-use-mwheel-acceleration'.
(ns-touchpad-scroll-line-height): Replace with
'ns-mwheel-line-height'.
(ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
* etc/NEWS: Change variable names.
2017-09-24 22:47:50 +01:00
Alan Third
00e4e3e9d2 Fix undecorated frame resizing issues on NS (bug#28512)
* src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
toolbar on undecorated frames.
(EmacsView::initFrameFromEmacs): Group window flags correctly.
2017-09-23 19:47:21 +01:00