1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 18:00:40 -08:00
Commit graph

38692 commits

Author SHA1 Message Date
Alan Mackenzie
b120fbd6a4 Ensure hack-local-variables is run in a fundamental mode buffer.
This fixes bug #23827.

* src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
gets set to that mode, so that `run-mode-hooks', and thus
`hack-local-variables' get run.
2016-06-24 16:03:29 +00:00
Martin Rudalics
dc49db725e Remove two uses of 'min' in Fwindow_text_pixel_size
* src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
it calls move_it_to twice.  Suggested by Eli Zaretskii.
2016-06-24 09:59:50 +02:00
Paul Eggert
098347a9b4 Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
* src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
since it is intended to be used only when it returns a non-null
pointer, and here the pointer might be null.
(IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
2016-06-24 02:20:09 +02:00
Eli Zaretskii
11a1761973 Fix handling of LWINDOW key on MS-Windows
* src/w32fns.c (funhook): Correct a typo which broke handling of
the LWINDOW key.  (Bug#23830)
2016-06-23 17:32:01 +03:00
Eli Zaretskii
cc113e557d Fix test for whether the '.el' file is newer than '.elc'
* src/lread.c (Fload): Don't overwrite the last character of the
file name in FOUND with 'c', unless the file name ended in ".elc"
to begin with.  Don't treat empty files as byte-compiled.  See
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00463.html
for more details of the problem this caused.
2016-06-22 18:55:14 +03:00
Eli Zaretskii
791193d309 Fix 'insert-file-contents' when REPLACE is non-nil
* src/fileio.c (maybe_move_gap): New function to move the gap to
the end of a buffer, if it isn't there already.
(Finsert_file_contents): Call 'maybe_move_gap' before using
conversion_buffer's text as a C 'char' array.  (Bug#23659)
* src/coding.c (decode_eol): Compute the byte increment before
calling del_range_2, because the latter can invalidate the pointer
to buffer text.
2016-06-22 18:41:13 +03:00
Ken Brown
bbc58feac5 Avoid compiler warning
* src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
2016-06-22 10:04:44 -04:00
Ken Brown
81fc9a7c28 Fix last change to FRAME_INTERNAL_BORDER_WIDTH
* src/w32fns.c (x_set_internal_border_width): Don’t use
FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
lvalue.
2016-06-22 09:31:31 -04:00
Paul Eggert
1c0199050b Improve --without-x GCC pacification
* src/composite.c (autocmp_chars):
* src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
Use simpler ((void) 0) for no-op expression returning void.
* src/dispextern.h [HAVE_WINDOW_SYSTEM]:
Include fontset.h, for face_for_char.
(FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
Now inline functions instead of macros.  This avoids the need for
all those casts to void.
(FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
All uses changed.
* src/frame.c (Ficonify_frame, Fset_frame_position):
* src/xdisp.c (Fmove_point_visually, show_mouse_face):
* src/xdisp.c (note_mode_line_or_margin_highlight)
(note_mouse_highlight):
Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
now work either way without generating warnings.
* src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
(window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
(decode_window_system_frame): Use check_window_system instead of
rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
(decode_window_system_frame, check_window_system):
Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
* src/frame.c (Ficonify_frame, Fset_frame_position):
* src/xdisp.c (show_mouse_face, define_frame_cursor1)
(note_mouse_highlight):
Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
this is a better way to pacify GCC.
* src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
(x_set_right_divider_width, x_set_bottom_divider_width):
* src/xfns.c (x_set_internal_border_width):
Don’t use what are now function calls as lvalues.
* src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
(decode_window_system_frame, check_window_system):
Use it, to avoid the need for duplicate declarations.
(window_system_available): Now an inline function.
(display_available): New decl.
(frame_dimension): New inline function.
(FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
(FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
(FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
(FRAME_BOTTOM_DIVIDER_WIDTH):
Use it, to avoid the need for duplicate definitions.
Now inline functions instead of macros.
* src/gnutls.c (gnutls_log_function2i): Remove.
* src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
This avoids complaints about gnutls_log_function2i being defined
and not used on older platforms that do not need to call GNUTLS_LOG2i.
* src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
* src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
expr’ to ‘type id; id = expr’, as this would suppress valid
jump-misses-init diagnostics.  Let’s find a better way to address
the problem.
* src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
Define only if needed.
* src/xdisp.c (handle_single_display_spec):
Simplify fringe_bitmap computation.
(define_frame_cursor1): Do nothing unless in a window system.
All callers changed and simplified.
* src/xfaces.c (realize_default_face):
Use a simpler way to pacify GCC when a return value is not used
on some platforms.
2016-06-22 03:05:22 +02:00
Eli Zaretskii
6cf8f0b74e Fix vertical layout calculations when newline has line-height property
* src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
'constrain_row_ascent_descent_p' flag after processing the
newline, similar to what 'display_line' does.  Without this, the
flag remains set once set by x_produce_glyphs, and causes the
vertical layout calculations to go awry, because Emacs thinks the
screen lines have zero height.	(Bug#23850)
2016-06-21 16:14:10 +03:00
Ken Brown
560c4ab1c3 Fix compiler warnings in Cygwin-w32 build
* src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
loop to avoid compiler warnings about empty body of 'if'
statement.

* src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
macro.
(x_create_bitmap_from_data): Declare 'frame'.
(x_create_bitmap_from_file): Don't declare unused variable
'dpyinfo'.

* src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
prevent "jump-misses-init" compiler warnings.

* src/w32fns.c (check_w32_winkey_state): Define and use only if
WINDOWSNT.
(Fx_show_tip): Declare 'f'.
(Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
(w32_strerror): Use format specifier %d for sprintf argument of
type int.
(emacs_abort): Cast sprintf argument of type DWORD to unsigned
int, and use format specifier %x, for compatibility with Cygwin.
(unicode_append_menu) [NTGUI_UNICODE]:
* src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
(set_menu_item_info, unicode_append_menu)
(unicode_message_box):
* src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
functions rather than macros to avoid "address will always
evaluate as true" compiler warnings.

* src/w32font.c (w32_to_x_charset): Use format specifier %d for
sprintf argument of type int.

* src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
sprintf argument of type int to unsigned int to match %X format
specifier.
(w32_scroll_bar_handle_click):
(w32_horizontal_scroll_bar_handle_click): Declare 'f'.

* src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
argument.
2016-06-20 23:05:12 -04:00
Ken Brown
d4c1535c63 Fix compiler warnings in no-window-system-build
* src/composite.c (autocmp_chars): Declare and set 'f' only if
HAVE_WINDOW_SYSTEM.

* src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
(FACE_FOR_CHAR): Explicitly discard unused arguments.

* src/font.c (font_open_entity): Declare 'min_width' where it is
first set, and only if HAVE_WINDOW_SYSTEM.

* src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
Define _Noreturn version to avoid "suggest attribute noreturn"
compiler warning.
(check_window_system): Declare as _Noreturn.
(Ficonify_frame):
(Fset_frame_position): Don’t declare and set 'f'.

* src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
(check_window_system):  Add _Noreturn prototypes.
(FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
(FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
(FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
(FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.

* src/xdisp.c (handle_single_display_spec): Declare
'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
(append_space_for_newline): Declare 'g' where it is first set.
(Fmove_point_visually): Declare and set 'target_is_eol_p' only if
HAVE_WINDOW_SYSTEM.
(show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
if HAVE_WINDOW_SYSTEM.
(note_mode_line_or_margin_highlight):
(note_mouse_highlight): Declare and set 'cursor' and 'pointer'
only if HAVE_WINDOW_SYSTEM.

* src/xfaces.c (realize_default_face): Declare and set 'face' only
if HAVE_X_WINDOWS.  Remove redundant #ifdef.
2016-06-20 21:53:49 -04:00
Paul Eggert
9341142dc8 Minor ABLOCKS_BUSY cleanups in alloc.c
* src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
with member ‘abase’ in definiens.
(lisp_align_malloc, lisp_align_free): Use bool for boolean.
Avoid compiler warning with fewer casts.
(lisp_align_free): Check busy-field values; this can help the
compiler a bit when optimizing, too.
2016-06-20 02:06:17 +02:00
Eli Zaretskii
ea5d141882 Fix setting a range of char-table slots in a singular case
* src/chartab.c (char_table_set_range): Start the loop from the
first character of the block to which FROM belongs.  (Bug#23797)

* test/src/chartab-tests.el: New test file.
2016-06-19 18:25:17 +03:00
Paul Eggert
13feb31c63 Rename ALIGN to pointer_align
* src/alloc.c (pointer_align): Rename from ALIGN.
This fixes Bug#23764 in a simpler way.
2016-06-19 04:32:59 +02:00
Paul Eggert
a985d2b09b Merge from origin/emacs-25
d1efbaf Fix documentation of completion functions
65c96cc Clarify documentation of 'font-lock-maximum-decoration'
2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
b49cb0a Fbackward_prefix_chars: stay within buffer bounds
2016-06-19 00:54:28 +02:00
Paul Eggert
d9088290ef Merge from origin/emacs-25
2317c61 Fix last todo-mode change
5d4d8a3 Improve last todo-mode fix
d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
d308aa1 Minor grammar fix (bug#23746)
20de667 Doc fixes for grammar and typos (bug#23746)
a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
27f440e Add cross-reference to ELisp manual
10802d8 ; make change-history-commit
4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
12e009e Restore initial undo boundary with viper
291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
6921f4a Fix dbus crash on 32-bit Cygwin
2016-06-19 00:53:51 +02:00
Paul Eggert
68cb71c092 Merge from origin/emacs-25
9ae514a * etc/AUTHORS: Update the AUTHORS file
3ca428e add entries to authors.el
66d556b Fix eldoc-related freezes in python mode
d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
a813487 Fix undo boundary in recursive edit (Bug#23632)
1f85b7c Doc fixes re alist-get.  (Bug#23548)
ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
2016-06-19 00:47:00 +02:00
Noam Postavsky
b49cb0ab9c Fbackward_prefix_chars: stay within buffer bounds
The commit 1fd3172d "(Fbackward_prefix_chars): Set point properly while
scanning" (1998-03-18), moved the check against of the position against the
buffer beginning out the loop condition so that we might end up checking
the syntax of characters before the beginning of the buffer.  This can
cause segfaults or trigger a "Point before start of properties" error in
`update_interval' (called indirectly from `char_quoted').

* src/syntax.c (Fbackward_prefix_chars): Stop the loop when beginning of
buffer is reached (Bug #3552, Bug #17132, Bug #19379).
2016-06-16 23:18:00 -04:00
Paul Eggert
d765175ef1 Fix ifdef-vs-if typo with RANDR13_LIBRARY
* src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00198.html

(cherry picked from commit dce99f222f)
2016-06-16 13:31:08 -04:00
Stefan Monnier
4a2092efd2 Advertize set-keymap-parent as replacement for copy-keymap
* doc/lispref/keymaps.texi (Creating Keymaps):
* src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
2016-06-15 11:36:51 -04:00
Paul Eggert
dce99f222f Fix ifdef-vs-if typo with RANDR13_LIBRARY
* src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00198.html
2016-06-14 22:40:40 -07:00
Paul Eggert
c5461d03a4 Port to platforms where char * has top bit set
This fixes a five-year-old FIXME comment.  Although I don’t know
of a platform where this is a problem in practice, better safe
than sorry.
* src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
as it is now an integer, not char *.
(store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
this is a file offset and EMACS_INT is better if --with-wide-int.
If SUBRP, simply store the offset rather than negating it and
converting it to char *.
* src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
2016-06-14 12:21:00 -07:00
Paul Eggert
7f35d5cbaf Remove recursion from store_function_docstring
* src/doc.c (store_function_docstring):
Refactor to avoid the need for C-level recursion.
2016-06-14 12:21:00 -07:00
Ken Brown
61cfd6acfe Remove system-specific -I switch from Cygwin-w32 build
Suggested by Eli Zaretskii in discussion of bug#18302.

* src/image.c [HAVE_NTGUI]: Remove the unused macro
PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
"X11/xpm.h".

* configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
"noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
2016-06-14 13:41:18 -04:00
Glenn Morris
27dec5264f * src/alloc.c (ALIGN): Avoid error on DragonFly BSD. (Bug#23764) 2016-06-14 13:39:30 -04:00
Ken Brown
090fb90d96 Avoid compiler warning
* src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
'type_CtrlAlt'.
2016-06-13 19:26:05 -04:00
Paul Eggert
9816244539 Call tzset after setting TZ
* src/editfns.c (tzlookup): Call tzset after setting TZ, so that
the setting change propagates into Emacs local time (Bug#23600).
(emacs_setenv_TZ): Clarify comments.
2016-06-13 14:51:18 -07:00
Stephen Berman
20de6679b0 Doc fixes for grammar and typos (bug#23746)
* doc/emacs/files.texi (Customize Save):
* doc/emacs/frames.texi (Window Dividers):
* doc/emacs/misc.texi (Printing):
* doc/lispref/compile.texi (Compiler Errors):
* doc/lispref/keymaps.texi (Changing Key Bindings):
* doc/lispref/loading.texi (Named Features):
* doc/lispref/markers.texi (Marker Insertion Types):
* doc/lispref/modes.texi (Mode Hooks):
* doc/lispref/text.texi (Undo):
* src/floatfns.c (Fldexp):
* src/xfaces.c (syms_of_xfaces):
Minor doc fixes for grammar and typos (bug#23746).
2016-06-13 18:08:22 +02:00
Paul Eggert
ab182c6248 New macro GNUC_PREREQ for GCC version
* src/conf_post.h (GNUC_PREREQ): New macro.
Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
macro instead, for clarity and consistency.
(PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
if glibc, since non-GNU platforms don’t necessarily support GNU
printf formats.
(ATTRIBUTE_FORMAT_PRINTF): Use it.
2016-06-12 10:33:52 -07:00
Eli Zaretskii
643e0b8d28 Fix printf-related compilation warnings on MinGW
* src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
'__ms_printf__', not '__gnu_printf__', as the latter is not what
MS 'printf' supports, and causes bogus compilation warnings.
* src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
doesn't support the "ll" modifier.
2016-06-12 11:30:14 +03:00
Paul Eggert
5932ffcd02 emacs_strerror cleanups
* src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
no longer needed, now that emacs_strerror is declared by lisp.h.
* src/coding.c (emacs_strerror): Remove; moved to emacs.c.
* src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
to lisp.h.
* src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
convert result string; this is now the caller’s responsibility,
as some need conversion and others don’t.
* src/fileio.c (report_file_errno, report_file_notify_error):
Use emacs_strerror rather than rolling it ourselves.
* src/lisp.h (emacs_strerror): Move decl here from coding.h.
* src/lread.c (dir_warning): Just call emacs_strerror rather than
both strerror and emacs_strerror.  Convert its result from
locale-coding-system, since it no longer does that conversion.
* src/sound.c (sound_perror):
* src/sysdep.c (emacs_perror, str_collate):
Use emacs_strerror, not strerror.
2016-06-11 23:49:00 -07:00
Ken Brown
6921f4a596 Fix dbus crash on 32-bit Cygwin
* src/dbusbind.c (Fdbus__init_bus): Use make_save_pointer to store
connection address.  (Bug#23741)
(xd_lisp_dbus_to_dbus): Use XSAVE_POINTER to retrieve connection
address.
2016-06-11 08:31:27 -04:00
Paul Eggert
b4788b9394 Catch malloc_get_state, malloc_set_state failure
This should help insulate Emacs better from configuration screwups.
Future versions of the GNU C library are planned to deprecate
these functions, but will continue to support them in
already-built-and-dumped Emacs executables.
* src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
Abort if malloc_set_state fails.
(alloc_unexec_pre) [DOUG_LEA_MALLOC]:
Report malloc_get_state failure, and exit.
2016-06-10 17:19:05 -07:00
Paul Eggert
25159d82f5 Port __builtin_assume_aligned to Sun C 5.13
* src/conf_post.h (__builtin_assume_aligned):
Fix typo: the extra arg did not conform to C99.
2016-06-09 23:16:00 -07:00
Paul Eggert
07b77b8ee0 Prefer getsockopt to getpeername on non-MS-Windows
* admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
* configure.ac: Don’t check for getpeername.
* src/process.c (wait_reading_process_output) [!WINDOWSNT]:
Use getsockopt even if not GNU/Linux, as the platforms where
getsockopt used to hang are no doubt long dead.
2016-06-09 23:12:07 -07:00
Paul Eggert
560202f675 Fix XFASTINT of non-fixnum in process status
* src/process.c (decode_status): 3rd arg is now Lisp_Object *,
not int *, and is not decoded.  All uses changed.
(status_message): Do not assume ‘failed’ code is an integer.
* src/process.h: Document codes better.
2016-06-09 21:58:53 -07:00
Eli Zaretskii
1c09423880 Fix copying text properties by 'format'
* src/editfns.c (styled_format): Fix copying text properties from
the format specification to the produced string representation.
(Bug#23730)
(Fformat) Doc fix.

* doc/lispref/strings.texi (Formatting Strings): Document that
text properties from the format specifiers are also copied to the
produced string.
2016-06-09 16:52:08 +03:00
Phillip Lord
a813487f1a Fix undo boundary in recursive edit (Bug#23632)
* src/keyboard.c (recursive_edit_1): specbind
   undo-auto--undoably-changed-buffers.
 * lisp/simple.el (undo-auto--undoably-changed-buffers):
   fix docstring.
2016-06-08 22:45:00 +01:00
Paul Eggert
82f49c6a37 Replace IF_LINT by NONVOLATILE and UNINIT
Inspired by a suggestion from RMS in: http://bugs.gnu.org/23640#58
* .dir-locals.el (c-mode): Adjust to macro changes.
* src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
(IF_LINT): Remove.  All uses replaced by the new macros.
2016-06-08 11:50:42 -07:00
Paul Eggert
bc93643957 * src/fileio.c (auto_save_error): Omit unused local. 2016-06-08 00:36:18 -07:00
Paul Eggert
e8ba94bf83 Simplify overflow check via INT_SUBTRACT_WRAPV
* src/editfns.c (check_tm_member): Simplify integer overflow check.
2016-06-08 00:36:18 -07:00
Glenn Morris
e686f4760c * src/fileio.c (auto_save_error): Use display-warning. (Bug#23703) 2016-06-07 19:31:29 -04:00
Paul Eggert
302185156b Use __builtin_assume_aligned on untagged Lisp vals
* src/conf_post.h (__has_builtin, __builtin_assume_aligned):
New macros, for compilers not already defining them.
(__has_builtin___builtin_assume_aligned): New macro.
* src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
This shrinks text space by 0.2% on x86-64 with GCC 6.1.
2016-06-07 15:44:15 -07:00
Glenn Morris
56fa055bbf * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>: Doc fix. 2016-06-07 17:39:19 -04:00
Paul Eggert
2aa6b47e3e Merge from origin/emacs-25
6e3adf8 Fix crash in syntax.c after GC
973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
9d5cceb Fix doc string quoting
0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
2016-06-07 09:34:27 -07:00
Paul Eggert
6e3adf8a4a Fix crash in syntax.c after GC
Problem reported by Vincent Belaïche (Bug#23704).
* src/syntax.c (skip_chars): Recompute pointers into the
buffer after every call to update_syntax_table_forward,
as it can GC.
2016-06-07 09:28:49 -07:00
Stephen Berman
9d5ccebeba Fix doc string quoting
* lisp/files.el (shell-quote-wildcard-pattern):
* lisp/progmodes/vhdl-mode.el (vhdl-mode):
* lisp/subr.el (replace-regexp-in-string):
* lisp/view.el (view-mode):
* src/nsfns.m (syms_of_nsfns):
* src/syntax.c (Fbackward_prefix_chars):
Fix quoting problems in doc strings (Bug#23696).
2016-06-06 09:30:22 -07:00
Juri Linkov
66d5c75e2d * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
If non-nil, operate on multiple chunks.  (Bug#23655)

* src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
2016-06-06 00:23:21 +03:00
Paul Eggert
6b985764f0 Port angle-bracket TZ settings to MS-Windows
* doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
lack of support for numeric time zone abbreviations.
* src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
to MS-compatible syntax if possible, and to "ZZZ" otherwise.
Problem reported by Kazuhiro Ito (Bug#23600).
2016-06-01 21:09:17 -07:00