------------------------------------------------------------ revno: 116535 committer: Dmitry Gutov branch nick: trunk timestamp: Sun 2014-02-23 10:26:40 +0200 message: * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Handle the inconsistent second element of the list returned by `smie-indent--parent'. (ruby-font-lock-keywords): Disqualify any identifier before `=' as method call. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-02-23 05:53:53 +0000 +++ lisp/ChangeLog 2014-02-23 08:26:40 +0000 @@ -2,6 +2,10 @@ * progmodes/ruby-mode.el (ruby-smie-rules): Don't indent specially after `=>' (bug#16811). + (ruby-smie-rules): Handle the inconsistent second element of the + list returned by `smie-indent--parent'. + (ruby-font-lock-keywords): Disqualify any identifier before `=' as + method call. 2014-02-23 Juanma Barranquero === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2014-02-23 05:53:53 +0000 +++ lisp/progmodes/ruby-mode.el 2014-02-23 08:26:40 +0000 @@ -630,9 +630,11 @@ (save-excursion ;; Traverse up the parents until the parent is "." at ;; indentation, or any other token. - (while (and (progn - (goto-char (1- (cadr (smie-indent--parent)))) - (not (ruby-smie--bosp))) + (while (and (let ((parent (smie-indent--parent))) + (goto-char (cadr parent)) + (save-excursion + (unless (integerp (car parent)) (forward-char -1)) + (not (ruby-smie--bosp)))) (progn (setq smie--parent nil) (smie-rule-parent-p ".")))) @@ -2061,7 +2063,7 @@ "refine" "using") 'symbols)) - (1 (unless (looking-at " *\\(?:[]|,.)}]\\|$\\)") + (1 (unless (looking-at " *\\(?:[]|,.)}=]\\|$\\)") font-lock-builtin-face))) ;; Kernel methods that have no required arguments. (,(concat === modified file 'test/indent/ruby.rb' --- test/indent/ruby.rb 2014-02-23 05:53:53 +0000 +++ test/indent/ruby.rb 2014-02-23 08:26:40 +0000 @@ -357,6 +357,13 @@ .lose( q, p) +a.records().map(&:b).zip( + foo) + +# FIXME: This is not consistent with the example below it, but this +# ofset only happens if the colon is at eol, which wouldn't be often. +# Tokenizing `bar:' as `:bar =>' would be better, but it's hard to +# distinguish from a variable reference inside a ternary operator. foo(bar: tee) ------------------------------------------------------------ revno: 116534 fixes bug: http://debbugs.gnu.org/16811 committer: Dmitry Gutov branch nick: trunk timestamp: Sun 2014-02-23 07:53:53 +0200 message: * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Don't indent specially after `=>'. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-02-23 00:19:11 +0000 +++ lisp/ChangeLog 2014-02-23 05:53:53 +0000 @@ -1,3 +1,8 @@ +2014-02-23 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-smie-rules): Don't indent specially + after `=>' (bug#16811). + 2014-02-23 Juanma Barranquero * elec-pair.el (electric-pair-text-syntax-table) === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2014-02-21 15:39:17 +0000 +++ lisp/progmodes/ruby-mode.el 2014-02-23 05:53:53 +0000 @@ -653,7 +653,6 @@ (if (smie-rule-sibling-p) (and ruby-align-chained-calls 0) ruby-indent-level)) - (`(:after . "=>") ruby-indent-level) (`(:before . ,(or `"else" `"then" `"elsif" `"rescue" `"ensure")) (smie-rule-parent)) (`(:before . "when") === modified file 'test/indent/ruby.rb' --- test/indent/ruby.rb 2014-02-01 14:54:58 +0000 +++ test/indent/ruby.rb 2014-02-23 05:53:53 +0000 @@ -361,4 +361,10 @@ tee) foo(:bar => - tee) + tee) + +{'a' => { + 'b' => 'c', + 'd' => %w(e f) + } +} ------------------------------------------------------------ revno: 116533 committer: Paul Eggert branch nick: trunk timestamp: Sat 2014-02-22 18:46:12 -0800 message: Spelling fixes. diff: === modified file 'lisp/gnus/auth-source.el' --- lisp/gnus/auth-source.el 2014-02-22 01:44:59 +0000 +++ lisp/gnus/auth-source.el 2014-02-23 02:46:12 +0000 @@ -1511,11 +1511,11 @@ auth-source patterns can have values of the form :foo (\"bar\" \"qux\"), which means to match any secret with :foo equal to -\"bar\" otr :foo equal to \"qux\". The secrets backend supports +\"bar\" or :foo equal to \"qux\". The secrets backend supports only string values for patterns, so this routine returns a list of patterns that is equivalent to the single original pattern when interpreted such that if a secret matches any pattern in the -list, it mathces the original pattern." +list, it matches the original pattern." (if (null pattern) '(nil) (let* ((key (pop pattern)) === modified file 'lisp/net/dbus.el' --- lisp/net/dbus.el 2014-02-21 04:32:11 +0000 +++ lisp/net/dbus.el 2014-02-23 02:46:12 +0000 @@ -286,7 +286,7 @@ ;; hurts when reading D-Bus events asynchronously. ;; Work around bug#16775 by busy-waiting with gradual backoff for - ;; dbus calls to complete. A better aproach would involve either + ;; dbus calls to complete. A better approach would involve either ;; adding arbitrary wait condition support to read-event or ;; restructuring dbus as a kind of process object. Poll at most ;; about once per second for completion. ------------------------------------------------------------ revno: 116532 committer: Juanma Barranquero branch nick: trunk timestamp: Sun 2014-02-23 01:19:11 +0100 message: lisp/elec-pair.el: Fix typos. (electric-pair-text-syntax-table, electric-pair-syntax-info) (electric-pair--syntax-ppss, electric-pair--balance-info) (electric-pair-mode): Fix docstring typos. (electric-pair--looking-at-unterminated-string-p): Doc fix. (electric-pair--inside-string-p): Doc fix. Use `let', not `let*'. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-02-22 21:20:49 +0000 +++ lisp/ChangeLog 2014-02-23 00:19:11 +0000 @@ -1,3 +1,11 @@ +2014-02-23 Juanma Barranquero + + * elec-pair.el (electric-pair-text-syntax-table) + (electric-pair-syntax-info, electric-pair--syntax-ppss) + (electric-pair--balance-info, electric-pair-mode): Fix docstring typos. + (electric-pair--looking-at-unterminated-string-p): Doc fix. + (electric-pair--inside-string-p): Doc fix. Use `let', not `let*'. + 2014-02-22 Glenn Morris * imenu.el (imenu--generic-function): Doc fix. === modified file 'lisp/elec-pair.el' --- lisp/elec-pair.el 2014-02-20 10:33:32 +0000 +++ lisp/elec-pair.el 2014-02-23 00:19:11 +0000 @@ -163,7 +163,7 @@ "Syntax table used when pairing inside comments and strings. `electric-pair-mode' considers this syntax table only when point in inside -quotes or comments. If lookup fails here, `electric-pair-text-pairs' will +quotes or comments. If lookup fails here, `electric-pair-text-pairs' will be considered.") (defun electric-pair-backward-delete-char (n &optional killflag untabify) @@ -214,7 +214,7 @@ COMMAND-EVENT's pair. UNCONDITIONAL indicates the variables `electric-pair-pairs' or `electric-pair-text-pairs' were used to lookup syntax. STRING-OR-COMMENT-START indicates that point is -inside a comment of string." +inside a comment or string." (let* ((pre-string-or-comment (or (bobp) (nth 8 (save-excursion (syntax-ppss (1- (point))))))) @@ -252,7 +252,7 @@ (defun electric-pair--syntax-ppss (&optional pos where) "Like `syntax-ppss', but sometimes fallback to `parse-partial-sexp'. -WHERE is list defaulting to '(string comment) and indicates +WHERE is a list defaulting to '(string comment) and indicates when to fallback to `parse-partial-sexp'." (let* ((pos (or pos (point))) (where (or where '(string comment))) @@ -267,43 +267,42 @@ (parse-partial-sexp (point-min) pos) quick-ppss-at-pos)))) -;; Balancing means controlling pairing and skipping of parentheses so -;; that, if possible, the buffer ends up at least as balanced as -;; before, if not more. The algorithm is slightly complex because some -;; situations like "()))" need pairing to occur at the end but not at -;; the beginning. Balancing should also happen independently for -;; different types of parentheses, so that having your {}'s unbalanced -;; doesn't keep `electric-pair-mode' from balancing your ()'s and your -;; []'s. +;; Balancing means controlling pairing and skipping of parentheses +;; so that, if possible, the buffer ends up at least as balanced as +;; before, if not more. The algorithm is slightly complex because +;; some situations like "()))" need pairing to occur at the end but +;; not at the beginning. Balancing should also happen independently +;; for different types of parentheses, so that having your {}'s +;; unbalanced doesn't keep `electric-pair-mode' from balancing your +;; ()'s and your []'s. (defun electric-pair--balance-info (direction string-or-comment) "Examine lists forward or backward according to DIRECTION's sign. STRING-OR-COMMENT is info suitable for running `parse-partial-sexp'. Return a cons of two descriptions (MATCHED-P . PAIR) for the -innermost and outermost lists that enclose point. The outermost +innermost and outermost lists that enclose point. The outermost list enclosing point is either the first top-level or first mismatched list found by listing up. -If the outermost list is matched, don't rely on its PAIR. If -point is not enclosed by any lists, return ((T) . (T))." +If the outermost list is matched, don't rely on its PAIR. +If point is not enclosed by any lists, return ((t) . (t))." (let* (innermost outermost (table (if string-or-comment electric-pair-text-syntax-table (syntax-table))) (at-top-level-or-equivalent-fn - ;; called when `scan-sexps' ran perfectly, when when it - ;; found a parenthesis pointing in the direction of - ;; travel. Also when travel started inside a comment and - ;; exited it + ;; called when `scan-sexps' ran perfectly, when it found + ;; a parenthesis pointing in the direction of travel. + ;; Also when travel started inside a comment and exited it. #'(lambda () (setq outermost (list t)) (unless innermost (setq innermost (list t))))) (ended-prematurely-fn ;; called when `scan-sexps' crashed against a parenthesis - ;; pointing opposite the direction of travel. After + ;; pointing opposite the direction of travel. After ;; traversing that character, the idea is to travel one sexp ;; in the opposite direction looking for a matching ;; delimiter. @@ -366,7 +365,7 @@ (cons innermost outermost))) (defun electric-pair--looking-at-unterminated-string-p (char) - "Say if following string starts with CHAR and is unterminated." + "Return non-nil if following string starts with CHAR and is unterminated." ;; FIXME: ugly/naive (save-excursion (skip-chars-forward (format "^%c" char)) @@ -380,14 +379,14 @@ (scan-error t))))) (defun electric-pair--inside-string-p (char) - "Say if point is inside a string started by CHAR. + "Return non-nil if point is inside a string started by CHAR. A comments text is parsed with `electric-pair-text-syntax-table'. Also consider strings within comments, but not strings within strings." ;; FIXME: could also consider strings within strings by examining ;; delimiters. - (let* ((ppss (electric-pair--syntax-ppss (point) '(comment)))) + (let ((ppss (electric-pair--syntax-ppss (point) '(comment)))) (memq (nth 3 ppss) (list t char)))) (defun electric-pair-inhibit-if-helps-balance (char) @@ -549,7 +548,7 @@ Electric Pair mode is a global minor mode. When enabled, typing an open parenthesis automatically inserts the corresponding -closing parenthesis. \(Likewise for brackets, etc.)." +closing parenthesis. (Likewise for brackets, etc.)." :global t :group 'electricity (if electric-pair-mode (progn ------------------------------------------------------------ revno: 116531 committer: Xue Fuqiao branch nick: trunk timestamp: Sun 2014-02-23 07:14:49 +0800 message: Some remember doc * doc/misc/remember.texi (Quick Start): Add an index. (Function Reference, Quick Start): Add cross-references. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2014-02-21 08:04:15 +0000 +++ doc/misc/ChangeLog 2014-02-22 23:14:49 +0000 @@ -1,3 +1,8 @@ +2014-02-22 Xue Fuqiao + + * remember.texi (Quick Start): Add an index. + (Function Reference, Quick Start): Add cross-references. + 2014-02-21 Glenn Morris * flymake.texi (Starting the syntax check process): Grammar fix. === modified file 'doc/misc/remember.texi' --- doc/misc/remember.texi 2014-02-19 08:34:45 +0000 +++ doc/misc/remember.texi 2014-02-22 23:14:49 +0000 @@ -79,7 +79,7 @@ @node Preface @chapter Preface -This document describes remember-el, which was written by John Wiegley, +This document describes remember.el, which was written by John Wiegley, was once maintained by Sacha Chua, and is now maintained by the Emacs developers. @@ -205,14 +205,16 @@ You can also store remembered data in other backends. @xref{Backends}. -Here is one way to map the remember functions in your init file to -very accessible keystrokes facilities using the mode: +Here is one way to map the remember functions in your init file +(@pxref{Init File, , The Emacs Initialization File, emacs, GNU Emacs +Manual}) to very accessible keystrokes facilities using the mode: @lisp (define-key global-map (kbd " r") 'remember) (define-key global-map (kbd " R") 'remember-region) @end lisp +@cindex annotation By default, remember uses the first annotation returned by @code{remember-annotation-functions}. To include all of the annotations, set @code{remember-run-all-annotation-functions-flag} to a @@ -280,10 +282,11 @@ @end defun @defun remember-mode -This enters the major mode for output from @code{remember}. This -buffer is used to collect data that you want remember. Just hit -@kbd{C-c C-c} when you're done entering, and it will go ahead and file -the data for latter retrieval, and possible indexing. +This enters the major mode (@pxref{Major Modes, , Major Modes, emacs, +GNU Emacs Manual}) for output from @code{remember}. This buffer is +used to collect data that you want remember. Just hit @kbd{C-c C-c} +when you're done entering, and it will go ahead and file the data for +latter retrieval, and possible indexing. @end defun @defun remember-notes &optional switch-to ------------------------------------------------------------ revno: 116530 committer: Glenn Morris branch nick: trunk timestamp: Sat 2014-02-22 13:49:10 -0800 message: Misc small frame/window doc * src/frame.c (frame-alpha-lower-limit, frame-resize-pixelwise): * src/window.c (window-resize-pixelwise): Doc fixes. * etc/NEWS: Related edits. This including unmarking some items marked as ---, where it it not clear to me that no doc updates are needed. diff: === modified file 'etc/NEWS' --- etc/NEWS 2014-02-22 21:20:49 +0000 +++ etc/NEWS 2014-02-22 21:49:10 +0000 @@ -193,26 +193,22 @@ *** New hooks `focus-in-hook', `focus-out-hook'. These are normal hooks run when an Emacs frame gains or loses input focus. ---- -*** Emacs can now change frame sizes pixelwise. -When maximizing a frame or making it fullscreen, remaining extra pixels -are no more given to the minibuffer, the rightmost fringe, or other -unusable space, but are distributed among the text areas of the frame's -windows. The new option `frame-resize-pixelwise', when non-nil, makes -all frame size changes happen pixelwise and sets the corresponding size -hints for the window manager. - ---- -*** Emacs can now change window sizes pixelwise. -Mouse-dragging a modeline or window divider now changes the size of -adjacent windows pixelwise. The new option `window-resize-pixelwise', -when non-nil, automatically makes functions like `balance-windows-area' -or `fit-window-to-buffer' resize windows pixelwise. Most functions for -resizing or accessing sizes of windows now have an additional argument -which allows to apply changes or return values in pixels instead of -lines/columns. - ---- +*** Emacs can now change frame sizes in units of pixels, rather than +text rows or columns. When maximizing a frame or making it fullscreen, +remaining extra pixels are no longer given to the minibuffer, the rightmost +fringe, or other unusable space, but are distributed among the text +areas of the frame's windows. If the new option `frame-resize-pixelwise' +is non-nil, all frame size changes happen pixelwise and set the +corresponding size hints for the window manager. + +*** Emacs can now change window sizes in units of pixels. +Mouse-dragging a mode line or window divider now changes the size of +adjacent windows pixelwise. If the new option `window-resize-pixelwise' +is non-nil, functions like `balance-windows-area' and `fit-window-to-buffer' +resize windows pixelwise. Most functions for changing or accessing +window sizes now have an additional argument that allows changes to apply, +or values to be returned, in pixels instead of lines/columns. + *** Emacs can now draw dividers between adjacent windows. To put dividers between side-by-side/vertically stacked windows customize the frame parameters `right-divider-width' and `bottom-divider-width' to === modified file 'src/ChangeLog' --- src/ChangeLog 2014-02-22 21:08:22 +0000 +++ src/ChangeLog 2014-02-22 21:49:10 +0000 @@ -1,5 +1,8 @@ 2014-02-22 Glenn Morris + * frame.c (frame-alpha-lower-limit, frame-resize-pixelwise): + * window.c (window-resize-pixelwise): Doc fixes. + * process.c (Finternal_default_process_filter) (Finternal_default_process_sentinel): Doc tweaks. === modified file 'src/frame.c' --- src/frame.c 2014-01-11 10:01:01 +0000 +++ src/frame.c 2014-02-22 21:49:10 +0000 @@ -4597,8 +4597,7 @@ DEFVAR_LISP ("frame-alpha-lower-limit", Vframe_alpha_lower_limit, doc: /* The lower limit of the frame opacity (alpha transparency). The value should range from 0 (invisible) to 100 (completely opaque). -You can also use a floating number between 0.0 and 1.0. -The default is 20. */); +You can also use a floating number between 0.0 and 1.0. */); Vframe_alpha_lower_limit = make_number (20); #endif @@ -4736,8 +4735,8 @@ by one pixel. With some window managers you have to set this to non-nil in order to -fully maximize frames. The default of this option is nil. To resize -your initial frame pixelwise, set this option in your init file. */); +fully maximize frames. To resize your initial frame pixelwise, +set this option to a non-nil value in your init file. */); frame_resize_pixelwise = 0; staticpro (&Vframe_list); === modified file 'src/window.c' --- src/window.c 2014-02-21 08:02:05 +0000 +++ src/window.c 2014-02-22 21:49:10 +0000 @@ -7309,11 +7309,10 @@ Vwindow_persistent_parameters = list1 (Fcons (Qclone_of, Qt)); DEFVAR_BOOL ("window-resize-pixelwise", window_resize_pixelwise, - doc: /* Non-nil means resizing windows works pixelwise. -Functions currently affected by this option are `split-window', -`maximize-window', `minimize-window', `fit-window-to-buffer' and -`fit-frame-to-buffer' and all functions symmetrically resizing a -parent window. + doc: /* Non-nil means resize windows pixelwise. +This currently affects the functions: `split-window', `maximize-window', +`minimize-window', `fit-window-to-buffer' and `fit-frame-to-buffer', and +all functions that symmetrically resize a parent window. Note that when a frame's pixel size is not a multiple of the frame's character size, at least one window may get resized ------------------------------------------------------------ revno: 116529 committer: Glenn Morris branch nick: trunk timestamp: Sat 2014-02-22 13:20:49 -0800 message: * lisp/imenu.el (imenu--generic-function): Doc fix. * etc/NEWS: Related markup. diff: === modified file 'etc/NEWS' --- etc/NEWS 2014-02-22 21:13:30 +0000 +++ etc/NEWS 2014-02-22 21:20:49 +0000 @@ -704,6 +704,7 @@ *** New option `hi-lock-auto-select-face'. When non-nil, hi-lock commands will cycle through faces in `hi-lock-face-defaults' without prompting. +--- ** New Imenu option `imenu-generic-skip-comments-and-strings'. ** Info === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-02-22 21:13:30 +0000 +++ lisp/ChangeLog 2014-02-22 21:20:49 +0000 @@ -1,5 +1,7 @@ 2014-02-22 Glenn Morris + * imenu.el (imenu--generic-function): Doc fix. + * register.el (frame-configuration-to-register): Make obsolete. 2014-02-22 Juanma Barranquero === modified file 'lisp/imenu.el' --- lisp/imenu.el 2014-02-10 01:34:22 +0000 +++ lisp/imenu.el 2014-02-22 21:20:49 +0000 @@ -726,8 +726,12 @@ ;; so it needs to be careful never to loop! (defun imenu--generic-function (patterns) "Return an index alist of the current buffer based on PATTERNS. -PATTERNS should be an alist which has the same form as -`imenu-generic-expression'. +PATTERNS should be an alist with the same form as `imenu-generic-expression'. + +If `imenu-generic-skip-comments-and-strings' is non-nil, this ignores +text inside comments and strings. + +If `imenu-case-fold-search' is non-nil, this ignores case. The return value is an alist of the form (INDEX-NAME . INDEX-POSITION) ------------------------------------------------------------ revno: 116528 committer: Glenn Morris branch nick: trunk timestamp: Sat 2014-02-22 13:13:30 -0800 message: * lisp/register.el (frame-configuration-to-register): Make obsolete. * etc/NEWS: Related markup. diff: === modified file 'etc/NEWS' --- etc/NEWS 2014-02-22 21:08:22 +0000 +++ etc/NEWS 2014-02-22 21:13:30 +0000 @@ -382,6 +382,7 @@ Interactive commands that read registers and want to make use of this should use `register-read-with-preview' to read register names. ++++ *** New command `frameset-to-register' bound to `C-x r f', replacing `frame-configuration-to-register'. It offers similar functionality, plus enhancements like the ability to restore deleted frames. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-02-22 02:10:49 +0000 +++ lisp/ChangeLog 2014-02-22 21:13:30 +0000 @@ -1,3 +1,7 @@ +2014-02-22 Glenn Morris + + * register.el (frame-configuration-to-register): Make obsolete. + 2014-02-22 Juanma Barranquero * desktop.el (desktop-save-buffer-p): Do not fail when === modified file 'lisp/register.el' --- lisp/register.el 2014-02-10 01:34:22 +0000 +++ lisp/register.el 2014-02-22 21:13:30 +0000 @@ -222,6 +222,8 @@ (set-advertised-calling-convention 'frame-configuration-to-register '(register) "24.4") +(make-obsolete 'frame-configuration-to-register 'frameset-to-register' "24.4") + (defalias 'register-to-point 'jump-to-register) (defun jump-to-register (register &optional delete) "Move point to location stored in a register. ------------------------------------------------------------ revno: 116527 committer: Glenn Morris branch nick: trunk timestamp: Sat 2014-02-22 13:08:22 -0800 message: Bit more doc for process filter and sentinel changes * src/process.c (Finternal_default_process_filter) (Finternal_default_process_sentinel): Doc tweaks. * doc/lispref/processes.texi: Typo fixes. * etc/NEWS: Related markup. diff: === modified file 'doc/lispref/processes.texi' --- doc/lispref/processes.texi 2014-02-21 20:10:56 +0000 +++ doc/lispref/processes.texi 2014-02-22 21:08:22 +0000 @@ -112,7 +112,7 @@ argument that specifies where the standard output from the program will go. It should be a buffer or a buffer name; if it is a buffer name, that will create the buffer if it does not already exist. It can also -be @code{nil}, which says to discard the output unless a custom filter function +be @code{nil}, which says to discard the output, unless a custom filter function handles it. (@xref{Filter Functions}, and @ref{Read and Print}.) Normally, you should avoid having multiple processes send output to the same buffer because their output would be intermixed randomly. @@ -1189,7 +1189,7 @@ By default, process output is inserted in the associated buffer. (You can change this by defining a custom filter function, -@pxref{Filter Functions}). The position to insert the output is +@pxref{Filter Functions}.) The position to insert the output is determined by the @code{process-mark}, which is then updated to point to the end of the text just inserted. Usually, but not always, the @code{process-mark} is at the end of the buffer. @@ -1453,7 +1453,6 @@ @c set-process-filter-multibyte and process-filter-multibyte-p, @cindex filter multibyte flag, of process @cindex process filter multibyte flag -@c FIXME there is always a filter function now When Emacs calls a process filter function, it provides the process output as a multibyte string or as a unibyte string according to the process's filter coding system. Emacs === modified file 'etc/NEWS' --- etc/NEWS 2014-02-22 17:57:57 +0000 +++ etc/NEWS 2014-02-22 21:08:22 +0000 @@ -1093,6 +1093,7 @@ It used to disable the minor mode, major mode, and text-property keymaps, whereas now it simply has higher precedence. ++++ ** Default process filters and sentinels are not nil any more. Instead they default to a function that does what the nil value used to do. === modified file 'src/ChangeLog' --- src/ChangeLog 2014-02-21 08:04:15 +0000 +++ src/ChangeLog 2014-02-22 21:08:22 +0000 @@ -1,3 +1,8 @@ +2014-02-22 Glenn Morris + + * process.c (Finternal_default_process_filter) + (Finternal_default_process_sentinel): Doc tweaks. + 2014-02-21 Glenn Morris * process.c (Fprocess_buffer, Faccept_process_output) === modified file 'src/process.c' --- src/process.c 2014-02-21 08:04:15 +0000 +++ src/process.c 2014-02-22 21:08:22 +0000 @@ -5188,7 +5188,8 @@ DEFUN ("internal-default-process-filter", Finternal_default_process_filter, Sinternal_default_process_filter, 2, 2, 0, doc: /* Function used as default process filter. -This inserts the process's output into its buffer. */) +This inserts the process's output into its buffer, if there is one. +Otherwise it discards the output. */) (Lisp_Object proc, Lisp_Object text) { struct Lisp_Process *p; @@ -6413,7 +6414,7 @@ DEFUN ("internal-default-process-sentinel", Finternal_default_process_sentinel, Sinternal_default_process_sentinel, 2, 2, 0, doc: /* Function used as default sentinel for processes. -This inserts a status message into the process's buffer. */) +This inserts a status message into the process's buffer, if there is one. */) (Lisp_Object proc, Lisp_Object msg) { Lisp_Object buffer, symbol; ------------------------------------------------------------ revno: 116526 committer: martin rudalics branch nick: trunk timestamp: Sat 2014-02-22 18:57:57 +0100 message: Document some frame and window changes in NEWS. diff: === modified file 'etc/NEWS' --- etc/NEWS 2014-02-21 20:24:02 +0000 +++ etc/NEWS 2014-02-22 17:57:57 +0000 @@ -194,15 +194,67 @@ These are normal hooks run when an Emacs frame gains or loses input focus. --- -*** Emacs can now draw dividers between adjacent windows. -To put dividers between side-by-side/vertically stacked windows -customize the frame parameter `right-divider-width'/`bottom-divider-width' -to some positive integer. You can drag dividers with the mouse -(they show a corresponding cursor when the mouse hovers over them). -You can change the appearance of dividers by customizing the faces -`window-divider', `window-divider-first-pixel', and -`window-divider-last-pixel'. The last two are useful to provide a 3D -effect, or to better distinguish dividers from surrounding display objects. +*** Emacs can now change frame sizes pixelwise. +When maximizing a frame or making it fullscreen, remaining extra pixels +are no more given to the minibuffer, the rightmost fringe, or other +unusable space, but are distributed among the text areas of the frame's +windows. The new option `frame-resize-pixelwise', when non-nil, makes +all frame size changes happen pixelwise and sets the corresponding size +hints for the window manager. + +--- +*** Emacs can now change window sizes pixelwise. +Mouse-dragging a modeline or window divider now changes the size of +adjacent windows pixelwise. The new option `window-resize-pixelwise', +when non-nil, automatically makes functions like `balance-windows-area' +or `fit-window-to-buffer' resize windows pixelwise. Most functions for +resizing or accessing sizes of windows now have an additional argument +which allows to apply changes or return values in pixels instead of +lines/columns. + +--- +*** Emacs can now draw dividers between adjacent windows. To put +dividers between side-by-side/vertically stacked windows customize the +frame parameters `right-divider-width' and `bottom-divider-width' to +some positive integer. You can drag dividers with the mouse (they show +a corresponding cursor when the mouse hovers over them). You can change +the appearance of dividers by customizing the faces `window-divider', +`window-divider-first-pixel', and `window-divider-last-pixel'. The last +two are useful to provide a 3D effect, or to better distinguish dividers +from surrounding display objects. + +--- +*** New functions are provided to return the pixel sizes of window +components, namely `window-scroll-bar-width', `window-mode-line-height' +`window-header-line-height', `window-right-divider-width' and +`window-bottom-divider-width'. + +--- +*** The new function `window-text-pixel-size' returns the size of the +text of a window's buffer in pixels. This allows functions like +`fit-frame-to-buffer' and `fit-window-to-buffer' to accurately fit a +window to its buffer as it will be displayed. + +--- +*** `fit-window-to-buffer' can now resize windows horizontally. +This behavior is controlled by the new option +`fit-window-to-buffer-horizontally'. + +--- +*** `fit-frame-to-buffer' can now fit frames in both directions. +This behavior is controlled by the option `fit-frame-to-buffer' which +tells in which direction(s) the frame shall be fit. The new options +`fit-frame-to-buffer-margins' and `fit-frame-to-buffer-sizes' allow to +control the size of the frame and its position on screen. + +--- +*** Temp Buffer Resize Mode can now adjust height and width of windows +and frames. `temp-buffer-resize-mode' is now able to adjust the height +and the width of a window displaying a temporary buffer. The new option +`temp-buffer-max-width' allows to control the width of temporary buffer +windows. Moreover, if the new option `fit-frame-to-buffer' is non-nil +and the buffer appears in the root window of a frame, Temp Buffer Resize +Mode will try to adjust width and/or height of the frame. --- *** `split-window' is now a non-interactive function, not a command. @@ -210,12 +262,30 @@ and as such superfluous. After being reimplemented in Lisp, its interactive form was mistakenly retained. +--- +*** The functions `window-size' and `window-total-size' now have an +optional argument to return a rounded size value. + +--- +*** `window-state-put' now allows to put a window state into internal +windows too. + +++ *** New option `scroll-bar-adjust-thumb-portion'. Available only on X, this option allows to control over-scrolling using the scroll bar (i.e. dragging the thumb down even when the end of the buffer is visible). +--- +*** New basic action function `display-buffer-in-previous-window' has +`display-buffer' display a buffer in a window previously showing that +buffer. + +--- +*** New basic action function `display-buffer-at-bottom' has +`display-buffer' choose or make a window at the bottom of the selected +frame. + ** Lisp evaluation changes +++ *** `eval-defun' on an already defined defcustom calls the :set function, ------------------------------------------------------------ revno: 116525 committer: Juanma Barranquero branch nick: trunk timestamp: Sat 2014-02-22 04:46:18 +0100 message: doc/lispref/functions.texi (Declare Form): Fix typo in previous change. diff: === modified file 'doc/lispref/functions.texi' --- doc/lispref/functions.texi 2014-02-22 03:39:10 +0000 +++ doc/lispref/functions.texi 2014-02-22 03:46:18 +0000 @@ -1583,9 +1583,9 @@ @item (compiler-macro @var{expander}) This can only be used for functions, and tells the compiler to use @var{expander} as an optimization function. When encountering a call to the -function, of the form @code{(@var{function} @var{args}@dots)}, the macro +function, of the form @code{(@var{function} @var{args}@dots{})}, the macro expander will call @var{expander} with that form as well as with -@var{args}@dots, and @var{expander} can either return a new expression to use +@var{args}@dots{}, and @var{expander} can either return a new expression to use instead of the function call, or it can return just the form unchanged, to indicate that the function call should be left alone. @var{expander} can be a symbol, or it can be a form @code{(lambda (@var{arg}) @var{body})} in