Commit graph

39923 commits

Author SHA1 Message Date
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
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