aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Support custom null and false objects when parsing JSONJoão Távora2018-06-151-54/+82
| | | | | | | | | | | | | | | | | | * doc/lispref/text.texi (Parsing JSON): Describe new :null-object and :false-object kwargs to json-parse-string and json-parse-buffer. * src/json.c (struct json_configuration): New type. (json_to_lisp): Accept a struct json_configuration* param. (json_parse_args): Rename from json_parse_object_type. (Fjson_parse_string): Rework docstring. (Fjson_parse_string, Fjson_parse_buffer): Update call to json_to_lisp. (syms_of_json): Two new syms, QCnull_object and QCfalse_object. * test/src/json-tests.el (json-parse-with-custom-null-and-false-objects): New test.
* Remove some wrong 8-byte alignment assumptionsPaul Eggert2018-06-133-66/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not assume that 8-byte alignment suffices for all C objects, as some platforms require 16-byte alignment for some objects, and this will start to bite us as time goes on (e.g., if an Emacs module ever uses an object containing a long double, which requires 16-byte alignment on x86-64). Conversely, on !USE_LSB_TAG platforms, do not insist on aligning Lisp objects to a multiple of 8, as this is not needed for high-order tag bits. * src/alloc.c (LISP_ALIGNMENT, MALLOC_IS_LISP_ALIGNED): New constants. (XMALLOC_BASE_ALIGNMENT, XMALLOC_HEADER_ALIGNMENT): Removed. All uses replaced by LISP_ALIGNMENT. (aligned_alloc, laligned, lmalloc, lrealloc, union aligned_Lisp_Misc) (maybe_lisp_pointer, pure_alloc): Use LISP_ALIGNMENT rather than GCALIGNMENT. (aligned_alloc): Do not worry about an alignment of LISP_ALIGNMENT when MALLOC_IS_LISP_ALIGNED, as the code never uses aligned_alloc with alignment == LISP_ALIGNMENT in that case. (__alignof__): Remove. All uses removed. (MALLOC_IS_GC_ALIGNED): Remove. All uses replaced with MALLOC_IS_LISP_ALIGNED. (vector_alignment): Remove. All uses replaced with LISP_ALIGNMENT. * src/alloc.c (mark_maybe_pointer): * src/emacs-module.c (value_to_lisp_bits): Do not assume GCALIGNMENT == 1 << GCTYPEBITS, as GCALIGNMENT is 1 on !USE_LSB_TAG platforms now. * src/lisp.h (GCALIGNMENT) [!USE_LSB_TAG]: Now 1. (struct Lisp_Symbol, union vectorlike_header, struct Lisp_Cons) (struct Lisp_String): Simplify test for verifying alignment.
* ; Assorted documentation fixes in recent changesEli Zaretskii2018-06-121-5/+5
| | | | | | | | | | * etc/NEWS: Minor copyedits of recent entries. * src/keyboard.c (Finternal_handle_focus_in): * lisp/frame.el (frame-focus-state): Doc fixes. * doc/lispref/hooks.texi (Standard Hooks): Mention after-delete-frame-functions.
* Give warning if losing value to defvaralias (Bug#5950)Noam Postavsky2018-06-121-0/+10
| | | | | | * src/eval.c (Fdefvaralias): Call `display-warning' if the alias target has a non-eq value to the variable being aliased. * test/src/eval-tests.el (defvaralias-overwrite-warning): New test.
* Add after-delete-frame-functionsDaniel Colascione2018-06-111-0/+18
| | | | | | | | | | | | | | | | | | | Instead of working around the behavior delete-frame-functions, just add an after-delete-frame-functions hook. * doc/lispref/frames.texi (Deleting Frames): Document `after-delete-frame-functions'. * etc/NEWS: Mention `after-delete-frame-functions'. * lisp/frame.el (blink-cursor--should-blink): (blink-cursor--rescan-frames, blink-frame-mode): Get rid of the ugly ignored-frame parameter and switch from `delete-frame-functions' to `after-delete-frame-functions'. * src/frame.c (syms_of_frame): New variable `after-delete-frame-functions'. (delete_frame): Use it.
* Losing focus should not stop idlenessDaniel Colascione2018-06-111-0/+1
| | | | * src/keyboard.c (read_char): Make Qfocus_out not break idle.
* New focus management interfaceDaniel Colascione2018-06-114-82/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | focus-in-hook and focus-out-hook don't accurately reflect actual user-visible focus states. Add a new focus interface and mark the old one obsolete. * doc/lispref/frames.texi (Input Focus): Document new focus functions. Remove references to the now-obsolete focus hooks. * lisp/frame.el (frame-focus-state): New function. (after-focus-change-function): New variable. (focus-in-hook, focus-out-hook): Move to lisp from C; mark obsolete. * lisp/term/xterm.el (xterm-translate-focus-in) (xterm-translate-focus-out): Track tty focus in `tty-focus-state' terminal parameter; call `after-focus-change-function'. (xterm--suspend-tty-function): New function. * src/frame.c (Fhandle_switch_frame): Update docstring; don't call focus hooks. (focus-in-hook, focus-out-hook): Remove: moved to lisp. (syms_of_frame): Remove unread_switch_frame; add Vunread_switch_frame. * src/keyboard.c: (Finternal_handle_focus_in): New function. (make_lispy_event): Always report focus events to lisp; don't translate them to switch events sometimes. Lisp can take care of creating synthetic switch-frame events via `internal-handle-focus-in'. * src/w32term.c (x_focus_changed): Remove switch-avoidance logic: just directly report focus changes to lisp. * src/xterm.c (x_focus_changed): Remove switch-avoidance logic: just directly report focus changes to lisp.
* Remove code #if-0-ed terminal-local codeDaniel Colascione2018-06-111-45/+0
| | | | | | | This code hasn't been used since 2005. * src/data.c (get_terminal, Fterminal_local_value, Fset_terminal_local_value): Remove.
* Remove obsolete keyboard.c codeDaniel Colascione2018-06-111-39/+0
| | | | | * src/keyboard.c (any_kboard_state, single_kboard_state): Remove #if-0-ed functions.
* Merge from emacs-26Noam Postavsky2018-06-103-17/+26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3434edc731 Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds 36bbdfc017 Update Unicode data files to version 11.0.0 of Unicode b7b7a5f4f3 * etc/NEWS: Belatedly call out vc-hg changes in v26.1. (B... 5b6f8b54d1 Clarify the documentation of 'dired-recursive-deletes' 9db97b49cd ; * etc/DEBUG: Add information about debugging libXft prob... 0214ffbe60 Clarify doc string of 'update-glyphless-char-display' ef35d405b1 Clarify subtle issues with 'eq' in byte-compiled code c6ef3c8321 Make cl-print respect print-quoted (bug#31649) 26b52ac40e Fix unexpected jumps of window-point in 'set-window-config... 4af077ab4d * etc/emacs.appdata.xml: Update Emacs screenshot. e5ab25deae Fix cursor movement by 'next-logical-line' after 'next-line' d20beef5f1 Fix prompt in bookmark.el (Bug#24726) c57e7eaae8 Improve documentation of 'empty' whitespace-style # Conflicts: # etc/NEWS
| * Enlarge DUMPED_HEAP_SIZE for 64-bit Windows buildsEli Zaretskii2018-06-091-1/+1
| | | | | | | | | | * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 23MB. Reported by Andy Moreton <andrewjmoreton@gmail.com>.
| * Fix unexpected jumps of window-point in 'set-window-configuration' (Bug#31695)Martin Rudalics2018-06-071-9/+22
| | | | | | | | | | | | * src/window.c (Fset_window_configuration): Prevent that the fix for Bug#12208 affects restoration of window points when using separate minibuffer frames (Bug#31695).
| * Fix cursor movement by 'next-logical-line' after 'next-line'Eli Zaretskii2018-06-061-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/indent.c (Fvertical_motion): Adjust TO_X when line-numbers are being displayed. Remove unneeded "correction" of TO_X at the goal line. * lisp/simple.el (last--line-number-width): Remove unneeded variable. (line-move-visual): Account for line-number display width by adjusting the pixel X coordinate that gets converted into canonical columns passed to vertical-motion, instead of adjusting temporary-goal-column (which then affects next commands, including next-logical-line). (Bug#31723)
| * ; * src/ftfont.c (ftfont_spec_pattern): Fix whitespace.Eli Zaretskii2018-06-051-1/+1
| |
| * Port FC_COLOR change to older fontconfigPaul Eggert2018-06-051-1/+1
| | | | | | | | | | | | | | Problem reported by John ff in: https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html * src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]: Don’t use FC_COLOR on older fontconfigs that don’t have it.
| * Ignore color fonts when using XftRobert Pluim2018-06-052-0/+14
| | | | | | | | | | | | | | | | * src/font.c (syms_of_font): New configuration variable xft-ignore-color-fonts, default t. * src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore color fonts if xft-ignore-color-fonts is t. (Bug#30874, Bug#30045) * etc/NEWS: Document xft-ignore-color-fonts.
| * Fix bug#30846, along with misc cleanups found along the wayStefan Monnier2018-06-034-80/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * test/src/data-tests.el (data-tests-kill-all-local-variables): New test. * src/buffer.c (swap_out_buffer_local_variables): Remove. Fuse the body of its loop into that of reset_buffer_local_variables. (Fkill_buffer, Fkill_all_local_variables): Don't call it any more. (reset_buffer_local_variables): Make sure the buffer's local binding is swapped out before removing it from the alist (bug#30846). Call watchers before actually killing the var. * src/data.c (Fmake_local_variable): Simplify. Use swap_in_global_binding to swap out any local binding, instead of a mix of find_symbol_value followed by messing with where&found. Don't call swap_in_symval_forwarding since the currently swapped binding is never one we've modified. (Fkill_local_variable): Use swap_in_global_binding rather than messing with where&found to try and trick find_symbol_value into doing the same. * src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more. (cherry picked from commit 3ddff080341580eb6fc18d907181e9cc2301f62d)
| * Centralize Bug#30931 fixPaul Eggert2018-06-034-14/+18
| | | | | | | | | | | | | | | | * src/marker.c (detach_marker): New function. * src/editfns.c (save_restriction_restore): * src/insdel.c (signal_before_change): Use it. (cherry picked from commit 6f66a43d7ad6cada2b7dbb6d07efe36be1dc7ecb)
| * Fix another case of freed markers in the undo-list (Bug#30931)Noam Postavsky2018-06-034-16/+11
| | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (free_marker): Remove. * src/editfns.c (save_restriction_restore): * src/insdel.c (signal_before_change): Detach the markers from the buffer when we're done with them instead of calling free_marker on them. * test/src/editfns-tests.el (delete-region-undo-markers-1) (delete-region-undo-markers-2): New tests. (cherry picked from commit 96b8747d5c5d747af13fd84d8fe0308ef2a0ea7a)
| * Fix CHECK_ALLOCATED_AND_LIVE abort during GCPaul Eggert2018-06-031-3/+4
| | | | | | | | | | | | | | * src/editfns.c (save_restriction_restore): Wait for the GC to free the temporary markers (Bug#30931). (cherry picked from commit 670f2ffae718046c0fb37313965a51c040ed096f)
| * Don't wait for visible frames to become visibleNoam Postavsky2018-06-031-1/+2
| | | | | | | | | | | | | | | | | | | | For discussion, see thread starting at https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00807.html. * src/xterm.c (x_make_frame_visible): Check FRAME_VISIBLE_P before calling x_wait_for_event. (cherry picked from commits 2a192e21cf3b04b7f830b4971c1508c611e13a3c and 00c1f771f2a51ffa675ec5a07ea330f2605cd302)
* | Pacify gcc -Wnull-dereference some morePaul Eggert2018-06-101-2/+2
| | | | | | | | | | | | * src/keyboard.c (read_char): Use xevent_start in a couple more places where it is safe. This is needed with --enable-gcc-warnings --enable-checking on Fedora 28 x86-64.
* | Use native alignment to access Lisp object dataPaul Eggert2018-06-1018-109/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using __builtin_assume_aligned (P, GCALIGNMENT) to tell GCC that P has alignment 8, use (T *) P where T is the type of the pointed-to object, to tell GCC that P has native alignment. This is simpler, matches the intent better, and should help simplify future improvements. Some of these changes are to pacify gcc -Wnull-dereference, since GCC is smarter about pointers now that Emacs no longer uses __builtin_assume_aligned; these minor changes should improve code efficiency slightly. On Fedora 28 x86-64 with default optimization this patch shrinks the size of the Emacs text segment by 0.36%. * src/conf_post.h (__has_builtin, __builtin_assume_aligned): Remove; no longer used. * src/dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Pacify -Wnull-dereference by using XCAR instead of CAR_SAFE and XCDR instead of CDR_SAFE when this is safe. * src/fileio.c (Fexpand_file_name): * src/font.c (clear_font_cache): Pacify -Wnull-dereference by removing unnecessary NILP test. * src/keyboard.c (xevent_start): New function. (read_char, read_key_sequence): Pacify -Wnull-dereference by using xevent_start instead of EVENT_START. * src/lisp.h (lisp_h_XUNTAG): Remove; XUNTAG is always a macro now, since it can no longer be implemented as a function. (XUNTAG): New third argument CTYPE. All uses changed. Cast result to CTYPE * instead of using __builtin_assume_aligned. Simplify by using LISP_WORD_TAG. (LISP_WORD_TAG): New macro. (TAG_PTR): Use it. * src/menu.c (x_popup_menu_1): Pacify -Wnull-dereference by using XCAR instead of Fcar and XCDR instead of Fcdr where this is safe.
* | Simplify read_key_sequencePaul Eggert2018-06-091-68/+30
| | | | | | | | | | | | | | | | | | * src/keyboard.c (READ_KEY_ELTS): New constant. (keyremap_step, read_key_sequence): Omit BUFSIZE arg, since it's always READ_KEY_ELTS. All callers changed. (grow_bool_vector): Remove; no longer needed. (read_key_sequence): Use a bool array instead of a Lisp bool vector, since it's small and this puts less pressure on the GC.
* | Unbreak echoingDaniel Colascione2018-06-091-1/+5
| | | | | | | | * src/keyboard.c (read_key_sequence): Don't echo_truncate the first time.
* | Fix pointer misuse in JSON parserPaul Eggert2018-06-091-32/+28
| | | | | | | | | | | | | | | | | | * src/json.c (lisp_to_json_toplevel_1): Fix pointer misuse not caught by C type checking (json_t ** converted to void * where the program expected json_t *). Bug caught on Fedora 28 x86-64 via './configure CFLAGS="-g3 -O2 -fsanitize=address" CANNOT_DUMP=yes'. Avoid similar problems in the future by rewriting to use json_t * instead of json_t **.
* | Correctly set last_nonmenu_event when replayingDaniel Colascione2018-06-091-3/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | read_key_sequence can, in various circumstances, play back recorded events. Make sure that we set last_nonmenu_event as if we weren't replaying. Without this change, we leave last_nonmenu_event set to whatever it was before we started replaying, leading to spurious random keymap menu prompts appearing after reading terminal control sequences, the translation of which sometimes causes event replays. * src/keyboard.c: (grow_bool_vector): New function (read_key_sequence): Remember menu event history per-event.
* | Add debug facility for formatting in rr sessionsDaniel Colascione2018-06-092-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | The existing debug print commands don't work in rr, since they touch stderr. The new xfmt command just calls Fformat and doesn't touch the stdio streams. * src/.gdbinit: (xfmt): New GDB command. * src/print.c: (debug_format): New function.
* | Fix read buffer overrun on overflowed integersPaul Eggert2018-06-091-2/+2
| | | | | | | | | | | | | | * src/lread.c (read_integer): Fix off-by-1 buffer overrun introduced in 2018-04-17T23:23:16Z!eggert@cs.ucla.edu. The bug could occur when Emacs read radixed integers containing more than 100 digits. Bug caught by AddressSanitizer.
* | Make error checking for thread functions stricter.Philipp Stephani2018-06-092-23/+79
| | | | | | | | | | | | | | | | | | | | | | | | * src/systhread.c (sys_thread_create): Change return type to bool. Check for errors returned by pthread_attr_setstacksize and pthread_attr_destroy. (sys_mutex_init): Abort on errors. Enable mutex checks when checking is enabled. (sys_cond_init): Abort on errors. (sys_mutex_lock, sys_mutex_unlock, sys_cond_wait) (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy): Check for errors in debug mode.
* | Remove AddressSanitizer bug workaroundPaul Eggert2018-06-082-6/+6
| | | | | | | | | | | | | | | | | | This workaround no longer appears to be needed. * src/alloc.c (USE_ALIGNED_ALLOC): Don’t leave undefined merely because ADDRESS_SANITIZER is defined, as that bug in -fsanitize=address appears to have been fixed. See: https://github.com/google/sanitizers/issues/337 * src/conf_post.h (vfork): Improve comment.
* | Fix formatting in the face filter changeDaniel Colascione2018-06-081-22/+31
| | | | | | | | | | | | * src/xfaces.c: (evaluate_face_filter,filter_face_ref) (merge_face_ref,syms_of_xfaces): Fix comments, formatting.
* | Port alignment verification to x86 --with-wide-intPaul Eggert2018-06-081-4/+4
| | | | | | | | | | | | | | | | | | Problem reported by Eli Zaretskii in: https://lists.gnu.org/r/emacs-devel/2018-06/msg00238.html * src/lisp.h (struct Lisp_Symbol, union vectorlike_header) (struct Lisp_Cons, struct Lisp_String): Do not check alignment if !USE_LSB_TAG, as alignment is needed only if we are tagging the low-order bits.
* | ; Tiny tpyo fixMichal Nazarewicz2018-06-081-1/+0
| | | | | | | | | | * src/xfaces.c (face-remapping-alist): remove an empty ‘(3)’ introduced in a docstring by mistake.
* | Add support for per-window face remappingDaniel Colascione2018-06-078-123/+286
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend face specifications to support the notion of filtering to a specific context and add a filter that limits a face specification to windows having a certain parameter. * src/xfaces.c: (evaluate_face_filter,filter_face_ref): New functions. (merge_face_ref): Ignore filtered face specifications. (Fx_list_fonts,get_lface_attributes,merge_face_vectors) (merge_named_face,merge_face_ref,merge_face_ref) (Finternal_merge_in_global_face,Fface_font,lookup_named_face) (lookup_basic_face,Fface_attributes_as_vector) (x_supports_face_attributes_p) (Fdisplay_supports_face_attributes_p,realize_named_face) (compute_char_face,face_at_buffer_position) (face_at_buffer_position,face_at_buffer_position) (face_at_buffer_position) (face_for_overlay_string,face_at_string_position,merge_faces): Pass window to face machinery. (syms_of_xfaces): Add :window and :filtered * src/xdisp.c (init_iterator, handle_face_prop) (handle_single_display_spec, merge_escape_glyph_face) (merge_glyphless_glyph_face, get_next_display_element) (next_element_from_display_vector, append_space_for_newline) (extend_face_to_end_of_line,highlight_trailing_whitespace) (maybe_produce_line_number) (display_line, calc_line_height_property): Pass window to face machinery. * src/term.c (tty_menu_activate): Adjust to new face core function signature. * src/msdos.c (XMenuActivate): Adjust to new face core function signature. * src/fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face): Pass window to face machinery. * src/font.c (font_range, Finternal_char_font): Pass window to face machinery. * src/dispnew.c (spec_glyph_lookup_face): Pass window to face machinery. * src/dispextern.h: (lookup_named_face,lookup_basic_face) (lookup_derived_face,merge_faces): Add struct window arguments to prototypes.
* | Fit kill_buffer_xwidgets into 80Paul Eggert2018-06-071-10/+10
| | | | | | | | | | * src/xwidget.c (kill_buffer_xwidgets): Reindent and use C99 style to fit in 80 columns.
* | Minor cleanup of save_excursion_restorePaul Eggert2018-06-071-24/+17
| | | | | | | | | | * src/editfns.c (save_excursion_restore): Use clearer names for locals. Free earlier, removing the need for a label and goto.
* | New function record_unwind_protect_excursionPaul Eggert2018-06-077-9/+15
| | | | | | | | | | | | | | | | | | | | | | This simplifies callers a bit, and will simplify future changes. * src/eval.c (record_unwind_protect_excursion): New function. * src/buffer.c (Fkill_buffer): * src/bytecode.c (exec_byte_code): * src/editfns.c (Fsave_excursion, Freplace_buffer_contents): * src/lread.c (readevalloop, Feval_buffer): * src/window.c (scroll_command): Use it.
* | * src/.gdbinit: Omit soon-obsolete comment.Paul Eggert2018-06-071-3/+0
| |
* | Fix ftfont_open2 failure cleanupPaul Eggert2018-06-071-2/+5
| | | | | | | | | | * src/ftfont.c (ftfont_open2): Don’t increment counter if failing. Avoid use-after-free once the increment bug is fixed.
* | Don’t over-align if WIDE_EMACS_INTPaul Eggert2018-06-071-5/+11
| | | | | | | | | | | | | | * src/lisp.h (GCALIGNED_UNION): New macro. (struct Lisp_Symbol, union vectorlike_header) (struct Lisp_Cons, struct Lisp_String): Use it to avoid possible over-alignment if !USE_LSB_TAG.
* | Fix GC-related commentaryPaul Eggert2018-06-071-9/+12
| | | | | | | | | | | | | | * src/lisp.h: USE_STACK_LISP_OBJECTS is no longer experimental. Also, remove confusion about scope vs lifetime. And say that stack-allocated strings should not be given text properties.
* | Accept plists when serializing and parsing JSONJoão Távora2018-06-071-24/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/text.texi (Parsing JSON): Mention plist support. * src/json.c (lisp_to_json_toplevel_1): Serialize plists to json. (Fjson_serialize): Mention plists in docstring. (enum json_object_type): Add json_object_plist. (json_to_lisp): Parse JSON into plists. (json_parse_object_type): Consider plists. (Fjson_parse_string): Mention plists in docstring. (syms_of_json): New Qplist sym_of_json. (lisp_to_json): Update comment. * test/src/json-tests.el (json-serialize/object) (json-parse-string/object): New plist tests.
* | Merge from origin/emacs-26Glenn Morris2018-06-041-4/+26
|\ \ | |/ | | | | | | defd53a Set accessibility subroles for child frame (bug#31324) de6a876 Fix redefinition of child frames on NS
| * Set accessibility subroles for child frame (bug#31324)Alan Third2018-06-021-1/+15
| | | | | | | | | | | | | | ; Depends on patch in bug#31440. * src/nsterm.m (x_set_parent_frame): Set subrole depending on whether frame is a child or not.
| * Fix redefinition of child frames on NSAlan Third2018-06-021-4/+12
| | | | | | | | | | * src/nsterm.m (x_set_parent_frame): If the NSWindow has an existing parent frame, remove it.
* | Merge from origin/emacs-26Glenn Morris2018-06-021-1/+6
|\ \ | |/ | | | | | | | | | | | | 4cfe531 (origin/emacs-26) Improve ELisp documentation of 'clone-indir... 9089b02 Improve documentation of 'inhibit-message' 6107e12 Improve documentation of comment styles fb45125 Documentation improvements in newcomment.el 641c94c Imp[rove documentation of 'with-silent-modifications'
| * Improve documentation of 'inhibit-message'Eli Zaretskii2018-06-021-1/+6
| | | | | | | | | | * src/xdisp.c (syms_of_xdisp) <inhibit-message>: Warn against setting it non-nil globally. (Bug#31627)
| * Fix decoding of directories when "~" includes non-ASCII charsEli Zaretskii2018-06-021-15/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/fileio.c (Fexpand_file_name): Don't build multibyte strings from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY have different multibyteness, as this adds bytes to the byte sequence, and in some situations, e.g., when the home directory includes non-ASCII characters, can fail file APIs. (Bug#30755) * lisp/startup.el (normal-top-level): Make sure default-directory is set to a multibyte string when decoded on MS-Windows. (cherry picked from commit 3aab8626ba5080bb04d0fdae52d99c850a842a52)
| * Fix some problems in the Cairo buildAri Roponen2018-06-022-42/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/xterm.c (x_begin_cr_clip): Create image surface. (x_update_end) [USE_CAIRO]: Remove GTK3-specific code. (x_scroll_run) [USE_CAIRO]: Implement scrolling. * src/image.c (lookup_rgb_color) [USE_CAIRO]: Support Cairo. (jpeg_load_body) [USE_CAIRO]: Support Cairo. Use USE_CAIRO instead of CAIRO for #ifdef's. (imagemagick_load_image) [USE_CAIRO]: Support Cairo. (Bug#31288) (cherry picked from commit 2d0eff42b8f1122e00f948759ed01a3be1a8c3fc)