commit c608f4901af65e9451fba1ca8f03f6d43bfc1ecc (HEAD, refs/remotes/origin/master) Author: Tino Calancha Date: Fri Jul 22 16:45:51 2016 +0900 Update define-ibuffer-op doc string * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX instead of refer the reader to the source code. Document arg BODY. diff --git a/lisp/ibuf-macs.el b/lisp/ibuf-macs.el index 2f4d50d..2411f05 100644 --- a/lisp/ibuf-macs.el +++ b/lisp/ibuf-macs.el @@ -198,8 +198,12 @@ operation is complete, in the form: ACTIVE-OPSTRING is a string which will be displayed to the user in a confirmation message, in the form: \"Really ACTIVE-OPSTRING x buffers?\" -COMPLEX means this function is special; see the source code of this -macro for exactly what it does. +COMPLEX means this function is special; if COMPLEX is nil BODY +evaluates once for each marked buffer, MBUF, with MBUF current +and saving the point. If COMPLEX is non-nil, BODY evaluates +without requiring MBUF current. +BODY define the operation; they are forms to evaluate per each +marked buffer. \(fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING COMPLEX) &rest BODY)" (declare (indent 2) (doc-string 3)) commit b13b728cc2dfaf2563fecc1fea502f422913ca07 Author: Tino Calancha Date: Fri Jul 22 14:47:43 2016 +0900 Fix shell-command[-on-region] doc strings * lisp/simple.el (shell-command, shell-command-on-region): Drop the sentence saying that the command may delete the buffer '*Shell Command Output*': the command never delete such buffer (Bug#23936). diff --git a/lisp/simple.el b/lisp/simple.el index 51c9100..e91b6e0 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -3288,9 +3288,6 @@ If there is output and an error, and you did not specify \"insert it in the current buffer\", a message about the error goes at the end of the output. -If there is no output, or if output is inserted in the current buffer, -then `*Shell Command Output*' is deleted. - If the optional third argument ERROR-BUFFER is non-nil, it is a buffer or buffer name to which to direct the command's standard error output. If it is nil, error output is mingled with regular output. @@ -3535,9 +3532,7 @@ Otherwise it is displayed in the buffer `*Shell Command Output*'. The output is available in that buffer in both cases. If there is output and an error, a message about the error -appears at the end of the output. If there is no output, or if -output is inserted in the current buffer, the buffer `*Shell -Command Output*' is deleted. +appears at the end of the output. Optional fourth arg OUTPUT-BUFFER specifies where to put the command's output. If the value is a buffer or buffer name, commit b35ec0ab648268d5427561637c3e86eb885ce0d3 Author: Mark Oteiza Date: Thu Jul 21 17:15:26 2016 -0400 ;Revert ";Partially revert 2649105a" This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e. diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 701d409..710899f 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el @@ -1259,7 +1259,8 @@ Entering SliTeX mode runs the hook `text-mode-hook', then the hook (font-lock-unfontify-region-function . tex-font-lock-unfontify-region))) (setq-local prettify-symbols-alist tex--prettify-symbols-alist) - (setq-local prettify-symbols-compose-predicate #'tex--prettify-symbols-compose-p) + (add-function :override (local 'prettify-symbols-compose-predicate) + #'tex--prettify-symbols-compose-p) (setq-local syntax-propertize-function (syntax-propertize-rules latex-syntax-propertize-rules)) ;; TABs in verbatim environments don't do what you think. commit b7651649c2b1321a0c510116c1ac2442599d9a2e Author: Mark Oteiza Date: Thu Jul 21 16:36:50 2016 -0400 ;Partially revert 2649105a * lisp/textmodes/tex-mode.el (tex-common-initialization): Use setq-local to modify prettify-symbols-compose-predicate. diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 710899f..701d409 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el @@ -1259,8 +1259,7 @@ Entering SliTeX mode runs the hook `text-mode-hook', then the hook (font-lock-unfontify-region-function . tex-font-lock-unfontify-region))) (setq-local prettify-symbols-alist tex--prettify-symbols-alist) - (add-function :override (local 'prettify-symbols-compose-predicate) - #'tex--prettify-symbols-compose-p) + (setq-local prettify-symbols-compose-predicate #'tex--prettify-symbols-compose-p) (setq-local syntax-propertize-function (syntax-propertize-rules latex-syntax-propertize-rules)) ;; TABs in verbatim environments don't do what you think. commit 29f645d5262b1dee9118c6eb29c4ed462396444f Author: Stefan Monnier Date: Thu Jul 21 11:12:59 2016 -0400 * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE (struct byte_stack): Re-add `bottom'. (exec_byte_code): Initialize it. diff --git a/src/bytecode.c b/src/bytecode.c index 8b700b0..05bc9fc 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -288,6 +288,12 @@ struct byte_stack and is relocated when that string is relocated. */ const unsigned char *pc; + /* bottom of stack. The bottom points to an area of memory + allocated with alloca in Fbyte_code. */ +#ifdef BYTE_CODE_SAFE + Lisp_Object *bottom; +#endif + /* The string containing the byte-code, and its current address. Storing this here protects it from GC. */ Lisp_Object byte_string; @@ -460,6 +466,9 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth, if (MAX_ALLOCA / word_size <= XFASTINT (maxdepth)) memory_full (SIZE_MAX); top = alloca ((XFASTINT (maxdepth) + 1) * sizeof *top); +#ifdef BYTE_CODE_SAFE + stack.bottom = top + 1; +#endif stack.next = byte_stack_list; byte_stack_list = &stack; commit cf23d8e9d3d3b4165a9d94759895ee1c022ab0ef Author: Tino Calancha Date: Thu Jul 21 22:33:25 2016 +0900 Ibuffer: Use default output buffer for shell commands * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer '*Shell Command Output*', as command 'shell-command-file'. diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 3e4e0dc..96b42b9 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el @@ -350,8 +350,7 @@ the mode if ARG is omitted or nil." :opstring "Shell command executed on" :modifier-p nil) (shell-command-on-region - (point-min) (point-max) command - (get-buffer-create "* ibuffer-shell-output*"))) + (point-min) (point-max) command)) ;;;###autoload (autoload 'ibuffer-do-shell-command-pipe-replace "ibuf-ext") (define-ibuffer-op shell-command-pipe-replace (command) commit 1d119be4d35f2f02cd949a203e24ce5320559ff5 Author: Tino Calancha Date: Thu Jul 21 21:51:24 2016 +0900 Fix failing test * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in): Enable Font Lock mode in order to initialize 'char-property-alias-alist' (Bug#23954). diff --git a/test/lisp/erc/erc-track-tests.el b/test/lisp/erc/erc-track-tests.el index 24dfcfb..7cf3ef7 100644 --- a/test/lisp/erc/erc-track-tests.el +++ b/test/lisp/erc/erc-track-tests.el @@ -24,6 +24,7 @@ (require 'ert) (require 'erc-track) +(require 'font-core) (ert-deftest erc-track--shorten-aggressive-nil () "Test non-aggressive erc track buffer name shortening." @@ -107,9 +108,12 @@ (ert-deftest erc-track--erc-faces-in () "`erc-faces-in' should pick up both 'face and 'font-lock-face properties." (let ((str0 "is bold") - (str1 "is bold") - ;;(char-property-alias-alist '((face font-lock-face))) - ) + (str1 "is bold")) + ;; Turn on Font Lock mode: this initialize `char-property-alias-alist' + ;; to '((face font-lock-face)). Note that `font-lock-mode' don't + ;; turn on the mode if the test is run on batch mode or if the + ;; buffer name starts with ?\s (Bug#23954). + (unless font-lock-mode (font-lock-default-function 1)) (put-text-property 3 (length str0) 'font-lock-face '(bold erc-current-nick-face) str0) (put-text-property 3 (length str1) 'face commit a066fb1ceee373c982214c28206108c5fba01bf7 Author: Paul Eggert Date: Thu Jul 21 11:27:55 2016 +0200 Fix use-after-close in connect_network_socket * src/process.c (connect_network_socket): Don’t use external_sock_fd after closing it. Problem found by Coverity Scan. diff --git a/src/process.c b/src/process.c index bdbdefa..bc2ac45 100644 --- a/src/process.c +++ b/src/process.c @@ -3185,6 +3185,8 @@ connect_network_socket (Lisp_Object proc, Lisp_Object addrinfos, xerrno = errno; emacs_close (s); s = -1; + if (socket_to_use < 0) + break; continue; } } @@ -3312,6 +3314,8 @@ connect_network_socket (Lisp_Object proc, Lisp_Object addrinfos, specpdl_ptr = specpdl + count1; emacs_close (s); s = -1; + if (socket_to_use < 0) + break; #ifdef WINDOWSNT if (xerrno == EINTR)