1. 11 Jan, 2019 1 commit
    • 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
  2. 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
  3. 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
  4. 08 Jan, 2019 9 commits
  5. 07 Jan, 2019 16 commits
  6. 06 Jan, 2019 3 commits
    • Leo Liu's avatar
    • Paul Eggert's avatar
      Use integers for syntax-pps-stats · b0b483d7
      Paul Eggert authored
      * lisp/emacs-lisp/syntax.el (syntax-ppss-stats):
      Use integers, not floating-point, for stats, now that integers are
      unbounded.  Almost always these should be fixnums.  Add 1 to last
      slot’s car so that this addition need not be done at runtime.
      (syntax-pps-stats, syntax-ppss): Use integers for calculations.
      (syntax-ppss--update-stats): New convenience function.
      (syntax-ppss): Use it.
      b0b483d7
    • Michael Albinus's avatar
      Adapt filenotify-tests for emba · cfa54ab7
      Michael Albinus authored
      * test/lisp/filenotify-tests.el (file-notify-test03-events)
      (file-notify-test05-file-validity)
      (file-notify-test06-dir-validity)
      (file-notify-test07-many-events)
      (file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
      cfa54ab7
  7. 05 Jan, 2019 3 commits