From 9366f0547e6d5c1b3fe6c5d7c890e70ce232e6e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Compostella?= Date: Sun, 15 Feb 2015 16:11:33 +0100 Subject: [PATCH 01/11] Tramp: Disable paging with PAGER=cat Fixes: debbugs:19870 * net/tramp-sh.el (tramp-remote-process-environment): Disable paging with PAGER=cat. --- lisp/ChangeLog | 5 +++++ lisp/net/tramp-sh.el | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ef145390a24..6373df64e91 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2015-02-15 Jérémy Compostella + + * net/tramp-sh.el (tramp-remote-process-environment): Disable paging + with PAGER=cat. (Bug#19870) + 2015-02-13 Glenn Morris * textmodes/flyspell.el (flyspell-duplicate-distance): diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 8e65686e353..bd7aec98f79 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -457,7 +457,7 @@ as given in your `~/.profile'." ,(format "TERM=%s" tramp-terminal-type) "EMACS=t" ;; Deprecated. ,(format "INSIDE_EMACS='%s,tramp:%s'" emacs-version tramp-version) - "CDPATH=" "HISTORY=" "MAIL=" "MAILCHECK=" "MAILPATH=" "PAGER=\"\"" + "CDPATH=" "HISTORY=" "MAIL=" "MAILCHECK=" "MAILPATH=" "PAGER=cat" "autocorrect=" "correct=") "List of environment variables to be set on the remote host. From 4fa778b62c936d5d3a3cc348043c072d7011f13f Mon Sep 17 00:00:00 2001 From: kwhite Date: Tue, 17 Feb 2015 13:41:02 -0500 Subject: [PATCH 02/11] erc.el: Add old version header for package.el compatibilty --- lisp/erc/ChangeLog | 5 +++++ lisp/erc/erc.el | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog index b8357d1de6b..d37906721a8 100644 --- a/lisp/erc/ChangeLog +++ b/lisp/erc/ChangeLog @@ -1,3 +1,8 @@ +2015-02-17 Kelvin White + + * erc.el: Add old version string back to file header for + package.el compatibility + 2015-02-13 Glenn Morris * erc.el (erc-rename-buffers): Doc fix. Add :version. diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index e2366a1b58f..a84f9f07523 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -12,7 +12,7 @@ ;; Kelvin White (kwhite@gnu.org) ;; Maintainer: emacs-devel@gnu.org ;; Keywords: IRC, chat, client, Internet - +;; Version: 5.3 ;; This file is part of GNU Emacs. From 86fe750260ddcf2e10f445f06a3d07c701f15698 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 18 Feb 2015 09:09:50 -0800 Subject: [PATCH 03/11] # Remove NEWS temporary markup --- etc/NEWS | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index cec45fa8339..0b26d7abb18 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -14,60 +14,43 @@ and NEWS.1-17 for changes in older Emacs versions. You can narrow news to a specific version by calling `view-emacs-news' with a prefix argument or by typing C-u C-h C-n. -Temporary note: -+++ indicates that all necessary documentation updates are complete. - (This means all relevant manuals in doc/ AND lisp doc-strings.) ---- means no change in the manuals is needed. -When you add a new item, use the appropriate mark if you are sure it applies, -otherwise leave it unmarked. - * Changes in Emacs 24.5 ---- +** This is mainly a bug-fix release, but there are some other changes. + ** The default value of `history-length' has increased to 100. -+++ ** The variable `redisplay-dont-pause' is obsolete. * Changes in Specialized Modes and Packages in Emacs 24.5 -+++ -** `call-process-shell-command' and `process-file-shell-command' -don't take "&rest args" any more. +** `call-process-shell-command' and `process-file-shell-command' no longer +take "&rest args". ** ERC -+++ *** New option `erc-rename-buffers'. ---- *** New faces `erc-my-nick-prefix-face' and `erc-nick-prefix-face'. -+++ *** `erc-format-@nick' displays all user modes instead of only op and voice. ---- *** The display of irc commands in the current buffer has been disabled. ---- *** `erc-version' now follows the Emacs version. ** Obsolete packages ---- *** cc-compat.el ---- -*** crisp.el - moved to elpa.gnu.org. +*** crisp.el (moved to elpa.gnu.org) ---- *** tpu-edt.el, ws-mode.el These emulations of old editors are believed to be no longer relevant - contact emacs-devel@gnu.org if you disagree. ---- *** vi.el, vip.el (try M-x viper instead) From 65d8ac7c3729e9416696f77a7add8944e069da92 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 19 Feb 2015 17:40:41 +0200 Subject: [PATCH 04/11] Mention in admin/notes/repo how to mark commits that are not to be merged. --- admin/notes/repo | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/admin/notes/repo b/admin/notes/repo index 46a9e08c698..65bdd2c2c98 100644 --- a/admin/notes/repo +++ b/admin/notes/repo @@ -82,7 +82,9 @@ The exception is, if you know that the change will be difficult to merge to the trunk (eg because the trunk code has changed a lot). In that case, it's helpful if you can apply the change to both trunk and branch yourself (when committing the branch change, indicate -in the commit log that it should not be merged to the trunk; see below). +in the commit log that it should not be merged to the trunk, by +including the phrase "Not to be merged to master", or any other phrase +that matches "merge"). * Installing changes from your personal branches. From 6f2971ab761e62e649892bd3fe5c08983420c5ae Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Thu, 19 Feb 2015 21:28:41 +0200 Subject: [PATCH 05/11] * lisp/comint.el (comint-line-beginning-position): Revert searching for the prompt when comint-use-prompt-regexp is non-nil because it doesn't distinguish input from output. Check the field property `output' for the case when comint-use-prompt-regexp is nil. Fixes: debbugs:19710 --- lisp/ChangeLog | 8 ++++++++ lisp/comint.el | 7 ++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6373df64e91..22e952a91e6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2015-02-19 Juri Linkov + + * comint.el (comint-line-beginning-position): Revert searching for + the prompt when comint-use-prompt-regexp is non-nil because it + doesn't distinguish input from output. Check the field property + `output' for the case when comint-use-prompt-regexp is nil. + (Bug#19710) + 2015-02-15 Jérémy Compostella * net/tramp-sh.el (tramp-remote-process-environment): Disable paging diff --git a/lisp/comint.el b/lisp/comint.el index c81551acd5f..68b8edbb8ca 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -2267,8 +2267,6 @@ a buffer local variable." ;; Use comint-prompt-regexp (save-excursion (beginning-of-line) - (unless (looking-at comint-prompt-regexp) - (re-search-backward comint-prompt-regexp nil t)) (comint-skip-prompt) (point)) ;; Use input fields. Note that, unlike the behavior of @@ -2278,7 +2276,10 @@ a buffer local variable." ;; if there are two fields on a line, then the first one is the ;; prompt, and the second one is an input field, and is front-sticky ;; (as input fields should be). - (constrain-to-field (field-beginning) (line-end-position)))) + (constrain-to-field (if (eq (field-at-pos (point)) 'output) + (line-beginning-position) + (field-beginning)) + (line-end-position)))) (defun comint-bol (&optional arg) "Go to the beginning of line, then skip past the prompt, if any. From 35f047c06603ce2e549e43ba38de0e61083b0311 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 19 Feb 2015 21:42:22 -0800 Subject: [PATCH 06/11] * src/fileio.c (Fmake_temp_name): Doc tweaks. Fixes: debbugs:19858 --- src/ChangeLog | 4 ++++ src/fileio.c | 18 +++++++----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 52be915ecb9..8bffdadf66c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2015-02-20 Glenn Morris + + * fileio.c (Fmake_temp_name): Doc tweaks. (Bug#19858) + 2015-02-14 Eli Zaretskii * menu.c (Fx_popup_menu) [HAVE_X_WINDOWS]: Call diff --git a/src/fileio.c b/src/fileio.c index fb1fe28aca2..c87a87ca7c6 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -828,20 +828,16 @@ make_temp_name (Lisp_Object prefix, bool base64_p) DEFUN ("make-temp-name", Fmake_temp_name, Smake_temp_name, 1, 1, 0, doc: /* Generate temporary file name (string) starting with PREFIX (a string). -The Emacs process number forms part of the result, -so there is no danger of generating a name being used by another process. +The Emacs process number forms part of the result, so there is no +danger of generating a name being used by another Emacs process +\(so long as only a single host can access the containing directory...). -In addition, this function makes an attempt to choose a name -which has no existing file. To make this work, -PREFIX should be an absolute file name. +This function tries to choose a name that has no existing file. +For this to work, PREFIX should be an absolute file name. There is a race condition between calling `make-temp-name' and creating the -file which opens all kinds of security holes. For that reason, you should -probably use `make-temp-file' instead, except in three circumstances: - -* If you are creating the file in the user's home directory. -* If you are creating a directory rather than an ordinary file. -* If you are taking special precautions as `make-temp-file' does. */) +file, which opens all kinds of security holes. For that reason, you should +normally use `make-temp-file' instead. */) (Lisp_Object prefix) { return make_temp_name (prefix, 0); From b0adfc721f505b5d6e581b18739d8aa1c619d1eb Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 21 Feb 2015 12:34:19 -0800 Subject: [PATCH 07/11] Spelling fixes --- lisp/org/ChangeLog | 2 +- nt/cmdproxy.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog index b75f2baa1f3..335818d7023 100644 --- a/lisp/org/ChangeLog +++ b/lisp/org/ChangeLog @@ -13060,7 +13060,7 @@ 2012-01-03 Nicolas Goaziou * org.el (org-fontify-meta-lines-and-blocks-1): - Recognize "name" as a valid keyword that can preceed a block. + Recognize "name" as a valid keyword that can precede a block. 2012-01-03 Eric Schulte diff --git a/nt/cmdproxy.c b/nt/cmdproxy.c index 16956288fef..9598f1d0a56 100644 --- a/nt/cmdproxy.c +++ b/nt/cmdproxy.c @@ -220,7 +220,7 @@ get_next_token (char * buf, const char ** pSrc) { /* Output literal backslashes. Note that we don't treat a backslash as an escape character here, - since it doesn't preceed a quote. */ + since it doesn't precede a quote. */ for ( ; escape_char_run > 0; escape_char_run--) *o++ = escape_char; } From 02609324ce7341c05f4c5c141942c45d730291b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabi=C3=A1n=20Ezequiel=20Gallina?= Date: Sat, 21 Feb 2015 18:43:33 -0300 Subject: [PATCH 08/11] Bump python.el version --- lisp/progmodes/python.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index dea316ec32d..de2d2d1b590 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -4,7 +4,7 @@ ;; Author: Fabián E. Gallina ;; URL: https://github.com/fgallina/python.el -;; Version: 0.24.4 +;; Version: 0.24.5 ;; Maintainer: emacs-devel@gnu.org ;; Created: Jul 2010 ;; Keywords: languages From 18178922a8074627fe4e4e2fd0c9d21839f172c4 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 23 Feb 2015 19:46:44 +0200 Subject: [PATCH 09/11] Avoid erratic behavior of menu-bar tooltips on w32 (Bug#19925) src/w32fns.c (Fw32__menu_bar_in_use): New internal function. lisp/frame.el (blink-cursor-timer-function): Don't increment blink-cursor-blinks-done counter when a menu is active on a w32 frame. --- lisp/ChangeLog | 6 ++++++ lisp/frame.el | 6 +++++- src/ChangeLog | 5 +++++ src/w32fns.c | 10 ++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 22e952a91e6..14a12b53a35 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2015-02-23 Eli Zaretskii + + * frame.el (blink-cursor-timer-function): Don't increment + blink-cursor-blinks-done counter when a menu is active on a w32 + frame. (Bug#19925) + 2015-02-19 Juri Linkov * comint.el (comint-line-beginning-position): Revert searching for diff --git a/lisp/frame.el b/lisp/frame.el index 1a584fa0e2c..e1dfa483c97 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -1798,8 +1798,12 @@ command starts, by installing a pre-command hook." (defun blink-cursor-timer-function () "Timer function of timer `blink-cursor-timer'." (internal-show-cursor nil (not (internal-show-cursor-p))) + ;; Suspend counting blinks when the w32 menu-bar menu is displayed, + ;; since otherwise menu tooltips will behave erratically. + (or (and (fboundp 'w32--menu-bar-in-use) + (w32--menu-bar-in-use)) + (setq blink-cursor-blinks-done (1+ blink-cursor-blinks-done))) ;; Each blink is two calls to this function. - (setq blink-cursor-blinks-done (1+ blink-cursor-blinks-done)) (when (and (> blink-cursor-blinks 0) (<= (* 2 blink-cursor-blinks) blink-cursor-blinks-done)) (blink-cursor-suspend) diff --git a/src/ChangeLog b/src/ChangeLog index 8bffdadf66c..a2ac5389f20 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2015-02-23 Eli Zaretskii + + * w32fns.c (Fw32__menu_bar_in_use): New internal function. + (Bug#19925) + 2015-02-20 Glenn Morris * fileio.c (Fmake_temp_name): Doc tweaks. (Bug#19858) diff --git a/src/w32fns.c b/src/w32fns.c index 5af36b9a0c8..ed110317d17 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -8063,6 +8063,15 @@ w32_sys_ring_bell (struct frame *f) MessageBeep (sound_type); } +DEFUN ("w32--menu-bar-in-use", Fw32__menu_bar_in_use, Sw32__menu_bar_in_use, + 0, 0, 0, + doc: /* Return non-nil when a menu-bar menu is being used. +Internal use only. */) + (void) +{ + return menubar_in_use ? Qt : Qnil; +} + /*********************************************************************** Initialization @@ -8439,6 +8448,7 @@ only be necessary if the default setting causes problems. */); defsubr (&Sw32_window_exists_p); defsubr (&Sw32_frame_rect); defsubr (&Sw32_battery_status); + defsubr (&Sw32__menu_bar_in_use); #ifdef WINDOWSNT defsubr (&Sfile_system_info); From 1b0ebbdb566a8dfa5f45ce121b2c835e9760091f Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 24 Feb 2015 18:02:11 -0500 Subject: [PATCH 10/11] browse-url-firefox: update for firefox 36's removal of -remote Ref: https://bugzilla.mozilla.org/show_bug.cgi?id=1080319 * lisp/net/browse-url.el (browse-url-firefox-startup-arguments): Make obsolete. (browse-url-firefox): Doc fix. Remove -remote. (browse-url-firefox-sentinel): Remove function. * etc/NEWS: Mention this. Fixes: debbugs:19921 --- etc/NEWS | 2 ++ lisp/ChangeLog | 8 +++++ lisp/net/browse-url.el | 80 ++++++++++++++---------------------------- 3 files changed, 37 insertions(+), 53 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 0b26d7abb18..7d9e1f0d83f 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -29,6 +29,8 @@ with a prefix argument or by typing C-u C-h C-n. ** `call-process-shell-command' and `process-file-shell-command' no longer take "&rest args". +** The option `browse-url-firefox-startup-arguments' no longer has an effect. + ** ERC *** New option `erc-rename-buffers'. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 14a12b53a35..a5603941ad1 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2015-02-24 Glenn Morris + + * net/browse-url.el (browse-url-firefox-startup-arguments): + Make obsolete. + (browse-url-firefox): Doc fix. Remove -remote, which no longer + exists in Firefox 36. (Bug#19921) + (browse-url-firefox-sentinel): Remove function. + 2015-02-23 Eli Zaretskii * frame.el (blink-cursor-timer-function): Don't increment diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el index e6ae0d7df06..4819cdc20f6 100644 --- a/lisp/net/browse-url.el +++ b/lisp/net/browse-url.el @@ -337,6 +337,9 @@ Defaults to the value of `browse-url-firefox-arguments' at the time :type '(repeat (string :tag "Argument")) :group 'browse-url) +(make-obsolete-variable 'browse-url-firefox-startup-arguments + "it no longer has any effect." "24.5") + (defcustom browse-url-chromium-program (let ((candidates '("chromium" "chromium-browser"))) (while (and candidates (not (executable-find (car candidates)))) @@ -1102,68 +1105,39 @@ used instead of `browse-url-new-window-flag'." ;;;###autoload (defun browse-url-firefox (url &optional new-window) "Ask the Firefox WWW browser to load URL. -Default to the URL around or before point. The strings in -variable `browse-url-firefox-arguments' are also passed to -Firefox. +Defaults to the URL around or before point. Passes the strings +in the variable `browse-url-firefox-arguments' to Firefox. -When called interactively, if variable -`browse-url-new-window-flag' is non-nil, load the document in a -new Firefox window, otherwise use a random existing one. A -non-nil interactive prefix argument reverses the effect of -`browse-url-new-window-flag'. +Interactively, if the variable `browse-url-new-window-flag' is non-nil, +loads the document in a new Firefox window. A non-nil prefix argument +reverses the effect of `browse-url-new-window-flag'. If `browse-url-firefox-new-window-is-tab' is non-nil, then whenever a document would otherwise be loaded in a new window, it is loaded in a new tab in an existing window instead. -When called non-interactively, optional second argument -NEW-WINDOW is used instead of `browse-url-new-window-flag'. +Non-interactively, this uses the optional second argument NEW-WINDOW +instead of `browse-url-new-window-flag'. -On MS-Windows systems the optional `new-window' parameter is -ignored. Firefox for Windows does not support the \"-remote\" -command line parameter. Therefore, the -`browse-url-new-window-flag' and `browse-url-firefox-new-window-is-tab' -are ignored as well. Firefox on Windows will always open the requested -URL in a new window." +On MS Windows, this ignores `browse-url-new-window-flag' and +`browse-url-firefox-new-window-is-tab', as well as the NEW-WINDOW argument. +It always uses a new window." (interactive (browse-url-interactive-arg "URL: ")) (setq url (browse-url-encode-url url)) - (let* ((process-environment (browse-url-process-environment)) - (use-remote - (not (memq system-type '(windows-nt ms-dos)))) - (process - (apply 'start-process - (concat "firefox " url) nil - browse-url-firefox-program - (append - browse-url-firefox-arguments - (if use-remote - (list "-remote" - (concat - "openURL(" - url - (if (browse-url-maybe-new-window new-window) - (if browse-url-firefox-new-window-is-tab - ",new-tab" - ",new-window")) - ")")) - (list url)))))) - ;; If we use -remote, the process exits with status code 2 if - ;; Firefox is not already running. The sentinel runs firefox - ;; directly if that happens. - (when use-remote - (set-process-sentinel process - `(lambda (process change) - (browse-url-firefox-sentinel process ,url)))))) - -(defun browse-url-firefox-sentinel (process url) - "Handle a change to the process communicating with Firefox." - (or (eq (process-exit-status process) 0) - (let* ((process-environment (browse-url-process-environment))) - ;; Firefox is not running - start it - (message "Starting Firefox...") - (apply 'start-process (concat "firefox " url) nil - browse-url-firefox-program - (append browse-url-firefox-startup-arguments (list url)))))) + (let* ((process-environment (browse-url-process-environment))) + (apply 'start-process + (concat "firefox " url) nil + browse-url-firefox-program + (append + browse-url-firefox-arguments + ;; FIXME someone should check if this limitation + ;; still applies. + (unless (memq system-type '(windows-nt ms-dos)) + (if (browse-url-maybe-new-window new-window) + (if browse-url-firefox-new-window-is-tab + '("-new-tab") + '("-new-window")))) + (list url))))) ;;;###autoload (defun browse-url-chromium (url &optional _new-window) From f1601063f29c99be77d2513320ed6d2494926c1d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 28 Feb 2015 12:33:32 +0200 Subject: [PATCH 11/11] Avoid assertion violations in Rmail due to newline cache src/search.c (find_newline): Avoid assertion violations in CHAR_TO_BYTE when a portion of the buffer was deleted and we look for newlines near the end of the buffer. This happens in Rmail hen JIT font-lock fontifies a newly displayed portion of the buffer. --- src/ChangeLog | 8 ++++++++ src/search.c | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index a2ac5389f20..ca5f85a0157 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2015-02-28 Eli Zaretskii + + * search.c (find_newline): Avoid assertion violations in + CHAR_TO_BYTE when a portion of the buffer was deleted and we look + for newlines near the end of the buffer. This happens in Rmail + hen JIT font-lock fontifies a newly displayed portion of the + buffer. + 2015-02-23 Eli Zaretskii * w32fns.c (Fw32__menu_bar_in_use): New internal function. diff --git a/src/search.c b/src/search.c index eec642ecb20..73641813604 100644 --- a/src/search.c +++ b/src/search.c @@ -731,6 +731,12 @@ find_newline (ptrdiff_t start, ptrdiff_t start_byte, ptrdiff_t end, start, &next_change); if (result) { + /* When the cache revalidation is deferred, + next-change might point beyond ZV, which will + cause assertion violation in CHAR_TO_BYTE below. + Limit next_change to ZV to avoid that. */ + if (next_change > ZV) + next_change = ZV; start = next_change; lim1 = next_change = end; }