commit a9bb9d8fc22417d1fafd8001d89a91c33c8b39ec (HEAD, refs/remotes/origin/master) Author: Paul Eggert Date: Sun Aug 9 23:23:14 2015 -0700 Fix DPI calculation when Xft/DPI is default * src/xsettings.c (parse_settings): Don't use Xft/DPI default value of -1, which evaluates to 2**32 - 1 (Bug#21152). Remove unnecessary cast while we're in the neighborhood. diff --git a/src/xsettings.c b/src/xsettings.c index 028487b..f6a8bfd 100644 --- a/src/xsettings.c +++ b/src/xsettings.c @@ -537,10 +537,10 @@ parse_settings (unsigned char *prop, else settings->seen &= ~SEEN_RGBA; } - else if (strcmp (name, "Xft/DPI") == 0) + else if (strcmp (name, "Xft/DPI") == 0 && ival != (CARD32) -1) { settings->seen |= SEEN_DPI; - settings->dpi = (double)ival/1024.0; + settings->dpi = ival / 1024.0; } else if (strcmp (name, "Xft/lcdfilter") == 0) { commit d39f33cf37b8c352e3ca6839eb2b8e01cb8103a8 Author: Dmitry Gutov Date: Mon Aug 10 04:30:33 2015 +0300 ; Fix xref--show-location, after regression in ee50e62 diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el index 4189977..68f6cff 100644 --- a/lisp/progmodes/xref.el +++ b/lisp/progmodes/xref.el @@ -430,16 +430,17 @@ Used for temporary buffers.") (when (and restore (not (eq (car restore) 'same))) (push (cons buf win) xref--display-history)))) -(defun xref--display-position (pos other-window xref-buf) +(defun xref--display-position (pos other-window buf) ;; Show the location, but don't hijack focus. - (with-selected-window (display-buffer (current-buffer) other-window) - (xref--goto-char pos) - (run-hooks 'xref-after-jump-hook) - (let ((buf (current-buffer)) - (win (selected-window))) - (with-current-buffer xref-buf - (setq-local other-window-scroll-buffer buf) - (xref--save-to-history buf win))))) + (let ((xref-buf (current-buffer))) + (with-selected-window (display-buffer buf other-window) + (xref--goto-char pos) + (run-hooks 'xref-after-jump-hook) + (let ((buf (current-buffer)) + (win (selected-window))) + (with-current-buffer xref-buf + (setq-local other-window-scroll-buffer buf) + (xref--save-to-history buf win)))))) (defun xref--show-location (location) (condition-case err @@ -450,8 +451,8 @@ Used for temporary buffers.") (unless (memq buf bl) ;; Newly created. (add-hook 'buffer-list-update-hook #'xref--mark-selected nil t) - (push buf xref--temporary-buffers))) - (xref--display-position (point) t (current-buffer))) + (push buf xref--temporary-buffers)) + (xref--display-position marker t buf))) (user-error (message (error-message-string err))))) (defun xref-show-location-at-point () commit 6f9b233448448adaf894b1586d4508c3d8573aba Author: Dmitry Gutov Date: Mon Aug 10 04:04:57 2015 +0300 Add project-vc-search-path and project-vc-ignores * lisp/progmodes/project.el (project-vc): New group. (project-vc-search-path, project-vc-ignores): New variables. (project--value-in-dir): Utility function. (project-search-path, project-ignores): Use them. * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./' at bos. Don't add extra `/'. Don't prepend with `*' if replaced. diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 16578f1..186840a 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -97,6 +97,21 @@ an element of `project-search-path'." vc-directory-exclusion-list) grep-find-ignored-files)) +(defgroup project-vc nil + "Project implementation using the VC package." + :group 'tools) + +(defcustom project-vc-search-path nil + "List ot directories to include in `project-search-path'. +The file names can be absolute, or relative to the project root." + :type '(repeat file) + :safe 'listp) + +(defcustom project-vc-ignores nil + "List ot patterns to include in `project-ignores'." + :type '(repeat string) + :safe 'listp) + (defun project-try-vc (dir) (let* ((backend (ignore-errors (vc-responsible-backend dir))) (root (and backend (ignore-errors @@ -106,10 +121,18 @@ an element of `project-search-path'." (cl-defmethod project-roots ((project (head vc))) (list (cdr project))) +(cl-defmethod project-search-path ((project (head vc))) + (append + (let ((root (cdr project))) + (mapcar + (lambda (dir) (expand-file-name dir root)) + (project--value-in-dir 'project-vc-search-path root))) + (cl-call-next-method))) + (cl-defmethod project-ignores ((project (head vc)) dir) - (nconc - (let* ((root (cdr project)) + (let* ((root (cdr project)) backend) + (append (when (file-equal-p dir root) (setq backend (vc-responsible-backend root)) (mapcar @@ -117,8 +140,9 @@ an element of `project-search-path'." (if (string-match "\\`/" entry) (replace-match "./" t t entry) entry)) - (vc-call-backend backend 'ignore-completion-table root)))) - (cl-call-next-method))) + (vc-call-backend backend 'ignore-completion-table root))) + (project--value-in-dir 'project-vc-ignores root) + (cl-call-next-method)))) (defun project-ask-user (dir) (cons 'user (read-directory-name "Project root: " dir nil t))) @@ -142,5 +166,11 @@ an element of `project-search-path'." (setq ref (cdr ref)))) (cl-delete-if-not #'file-exists-p dirs))) +(defun project--value-in-dir (var dir) + (with-temp-buffer + (setq default-directory dir) + (hack-dir-local-variables-non-file-buffer) + (symbol-value var))) + (provide 'project) ;;; project.el ends here diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el index c37a4aa..4189977 100644 --- a/lisp/progmodes/xref.el +++ b/lisp/progmodes/xref.el @@ -934,12 +934,12 @@ IGNORES is a list of glob patterns." " -path " (mapconcat (lambda (ignore) - (when (string-match "\\(\\.\\)/" ignore) - (setq ignore (replace-match dir t t ignore 1))) (when (string-match-p "/\\'" ignore) (setq ignore (concat ignore "*"))) - (unless (string-prefix-p "*" ignore) - (setq ignore (concat "*/" ignore))) + (if (string-match "\\`\\./" ignore) + (setq ignore (replace-match dir t t ignore)) + (unless (string-prefix-p "*" ignore) + (setq ignore (concat "*/" ignore)))) (shell-quote-argument ignore)) ignores " -o -path ") commit 6a45e72052498e082f7f67345daaff5596cbd812 Author: Paul Eggert Date: Sun Aug 9 16:21:05 2015 -0700 Fix some minor quoting issues with grave accent * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]: Remove redundant quotes. * src/doc.c (uLSQM, uRSQM): New macros. * src/doc.c (Fsubstitute_command_keys): * src/syntax.c (Finternal_describe_syntax_value): Follow the user preference for quotes rather than hardcoding the ‘grave’ style. * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT) (re_match_2_internal) [DEBUG]: In debugging output, quote C strings with "...", not `...'. diff --git a/src/dispnew.c b/src/dispnew.c index 7833fe3..18afe50 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -177,7 +177,7 @@ add_window_display_history (struct window *w, const char *msg, bool paused_p) ++history_idx; snprintf (buf, sizeof redisplay_history[0].trace, - "%"pMu": window %p (`%s')%s\n%s", + "%"pMu": window %p (%s)%s\n%s", history_tick++, ptr, ((BUFFERP (w->contents) diff --git a/src/doc.c b/src/doc.c index 36619e1..a079cd2 100644 --- a/src/doc.c +++ b/src/doc.c @@ -695,6 +695,8 @@ enum }; static unsigned char const LSQM[] = { uLSQM0, uLSQM1, uLSQM2 }; static unsigned char const RSQM[] = { uRSQM0, uRSQM1, uRSQM2 }; +#define uLSQM "\xE2\x80\x98" +#define uRSQM "\xE2\x80\x99" DEFUN ("substitute-command-keys", Fsubstitute_command_keys, Ssubstitute_command_keys, 1, 1, 0, @@ -921,11 +923,14 @@ Otherwise, return a new string. */) if (NILP (tem)) { name = Fsymbol_name (name); - insert_string ("\nUses keymap `"); + insert1 (Fsubstitute_command_keys + (build_string ("\nUses keymap "uLSQM))); insert_from_string (name, 0, 0, SCHARS (name), SBYTES (name), 1); - insert_string ("', which is not currently defined.\n"); + insert1 (Fsubstitute_command_keys + (build_string + (uRSQM", which is not currently defined.\n"))); if (start[-1] == '<') keymap = Qnil; } else if (start[-1] == '<') diff --git a/src/regex.c b/src/regex.c index 38c5e35..dcf2864 100644 --- a/src/regex.c +++ b/src/regex.c @@ -1544,9 +1544,9 @@ do { \ DEBUG_PRINT (" Push frame index: %zd\n", fail_stack.frame); \ PUSH_FAILURE_INT (fail_stack.frame); \ \ - DEBUG_PRINT (" Push string %p: `", string_place); \ + DEBUG_PRINT (" Push string %p: \"", string_place); \ DEBUG_PRINT_DOUBLE_STRING (string_place, string1, size1, string2, size2);\ - DEBUG_PRINT ("'\n"); \ + DEBUG_PRINT ("\"\n"); \ PUSH_FAILURE_POINTER (string_place); \ \ DEBUG_PRINT (" Push pattern %p: ", pattern); \ @@ -1598,9 +1598,9 @@ do { \ on_failure_keep_string_jump opcode, and we want to throw away the \ saved NULL, thus retaining our current position in the string. */ \ str = POP_FAILURE_POINTER (); \ - DEBUG_PRINT (" Popping string %p: `", str); \ + DEBUG_PRINT (" Popping string %p: \"", str); \ DEBUG_PRINT_DOUBLE_STRING (str, string1, size1, string2, size2); \ - DEBUG_PRINT ("'\n"); \ + DEBUG_PRINT ("\"\n"); \ \ fail_stack.frame = POP_FAILURE_INT (); \ DEBUG_PRINT (" Popping frame index: %zd\n", fail_stack.frame); \ @@ -5127,9 +5127,9 @@ re_match_2_internal (struct re_pattern_buffer *bufp, const_re_char *string1, DEBUG_PRINT ("The compiled pattern is: "); DEBUG_PRINT_COMPILED_PATTERN (bufp, p, pend); - DEBUG_PRINT ("The string to match is: `"); + DEBUG_PRINT ("The string to match is: \""); DEBUG_PRINT_DOUBLE_STRING (d, string1, size1, string2, size2); - DEBUG_PRINT ("'\n"); + DEBUG_PRINT ("\"\n"); /* This loops over pattern commands. It exits by returning from the function if the match is complete, or it drops through if the match @@ -5435,7 +5435,7 @@ re_match_2_internal (struct re_pattern_buffer *bufp, const_re_char *string1, && buf_ch == '\000')) goto fail; - DEBUG_PRINT (" Matched `%d'.\n", *d); + DEBUG_PRINT (" Matched \"%d\".\n", *d); d += buf_charlen; } break; diff --git a/src/syntax.c b/src/syntax.c index 0d8b08c..d45936b 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1333,7 +1333,9 @@ DEFUN ("internal-describe-syntax-value", Finternal_describe_syntax_value, insert_string (" (nestable)"); if (prefix) - insert_string (",\n\t is a prefix character for `backward-prefix-chars'"); + insert1 (Fsubstitute_command_keys + (build_string + (",\n\t is a prefix character for `backward-prefix-chars'"))); return syntax; } commit e8b9b8c063df241707143623f4a0e2d37cb2d18b Author: Paul Eggert Date: Sun Aug 9 16:12:11 2015 -0700 ChangeLog.2 ignores remote-tracking merges * build-aux/gitlog-to-emacslog: Ignore commit logs matching "Merge remote-tracking branch '.*'" too. See Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html diff --git a/build-aux/gitlog-to-emacslog b/build-aux/gitlog-to-emacslog index 4fec4de..51ef2a7 100755 --- a/build-aux/gitlog-to-emacslog +++ b/build-aux/gitlog-to-emacslog @@ -77,7 +77,7 @@ test -d .git || { # Maybe we should skip all "Merge branch 'master'" messages. # See eg the cairo-related ones. ./build-aux/gitlog-to-changelog \ - --ignore-matching="^; |^Merge branch 'master' of git\.(savannah|sv)\.gnu\.org:/srv/git/emacs$" \ + --ignore-matching="^; |^Merge branch 'master' of git\.(savannah|sv)\.gnu\.org:/srv/git/emacs$|^Merge remote-tracking branch '.*'$" \ --ignore-line='^; ' --format='%B' \ "$gen_origin..$new_origin" >"ChangeLog.tmp" || exit commit 3b112f6389edd1b55ed32cd4836a1d2cdafb524f Author: Nicolas Richard Date: Thu Aug 6 10:54:50 2015 +0200 Use kpsewhich in ffap-latex-mode, if available * lisp/ffap.el (ffap-latex-guess-rules): New variable. (ffap-latex-mode): Use kpsewhich if available. diff --git a/lisp/ffap.el b/lisp/ffap.el index d95dad1..975f726 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@ -90,7 +90,6 @@ ;;; Todo list: -;; * use kpsewhich ;; * let "/dir/file#key" jump to key (tag or regexp) in /dir/file ;; * find file of symbol if TAGS is loaded (like above) ;; * break long menus into multiple panes (like imenu?) @@ -894,6 +893,24 @@ URL, or nil. If nil, search the alist for further matches.") "Path where `ffap-tex-mode' looks for TeX files. If t, `ffap-tex-init' will initialize this when needed.") +(defvar ffap-latex-guess-rules '(("" . ".sty") + ("" . ".cls") + ("" . ".ltx") + ("" . ".tex") + ("" . "") ;; in some rare cases the + ;; extension is already in + ;; the buffer. + ("beamertheme" . ".sty") + ("beamercolortheme". ".sty") + ("beamerfonttheme". ".sty") + ("beamerinnertheme". ".sty") + ("beameroutertheme". ".sty") + ("" . ".ldf")) + "List of rules for guessing a filename. +Each rule is a cons (PREFIX . SUFFIX) used for guessing a +filename from the word at point by prepending PREFIX and +appending SUFFIX.") + (defun ffap-tex-init () ;; Compute ffap-tex-path if it is now t. (and (eq t ffap-tex-path) @@ -917,9 +934,56 @@ If t, `ffap-tex-init' will initialize this when needed.") (ffap-locate-file name '(".tex" "") ffap-tex-path)) (defun ffap-latex-mode (name) - (ffap-tex-init) - ;; only rare need for "" - (ffap-locate-file name '(".cls" ".sty" ".tex" "") ffap-tex-path)) + "`ffap' function suitable for latex buffers. +This uses the program kpsewhich if available. In this case, the +variable `ffap-latex-guess-rules' is used for building a filename +out of NAME." + (cond ((file-exists-p name) + name) + ((not (executable-find "kpsewhich")) + (ffap-tex-init) + (ffap-locate-file name '(".cls" ".sty" ".tex" "") ffap-tex-path)) + (t + (let ((curbuf (current-buffer)) + (guess-rules ffap-latex-guess-rules) + (preferred-suffix-rules '(("input" . ".tex") + ("include" . ".tex") + ("usepackage" . ".sty") + ("RequirePackageWithOptions" . ".sty") + ("RequirePackage" . ".sty") + ("documentclass" . ".cls") + ("documentstyle" . ".cls") + ("LoadClass" . ".cls") + ("LoadClassWithOptions" . ".cls") + ("bibliography" . ".bib") + ("addbibresource" . "")))) + ;; We now add preferred suffix in front of suffixes. + (when + ;; The condition is essentially: + ;; (assoc (TeX-current-macro) + ;; (mapcar 'car preferred-suffix-rules)) + ;; but (TeX-current-macro) can take time, so we just + ;; check if one of the `car' in preferred-suffix-rules + ;; is found before point on the current line. It + ;; should cover most cases. + (save-excursion + (re-search-backward (regexp-opt + (mapcar 'car preferred-suffix-rules)) + (point-at-bol) + t)) + (push (cons "" (cdr (assoc (match-string 0) ; i.e. "(TeX-current-macro)" + preferred-suffix-rules))) + guess-rules)) + (setq kpsewhich-args (mapcar (lambda (rule) + (concat (car rule) name (cdr rule))) + guess-rules)) + (with-temp-buffer + (let ((process-environment (buffer-local-value + 'process-environment curbuf)) + (exec-path (buffer-local-value 'exec-path curbuf))) + (apply #'call-process "kpsewhich" nil t nil kpsewhich-args)) + (when (< (point-min) (point-max)) + (buffer-substring (goto-char (point-min)) (point-at-eol)))))))) (defun ffap-tex (name) (ffap-tex-init) commit 7f1baf2bfa0369c68d41cc178c482d26068e43a4 Author: Nicolas Richard Date: Thu Aug 6 13:05:11 2015 +0200 ffap: disallow braces in filenames for tex modes * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow braces in tex-related modes. diff --git a/lisp/ffap.el b/lisp/ffap.el index 8f1ecd4..d95dad1 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@ -1013,6 +1013,9 @@ If a given RFC isn't in these then `ffap-rfc-path' is offered." (machine "-[:alnum:]." "" ".") ;; Mathematica paths: allow backquotes (math-mode ",-:$+<>@-Z_[:lower:]~`" "<" "@>;.,!?`:") + ;; (La)TeX: don't allow braces + (latex-mode "--:\\\\$+<>@-Z_[:alpha:]~*?" "<@" "@>;.,!:") + (tex-mode "--:\\\\$+<>@-Z_[:alpha:]~*?" "<@" "@>;.,!:") ) "Alist of (MODE CHARS BEG END), where MODE is a symbol, possibly a major-mode name, or one of the symbols commit 3e9759a3d5a254f3074e391f147e52afb1d9734f Author: Nicolas Richard Date: Wed Aug 5 19:04:44 2015 +0200 Remove useless backslashes from ffap-string-at-point-mode-alist * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and misleading backslashes from default value. diff --git a/lisp/ffap.el b/lisp/ffap.el index d481f90..8f1ecd4 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@ -1004,7 +1004,7 @@ If a given RFC isn't in these then `ffap-rfc-path' is offered." ;; Slightly controversial decisions: ;; * strip trailing "@" and ":" ;; * no commas (good for latex) - (file "--:\\\\$\\{\\}+<>@-Z_[:alpha:]~*?" "<@" "@>;.,!:") + (file "--:\\\\${}+<>@-Z_[:alpha:]~*?" "<@" "@>;.,!:") ;; An url, or maybe a email/news message-id: (url "--:=&?$+@-Z_[:alpha:]~#,%;*()!'" "^[0-9a-zA-Z]" ":;.,!?") ;; Find a string that does *not* contain a colon: commit 833f9821f534730423a7757ce3d302314af29d63 Author: Nicolas Richard Date: Wed Aug 5 18:57:20 2015 +0200 Augment docstring of ffap-string-at-point-mode-alist * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG and END are handled. diff --git a/lisp/ffap.el b/lisp/ffap.el index 825a449..d481f90 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@ -1020,7 +1020,9 @@ possibly a major-mode name, or one of the symbols Function `ffap-string-at-point' uses the data fields as follows: 1. find a maximal string of CHARS around point, 2. strip BEG chars before point from the beginning, -3. strip END chars after point from the end.") +3. strip END chars after point from the end. +The arguments CHARS, BEG and END are handled as described in +`skip-chars-forward'.") (defvar ffap-string-at-point nil ;; Added at suggestion of RHOGEE (for ff-paths), 7/24/95. commit 5091586f5704280e04dc3d12354965d24693f0d5 Author: Paul Eggert Date: Sun Aug 9 07:48:00 2015 -0700 Remove no-op calls to substitute-command-keys * lisp/org/org-src.el (org-edit-src-code) (org-edit-fixed-width-region): * lisp/simple.el (completion-setup-function): Remove calls to substitute-command-keys that always just return their argument. diff --git a/lisp/org/org-src.el b/lisp/org/org-src.el index 5c2ceaf..12d7fa1 100644 --- a/lisp/org/org-src.el +++ b/lisp/org/org-src.el @@ -270,8 +270,7 @@ the display of windows containing the Org buffer and the code buffer." (setq beg (move-marker beg (nth 0 info)) end (move-marker end (nth 1 info)) msg (if allow-write-back-p - (substitute-command-keys - "Edit, then exit with C-c ' (C-c and single quote) -- C-c C-k to abort") + "Edit, then exit with C-c ' (C-c and single quote) -- C-c C-k to abort" "Exit with C-c ' (C-c and single quote) -- C-c C-k to abort") code (or code (buffer-substring-no-properties beg end)) lang (or (cdr (assoc (nth 2 info) org-src-lang-modes)) @@ -468,8 +467,7 @@ the fragment in the Org-mode buffer." (let ((line (org-current-line)) (col (current-column)) (case-fold-search t) - (msg (substitute-command-keys - "Edit, then exit with C-c ' (C-c and single quote) -- C-c C-k to abort")) + (msg "Edit, then exit with C-c ' (C-c and single quote) -- C-c C-k to abort") (org-mode-p (derived-mode-p 'org-mode)) (beg (make-marker)) (end (make-marker)) diff --git a/lisp/simple.el b/lisp/simple.el index 00c25db..2636777 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -7686,8 +7686,7 @@ Called from `temp-buffer-show-hook'." (when completion-show-help (goto-char (point-min)) (if (display-mouse-p) - (insert (substitute-command-keys - "Click on a completion to select it.\n"))) + (insert "Click on a completion to select it.\n")) (insert (substitute-command-keys "In this buffer, type \\[choose-completion] to \ select the completion near point.\n\n")))))) commit cec82457f27476dd6f2882649f1b0e7ad342338f Author: Daiki Ueno Date: Sun Aug 9 14:30:57 2015 +0200 Utilize `quit-window' in epa.el * epa.el (epa-exit-buffer-function): Set to `quit-window'. Fixes: debbugs:21210 diff --git a/lisp/epa.el b/lisp/epa.el index a02f1e9..47452af 100644 --- a/lisp/epa.el +++ b/lisp/epa.el @@ -249,7 +249,7 @@ You should bind this variable with `let', but do not set it globally.") (define-key keymap "q" 'delete-window) keymap)) -(defvar epa-exit-buffer-function #'bury-buffer) +(defvar epa-exit-buffer-function #'quit-window) (define-widget 'epa-key 'push-button "Button for representing a epg-key object." commit a6bcd27f1774881fc72f1b34632236e708461b4c Author: Glenn Morris Date: Sun Aug 9 06:25:42 2015 -0400 ; Auto-commit of ChangeLog files. diff --git a/ChangeLog.2 b/ChangeLog.2 index 281edc5..fd4ac82 100644 --- a/ChangeLog.2 +++ b/ChangeLog.2 @@ -1,3 +1,207 @@ +2015-08-09 Ivan Kanis + + fix link to source code in help window + * lisp/help-fns.el (find-lisp-object-file-name): remove code that + will never work due to Glenn Morris change a6d63d9 on Apr 20 2013 + 'No longer include timestamp in header of .elc files'. Add code + that will return .el source file in load-path. + +2015-08-09 Artur Malabarba + + * isearch.el (isearch-search-fun-default): (Bug#21164) + Respect `isearch-lax-whitespace' when searching through + `isearch-word'. + +2015-08-08 Stefan Monnier + + * test/automated/ert-tests.el (ert-test-deftest): Add FIXME. + + * org.el: Fix up some lexical scoping warnings, and use dolist + * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map) + (org-set-regexps-and-options, org-assign-fast-keys) + (org-contextualize-keys, org-contextualize-validate-key) + (org-notes-order-reversed-p, org-local-logging, org-map-entries) + (org-find-olp, org-find-exact-heading-in-directory) + (org-cycle-agenda-files, org-release-buffers, org-fill-template) + (org-agenda-prepare-buffers, org-occur-in-agenda-files) + (org-replace-escapes): Use dolist. + (org-mode): Optimize away XEmacs-only code. + (org-refile-get-targets): Remove unused var `f'. + (org-fast-todo-selection): Remove unused var `e'. + (org-make-tags-matcher): Use dolist. Remove unused var `term'. + (org-fast-tag-selection): Use dolist. Remove unused var `e'. + (org-format-latex): Use dolist. Remove unused var `e'. + (org-toggle-heading): Access vars lexically rather than dynamically. + (org-backward-sentence, org-forward-sentence, org-meta-return) + (org-kill-line): Mark arg as unused. + (org-submit-bug-report): Silence compiler warning. + (org-occur-in-agenda-files): Don't use add-to-list on local vars. + (org-get-cursor-date): Remove unused var `tm'. + (org-comment-or-uncomment-region): Use standard name `_'. + (reftex-docstruct-symbol, reftex-cite-format): Declare to + silence byte-compiler. + (org-reftex-citation): Add `org--' prefix to dynamically scoped + `rds' var. + +2015-08-08 Nicolas Petton + + Merge remote-tracking branch 'origin/fix/subsequence-error-with-negative-sequences' + +2015-08-08 Paul Eggert + + Electric quote if coding is undecided or no conv + * lisp/electric.el (electric--insertable-p): Also say that a + string is insertable if the buffer file coding system is undecided + or uses no conversion, as curved quotes will work in either case. + + * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration. + +2015-08-08 Eli Zaretskii + + Fix overlay string display regressions introduced in Emacs 24.5 + * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this + buffer position, if we move the iterator to a new position as + result of jumping over text covered by a "replacing" display + property. + * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests. + + Support recovery from C stack overflow on MS-Windows + * src/w32fns.c (w32_reset_stack_overflow_guard) + (stack_overflow_handler): New functions for handling C stack + overflow exceptions. + (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions + specially, and zero out except_addr if we do. + (globals_of_w32fns): Initialize dwMainThreadId in non-interactive + mode. + * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to + the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for + the MinGW build, but the code guarded by that is for Posix hosts. + * src/keyboard.c (command_loop) [WINDOWSNT]: Call + w32_reset_stack_overflow_guard. + * nt/inc/ms-w32.h (sigjmp_buf): New typedef. + (sigsetjmp): New macro. + (w32_reset_stack_overflow_guard): Declare the prototype. + * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW. + +2015-08-07 Phillip Lord + + Improve error signalling for seq-subseq. + The existing behaviour for seq-subseq is to error when indexes are too + large, but to silently ignore numbers which are too negative for lists. + String and vector handling errors in both cases. This has been + regularlised. + Error signalling behaviour has been explicitly added to the docstring of + seq-subseq, and also to cl-subseq which largely defers to + seq-subseq (and is therefore also impacted by this change). + Tests have been added for these exceptional cases, as well as one non + exceptional base case. + +2015-08-07 Jürgen Hötzel + + Improve error checking in tramp-adb.el + * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p): + Improve error checking. "ls -l" on Android in Enforcing mode can + print "lstat './FILENAME failed: Permission denied". + +2015-08-07 Stefan Monnier + + * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on + non-struct vectors. + +2015-08-07 Stephen Leake + + lisp/window.el: fix typo, more `display-buffer-use-some-frame' + * lisp/window.el: fix typo that broke build + (display-buffer--action-function-custom-type): add + `display-buffer-use-some-frame' + (display-buffer): add `display-buffer-use-some-frame' to doc string + + Add support for 'inhibit-same-window in 'display-buffer-use-some-frame' + * lisp/window.el (display-buffer-use-some-frame): Add support for + 'inhibit-same-window in alist. + * doc/windows.texi (display-buffer-use-some-frame): Doc support for + 'inhibit-same-window in alist. + +2015-08-07 Eli Zaretskii + + Avoid infinite loop in display of invisible text in strings + * src/xdisp.c (handle_invisible_prop): If the next change of + invisibility spec does not mean the beginning of a visible text, + update the string position from which to start the search for the + next invisibility change. This avoids an infinite loop when we + have more than one invisibility spec that are made inactive by + buffer-invisibility-spec. Simplify code. (Bug#21200) + * test/redisplay-testsuite.el (test-redisplay-4): Add a test case + for the situation that caused bug #21200. + +2015-08-06 Artur Malabarba + + * lisp/emacs-lisp/package.el: Simplify describe-package-1 + (package-help-section-name-face): New face. + (package--print-help-section): New function. + (describe-package-1): Refactor section printing. + (package-make-button): Use face instead of font-lock-face, which + doesn't work on buttons. + + * lisp/emacs-lisp/package.el: Define custom faces + (package-name-face, package-description-face) + (package-status-built-in-face, package-status-external-face) + (package-status-available-face, package-status-new-face) + (package-status-held-face, package-status-disabled-face) + (package-status-installed-face, package-status-dependency-face) + (package-status-unsigned-face, package-status-incompat-face) + (package-status-avail-obso-face): New faces. + (package-menu--print-info-simple): Use them. + +2015-08-05 Paul Eggert + + Fix some confusion with ‘format’ + * lisp/allout-widgets.el (allout-widgets-before-change-handler) + (allout-graphics-modification-handler): + Protect arbitrary string in a format context with "%s" format. + * lisp/avoid.el: + * lisp/cedet/semantic/bovine/scm.el: Fix comment. + * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical): + * lisp/erc/erc-button.el (erc-button-beats-to-time): + * lisp/gnus/message.el (message-send-form-letter): + * lisp/org/ob-core.el (org-babel-check-evaluate) + (org-babel-confirm-evaluate): + * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran): + * lisp/org/ox-latex.el (org-latex-compile): + * lisp/org/ox-man.el (org-man-compile): + * lisp/org/ox-odt.el (org-odt-template): + * lisp/org/ox-texinfo.el (org-texinfo-compile): + * lisp/progmodes/prolog.el (prolog-help-info) + (prolog-view-predspec): + * lisp/progmodes/ruby-mode.el (ruby-parse-partial): + * lisp/progmodes/verilog-mode.el (verilog-showscopes): + * lisp/textmodes/rst.el (rst-replace-lines): + Change (message (format ...)) to (message ...), and likewise + for ‘error’. This lessens the probability of confusion when the + output of ‘format’ contains ‘%’. + +2015-08-05 Artur Malabarba + + * lisp/replace.el (replace-character-fold): Default to nil + + * lisp/character-fold.el: Fix lax whitespace + (character-fold-table): Don't make space match other whitespace chars. + (character-fold-to-regexp): Simplify lax behaviour. + +2015-08-05 Dmitry Gutov + + Preserve window point in xref-find-definitions-other-window + Fix the problem reported by Ingo Logmar in + http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html + * lisp/progmodes/xref.el (xref--goto-char): Extract from + xref--goto-location. + (xref--pop-to-location): Use it. Replace xref--goto-location with + a direct xref-location-marker call. + (xref--show-location): Likewise. + (xref--display-position): Use xref--goto-char. + + * lisp/progmodes/project.el: Add a paragraph to the front matter. + 2015-08-04 David Kastrup Do not overwrite preexisting contents of unread-command-events @@ -8703,7 +8907,7 @@ This file records repository revisions from commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to -commit a57f8f3022d9ab8b31bbfee291a3d7340bd37c21 (inclusive). +commit 9596accf506e66153d9a24828d530543edd8f4b8 (inclusive). See ChangeLog.1 for earlier changes. ;; Local Variables: commit 9596accf506e66153d9a24828d530543edd8f4b8 Author: Ivan Kanis Date: Sun Aug 9 10:27:38 2015 +0100 fix link to source code in help window * lisp/help-fns.el (find-lisp-object-file-name): remove code that will never work due to Glenn Morris change a6d63d9 on Apr 20 2013 'No longer include timestamp in header of .elc files'. Add code that will return .el source file in load-path. diff --git a/lisp/help-fns.el b/lisp/help-fns.el index 1c7a68a..0836c7f 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -275,19 +275,7 @@ suitable file is found, return nil." lib-name) file-name)) ;; The next three forms are from `find-source-lisp-file'. - (elc-file (locate-file - (concat file-name - (if (string-match "\\.el\\'" file-name) - "c" - ".elc")) - load-path nil 'readable)) - (str (when elc-file - (with-temp-buffer - (insert-file-contents-literally elc-file nil 0 256) - (buffer-string)))) - (src-file (and str - (string-match ";;; from file \\(.*\\.el\\)" str) - (match-string 1 str)))) + (src-file (locate-library file-name t nil 'readable))) (and src-file (file-readable-p src-file) src-file)))))) (defun help-fns--key-bindings (function) commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c Author: Artur Malabarba Date: Sun Aug 9 09:56:33 2015 +0100 * isearch.el (isearch-search-fun-default): (Bug#21164) Respect `isearch-lax-whitespace' when searching through `isearch-word'. diff --git a/lisp/isearch.el b/lisp/isearch.el index 8d4bf24..2d2f0ee 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -2607,11 +2607,12 @@ Can be changed via `isearch-search-fun-function' for special needs." ;; Use lax versions to not fail at the end of the word while ;; the user adds and removes characters in the search string ;; (or when using nonincremental word isearch) - (let ((lax (not (or isearch-nonincremental - (null (car isearch-cmds)) - (eq (length isearch-string) - (length (isearch--state-string - (car isearch-cmds)))))))) + (let ((lax (or isearch-lax-whitespace + (not (or isearch-nonincremental + (null (car isearch-cmds)) + (eq (length isearch-string) + (length (isearch--state-string + (car isearch-cmds))))))))) (funcall (if isearch-forward #'re-search-forward #'re-search-backward) (if (functionp isearch-word)