Emacs siempre pide confiar en el tema de color al inicio


10

Mi Emacs siempre me pregunta si debe confiar en el tema de color seleccionado o no. Siempre respondo yy yconfío y recuerdo mi elección. Estoy cargando el tema de color manualmente:

(load-theme 'my-favourite-theme)

Supongo que esto se debe a que las personalizaciones fáciles se colocan debajo de la carga del tema de color. ¿Es alguna forma de arreglarlo? ¿O debería delegar la carga del tema de color en personalizaciones fáciles también?


2
load-themetiene argumentos opcionales: (load-theme THEME &optional NO-CONFIRM NO-ENABLE)- Si se usa directamente en su archivo de inicio, debe llamarse con un argumento NO-CONFIRM no nulo. . . En otras palabras, use: (load-theme 'my-favourite-theme t)
lawlist

1
entonces necesito (load-theme 'name t nil)o solo (load-theme 'name t)?
Geradlus_RU

2
Los argumentos opcionales que nildeben incluirse SOLAMENTE si un argumento opcional posterior no es nil. Por ejemplo, si desea que el primer argumento opcional sea nily el segundo argumento opcional sea t, entonces nilsería necesario para el primer argumento. Dado que el segundo argumento opcional es nil, puede omitirlo o incluirlo, no hay diferencia. A veces lo uso nilpara argumentos opcionales cuando no hay nilargumentos no opcionales posteriores solo para saber cuántos argumentos opcionales son posibles para una función en particular, es decir, un recordatorio visual.
leyes

Lo que sugiere @lawlist es una solución, no una solución. Es preferible averiguar por qué tiene este problema, ya que posiblemente puede causar otros problemas. De hecho, he visto este problema mucho, así que me gustaría saber la razón.
Malabarba

@Geradlus_RU Si no ha especificado que el argumento NO-CONFIRM sea t, emacs le hará esa pregunta nuevamente cada vez que se actualice el paquete de tema (porque su suma de comprobación .el cambia). ¿Es ese el caso? Si sigue recibiendo esas indicaciones cada vez que inicia emacs (incluso cuando el tema .el no se ha actualizado), asegúrese de que emacs haya guardado la suma de comprobación del tema y que emacs también la lea durante el inicio. Un escenario posible es que haya guardado el archivo custom.el como un archivo separado (emacs está memorizando los temas seguros para ellos) pero no está cargando ese archivo en init.
Kaushal Modi

Respuestas:


10

Su init.elarchivo probablemente contiene un fragmento como este:

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 ...)

Entre muchas otras cosas, este fragmento es responsable de guardar y restaurar la custom-safe-themesvariable. Por lo tanto, si esto sucede al final de su archivo de inicio (como suele ser el caso), probablemente haya agregado su (load-theme ...)línea encima, lo que explica por qué Emacs no conoce sus temas seguros durante el inicio.

Simplemente mueva ese fragmento a la parte superior de su archivo de inicio, y eso debería resolver su problema.


4

Estoy usando moe-them , y solo

(require 'moe-theme)
(moe-dark)

cargará el tema sin error / advertencia / solicitud , pero si estoy M-x load-themedentro de Emacs, me preguntará algo como "tratar el tema como seguro", y encontré una solución para eso:

(setq custom-safe-themes t)

No sé si esto resolverá tu problema, pero puedes intentarlo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.