1. 23 Sep, 2016 1 commit
    • Eli Zaretskii's avatar
      Fix display of cursor when 'blink-cursor-delay' has small value · f2819241
      Eli Zaretskii authored
      * lisp/frame.el (blink-cursor-check, blink-cursor-mode):
      Protect ourselves against too small values of blink-cursor-delay.
      This avoids erratic display of the cursor, or even failure to
      display it, when user types text at high speed or leans on a key
      to invoke the keyboard auto-repeat feature.  (Bug#24372)
      f2819241
  2. 04 Jan, 2016 1 commit
  3. 01 Jan, 2016 1 commit
  4. 17 Nov, 2015 1 commit
    • Paul Eggert's avatar
      Fix docstring quoting problems with ‘ '’ · ac16149b
      Paul Eggert authored
      Problem reported by Artur Malabarba in:
      http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
      Most of these fixes are to documentation; many involve fixing
      longstanding quoting glitches that are independent of the
      recent substitute-command-keys changes.  The changes to code are:
      * lisp/cedet/mode-local.el (mode-local-augment-function-help)
      (describe-mode-local-overload):
      Substitute docstrings before displaying them.
      * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
      Quote the generated docstring for later substitution.
      ac16149b
  5. 13 Nov, 2015 2 commits
  6. 07 Nov, 2015 1 commit
    • Eli Zaretskii's avatar
      Speed up lookup in redisplay--variables · fc61ea4f
      Eli Zaretskii authored
      * lisp/frame.el (redisplay--variables): Make it a hash-table.
      
      * src/xdisp.c (maybe_set_redisplay): Access redisplay--variables
      as a hash-table.  This speeds up this function by an order of
      magnitude: where previously a setq was slowed down by 100% by
      introducing the maybe_set_redisplay test, it is now only 5%
      slower.
      (syms_of_xdisp) <redisplay--variables>: Doc fix.
      fc61ea4f
  7. 06 Nov, 2015 1 commit
    • Eli Zaretskii's avatar
      Ensure redisplay after evaluation · 19e09cfa
      Eli Zaretskii authored
      * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Revert
      last change.
      * lisp/frame.el (redisplay--variables): Populate the
      redisplay--variables list.
      * src/xdisp.c (maybe_set_redisplay): New function.
      (syms_of_xdisp) <redisplay--variables>: New variable.
      * src/window.h (maybe_set_redisplay): Declare prototype.
      * src/data.c (set_internal): Call maybe_set_redisplay.  (Bug#21835)
      19e09cfa
  8. 29 Oct, 2015 1 commit
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context · 84dcdbeb
      Stefan Monnier authored
      (cl--generic-derived-specializers): New function.
      (cl--generic-derived-generalizer): New generalizer.
      (cl-generic-generalizers): New specializer (derived-mode MODE).
      (cl--generic-split-args): Apply the rewriter, if any.
      (cl-generic-define-context-rewriter): New macro.
      (major-mode): Use it to define a new context-rewriter, so we can write
      `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'.
      
      * lisp/frame.el (window-system): New context-rewriter so we can write
      `(window-system VAL)' instead of (window-system (eql VAL)).
      (cl--generic-split-args): Apply the rewriter, if any.
      (frame-creation-function): Use the new syntax.
      
      * lisp/term/x-win.el (window-system-initialization)
      (handle-args-function, frame-creation-function)
      (gui-backend-set-selection, gui-backend-selection-owner-p)
      (gui-backend-selection-exists-p, gui-backend-get-selection):
      * lisp/term/w32-win.el (window-system-initialization)
      (handle-args-function, frame-creation-function)
      (gui-backend-set-selection, gui-backend-get-selection)
      (gui-backend-selection-owner-p, gui-backend-selection-exists-p):
      * lisp/term/pc-win.el (gui-backend-get-selection)
      (gui-backend-selection-exists-p, gui-backend-selection-owner-p)
      (gui-backend-set-selection, window-system-initialization)
      (frame-creation-function, handle-args-function):
      * lisp/term/ns-win.el (window-system-initialization)
      (handle-args-function, frame-creation-function)
      (gui-backend-set-selection, gui-backend-selection-exists-p)
      (gui-backend-get-selection):
      * lisp/startup.el (handle-args-function):
      * lisp/term/xterm.el (gui-backend-get-selection)
      (gui-backend-set-selection): Use the new syntax.
      84dcdbeb
  9. 13 Oct, 2015 1 commit
    • Martin Rudalics's avatar
      Allow setting frame pixel sizes from frame parameters (Bug#21415) · d4fe840d
      Martin Rudalics authored
      Also fix some misfeatures in frame (re-)sizing code, add more
      debugging information and remove some dead code.
      
      * lisp/frame.el (frame-notice-user-settings, make-frame): Change
      parameter names when setting `frame-size-history'.
      (frame--size-history): New function.
      
      * src/frame.c (frame_inhibit_resize): If frame has not been made
      yet, return t if inhibit_horizontal_resize or
      inhibit_vertical_resize bit have been set.
      (adjust_frame_size): Simplify.
      (make_frame): Initialize inhibit_horizontal_resize,
      inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized.
      (Fframe_after_make_frame): Reset inhibit_horizontal_resize and
      inhibit_vertical_resize slots.
      (x_set_frame_parameters): Handle `text-pixels' specification for
      width and height parameters.  Don't consider new_height or
      new_width changes.  Call adjust_frame_size instead of
      Fset_frame_size.
      (x_figure_window_size): Two new arguments x_width and y_width
      returning frame's figures width and height.  Calculate tool bar
      height before frame sizes so SET_FRAME_HEIGHT can pick it up.
      Handle `text-pixels' specification for width and height
      parameters.
      (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size)
      (Qx_set_window_size_1, Qx_set_window_size_2)
      (Qx_set_window_size_3, Qx_set_menu_bar_lines)
      (Qupdate_frame_menubar, Qfree_frame_menubar_1)
      (Qfree_frame_menubar_2): New symbols.
      * src/frame.h (structure frame): New booleans
      tool_bar_redisplayed, tool_bar_resized,
      inhibit_horizontal_resize, inhibit_vertical_resize.
      (x_figure_window_size): Update external declaration.
      * src/gtkutil.c (xg_frame_set_char_size): Set size hints before
      calling gtk_window_resize.
      (update_frame_tool_bar): Make inhibiting of frame resizing more
      discriminative.  Set tool_bar_resized bit.
      * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame
      resizing more discriminative.  Call adjust_frame_size instead of
      x_set_window_size.
      (Fx_create_frame): Handle x_width and x_height if
      set by x_figure_window_size.
      * src/nsterm.m (x_set_window_size): For GNUSTEP build don't
      subtract 3 from tool bar height.
      (x_set_window_size): Add frame_size_history_add call.
      (x_new_font): Call adjust_frame_size instead of
      x_set_window_size.
      * src/w32fns.c (x_change_tool_bar_height): Reset
      tool_bar_redisplayed and tool_bar_resized bits when adding tool
      bar.  Make inhibiting of frame resizing more discriminative.
      (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case.
      (Fx_create_frame): Handle x_width and x_height if set by
      x_figure_window_size.  Set size hints before adjusting frame size.
      (x_create_tip_frame): Adjust x_figure_window_size call.
      * src/w32term.c (x_set_window_size): Add frame_size_history_add
      call.
      * src/widget.c (set_frame_size): Remove dead code.  Add
      frame_size_history_add call.  When frame_resize_pixelwise is t
      use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of
      pixel_width and pixel_height.
      (update_various_frame_slots): Remove dead code.
      (EmacsFrameResize): Add more information in
      frame_size_history_add call.
      (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise
      is not set.
      * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits.
      * src/xfns.c (x_set_menu_bar_lines): Change argument name.
      (x_change_tool_bar_height): Reset tool_bar_redisplayed and
      tool_bar_resized bits when adding tool bar.  Make inhibiting of
      frame resizing more discriminative.
      (Fx_create_frame): Handle x_width and x_height if set by
      x_figure_window_size.  Set size hints before adjusting frame size.
      (x_create_tip_frame): Adjust x_figure_window_size call.
      * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially.
      (set_frame_menubar): On Lucid never add core-border-width to
      avoid that adding XtNinternalBorderWidth adds it again.
      (free_frame_menubar): Handle frame_inhibit_resize true for Motif.
      * src/xterm.c (x_new_font): In non-toolkit case handle size
      change of menu bar.
      (x_set_window_size_1): Fix calls to frame_size_history_add.
      (x_wm_set_size_hint): Remove dead code.  Set
      size_hints.min_width and size_hints.min_height to base_width and
      base_height.
      d4fe840d
  10. 07 Sep, 2015 1 commit
    • Paul Eggert's avatar
      Go back to grave quoting in source-code docstrings etc. · 6afef3f6
      Paul Eggert authored
      This reverts almost all my recent changes to use curved quotes
      in docstrings and/or strings used for error diagnostics.
      There are a few exceptions, e.g., Bahá’í proper names.
      * admin/unidata/unidata-gen.el (unidata-gen-table):
      * lisp/abbrev.el (expand-region-abbrevs):
      * lisp/align.el (align-region):
      * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
      (outlineify-sticky):
      * lisp/apropos.el (apropos-library):
      * lisp/bookmark.el (bookmark-default-annotation-text):
      * lisp/button.el (button-category-symbol, button-put)
      (make-text-button):
      * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
      * lisp/calc/calc-embed.el (calc-do-embedded):
      * lisp/calc/calc-ext.el (calc-user-function-list):
      * lisp/calc/calc-graph.el (calc-graph-show-dumb):
      * lisp/calc/calc-help.el (calc-describe-key)
      (calc-describe-thing, calc-full-help):
      * lisp/calc/calc-lang.el (calc-c-language)
      (math-parse-fortran-vector-end, math-parse-tex-sum)
      (math-parse-eqn-matrix, math-parse-eqn-prime)
      (calc-yacas-language, calc-maxima-language, calc-giac-language)
      (math-read-giac-subscr, math-read-math-subscr)
      (math-read-big-rec, math-read-big-balance):
      * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
      * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
      (calc-auto-recompute):
      * lisp/calc/calc-prog.el (calc-fix-token-name)
      (calc-read-parse-table-part, calc-user-define-invocation)
      (math-do-arg-check):
      * lisp/calc/calc-store.el (calc-edit-variable):
      * lisp/calc/calc-units.el (math-build-units-table-buffer):
      * lisp/calc/calc-vec.el (math-read-brackets):
      * lisp/calc/calc-yank.el (calc-edit-mode):
      * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
      * lisp/calendar/appt.el (appt-display-message):
      * lisp/calendar/diary-lib.el (diary-check-diary-file)
      (diary-mail-entries, diary-from-outlook):
      * lisp/calendar/icalendar.el (icalendar-export-region)
      (icalendar--convert-float-to-ical)
      (icalendar--convert-date-to-ical)
      (icalendar--convert-ical-to-diary)
      (icalendar--convert-recurring-to-diary)
      (icalendar--add-diary-entry):
      * lisp/calendar/time-date.el (format-seconds):
      * lisp/calendar/timeclock.el (timeclock-mode-line-display)
      (timeclock-make-hours-explicit, timeclock-log-data):
      * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
      (todo-item-mark, todo-check-format)
      (todo-insert-item--next-param, todo-edit-item--next-key)
      (todo-mode):
      * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
      * lisp/cedet/mode-local.el (describe-mode-local-overload)
      (mode-local-print-binding, mode-local-describe-bindings-2):
      * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
      * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
      * lisp/cus-start.el (standard):
      * lisp/cus-theme.el (describe-theme-1):
      * lisp/custom.el (custom-add-dependencies, custom-check-theme)
      (custom--sort-vars-1, load-theme):
      * lisp/descr-text.el (describe-text-properties-1, describe-char):
      * lisp/dired-x.el (dired-do-run-mail):
      * lisp/dired.el (dired-log):
      * lisp/emacs-lisp/advice.el (ad-read-advised-function)
      (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
      (ad-disable-advice, ad-remove-advice, ad-set-argument)
      (ad-set-arguments, ad--defalias-fset, ad-activate)
      (ad-deactivate):
      * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
      (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
      (byte-optimize-while, byte-optimize-apply):
      * lisp/emacs-lisp/byte-run.el (defun, defsubst):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
      (byte-compile-log-file, byte-compile-format-warn)
      (byte-compile-nogroup-warn, byte-compile-arglist-warn)
      (byte-compile-cl-warn)
      (byte-compile-warn-about-unresolved-functions)
      (byte-compile-file, byte-compile--declare-var)
      (byte-compile-file-form-defmumble, byte-compile-form)
      (byte-compile-normal-call, byte-compile-check-variable)
      (byte-compile-variable-ref, byte-compile-variable-set)
      (byte-compile-subr-wrong-args, byte-compile-setq-default)
      (byte-compile-negation-optimizer)
      (byte-compile-condition-case--old)
      (byte-compile-condition-case--new, byte-compile-save-excursion)
      (byte-compile-defvar, byte-compile-autoload)
      (byte-compile-lambda-form)
      (byte-compile-make-variable-buffer-local, display-call-tree)
      (batch-byte-compile):
      * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
      * lisp/emacs-lisp/chart.el (chart-space-usage):
      * lisp/emacs-lisp/check-declare.el (check-declare-scan)
      (check-declare-warn, check-declare-file)
      (check-declare-directory):
      * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
      (checkdoc-message-text-engine):
      * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
      (cl--describe-class):
      * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
      (cl--generic-describe, cl-generic-generalizers):
      * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
      (cl-symbol-macrolet):
      * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
      * lisp/emacs-lisp/copyright.el (copyright)
      (copyright-update-directory):
      * lisp/emacs-lisp/edebug.el (edebug-read-list):
      * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
      * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
      (eieio-oref):
      * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
      * lisp/emacs-lisp/eieio-speedbar.el:
      (eieio-speedbar-child-make-tag-lines)
      (eieio-speedbar-child-description):
      * lisp/emacs-lisp/eieio.el (defclass, change-class):
      * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
      (elint-init-form, elint-check-defalias-form)
      (elint-check-let-form):
      * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
      (ert-results-pop-to-backtrace-for-test-at-point)
      (ert-results-pop-to-messages-for-test-at-point)
      (ert-results-pop-to-should-forms-for-test-at-point)
      (ert-describe-test):
      * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
      (find-function-library):
      * lisp/emacs-lisp/generator.el (iter-yield):
      * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
      * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
      * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
      * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
      * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
      (advice--make, define-advice):
      * lisp/emacs-lisp/package-x.el (package-upload-file):
      * lisp/emacs-lisp/package.el (package-version-join)
      (package-disabled-p, package-activate-1, package-activate)
      (package--download-one-archive)
      (package--download-and-read-archives)
      (package-compute-transaction, package-install-from-archive)
      (package-install, package-install-selected-packages)
      (package-delete, package-autoremove, describe-package-1)
      (package-install-button-action, package-delete-button-action)
      (package-menu-hide-package, package-menu--list-to-prompt)
      (package-menu--perform-transaction)
      (package-menu--find-and-notify-upgrades):
      * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
      * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
      * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
      * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
      (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
      (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
      (rx-form):
      * lisp/emacs-lisp/smie.el (smie-config-save):
      * lisp/emacs-lisp/subr-x.el (internal--check-binding):
      * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
      * lisp/emacs-lisp/testcover.el (testcover-1value):
      * lisp/emacs-lisp/timer.el (timer-event-handler):
      * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
      (viper-toggle-search-style, viper-kill-buffer)
      (viper-brac-function):
      * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
      * lisp/env.el (setenv):
      * lisp/erc/erc-button.el (erc-nick-popup):
      * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
      * lisp/eshell/em-dirs.el (eshell/cd):
      * lisp/eshell/em-glob.el (eshell-glob-regexp)
      (eshell-glob-entries):
      * lisp/eshell/em-pred.el (eshell-parse-modifiers):
      * lisp/eshell/esh-opt.el (eshell-show-usage):
      * lisp/facemenu.el (facemenu-add-new-face)
      (facemenu-add-new-color):
      * lisp/faces.el (read-face-name, read-face-font, describe-face)
      (x-resolve-font-name):
      * lisp/files-x.el (modify-file-local-variable):
      * lisp/files.el (locate-user-emacs-file, find-alternate-file)
      (set-auto-mode, hack-one-local-variable--obsolete)
      (dir-locals-set-directory-class, write-file, basic-save-buffer)
      (delete-directory, copy-directory, recover-session)
      (recover-session-finish, insert-directory)
      (file-modes-char-to-who, file-modes-symbolic-to-number)
      (move-file-to-trash):
      * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
      * lisp/find-cmd.el (find-generic, find-to-string):
      * lisp/finder.el (finder-commentary):
      * lisp/font-lock.el (font-lock-fontify-buffer):
      * lisp/format.el (format-write-file, format-find-file)
      (format-insert-file):
      * lisp/frame.el (get-device-terminal, select-frame-by-name):
      * lisp/fringe.el (fringe--check-style):
      * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
      * lisp/help-fns.el (help-fns--key-bindings)
      (help-fns--compiler-macro, help-fns--parent-mode)
      (help-fns--obsolete, help-fns--interactive-only)
      (describe-function-1, describe-variable):
      * lisp/help.el (describe-mode)
      (describe-minor-mode-from-indicator):
      * lisp/image.el (image-type):
      * lisp/international/ccl.el (ccl-dump):
      * lisp/international/fontset.el (x-must-resolve-font-name):
      * lisp/international/mule-cmds.el (prefer-coding-system)
      (select-safe-coding-system-interactively)
      (select-safe-coding-system, activate-input-method)
      (toggle-input-method, describe-current-input-method)
      (describe-language-environment):
      * lisp/international/mule-conf.el (code-offset):
      * lisp/international/mule-diag.el (describe-character-set)
      (list-input-methods-1):
      * lisp/mail/feedmail.el (feedmail-run-the-queue):
      * lisp/mouse.el (minor-mode-menu-from-indicator):
      * lisp/mpc.el (mpc-playlist-rename):
      * lisp/msb.el (msb--choose-menu):
      * lisp/net/ange-ftp.el (ange-ftp-shell-command):
      * lisp/net/imap.el (imap-interactive-login):
      * lisp/net/mairix.el (mairix-widget-create-query):
      * lisp/net/newst-backend.el (newsticker--sentinel-work):
      * lisp/net/newst-treeview.el (newsticker--treeview-load):
      * lisp/net/rlogin.el (rlogin):
      * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
      * lisp/obsolete/otodo-mode.el (todo-more-important-p):
      * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
      * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
      * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
      * lisp/org/ob-core.el (org-babel-goto-named-src-block)
      (org-babel-goto-named-result):
      * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
      * lisp/org/ob-ref.el (org-babel-ref-resolve):
      * lisp/org/org-agenda.el (org-agenda-prepare):
      * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
      (org-clock-resolve):
      * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
      * lisp/org/org-feed.el (org-feed-parse-atom-entry):
      * lisp/org/org-habit.el (org-habit-parse-todo):
      * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
      (org-mouse-context-menu):
      * lisp/org/org-table.el (org-table-edit-formulas):
      * lisp/org/ox.el (org-export-async-start):
      * lisp/proced.el (proced-log):
      * lisp/progmodes/ada-mode.el (ada-get-indent-case)
      (ada-check-matching-start, ada-goto-matching-start):
      * lisp/progmodes/ada-prj.el (ada-prj-display-page):
      * lisp/progmodes/ada-xref.el (ada-find-executable):
      * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
      * lisp/progmodes/etags.el (etags-tags-apropos-additional):
      * lisp/progmodes/flymake.el (flymake-parse-err-lines)
      (flymake-start-syntax-check-process):
      * lisp/progmodes/python.el (python-shell-get-process-or-error)
      (python-define-auxiliary-skeleton):
      * lisp/progmodes/sql.el (sql-comint):
      * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
      * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
      * lisp/recentf.el (recentf-open-files):
      * lisp/replace.el (query-replace-read-from)
      (occur-after-change-function, occur-1):
      * lisp/scroll-bar.el (scroll-bar-columns):
      * lisp/server.el (server-get-auth-key):
      * lisp/simple.el (execute-extended-command)
      (undo-outer-limit-truncate, list-processes--refresh)
      (compose-mail, set-variable, choose-completion-string)
      (define-alternatives):
      * lisp/startup.el (site-run-file, tty-handle-args, command-line)
      (command-line-1):
      * lisp/subr.el (noreturn, define-error, add-to-list)
      (read-char-choice, version-to-list):
      * lisp/term/common-win.el (x-handle-xrm-switch)
      (x-handle-name-switch, x-handle-args):
      * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
      * lisp/textmodes/reftex-ref.el (reftex-label):
      * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
      * lisp/textmodes/two-column.el (2C-split):
      * lisp/tutorial.el (tutorial--describe-nonstandard-key)
      (tutorial--find-changed-keys):
      * lisp/type-break.el (type-break-noninteractive-query):
      * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
      (wdired-do-perm-changes):
      * lisp/whitespace.el (whitespace-report-region):
      Prefer grave quoting in source-code strings used to generate help
      and diagnostics.
      * lisp/faces.el (face-documentation):
      No need to convert quotes, since the result is a docstring.
      * lisp/info.el (Info-virtual-index-find-node)
      (Info-virtual-index, info-apropos):
      Simplify by generating only curved quotes, since info files are
      typically that ways nowadays anyway.
      * lisp/international/mule-diag.el (list-input-methods):
      Don’t assume text quoting style is curved.
      * lisp/org/org-bibtex.el (org-bibtex-fields):
      Revert my recent changes, going back to the old quoting style.
      6afef3f6
  11. 21 Aug, 2015 1 commit
    • Martin Rudalics's avatar
      Sanitize frame geometry related functions · df9b29ed
      Martin Rudalics authored
      * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
      (Fx_frame_edges): Rename to Fns_frame_edges.
      * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
      (Fx_frame_edges): Rename to Fw32_frame_edges.
      (Fx_mouse_absolute_pixel_position): Rename to
      Fw32_mouse_absolute_pixel_position.
      (Fx_set_mouse_absolute_pixel_position): Rename to
      Fw32_set_mouse_absolute_pixel_position.
      * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
      (ns-frame-geometry, x-frame-edges, w32-frame-edges)
      (ns-frame-edges, w32-mouse-absolute-pixel-position)
      (x-mouse-absolute-pixel-position)
      (w32-set-mouse-absolute-pixel-position)
      (x-set-mouse-absolute-pixel-position): Declare.
      (frame-geometry, mouse-absolute-pixel-position)
      (set-mouse-absolute-pixel-position): New functions.
      (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
      df9b29ed
  12. 19 Aug, 2015 1 commit
    • Martin Rudalics's avatar
      Move window edge functions to Elisp. · f5a14da1
      Martin Rudalics authored
      * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
      (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
      (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
      Move to window.el.
      (calc_absolute_offset): Remove.
      * lisp/frame.el (frame-edges): New function.
      * lisp/window.el (window-edges, window-pixel-edges)
      (window-absolute-pixel-edges): Move here from window.c.
      (window-body-edges, window-body-pixel-edges)
      (window-absolute-body-pixel-edges): Move here from window.c and
      rename "inside" to "body".  Keep old names as aliases.
      (window-absolute-pixel-position): New function.
      f5a14da1
  13. 16 Aug, 2015 1 commit
    • Paul Eggert's avatar
      Use curved quotes in core elisp diagnostics · 9ce1d388
      Paul Eggert authored
      In the core elisp files, use curved quotes in diagnostic formats,
      so that they follow user preference as per ‘text-quoting-style’
      rather than being hard-coded to quote `like this'.
      * lisp/abbrev.el (expand-region-abbrevs):
      * lisp/button.el (button-category-symbol, button-put)
      (make-text-button):
      * lisp/cus-start.el:
      * lisp/custom.el (custom-add-dependencies, custom-check-theme)
      (custom--sort-vars-1, load-theme):
      * lisp/emacs-lisp/byte-run.el (defun, defsubst):
      * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
      (cl-generic-generalizers):
      * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
      * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
      * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
      (advice--make, define-advice):
      * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
      * lisp/emacs-lisp/timer.el (timer-event-handler):
      * lisp/env.el (setenv):
      * lisp/facemenu.el (facemenu-add-new-face)
      (facemenu-add-new-color):
      * lisp/faces.el (face-documentation, read-face-name)
      (face-read-string, read-face-font, face-spec-set-match-display)
      (read-color, x-resolve-font-name):
      * lisp/files.el (locate-user-emacs-file, find-alternate-file)
      (set-auto-mode, hack-local-variables)
      (hack-one-local-variable--obsolete)
      (dir-locals-set-directory-class, write-file)
      (basic-save-buffer, delete-directory, copy-directory)
      (recover-session, recover-session-finish, insert-directory)
      (file-modes-char-to-who, file-modes-symbolic-to-number)
      (move-file-to-trash):
      * lisp/font-lock.el (font-lock-fontify-buffer):
      * lisp/format.el (format-write-file, format-find-file)
      (format-insert-file):
      * lisp/frame.el (get-device-terminal, select-frame-by-name):
      * lisp/fringe.el (fringe--check-style):
      * lisp/help.el (describe-minor-mode-from-indicator):
      * lisp/image.el (image-type):
      * lisp/international/fontset.el (x-must-resolve-font-name):
      * lisp/international/mule-cmds.el (prefer-coding-system)
      (select-safe-coding-system-interactively)
      (select-safe-coding-system, activate-input-method)
      (toggle-input-method, describe-current-input-method):
      * lisp/international/mule-conf.el (code-offset):
      * lisp/mouse.el (minor-mode-menu-from-indicator):
      * lisp/replace.el (query-replace-read-from)
      (occur-after-change-function, occur-1):
      * lisp/scroll-bar.el (scroll-bar-columns):
      * lisp/simple.el (execute-extended-command)
      (undo-outer-limit-truncate, compose-mail, set-variable)
      (choose-completion-string, define-alternatives):
      * lisp/startup.el (site-run-file, tty-handle-args, )
      (command-line, command-line-1):
      * lisp/subr.el (noreturn, define-error, add-to-list)
      (read-char-choice):
      * lisp/term/common-win.el (x-handle-xrm-switch)
      (x-handle-name-switch, x-handle-args):
      * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
      Use curved quotes in diagnostics.
      * lisp/international/mule.el (find-auto-coding):
      Use " to quote in a diagnostic, to be consistent with the rest of
      this file.
      9ce1d388
  14. 03 Jul, 2015 1 commit
    • Martin Rudalics's avatar
      Fix some issues with `window-divider-mode' · e3c4cd00
      Martin Rudalics authored
      * lisp/frame.el (window-divider-default-places): New option.
      (window-divider-mode): Remove option.
      (window-divider-mode): Make it a "regular" minor mode.
      (window-divider-width-valid-p): Drop frame- prefix.
      (window-divider-mode-apply): New argument ENABLE.  Drop frame-
      prefix.  Handle `window-divider-default-places'.
      (frame--window-divider-mode-set-and-apply): Remove.
      (window-divider-default-bottom-width)
      (window-divider-default-right-width): Drop :group entries.
      * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
      (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
      (menu-bar-no-window-divider): Set `window-divider-default-places'
      and call `window-divider-mode'.
      * doc/emacs/frames.texi (Window Dividers): Document
      `window-divider-default-places'.
      e3c4cd00
  15. 02 Jul, 2015 2 commits
    • Martin Rudalics's avatar
      Document new `window-divider-mode'. · 29f8228b
      Martin Rudalics authored
      * lisp/frame.el (window-divider-mode): Fix doc-string.
      * doc/emacs/frames.texi (Window Dividers): New section.
      29f8228b
    • Martin Rudalics's avatar
      Improve accessibility of window dividers. (Bug#20183) · 0245cc37
      Martin Rudalics authored
      * lisp/faces.el (window-divider)
      (window-divider-first-pixel, window-divider-last-pixel): Change
      membership from `frames' to `window-divider' customization group.
      * lisp/frame.el (window-divider): New customization group.
      (window-divider-mode): New minor mode.
      (window-divider-default-bottom-width)
      (window-divider-default-right-width): New options.
      (frame--window-divider-previous-mode): New variable.
      (frame-window-divider-width-valid-p)
      (frame--window-divider-mode-apply)
      (frame--window-divider-mode-set-and-apply): New functions.
      * lisp/menu-bar.el (menu-bar-options-save): Save
      window-divider-mode settings.
      (menu-bar-window-divider-customize)
      (menu-bar-bottom-and-right-window-divider)
      (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
      (menu-bar-no-window-divider): New functions.
      (menu-bar-showhide-window-divider-menu): New variable.
      (menu-bar-showhide-menu): Show/hide window divider menu.
      * lisp/mouse.el (mouse-split-window-vertically)
      (mouse-split-window-horizontally): Replace `error' by
      `user-error'.  Bind `window-combination-resize' to nil.
      (top-level): Add/reorder mouse key bindings on mode- and
      vertical-line.
      0245cc37
  16. 23 May, 2015 1 commit
    • Stefan Monnier's avatar
      Replace gui-method macros with cl-generic with &context · 919281dd
      Stefan Monnier authored
      * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
      (gui-method-declare, gui-call): Remove.
      (frame-creation-function): Use cl-defgeneric.
      (make-frame): Adjust callers.
      
      * lisp/menu-bar.el (menu-bar-edit-menu):
      Use gui-backend-selection-exists-p.
      
      * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
      (gui-backend-get-selection): New cl-generic to replace
      gui-get-selection method.
      (gui-backend-set-selection): New cl-generic to replace
      gui-set-selection method.
      (gui-selection-owner-p): New cl-generic to replace
      gui-selection-owner-p method.
      (gui-backend-selection-exists-p): New cl-generic to replace
      gui-selection-exists-p method.  Adjust all callers.
      
      * lisp/server.el (server-create-window-system-frame): Don't ignore
      window-system spec even when unsupported.
      
      * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
      
      * lisp/startup.el (handle-args-function, window-system-initialization):
      Use cl-defgeneric.
      (command-line): Adjust calls accordingly.
      
      * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
      a window-system-initialization method.
      (handle-args-function, frame-creation-function): Use cl-defmethod.
      (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
      (gui-get-selection): Use cl-defmethod on the new functions instead.
      
      * lisp/term/pc-win.el (w16-get-selection-value): Turn into
      a gui-backend-get-selection method.
      (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
      Use cl-defmethod on the new functions instead.
      (msdos-window-system-initialization): Turn into
      a window-system-initialization method.
      (frame-creation-function, handle-args-function): Use cl-defmethod.
      
      * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
      a window-system-initialization method.
      (handle-args-function, frame-creation-function): Use cl-defmethod.
      (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
      (gui-get-selection): Use cl-defmethod on the new functions instead.
      
      * lisp/term/x-win.el (x-window-system-initialization): Turn into
      a window-system-initialization method.
      (handle-args-function, frame-creation-function): Use cl-defmethod.
      (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
      (gui-get-selection): Use cl-defmethod on the new functions instead.
      
      * lisp/term/xterm.el (xterm--set-selection): Turn into
      a gui-backend-set-selection method.
      
      * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
      (Fns_selection_owner_p): Remove unused arg `terminal'.
      (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
      919281dd
  17. 09 May, 2015 1 commit
    • Glenn Morris's avatar
      Quieten compilation, eg in --without-x builds. · 5b0af214
      Glenn Morris authored
      * lisp/dired-aux.el (lpr-printer-switch):
      * lisp/frame.el (tool-bar-height):
      * lisp/linum.el (font-info):
      * lisp/window.el (font-info, overflow-newline-into-fringe)
      (tool-bar-height):
      * lisp/emacs-lisp/package-x.el (tar-data-buffer):
      * lisp/gnus/gnus-util.el (iswitchb-mode):
      * lisp/mail/rmailmm.el (libxml-parse-html-region):
      * lisp/net/nsm.el (gnutls-peer-status)
      (gnutls-peer-status-warning-describe):
      * lisp/net/shr.el (libxml-parse-xml-region):
      * lisp/url/url-http.el (gnutls-peer-status): Declare.
      5b0af214
  18. 27 Feb, 2015 1 commit
    • Mark Laws's avatar
      Support daemon mode on MS-Windows (bug#19688) · 805fe507
      Mark Laws authored
       src/emacs.c <w32_daemon_event> [WINDOWSNT]: New global var.
       (main) [WINDOWSNT]: Initialize it to NULL.  Create the event to
       signal clients we are ready for connections.
       (Fdaemon_initialized): Use DAEMON_RUNNING.
       [WINDOWSNT]: MS-Windows specific code to signal clients we are
       ready for connections.
       src/lisp.h (DAEMON_RUNNING): New macro, encapsulates Posix and
       MS-Windows conditions for running in daemon mode.
       src/minibuf.c (read_minibuf): Use DAEMON_RUNNING.
       src/keyboard.c (kbd_buffer_get_event): Use DAEMON_RUNNING.
       src/dispnew.c (init_display) [WINDOWSNT]: Initialize frames/terminal
       even in daemon mode.
      
       nt/inc/ms-w32.h (W32_DAEMON_EVENT): New macro.
      
       lib-src/emacsclient.c (decode_options) [WINDOWSNT]: Don't reject empty
       arguments for --alternate-editor.
       (print_help_and_exit) [WINDOWSNT]: Don't refrain from advertising
       empty arguments for --alternate-editor.
       (start_daemon_and_retry_set_socket) [WINDOWSNT]: MS-Windows
       specific code to start Emacs in daemon mode and wait for it to be
       ready for client connections.
      
       lisp/server.el (server-process-filter): Force GUI frames on
       MS-Windows in daemon mode, even if a TTY frame was requested.
       lisp/frameset.el (frameset-keep-original-display-p): Don't assume
       windows-nt cannot be in daemon mode.
       lisp/frame.el (window-system-for-display): Don't assume windows-nt
       cannot be in daemon mode.
      805fe507
  19. 23 Feb, 2015 1 commit
  20. 11 Feb, 2015 2 commits
    • Martin Rudalics's avatar
      Add manual entry for fullscreen-restore parameter. · 061c7e2b
      Martin Rudalics authored
      * frames.texi (Size Parameters): Describe `fullscreen-restore'
      parameter.
      061c7e2b
    • Martin Rudalics's avatar
      Improve toggling fullscreen state of frames. · 02138cb0
      Martin Rudalics authored
      * frame.el (toggle-frame-maximized, toggle-frame-fullscreen):
      Rename frame parameter `maximized' to `fullscreen-restore'.
      Restore fullwidth/-height after fullboth state.  Update
      doc-strings.
      * w32term.c (w32_read_socket): In SIZE_MAXIMIZED and
      SIZE_RESTORED cases correctly handle `maximized' value for the
      `fullscreen' parameter.  Don't use the 'maximized' parameter any
      more.
      (w32fullscreen_hook): Include menu bar height when calculating
      new text height in FULLSCREEN_BOTH case.
      * xterm.c (do_ewmh_fullscreen): Handle transition from
      FULLSCREEN_BOTH to FULLSCREEN_MAXIMIZED when
      x_frame_normalize_before_maximize is set.
      * frames.texi (Size Parameters): Update description of
      fullscreen frame parameter.
      02138cb0
  21. 08 Feb, 2015 2 commits
    • Eli Zaretskii's avatar
      Don't lose frame's background color when setting foreground (Bug#19802) · a7b1c2f8
      Eli Zaretskii authored
       lisp/frame.el ((set-background-color, set-foreground-color): Pass the
       other color, if defined, to face-set-after-frame-default.
      a7b1c2f8
    • Eli Zaretskii's avatar
      Fix handling of frame color parameters in TTY sessions (Bug#19802) · 20c817d3
      Eli Zaretskii authored
       src/xfaces.c (map_tty_color): Use assoc_no_quit instead of
       assq_no_quit to fetch color definition by its string name.
      
       lisp/frame.el (frame-notice-user-settings): Refresh the value of
       frame parameters after calling tty-handle-reverse-video.  Call
       face-set-after-frame-default with the actual parameters, to avoid
       resetting colors back to unspecified.
       (set-background-color, set-foreground-color): Pass the selected
       color to face-set-after-frame-default.
      20c817d3
  22. 07 Feb, 2015 1 commit
    • Martin Rudalics's avatar
      Try to improve handling of fullwidth/-height frames. · d1655783
      Martin Rudalics authored
      * frame.el (frame-notice-user-settings): Update
      `frame-size-history'.
      (make-frame): Update `frame-size-history'.  Call
      `frame-after-make-frame'.
      * faces.el (face-set-after-frame-default): Remove call to
      frame-can-run-window-configuration-change-hook.
      * frame.c (frame_size_history_add): New function.
      (frame_inhibit_resize): Consider frame_inhibit_implied_resize
      only after frame's after_make_frame slot is true.  Inhibit
      resizing fullwidth-/height frames in one direction only.  Update
      frame_size_history.
      (adjust_frame_size): Call frame_size_history_add.
      (make_frame): Initalize after_make_frame slot.
      (Fmake_terminal_frame): Adjust adjust_frame_size call.
      (Fcan_run_window_configuration_change_hook): Rename to
      Fframe_after_make_frame.  Set after_make_frame slot.  Return
      second argument.
      (x_set_frame_parameters): Postpone handling fullscreen parameter
      until after width and height parameters have been set.  Apply
      width and height changes only if can_x_set_window_size is true.
      Update frame_size_history.
      (Qadjust_frame_size_1, Qadjust_frame_size_2)
      (Qadjust_frame_size_3, QEmacsFrameResize, Qframe_inhibit_resize)
      (Qx_set_fullscreen, Qx_check_fullscreen, Qx_set_window_size_1)
      (Qxg_frame_resized, Qxg_frame_set_char_size_1)
      (Qxg_frame_set_char_size_2, Qxg_frame_set_char_size_3)
      (Qxg_change_toolbar_position, Qx_net_wm_state)
      (Qx_handle_net_wm_state, Qtb_size_cb, Qupdate_frame_tool_bar)
      (Qfree_frame_tool_bar): New symbol for updating
      frame_size_history.
      (Qtip_frame, Qterminal_frame): New symbols.
      (Vframe_adjust_size_history): Rename to frame_size_history.
      * frame.h (struct frame): Rename
      can_run_window_configuration_change_hook slot to
      after_make_frame.
      (frame_size_history_add): Extern.
      * gtkutil.c (xg_frame_resized): Call frame_size_history_add.
      Don't set FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT here.
      (xg_frame_set_char_size): Try to preserve the status of
      fullwidth/-height frames.  Call frame_size_history_add.
      (tb_size_cb, update_frame_tool_bar, free_frame_tool_bar)
      (xg_change_toolbar_position): Call frame_size_history_add.
      * w32fns.c (x_change_tool_bar_height): Handle frame's fullscreen
      status.
      (Fx_create_frame): Process fullscreen parameter after frame has
      been resized.
      (x_create_tip_frame): Pass Qtip_frame to adjust_frame_size.
      (Fx_frame_geometry): Don't pollute pure storage.
      * w32term.c (w32_read_socket): For WM_WINDOWPOSCHANGED,
      WM_ACTIVATE and WM_ACTIVATEAPP set frame's visibility before
      calling w32fullscreen_hook.  For WM_DISPLAYCHANGE call
      w32fullscreen_hook immediately.
      (x_fullscreen_adjust, x_check_fullscreen): Remove.
      (w32fullscreen_hook): Call change_frame_size just as with a
      "normal" frame resize operation.  Call do_pending_window_change.
      (x_set_window_size): Try to handle fullwidth and fullheight more
      accurately.  Don't rely on w32_enable_frame_resize_hack.
      (w32_enable_frame_resize_hack): Remove variable.
      * widget.c (EmacsFrameResize): Remove dead code.  Call
      frame_size_history_add
      * window.c (run_window_configuration_change_hook): Check
      f->after_make_frame instead of
      f->can_run_window_configuration_change_hook.
      * xfns.c (x_change_tool_bar_height): Handle frame's fullscreen status.
      (Fx_create_frame): Process fullscreen parameter after frame has
      been resized.
      (Fx_frame_geometry): Don't pollute pure storage.
      * xterm.c (x_net_wm_state, x_handle_net_wm_state): Call
      frame_size_history_add.
      (do_ewmh_fullscreen): Handle x_frame_normalize_before_maximize.
      (x_check_fullscreen): Count in menubar when calling
      XResizeWindow.  Wait for ConfigureNotify event.  Call
      frame_size_history_add.
      (x_set_window_size_1): Remove PIXELWISE argument.  Try to handle
      changing a fullheight frame's width or a fullwidth frame's
      height.  Call frame_size_history_add.
      (x_set_window_size): Simplify xg_frame_set_char_size and
      x_set_window_size_1 calls.
      (x_frame_normalize_before_maximize): New variable.
      d1655783
  23. 12 Jan, 2015 1 commit
    • Martin Rudalics's avatar
      Adjust frame heights to real height of tool bar. · fb35f1f7
      Martin Rudalics authored
      * frame.el (frame-notice-user-settings): Remove code dealing with
      frame-initial-frame-tool-bar-height.  Turn off `tool-bar-mode'
      only if `window-system-frame-alist' or `default-frame-alist' ask
      for it.
      (make-frame): Update frame-adjust-size-history if needed.
      * dispnew.c (change_frame_size_1): Pass Qchange_frame_size to
      adjust_frame_size.
      * frame.c (frame_default_tool_bar_height): New variable.
      (adjust_frame_size): Possibly add requested adjustment to
      Vframe_adjust_size_history.
      (make_frame): Initialize tool_bar_redisplayed_once slot.
      (Fset_frame_height, Fset_frame_width, Fset_frame_size): Clarify
      doc-string.  Call adjust_frame_size unconditionally (the frame's
      text size may remain unaltered but the pixel size may change).
      (x_figure_window_size): If frame_default_tool_bar_height was
      set, use it instead of calculating the tool bar height from
      DEFAULT_TOOL_BAR_IMAGE_HEIGHT.  Don't set
      Vframe_initial_frame_tool_bar_height.
      (Qchange_frame_size, Qxg_frame_set_char_size)
      (Qset_window_configuration, Qx_create_frame_1)
      (Qx_create_frame_2): New symbols.
      (Vframe_initial_frame_tool_bar_height): Remove.
      (Vframe_adjust_size_history): New history variable for debugging
      frame size adjustments.
      * frame.h (struct frame): New boolean slot
      tool_bar_redisplayed_once.
      (frame_default_tool_bar_height): Extern.
      * gtkutil.c (xg_frame_set_char_size): Pass Qxg_frame_set_char_size
      to adjust_frame_size.
      * nsfns.m (Fx_create_frame): Pass Pass Qx_create_frame_1 and
      Qx_create_frame_2 to adjust_frame_size.
      * w32fns.c (x_change_tool_bar_height): Call adjust_frame_size with
      inhibit 1 when we have not redisplayed the tool bar yet.
      (Fx_create_frame): Pass Pass Qx_create_frame_1 and
      Qx_create_frame_2 to adjust_frame_size.
      * w32menu.c (set_frame_menubar): Simplify adjust_frame_size
      call.
      * window.c (Fset_window_configuration): Pass
      Qset_window_configuration to adjust_frame_size.
      * xdisp.c (redisplay_tool_bar): Assign new height to
      frame_default_tool_bar_height.
      (redisplay_internal): If we haven't redisplayed this frame's
      tool bar, call redisplay_tool_bar early so we can adjust the
      frame size accordingly.
      * xfns.c (x_change_tool_bar_height): Call adjust_frame_size with
      inhibit 1 when we have not redisplayed the tool bar yet.
      (Fx_create_frame): Pass Pass Qx_create_frame_1 and
      Qx_create_frame_2 to adjust_frame_size.
      fb35f1f7
  24. 01 Jan, 2015 2 commits
  25. 23 Oct, 2014 1 commit
    • Stefan Monnier's avatar
      * lisp/select.el: Use lexical-binding. · d361bcfb
      Stefan Monnier authored
      (gui-set-selection): Provide an implementation for non-GUI frames.
      * lisp/term/x-win.el: Use lexical-binding.
      (x-clipboard-yank): Fix up missed renamings.
      * lisp/term/w32-win.el (libgif-version, libjpeg-version): Silence compiler.
      (w32--set-selection): Fix up var names.
      * lisp/term/pc-win.el: Use lexical-binding.
      (w16-selection-exists-p): Silence compiler warning.
      (w16-selection-owner-p): Fix up missed renamings.
      
      * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Remove left-over debug.
      
      * lisp/frame.el (frame-notice-user-settings): Fix excessive quoting.
      
      Fixes: debbugs:18791
      d361bcfb
  26. 21 Oct, 2014 1 commit
    • Stefan Monnier's avatar
      Get rid of backend-dependent selection-handling functions for kill/yank · a046b8dd
      Stefan Monnier authored
      and make it generic instead by relying on the lower-level selection
      management functions.
      
      * select.el (select-enable-clipboard): Rename from
      gui-select-enable-clipboard.
      (select-enable-primary): Move from x-win.el and rename from
      x-select-enable-primary.
      (gui-last-selected-text): Remove.
      (gui--last-selected-text-clipboard, gui--last-selected-text-primary):
      New vars.
      (gui-select-text): Rewrite, based on x-win.el's old x-select-text.
      (gui-select-text-alist, gui-selection-value-alist): Remove.
      (x-select-request-type): Move from x-win.el.
      (gui--selection-value-internal): New function, taken from x-win's
      x-selection-value-internal.
      (gui-selection-value): Rewrite, based on x-win.el's old x-selection-value.
      (gui-set-selection-alist): Rename from gui-own-selection-alist and
      extend it to handle a nil value as a "disown" request.
      (gui-disown-selection-alist): Remove.
      (xselect-convert-to-delete): Adjust accordingly.
      (gui-set-selection): Simplify accordingly as well.  Use dotimes.
      
      * lisp/frame.el (gui-method): Use window-system rather than framep.
      (gui-method-declare): The tty case is now nil rather than t.
      (make-frame): Adjust accordingly.
      
      * lisp/term/x-win.el (x-last-selected-text-primary)
      (x-select-enable-primary): Remove (moved to select.el).
      (x-select-request-type): Move to select.el.
      (x-selection-value-internal, x--selection-value): Remove functions.
      (gui-selection-value, gui-select-text): Remove moethods.
      (gui-set-selection): Merge own and disown methods.
      
      * lisp/startup.el (command-line): Adjust now that `gui-method' expects nil
      for ttys.
      
      * lisp/term/ns-win.el (ns-get-pasteboard, ns-set-pasteboard)
      (ns-selection-value): Remove functions.
      (gui-select-text, gui-selection-value): Don't define method any more.
      (gui-set-selection): Merge the old own and disown methods.
      (gui-selection-exists-p, gui-get-selection): Adjust to new name of
      underlying C primitive.
      
      * lisp/term/pc-win.el (w16-get-selection-value): Add dummy argument and drop
      test of gui-select-enable-clipboard, to make it usable as
      a gui-get-selection method.
      (gui-selection-exists-p): Adjust to new name of C primitive.
      (gui-set-selection): Merge own and disown methods.
      (gui-select-text, gui-selection-value): Delete methods.
      (w16--select-text): Delete function.
      
      * lisp/term/w32-win.el (w32--select-text, w32--get-selection-value):
      Delete function (move functionality into w32--set-selection and
      w32--get-selection).
      (gui-select-text, gui-selection-value): Don't define methods.
      (w32--set-selection, w32--get-selection, w32--selection-owner-p):
      New functions.
      (gui-get-selection, gui-selection-owner-p, gui-selection-exists-p):
      Use them.
      (gui-selection-exists-p): Adjust to new name of C primitive.
      
      * src/nsselect.m (ns_get_local_selection): Signal error rather than `quit'.
      (Fns_own_selection_internal): Tighten scoping.
      (Fns_selection_exists_p): Rename from Fx_selection_exists_p.
      (Fns_get_selection): Rename from Fx_get_selection_internal.
      (Fns_get_selection_internal, Fns_store_selection_internal):
      Remove functions.
      (syms_of_nsselect): Adjust accordingly.
      
      * src/w16select.c (Fw16_selection_exists_p): Rename from
      Fx_selection_exists_p.
      (syms_of_win16select): Adjust accordingly.
      
      * src/w32select.c (Fw32_selection_exists_p): Rename from
      Fx_selection_exists_p.
      (syms_of_w32select): Adjust accordingly.
      a046b8dd
  27. 09 Oct, 2014 2 commits
  28. 08 Oct, 2014 2 commits
    • Glenn Morris's avatar
      * lisp/frame.el: Fix doc typo in previous · 285dc437
      Glenn Morris authored
      285dc437
    • Eli Zaretskii's avatar
      Fix bug #18636 with documentation of multi-monitor displays. · 28ec0a87
      Eli Zaretskii authored
       doc/lispref/frames.texi (Multiple Terminals): Improve the description of X
       display names.  Add index entries.
       (Basic Parameters): Add a cross-reference to where X display names
       are described.
       (Position Parameters): Mention that positional parameters of the
       form (+ POS) can be negative if they are on a non-primary monitor
       of a multi-monitor display.
       (Creating Frames): Mention that on multi-monitor displays the
       frame might be positioned differently than specified by the frame
       parameters alist.
      
       lisp/faces.el (display-grayscale-p): Mention in the doc string that
       the argument can be either a display name or a frame.
       lisp/frame.el (display-pixel-height, display-pixel-width)
       (display-mm-height, display-mm-width, display-backing-store)
       (display-save-under, display-planes, display-color-cells)
       (display-visual-class, display-monitor-attributes-list)
       (display-screens): Mention in the doc string that the argument can
       be either a display name or a frame.  Improve the docs of the
       monitor attributes.
      28ec0a87
  29. 04 Oct, 2014 2 commits
    • Martin Rudalics's avatar
      Add documentation for horizontal scroll bars and fix some minor issues. · 3c6ba8b4
      Martin Rudalics authored
      * buffer.c (scroll_bar_width, scroll_bar_height): Fix
      doc-strings.
      * window.c (Fset_window_scroll_bars): Fix doc-string.
      (Fwindow_scroll_bars): Have it return what the doc-string says.
      
      * window.el (window-full-height-p): Make it behave correctly for
      minibuffer window.
      (window-current-scroll-bars): Fix code.
      (fit-frame-to-buffer): Use window-scroll-bar-height instead of
      window-scroll-bars.
      * frame.el (frame-current-scroll-bars): Fix doc-string.
      * scroll-bar.el (toggle-horizontal-scroll-bar): New command.
      
      * frames.texi (Scroll Bars): Describe use of horizontal scroll
      bars.
      
      * display.texi (Scroll Bars): Add description of horizontal scroll
      bars and associated functions.
      * frames.texi (Layout Parameters): Add horizontal scroll bar
      entries.  Remove paragraph on "combined fringe widths".
      * windows.texi (Window Sizes): Describe affects of horizontal
      scroll bars on window layout and sizes.  Fix description of
      window-full-height-p.
      (Resizing Windows): Mention horizontal scroll bar.
      3c6ba8b4
    • Glenn Morris's avatar
      Doc tweaks re multi-monitor · 62cd8845
      Glenn Morris authored
      * doc/lispref/frames.texi (Multiple Terminals): Copyedits re multiple monitors.
      
      * lisp/frame.el (frame-monitor-attributes, display-monitor-attributes-list):
      Doc fixes.
      62cd8845
  30. 03 Oct, 2014 1 commit
    • Martin Rudalics's avatar
      Mention `frame-resize-pixelwise' to make frames truly fullscreen or maximized. · f63bd04b
      Martin Rudalics authored
      * frame.el (toggle-frame-maximized, toggle-frame-fullscreen):
      In doc-string mention need of setting `frame-resize-pixelwise'.
      
      * frames.texi (Frame Commands):
      * cmdargs.texi (Window Size X): Mention the use of
      `frame-resize-pixelwise' to make frames truly fullscreen or
      maximized.
      
      * frames.texi (Size Parameters, Size and Position): Mention that
      with some window managers you have to set
      `frame-resize-pixelwise' in order make a frame truly fullscreen
      or maximized.
      f63bd04b
  31. 02 Oct, 2014 1 commit
  32. 01 Oct, 2014 1 commit
    • Stefan Monnier's avatar
      Consolidate x-select-text. · a8b36b95
      Stefan Monnier authored
      * lisp/frame.el (gui-method, gui-method-define, gui-method-declare)
      (gui-call): New macros.
      (gui-method--name): New function.
      (frame-creation-function-alist): Use gui-method-declare.
      (make-frame): Use gui-method.
      * lisp/select.el (gui-select-enable-clipboard): Rename from
      x-select-enable-clipboard and move here.
      (x-select-enable-clipboard): Define as obsolete alias.
      (gui-last-selected-text): New var, to replace x-last-selected-text.
      (gui-select-text): New GUI method.
      (gui-select-text): New function.
      (x-select-text): Define as obsolete alias.
      * lisp/term/common-win.el (x-select-enable-clipboard, x-select-text):
      Move to select.el.
      * lisp/simple.el (interprogram-cut-function): Change default to
      x-select-text.
      (interprogram-paste-function): Change default to `ignore'.
      * lisp/w32-common-fns.el (interprogram-cut-function): Don't modify.
      * lisp/term/x-win.el (interprogram-cut-function): Don't modify.
      (gui-select-text): Add method for x.
      * lisp/term/w32-win.el (gui-select-text): Add method for w32.
      * lisp/term/pc-win.el (x-last-selected-text): Remove, use
      gui-last-selected-text instead.
      (msdos-initialize-window-system): Don't set interprogram-cut-function.
      (gui-select-text): Add method for pc.
      * lisp/term/ns-win.el (ns-last-selected-text): Remove, use
      gui-last-selected-text instead.
      (gui-select-text): Add method for ns.
      (x-setup-function-keys): Don't change interprogram-cut-function.
      * lisp/loadup.el ("startup"): Load after "frame".
      * lisp/subr.el (package--builtin-versions, package--description-file):
      Move from startup.el.
      * lisp/startup.el (package--builtin-versions, package--description-file):
      Move to subr.el.
      (handle-args-function-alist, window-system-initialization-alist):
      Use gui-method-declare.
      (command-line): Use gui-method.
      * src/xselect.c (selection-converter-alist): Fix docstring.
      a8b36b95