1. 14 Jan, 2019 3 commits
    • João Távora's avatar
      Fix icomplete's cycling when filename filtering kicks in · cdb08232
      João Távora authored
      Fixes: bug#34070
      
      * lisp/icomplete.el (icomplete--filtered-completions): New variable.
      (icomplete-forward-completions, icomplete-backward-completions):
      Use it.
      (icomplete-completions): Set it.
      cdb08232
    • Robert Pluim's avatar
      Improve some of the breve/caron/cedilla mappings · 80c3b9ae
      Robert Pluim authored
      * lisp/leim/quail/latin-pre.el ("latin-prefix"): Describe new 'c with
      cedilla mapping'.  Extend caron description.  Correct dot above
      description.  Add new mappings for 'a with breve' and 'c with caron'.
      Add additional mapping for 'c with cedilla'.  Delete ~o mapping for 'g
      with dot above'.
      80c3b9ae
    • Robert Pluim's avatar
      Fix some breve and dot above related doc strings · 3018a477
      Robert Pluim authored
      * lisp/leim/quail/latin-pre.el ("romanian-prefix"): Correct
      description of 'a with breve'.
      ("romanian-alt-prefix"): Correct description of 'a
      with breve'.  Reformat other entries for consistency.
      ("latin-3-prefix"): Correct 'dot above' description.
      3018a477
  2. 13 Jan, 2019 2 commits
    • Paul Eggert's avatar
      Fix translation-region bug with MAX_CHAR · 1a722e88
      Paul Eggert authored
      Also, clean up the code a bit.
      Actually I discovered the bug while cleaning up the code.
      * src/editfns.c (Fsubst_char_in_region)
      (Ftranslate_region_internal): Use bool for booleans.
      (Ftranslate_region_internal): Fix off-by-1 bug when a
      translation table translates the maximum char.  Assume C99
      decl-after-statement, similar minor cleanups.
      * test/src/editfns-tests.el (test-translate-region-internal):
      New test.
      1a722e88
    • Paul Eggert's avatar
      Minor overflow fix in translate-region-internal · 800d3815
      Paul Eggert authored
      * src/editfns.c (Ftranslate_region_internal):
      Use ptrdiff_t, not int, for a count that might exceed INT_MAX.
      800d3815
  3. 12 Jan, 2019 1 commit
  4. 11 Jan, 2019 3 commits
    • Glenn Morris's avatar
      Remove some obsolete stub files from etc/ · 8fe21b03
      Glenn Morris authored
      * etc/CENSORSHIP, etc/FTP, etc/GNU, etc/LINUX-GNU, etc/MORE.STUFF:
      * etc/ORDERS, etc/THE-GNU-PROJECT, etc/WHY-FREE:
      Remove stub files that were marked obsolete 5 years ago.
      8fe21b03
    • Martin Rudalics's avatar
      Run window change functions during redisplay · e567ac14
      Martin Rudalics authored
      * doc/lispref/windows.texi (Window Sizes): Move (and rename)
      descriptions of 'window-pixel-height-before-size-change' and
      'window-pixel-width-before-size-change' to Window Hooks
      section.
      (Window Configurations): Remove warning against use of
      'save-window-excursion' in 'window-size-change-functions'.
      (Window Hooks): Rewrite section according to redesign of
      window change functions.
      * lisp/erc/erc-track.el (erc-window-configuration-change)
      (erc-modified-channels-update): Call latter directly from
      'window-configuration-change-hook' instead via
      'post-command-hook'.
      * lisp/frame.el (frame-size-changed-p): Change nomenclature
      in let bindings.
      * lisp/net/rcirc.el (rcirc-window-configuration-change)
      (rcirc-window-configuration-change-1): Call latter directly
      from 'window-configuration-change-hook' instead via
      'post-command-hook'.
      * lisp/window.el (window-pixel-width-before-size-change)
      (window-pixel-height-before-size-change): Defalias.
      (window--resize-mini-window, window-resize)
      (adjust-window-trailing-edge, delete-window)
      (delete-other-windows, balance-windows): Don't run
      'window-configuration-change-hook' any more from here.
      (split-window): Don't run 'window-configuration-change-hook'
      from here.  'run-window-scroll-functions' from here.
      (window--adjust-process-windows): Run from
      'window-configuration-change-hook' only.
      * src/frame.c (old_selected_frame): New Lisp variable.
      (make_frame): Initialize frame's change_stamp slot.
      (Fold_selected_frame): New function.
      * src/frame.h (struct frame): New slots old_selected_window,
      window_change, change_stamp and number_of_windows.
      (fset_old_selected_window): New inlined function.
      (FRAME_WINDOW_CHANGE, FRAME_OLD_SELECTED_WINDOW): New macros.
      * src/window.c (old_selected_window): New Lisp variable.
      (wset_old_buffer): New inlined function.
      (Fframe_old_selected_window, Fold_selected_window)
      (Fwindow_old_buffer): New functions.
      (Fwindow_old_pixel_width, Fwindow_old_pixel_height): Rename
      from Fwindow_pixel_width_before_size_change and
      Fwindow_pixel_height_before_size_change.  Update doc-strings.
      (Fwindow_old_body_pixel_width, Fwindow_old_body_pixel_height):
      New functions.
      (Fdelete_other_windows_internal): Set frame's window_change
      slot instead of running 'window-configuration-change-hook'.
      (Frun_window_configuration_change_hook): In doc-string tell
      that this function is no more needed.
      (Frun_window_scroll_functions): Amend doc-string.  Run with
      window's buffer current.
      (window_sub_list, window_change_record_windows)
      (window_change_record_frame, window_change_record)
      (run_window_change_functions_1, run_window_change_functions):
      New functions.
      (set_window_buffer): Set frame's window_change slot instead of
      running 'window-configuration-change-hook'.
      (make_window): Don't initialize pixel_width_before_size_change
      and pixel_height_before_size_change slots.
      (window_resize_apply, Fdelete_window_internal): Set frame's
      window_change slot.
      (Fsplit_window_internal): Set frame's window_change slot.
      Don't run 'window-scroll-functions' from here.
      * src/window.h (struct window): New slots old_buffer,
      change_stamp, old_pixel_width (renamed from
      pixel_width_before_size_change), old_pixel_height (renamed
      from pixel_height_before_size_change), old_body_pixel_width
      and old_body_pixel_height.
      * src/xdisp.c (init_iterator): Set frame's window_change slot
      when the body height or width changes.
      (prepare_menu_bars): Don't run_window_size_change_functions.
      (redisplay_internal): Don't run_window_size_change_functions,
      run_window_change_functions instead.
      e567ac14
    • Paul Eggert's avatar
      List lengths are always fixnums now · 470082de
      Paul Eggert authored
      Without this patch, it was theoretically possible for a list
      length to be a bignum, which means that safe-length could
      signal an error (due to generating a too-large bignum) contrary
      to its documentation.  Fix things to remove the theoretical
      possibility, so that list lengths are always fixnums (and so
      that list lenghts are always ptrdiff_t values too, since that
      is assumed internally anyway).
      * src/alloc.c (Fcons): Do not allocate so many conses that
      a list length won’t fit into ptrdiff_t or into fixnum.
      This matters only on weird platforms; on typical platforms,
      list lengths always fit anyway.
      * src/fns.c (list_length, Fsafe_length, proper-list-p):
      Remove integer overflow checks that are no longer needed.
      470082de
  5. 10 Jan, 2019 7 commits
    • Paul Eggert's avatar
      Minor tweaks to HAVE_NATIVE_SCALING code · 9609db9d
      Paul Eggert authored
      This mostly just reindents.
      * src/image.c (x_set_image_size): Always define, but to a no-op
      if !HAVE_NATIVE_SCALING, to avoid an #ifdef elsewhere.
      (x_create_x_image_and_pixmap): Move decl to avoid an #ifdef.
      (image_create_x_image_and_pixmap): Move #ifdef outside of call.
      * src/xterm.c (x_composite_image): Avoid ‘else #endif’.
      9609db9d
    • Alan Third's avatar
      Add native image scaling (bug#33587) · a1b7a3f2
      Alan Third authored
      * configure.ac: Test for XRender outside of xft checks.
      * src/Makefile.in (XRENDER_LIBS): List XRender libs separately from
      xft libs.
      * lisp/image.el (image--get-imagemagick-and-warn): Allow resizing if
      native scaling is available.
      * src/dispextern.h: Add XRender and image scaling stuff.
      (struct image): Add XRender Pictures.
      * src/image.c (x_create_bitmap_mask):
      (image_create_x_image_and_pixmap): Handle XRender Picture.
      (scale_image_size):
      (compute_image_size): Make available when any form of scaling is
      enabled.
      (x_set_image_size): New function.
      (lookup_image): Set image size.
      (x_create_x_image_and_pixmap): Create XRender Picture when necessary.
      (x_put_x_image): Handle the case where desired size != actual size.
      (free_image): Free XRender Pictures.
      (Fimage_scaling_p): New function.
      (syms_of_image): Add image-scaling-p.
      * src/nsimage.m (ns_load_image): Remove NS specific resizing.
      ([EmacsImage setSizeFromSpec:]): Remove method.
      (ns_image_set_size): New function.
      * src/nsterm.m (ns_draw_fringe_bitmap): Cocoa and GNUstep both have
      the same compositing functions, so remove unnecessary difference.
      * src/xterm.c (x_composite_image): New function.
      (x_draw_image_foreground): Use new x_composite_image function.
      * doc/lispref/display.texi (Image Descriptors): Document
      image-scaling-p and add resizing descriptors.
      (ImageMagick Images): Remove resizing descriptors.
      a1b7a3f2
    • Alan Third's avatar
      Fix drag and drop behaviour on NS (bug#30929) · c342b263
      Alan Third authored
      * doc/emacs/macos.texi (Mac / GNUstep Events): Describe the new drag
      and drop behaviour.
      * lisp/term/ns-win.el (ns-drag-n-drop): Handle the new event format.
      (ns-drag-n-drop-other-frame):
      (ns-drag-n-drop-as-text):
      (ns-drag-n-drop-as-text-other-frame): Remove functions and key
      bindings.
      * src/nsterm.m ([EmacsView performDragOperation:]): Send Emacs event
      in new format without setting any modifiers.
      c342b263
    • Michael Albinus's avatar
      New test custom--test-theme-variables · 7ae0a24c
      Michael Albinus authored
      * test/lisp/custom-tests.el (custom--test-user-option)
      (custom--test-variable): New variables.
      (custom--test-theme-variables): New test.
      
      * test/lisp/custom-resources/custom--test-theme.el (custom--test):
      New file.
      7ae0a24c
    • Martin Rudalics's avatar
      Handle dedicated status in 'window--display-buffer' (Bug#33870) · f646675c
      Martin Rudalics authored
      * lisp/window.el (display-buffer-record-window): Rewrite
      doc-string.
      (window--display-buffer): Remove fifth argument DEDICATED and
      either directly use a 'dedicated' entry in ALIST or the value
      of 'display-buffer-mark-dedicated' instead.
      (display-buffer-in-atom-window, display-buffer-use-some-frame)
      (display-buffer-pop-up-frame, display-buffer-pop-up-window)
      (display-buffer-below-selected, display-buffer-at-bottom):
      Adjust callers of 'window--display-buffer'.
      (window--make-major-side-window)
      (display-buffer-in-side-window): Handle dedicated status of
      the chosen side window via a 'dedicated' alist entry and
      adjust 'window--display-buffer' call.
      (display-buffer-in-child-frame): Set up TYPE correctly for and
      adjust 'window--display-buffer' call.
      (display-buffer-in-previous-window): Handle dedicated status
      of a previous window already showing BUFFER.
      * doc/lispref/windows.texi (Buffer Display Action Alists): New
      action alist entry 'dedicated'.
      (Dedicated Windows): Mention new buffer display action alist
      entry 'dedicated'.
      * etc/NEWS: Mention new buffer display action alist entry
      'dedicated'.
      f646675c
    • Paul Eggert's avatar
      Mention Japanese change in documentation · a2e78046
      Paul Eggert authored
      a2e78046
    • Yasuhiro KIMURA's avatar
      Change preferred Japanese coding system to UTF-8 · a57ee3da
      Yasuhiro KIMURA authored
      * lisp/language/japan-util.el (setup-japanese-environment-internal):
      Use utf-8 as preferred coding system instead of japanese-iso-8bit when
      system is not MS-Windows. And while I'm at it, fix comment to fit current
      implementation.  (Bug#28705)
      Copyright-paperwork-exempt: yes.
      a57ee3da
  6. 09 Jan, 2019 1 commit
    • Paul Eggert's avatar
      Use shortcuts for Flength · a8465033
      Paul Eggert authored
      When calculating the length of a Lisp object whose type is
      known, use a specialized length operation on it to save a bit
      of runtime overhead.
      * src/callint.c (Fcall_interactively):
      * src/minibuf.c (read_minibuf_unwind):
      Use ASIZE rather than Flength on values that must be vectors.
      * src/charset.c (Fsort_charsets):
      * src/coding.c (detect_coding_sjis):
      (Fdefine_coding_system_internal):
      * src/data.c (wrong_choice):
      * src/eval.c (Flet, eval_sub, Fapply, apply_lambda):
      * src/fns.c (sort_list):
      * src/font.c (font_vconcat_entity_vectors)
      (font_find_for_lface):
      * src/frame.c (Fmodify_frame_parameters):
      * src/fringe.c (get_logical_fringe_bitmap):
      * src/ftfont.c (ftfont_get_open_type_spec):
      * src/gtkutil.c (xg_print_frames_dialog):
      * src/lread.c (read1, read_vector):
      * src/keymap.c (Fkey_description):
      * src/kqueue.c (Fkqueue_add_watch):
      * src/macfont.m (macfont_get_open_type_spec):
      * src/menu.c (parse_single_submenu, x_popup_menu_1):
      * src/minibuf.c (Finternal_complete_buffer):
      * src/nsfont.m (ns_findfonts, nsfont_list_family):
      * src/process.c (Fmake_process):
      * src/search.c (Fset_match_data):
      * src/xfaces.c (Fx_family_fonts):
      Use list_length rather than Flength on values that must be lists.
      * src/fns.c (list_length): New function.
      (Flength): Use it.
      * src/nsfont.m (ns_findfonts):
      Use !NILP (x) rather than XFIXNUM (Flength (x)) != 0.
      * src/xdisp.c (store_mode_line_string):
      Use SCHARS rather than Flength on values that must be strings.
      a8465033
  7. 08 Jan, 2019 9 commits
  8. 07 Jan, 2019 14 commits