Commit graph

39940 commits

Author SHA1 Message Date
Michael Albinus
48ad00390d Fix Bug#29225
* src/fileio.c (Fset_file_acl): Report error only when
acl_errno_valid returns true.  (Bug#29225)

* test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
(tramp-test25-file-selinux): New tests.
(tramp-test26-file-name-completion, tramp-test27-load)
(tramp-test28-process-file, tramp-test29-start-file-process)
(tramp-test30-interrupt-process, tramp-test31-shell-command)
(tramp-test32-environment-variables)
(tramp-test32-environment-variables-and-port-numbers)
(tramp-test33-explicit-shell-file-name)
(tramp-test34-vc-registered)
(tramp-test35-make-auto-save-file-name)
(tramp-test36-find-backup-file-name)
(tramp-test37-make-nearby-temp-file)
(tramp-test38-special-characters)
(tramp-test38-special-characters-with-stat)
(tramp-test38-special-characters-with-perl)
(tramp-test38-special-characters-with-ls, tramp-test39-utf8)
(tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
(tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
(tramp-test41-asynchronous-requests)
(tramp-test42-recursive-load, tramp-test43-remote-load-path)
(tramp-test44-delay-load, tramp-test45-unload): Rename.
2017-11-12 13:06:09 +01:00
Paul Eggert
e470d16448 Pacify GCC when configured --with-x-toolkit=no
Without these changes, Emacs does not build on Fedora 26 x86-64
when configured --with-x-toolkit=no --enable-gcc-warnings.
* oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
* src/xterm.c (x_dispatch_event): Define only if
USE_X_TOOLKIT || USE_MOTIF || USE_GTK.
2017-11-11 23:00:31 -08:00
Eli Zaretskii
7657a86709 Fix comparisons with tip_frame in GTK builds
* src/xterm.c (x_update_begin, x_new_font):
* src/xfns.c (Fx_display_monitor_attributes_list):
* src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)
2017-11-11 14:42:30 +02:00
Paul Eggert
05aa6d4a68 Fix off-by-1 bug in --enable-checking=stringbytes
Evidently nobody builds Emacs with --enable-checking=all,
which is no surprise as it is so slow as to be unusable nowadays.
Perhaps we should remove the slowest checks, or move them into
another category, or speed them up, or something.
* src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
error in size calculation, which caused a failure when
--enable-checking=stringbytes was used.  I introduced this bug in
2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
members to GCC + valgrind".
2017-11-10 15:44:04 -08:00
Eli Zaretskii
f3e69a80ab Fix display of line numbers in GTK builds
* src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
tip_frame is indeed a tooltip frame, before disabling line numbers
on it.  (Bug#27647)

* src/dispextern.h (tip_frame): Add commentary describing the
kludgey usage of this variable in GTK builds.
2017-11-10 10:35:31 +02:00
Eli Zaretskii
9dde8be9cd Fix redisplay of overlay-arrows on GUI frames
* src/xdisp.c (try_window_reusing_current_matrix)
(try_cursor_movement): Disallow these optimizations if the buffer
has overlay arrow(s) shown on the fringe(s).  (Bug#29198)
2017-11-09 18:22:42 +02:00
Paul Eggert
9e59de9449 Use GCALIGNED properly for GCC
Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
immediately follow the ‘struct’ keyword when aligning a structure.
The attribute silently does not work if it follows a tag after the
‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
fix a SIGSEGV problem reported by John Mastro (Bug#29183).
* lib-src/make-docfile.c (close_emacs_globals):
* src/buffer.c (buffer_defaults, buffer_local_symbols):
* src/lisp.h (DEFUN):
* src/thread.c (main_thread):
Put 'GCALIGNED' immediately after 'struct'.
2017-11-08 19:12:02 -08:00
Eli Zaretskii
949b70a7d8 ; Minor comment copyedit in window.c
* src/window.c (Fset_window_configuration): Don't use non-ASCII
quotes in comments.
2017-11-07 21:57:56 +02:00
Eli Zaretskii
5d36f2227f Fix last change in hscroll_window_tree
* src/xdisp.c (hscroll_window_tree): When hscroll suspension is
being disabled, set the frame's garbaged flag less eagerly.
(Bug#29002)
2017-11-05 20:10:38 +02:00
Eli Zaretskii
c572e1f329 Return non-nil from gnutls-available-p under GnuTLS 2.x
* doc/misc/emacs-gnutls.texi (Help For Users): Update the
documentation of 'gnutls-available-p'.

* etc/NEWS (GnuTLS): Mention the change in the value returned by
'gnutls-available-p'.

* src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
2.x is available.  (Bug#29147)
2017-11-05 17:26:36 +02:00
Noam Postavsky
918a2dda07 Use hybrid malloc for FreeBSD (Bug#28308)
FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
using system malloc dumping does not work correctly (allocated data is
invalid after dumping).
* configure.ac: Set hybrid_malloc for freebsd.
* src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.
2017-11-04 18:49:28 -04:00
Eli Zaretskii
369da28702 Improve documentation of 'window-scroll-functions'
* doc/lispref/windows.texi (Window Hooks): Clarify the values of
arguments of 'window-scroll-functions' functions.

* src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.
2017-11-04 18:09:01 +02:00
Eli Zaretskii
ff33074546 Fix doc string of 'window-configuration-change-hook'
* src/window.c (syms_of_window) <window-configuration-change-hook>:
Doc fix.  (Bug#29049)
2017-11-04 12:00:03 +02:00
Eli Zaretskii
d9be8704ae Fix hscroll suspension after cursor motion
* src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
of the window when temporary suspension of hscrolling is
disabled.  (Bug#29002)
2017-11-04 11:30:10 +02:00
Paul Eggert
c911b27aff Change GCALIGNMENT back to an integer literal
* src/lisp.h (GCALIGNMENT): Change it back to a macro
that expands to a literal integer constant, for older GCC.
I had mistakenly thought that only MSVC had the problem.
Problem repored by Eli Zaretskii (Bug#29040#69).
2017-11-03 02:20:55 -07:00
Paul Eggert
a87ce5c4b4 * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040). 2017-11-02 20:05:33 -07:00
Alan Third
36400c7dc9 Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)
* src/nsterm.m (EmacsScroller::mouseDown,
EmacsScroller::mouseDragged): Take scroller buttons into account when
calculating scroller knob position.
2017-11-02 22:41:42 +00:00
Paul Eggert
6b08ad5263 Fix alignment portability problems
Do not assume that the natural alignment of Lisp objects is a
multiple of GCALIGNMENT.  This improves on the portability of the
recent fix for Bug#29040.
* lib-src/make-docfile.c (close_emacs_globals):
* src/buffer.c (buffer_defaults, buffer_local_symbols):
* src/lisp.h (DEFUN):
* src/thread.c (main_thread):
Use GCALIGNED, not alignas (GCALIGNMENT).
* src/alloc.c (COMMON_MULTIPLE):
Move back here from lisp.h, since it is no longer used elsewhere.
* src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
worry about MSVC.  Omit no-longer-needed consistency check.
* src/thread.c (THREAD_ALIGNMENT): Remove.
2017-11-02 13:21:33 -07:00
Eli Zaretskii
9031dec527 ; * src/alloc.c (sweep_symbols): Fix last change. 2017-11-02 18:53:20 +02:00
Stefan Monnier
fdd3dcfa4e * src/alloc.c (sweep_symbols): Tweak last change
Avoid the double-free without the extra check.  Add an explanatory comment.
2017-11-02 10:03:16 -04:00
Paul Eggert
9d31a97092 ; Spelling fixes 2017-11-01 22:07:43 -07:00
Andreas Schwab
8453423c7c Avoid wrong value from file-attributes on Linux kernel before 3.6
* dired.c (file_attributes): Handle unsupported fstat on O_PATH
descriptors.  (bug#29070)
2017-11-01 21:44:49 +01:00
Charles A. Roelli
460fe4a1bc ; Doc fixes
* lisp/progmodes/xref.el (xref-file-location)
(xref-backend-apropos):
* etc/NEWS (Lisp Changes in Emacs 26.1):
* doc/emacs/msdos.texi (Windows Keyboard):
* lisp/vc/vc.el (vc-print-branch-log):
* src/buffer.c (word-wrap): Doc additions and fixes.
2017-10-31 22:01:34 +01:00
Eli Zaretskii
41adf3281e Avoid duplicate calls to xfree for the same pointer
* src/alloc.c (sweep_symbols): Avoid freeing an already freed
pointer to a symbol's buffer-local value.  (Bug#29066)
2017-10-31 21:08:35 +02:00
Martin Rudalics
d10c9479ca Fix doc and doc-strings for minibuffer window related functions (Bug#28978)
These fixes were suggested by Drew Adams.

* src/window.c (Fminibuffer_selected_window): Disambiguate
doc-string.
* doc/lispref/minibuf.texi (Intro to Minibuffers)
(Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
the term "currently active minibuffer window".  Disambiguate
documentation of `minibuffer-selected-window'.
2017-10-30 19:43:29 +01:00
Martin Rudalics
4189d0ef7b Fix minibuffer window related docs and strings (Bug#28978)
* src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
* src/window.c (Fminibuffer_selected_window): Fix doc-string.
* doc/lispref/frames.texi (Buffer Parameters): Rewrite
description of `minibuffer' parameter.
* doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
entries and partly rewrite section.
(Minibuffer Misc): Clarify description of
`minibuffer-selected-window'.
* etc/NEWS: Mention new semantics of 'minibuffer' frame
parameter.
2017-10-29 11:35:32 +01:00
Eli Zaretskii
00c3c6d88d Avoid segfaults in 64-bit Windows builds
* src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
* src/thread.c (THREAD_ALIGNMENT): New macro.
(main_thread): Use THREAD_ALIGNMENT to align propertly.  (Bug#29040)
2017-10-28 19:39:48 +03:00
Eli Zaretskii
a8e6741066 Fix conversion of pixel coordinates to buffer position
* src/dispnew.c (buffer_posn_from_coords): Adapt to
auto-hscroll-mode == current-line.
2017-10-28 16:51:46 +03:00
Glenn Morris
e6b4e5ffdf Fix some doc typos
* lisp/calendar/todo-mode.el (todo-next-item)
(todo-previous-item, todo-toggle-item-header):
* lisp/window.el (move-to-window-group-line):
* src/editfns.c (Fformat):
* test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
Fix doc typos.

; And in some comments.
2017-10-27 20:04:47 -04:00
Ken Brown
e8636ac8cc Fix startup display on Cygwin
* src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
forces input to be read.  (Bug#24091)
2017-10-27 13:48:46 -04:00
Eli Zaretskii
3926c5ad83 * src/fileio.c (Fset_default_file_modes): Fix typo in doc string. 2017-10-27 20:21:39 +03:00
Eli Zaretskii
ec08d70b4f Improve documentation of set-default-file-modes
* src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)

* doc/lispref/files.texi (Changing Files): Clarify how the bits in
the argument of set-default-file-modes are used for setting file
permissions.
2017-10-27 16:53:16 +03:00
Paul Eggert
015f0bb2d8 Port thread.c to OpenBSD ARM
Problem reported by Jeremie Courreges-Anglas (Bug#29005).
* src/thread.c (main_thread): Align to GCALIGNMENT.
2017-10-26 17:32:30 -07:00
Alan Third
aee0bc8775 Fix non-native fullscreen on NS (bug#28872)
* src/nsterm.m (EmacsView::updateFrameSize): Handle case where
FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
of frame.
2017-10-25 14:12:28 +01:00
Paul Eggert
1d83257a1d Port to QNX
Simplified version of a patch proposed by Elad Lahav in:
https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00716.html
which is based on a previous patch I proposed in:
https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00707.html
* configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
(system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
Set appropriately for QNX.
* src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
(unexec): Check for sbrk failure, and fall back on old BSS end.
2017-10-24 12:55:15 -07:00
Glenn Morris
6a00914d6d Tweak Fdocumentation's error for an undefined function
* src/doc.c (Fdocumentation): Restore the pre-25 behavior
of signalling a void-function error for an undefined function.
This seems cleaner than Emacs 25's "invalid-function: nil" error,
which was (probably) an unintended consequence of changes to
Findirect_function.
2017-10-20 19:18:23 -04:00
Eli Zaretskii
fd3d8610b2 Make :align-to account for display-line-numbers
These changes also update the various bundled packages to use
new feature, and better support customizations of the line-number
face.
* src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
Make :align-to count from the end of the line-number display when
the offset or the width form reference that of the text area.
(Bug#28855)

* src/indent.c (Fline_number_display_width): Implement support for
the PIXELWISE argument being 'columns'.  Update the doc string.
(syms_of_indent): New symbol 'columns'.

* lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
Call line-number-display-width with last argument 'columns'.

* lisp/proced.el (proced-header-line): Call
line-number-display-width with 2nd arg 'columns', which also fixes
a problem when display-line-numbers is nil.

* lisp/emacs-lisp/tabulated-list.el
(tabulated-list-line-number-width): Call line-number-display-width
with 2nd arg 'columns.
(tabulated-list-entry-lnum-width): Remove unneeded defvar.
(tabulated-list-print, tabulated-list-print-entry): No need to
account for the value of tabulated-list-entry-lnum-width.
(tabulated-list--current-lnum-width): New defvar.
(tabulated-list-watch-line-number-width): New function.
(tabulated-list-mode): Bind tabulated-list--current-lnum-width
locally, and set up tabulated-list-watch-line-number-width as
pre-redisplay-functions hook.

* doc/lispref/display.texi (Size of Displayed Text): Document the
'columns' value of the PIXELWISE argument.
(Pixel Specification): Update and improve the documentation of the
supported forms.
2017-10-20 12:36:12 +03:00
Martin Rudalics
4d578d432d On Windows default a frame's border width to zero (Bug#28873)
* src/w32fns.c (Fx_create_frame): Default `border-width' to zero
as everywhere else, see Bug#28873.
2017-10-19 09:51:12 +02:00
Eli Zaretskii
2f7163fb72 Fix the MSDOS build.
* msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
(XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
(LIBSYSTEMD_LIBS): Edit to empty.
(LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
(PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
Remove editing of lines that are no longer present in
src/Makefile.in.
* msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
(NEED_MKTIME_WORKING): Define to 1.
(HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
DJGPP >= 2.05.
(HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
Define PACKAGE_VERSION, not VERSION.
(FLEXIBLE_ARRAY_MEMBER): Define to empty.
(HAVE_DECL_*_UNLOCKED): Define to 0.
(HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
(PENDING_*): Don't define, as Gnulib no longer supports that.
Instead, define _IOERR as it is in libc/file.h.
* msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
determine the current directory.
(UPDATE_MANIFEST, UTILITIES): Don't edit.
* msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
* msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
(HYBRID_MALLOC): Edit to empty.
(am__cd): Don't edit.
(../config.status): Replaces $(top_builddir)/config.status.
Define OMIT_GNULIB_MODULE_foo = true for modules not built for
MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
* msdos/mainmake.v2 (src): Use 'compile-one-process', and make
the command line shorter to fit into 126-char limit of
command.com.
* config.bat: Generate src/deps/*.d files.  Rename more files
like djtar on plain DOS would.
Don't rename src/dir.h: it is long gone.  Edit
lib/gnulib.mk.in using the same scripts as for
lib/Makefile.in.
* msdos/depfiles.bat: Create *.d files, not *.Po.

* src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
error message.
* src/thread.h [MSDOS]: Include <signal.h>.
* src/sysselect.h (select) [MSDOS]: Undefine, to avoid
compilation errors.
* src/sysdep.c (block_interrupt_signal, restore_signal_mask):
Expose to MSDOS build.
* src/process.c (update_processes_for_thread_death)
[!subprocess]: No-op implementation.
[HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
declaration of nofile_limit outside "#ifdef subprocesses", as
it's needed for MSDOS.
* src/msdos.c (faccessat): Declare fullname[].
* src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
Include termhooks.h.
* src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
WINDOWSNT, not DOS_NT.

* admin/admin.el (set-version): Set version on PACKAGE_VERSION.
2017-10-18 20:21:25 +03:00
Eli Zaretskii
2551d28fe8 Fix line number display after 'widen'
* src/xdisp.c (maybe_produce_line_number): Don't use data cached
by line-number-mode on the first redisplay after the buffer is
widened.  (Bug#28879)
2017-10-18 19:16:16 +03:00
Alan Third
dc8812829b Remove resizable attribute on macOS undecorated frames (bug#28512)
* src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
(initFrameFromEmacs): Remove Cocoa specific window style attributes.
2017-10-18 09:25:33 +01:00
Paul Eggert
8ca6fa585a Improve format-time-string doc
* doc/lispref/os.texi (Time Parsing): Fix some errors in the
documentation for format-time-string.  Document ^, #, %s, and %z
with colons.  Say that unrecognized sequences are output as-is.
* src/editfns.c (Fformat_time_string): %S can stand for 60.
Also mention unrecognized sequences.
2017-10-17 18:26:01 -07:00
Eli Zaretskii
2e1b3522b8 Improve documentation of 'line-number-display-width'
* doc/lispref/display.texi (Size of Displayed Text): Document the
additional 2 columns used for line-number display.

* src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)
2017-10-17 19:17:22 +03:00
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