]> git.eshelyaron.com Git - emacs.git/commitdiff
Let display-warning work during bootstrap
authorNoam Postavsky <npostavs@gmail.com>
Sat, 26 May 2018 01:37:17 +0000 (21:37 -0400)
committerNoam Postavsky <npostavs@gmail.com>
Tue, 12 Jun 2018 11:40:33 +0000 (07:40 -0400)
* lisp/emacs-lisp/warnings.el (display-warning): Only call
`special-mode' and `newline' if they are `fbound'.

lisp/emacs-lisp/warnings.el

index 665733181cbc1129903a50cfd59d5321401ef097..c4d97ceab036c706d8644eacb09b6860616e0f47 100644 (file)
@@ -241,11 +241,15 @@ See also `warning-series', `warning-prefix-function' and
               (old (get-buffer buffer-name))
               (buffer (or old (get-buffer-create buffer-name)))
               (level-info (assq level warning-levels))
+               ;; `newline' may be unbound during bootstrap.
+               (newline (if (fboundp 'newline) #'newline
+                          (lambda () (insert "\n"))))
               start end)
          (with-current-buffer buffer
            ;; If we created the buffer, disable undo.
            (unless old
-             (special-mode)
+             (when (fboundp 'special-mode) ; Undefined during bootstrap.
+                (special-mode))
              (setq buffer-read-only t)
              (setq buffer-undo-list t))
            (goto-char (point-max))
@@ -256,7 +260,7 @@ See also `warning-series', `warning-prefix-function' and
                        (funcall warning-series)))))
            (let ((inhibit-read-only t))
              (unless (bolp)
-               (newline))
+               (funcall newline))
              (setq start (point))
              (if warning-prefix-function
                  (setq level-info (funcall warning-prefix-function
@@ -264,7 +268,7 @@ See also `warning-series', `warning-prefix-function' and
              (insert (format (nth 1 level-info)
                              (format warning-type-format typename))
                      message)
-             (newline)
+              (funcall newline)
              (when (and warning-fill-prefix (not (string-match "\n" message)))
                (let ((fill-prefix warning-fill-prefix)
                      (fill-column 78))