diff options
Diffstat (limited to 'lisp/info.el')
-rw-r--r-- | lisp/info.el | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/lisp/info.el b/lisp/info.el index d2d315daa0a..2882262aadf 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -1,6 +1,6 @@ ;; info.el --- Info package for Emacs -*- lexical-binding:t -*- -;; Copyright (C) 1985-1986, 1992-2018 Free Software Foundation, Inc. +;; Copyright (C) 1985-1986, 1992-2019 Free Software Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org ;; Keywords: help @@ -642,14 +642,14 @@ Do the right thing if the file has been compressed or zipped." (insert-file-contents-literally fullname visit) (let ((inhibit-read-only t) (coding-system-for-write 'no-conversion) - (inhibit-null-byte-detection t) ; Index nodes include null bytes + (inhibit-nul-byte-detection t) ; Index nodes include null bytes (default-directory (or (file-name-directory fullname) default-directory))) (or (consp decoder) (setq decoder (list decoder))) (apply #'call-process-region (point-min) (point-max) (car decoder) t t nil (cdr decoder)))) - (let ((inhibit-null-byte-detection t)) ; Index nodes include null bytes + (let ((inhibit-nul-byte-detection t)) ; Index nodes include null bytes (insert-file-contents fullname visit))) ;; Clear the caches of modified Info files. @@ -1377,7 +1377,7 @@ is non-nil)." ;; Index nodes include null bytes. DIR ;; files should not have indices, but who ;; knows... - (let ((inhibit-null-byte-detection t)) + (let ((inhibit-nul-byte-detection t)) (insert-file-contents file) (setq Info-dir-file-name file) (push (current-buffer) buffers) @@ -1531,7 +1531,7 @@ is non-nil)." (save-restriction (narrow-to-region start (point)) (goto-char (point-min)) - (while (re-search-forward "^* \\([^:\n]+:\\(:\\|[^.\n]+\\).\\)" nil 'move) + (while (re-search-forward "^\\* \\([^:\n]+:[^.\n]+.\\)" nil 'move) ;; Fold case straight away; `member-ignore-case' here wasteful. (let ((x (downcase (match-string 1)))) (if (member x seen) @@ -1602,7 +1602,7 @@ is non-nil)." "Unescape double quotes and backslashes in VALUE." (let ((start 0) (unquote value)) - (while (string-match "[^\\\"]*\\(\\\\\\)[\\\\\"]" unquote start) + (while (string-match "[^\\\"]*\\(\\\\\\)[\\\"]" unquote start) (setq unquote (replace-match "" t t unquote 1)) (setq start (- (match-end 0) 1))) unquote)) @@ -1619,7 +1619,7 @@ escaped (\\\",\\\\)." (let ((start 0) (parameter-alist)) (while (string-match - "\\s *\\([^=]+\\)=\\(?:\\([^\\s \"]+\\)\\|\\(?:\"\\(\\(?:[^\\\"]\\|\\\\[\\\\\"]\\)*\\)\"\\)\\)" + "\\s *\\([^=]+\\)=\\(?:\\([^\\s \"]+\\)\\|\\(?:\"\\(\\(?:[^\\\"]\\|\\\\[\\\"]\\)*\\)\"\\)\\)" parameter-string start) (setq start (match-end 0)) (push (cons (match-string 1 parameter-string) @@ -4268,8 +4268,9 @@ With a zero prefix arg, put the name inside a function call to `info'." ;; We deliberately fontify only ‘..’ quoting, and not `..', because ;; the former can be done much more reliably, i.e. without risking ;; false positives. +;; FIXME: It doesn't handle nested quotes. (defvar Info-mode-font-lock-keywords - '(("‘\\([^’]*\\)’" (1 'Info-quoted)))) + '(("‘\\([‘’]\\|[^‘’]*\\)’" (1 'Info-quoted)))) ;; Autoload cookie needed by desktop.el ;;;###autoload @@ -4768,7 +4769,7 @@ first line or header line, and for breadcrumb links.") ;; This is a serious problem for trying to handle multiple ;; frame types at once. We want this text to be invisible ;; on frames that can display the font above. - (when (memq (framep (selected-frame)) '(x pc w32 ns)) + (when (display-multi-font-p) (add-text-properties (1- (match-beginning 2)) (match-end 2) '(invisible t front-sticky nil rear-nonsticky t)))))) @@ -5204,7 +5205,7 @@ The INDENT level is ignored." TEXT is the text of the button we clicked on, a + or - item. TOKEN is data related to this node (NAME . FILE). INDENT is the current indentation depth." - (cond ((string-match "+" text) ;we have to expand this file + (cond ((string-match "\\+" text) ;we have to expand this file (speedbar-change-expand-button-char ?-) (if (speedbar-with-writable (save-excursion |