Lars Ingebrigtsen writes: After pulling dc01b992e2 * Make the eww header work again even if the title is nil and building, I still find eww-update-header-line to be broken, stack trace attached. The issue doesn't repro if I load eww.el from emacs-27.1 Debugger entered--Lisp error: (wrong-type-argument stringp nil) (propertize nil face variable-pitch) (eww-update-header-line-format) (eval (eww-update-header-line-format) t) (#f(compiled-function (exp &optional insert-value no-truncate char-print-limit) "Evaluate EXP and print value in the echo area.\nWhen called interactively, read an Emacs Lisp expression and\nevaluate it. Value is also consed on to front of the variable\n`values'. Optional argument INSERT-VALUE non-nil (interactively,\nwith a non `-' prefix argument) means insert the result into the\ncurrent buffer instead of printing it in the echo area.\n\nNormally, this function truncates long output according to the\nvalue of the variables `eval-expression-print-length' and\n`eval-expression-print-level'. When NO-TRUNCATE is\nnon-nil (interactively, with a prefix argument of zero), however,\nthere is no such truncation.\n\nIf the resulting value is an integer, and CHAR-PRINT-LIMIT is\nnon-nil (interactively, unless given a non-zero prefix argument)\nit will be printed in several additional formats (octal,\nhexadecimal, and character). The character format is used only\nif the value is below CHAR-PRINT-LIMIT (interactively, if the\nprefix argument is -1 or the value doesn't exceed\n`eval-expression-print-maximum-character').\n\nRuns the hook `eval-expression-minibuffer-setup-hook' on entering the\nminibuffer.\n\nIf `eval-expression-debug-on-error' is non-nil, which is the default,\nthis command arranges for all errors to enter the debugger." (interactive #f(compiled-function () #)) #) (eww-update-header-line-format) nil nil 127) (ad-Advice-eval-expression #f(compiled-function (exp &optional insert-value no-truncate char-print-limit) "Evaluate EXP and print value in the echo area.\nWhen called interactively, read an Emacs Lisp expression and\nevaluate it. Value is also consed on to front of the variable\n`values'. Optional argument INSERT-VALUE non-nil (interactively,\nwith a non `-' prefix argument) means insert the result into the\ncurrent buffer instead of printing it in the echo area.\n\nNormally, this function truncates long output according to the\nvalue of the variables `eval-expression-print-length' and\n`eval-expression-print-level'. When NO-TRUNCATE is\nnon-nil (interactively, with a prefix argument of zero), however,\nthere is no such truncation.\n\nIf the resulting value is an integer, and CHAR-PRINT-LIMIT is\nnon-nil (interactively, unless given a non-zero prefix argument)\nit will be printed in several additional formats (octal,\nhexadecimal, and character). The character format is used only\nif the value is below CHAR-PRINT-LIMIT (interactively, if the\nprefix argument is -1 or the value doesn't exceed\n`eval-expression-print-maximum-character').\n\nRuns the hook `eval-expression-minibuffer-setup-hook' on entering the\nminibuffer.\n\nIf `eval-expression-debug-on-error' is non-nil, which is the default,\nthis command arranges for all errors to enter the debugger." (interactive #f(compiled-function () #)) #) (eww-update-header-line-format) nil nil 127) (apply ad-Advice-eval-expression #f(compiled-function (exp &optional insert-value no-truncate char-print-limit) "Evaluate EXP and print value in the echo area.\nWhen called interactively, read an Emacs Lisp expression and\nevaluate it. Value is also consed on to front of the variable\n`values'. Optional argument INSERT-VALUE non-nil (interactively,\nwith a non `-' prefix argument) means insert the result into the\ncurrent buffer instead of printing it in the echo area.\n\nNormally, this function truncates long output according to the\nvalue of the variables `eval-expression-print-length' and\n`eval-expression-print-level'. When NO-TRUNCATE is\nnon-nil (interactively, with a prefix argument of zero), however,\nthere is no such truncation.\n\nIf the resulting value is an integer, and CHAR-PRINT-LIMIT is\nnon-nil (interactively, unless given a non-zero prefix argument)\nit will be printed in several additional formats (octal,\nhexadecimal, and character). The character format is used only\nif the value is below CHAR-PRINT-LIMIT (interactively, if the\nprefix argument is -1 or the value doesn't exceed\n`eval-expression-print-maximum-character').\n\nRuns the hook `eval-expression-minibuffer-setup-hook' on entering the\nminibuffer.\n\nIf `eval-expression-debug-on-error' is non-nil, which is the default,\nthis command arranges for all errors to enter the debugger." (interactive #f(compiled-function () #)) #) ((eww-update-header-line-format) nil nil 127)) (eval-expression (eww-update-header-line-format) nil nil 127) (# eval-expression (eww-update-header-line-format) nil nil 127) (apply # eval-expression ((eww-update-header-line-format) nil nil 127)) (ad-Advice-funcall-interactively # eval-expression (eww-update-header-line-format) nil nil 127) (apply ad-Advice-funcall-interactively # (eval-expression (eww-update-header-line-format) nil nil 127)) (funcall-interactively eval-expression (eww-update-header-line-format) nil nil 127) (# eval-expression nil nil) (ad-Advice-call-interactively # eval-expression nil nil) (apply ad-Advice-call-interactively # (eval-expression nil nil)) (call-interactively eval-expression nil nil) (command-execute eval-expression) > "T.V Raman" writes: > >> In addition to the minibuffer eval results shown earlier, >> >> (propertize (plist-get eww-data :title) 'face 'variable-pitch) >> thorws the >> Debugger entered--Lisp error: (wrong-type-argument stringp nil) >> which is the same error that eww-update-header-line threw, >> while >> (plist-get eww-data :title) >> returns a string, >> >> Both of the above evaluated in the relevant stack frame via "e" > > If it's a bug somewhere, it sounds like a bug in the `e' command? > > In any case, I did push a fix for the title thing, so the bug should no > longer be present in Emacs 28 now. -- ♈ Id: kg:/m/0285kf1 🦮