Je trouve cette question lors de la recherche de ce que le hachage signifiait quelque chose que je trouvé tout piratage mode-line-format
:
#("-%-" 0 3
(help-echo "Display as tooltip when mouse hovers or with display-local-help."))
qui est un format utilisé pour text properties in strings WHE re:
"-%-"
, texte à propertized: un tableau de bord et un %-construct qui se traduit par « tirets suffisante pour remplir le reste de la ligne de mode », ce qui dans le célèbre Emacs ------
.
0
, le premier caractère sur lequel les propriétés du texte sont applicables.
3
, le dernier caractère sur lequel les propriétés du texte sont applicables, à savoir l'ensemble "-%-"
.
(help-echo "...")
, une propriété et une chaîne comme argument.
Cela peut être créé avec le propertize
function:
(propertize "Hover over me!" 'help-echo '"congratulations!")
serait le même que #("Hover over me!" 0 14 (help-echo "Congratulations!"))
:
Si vous utilisez le mode de verrouillage de la police , en utilisant le buffer-substring
comman d pourrait produire quelque chose comme ceci:
(buffer-substring 1 28) ; First 27 characters in the current buffer
⇒ #(";; This buffer is for notes"
0 3
(fontified t face font-lock-comment-delimiter-face)
3 27
(fontified t face font-lock-comment-face))
Alors vous pouvez créer quelque chose comme:
Whoa, impressionnant. L'encyclopédie emacs/elisp. – Cheeso
Selon [cet article] (http://endlessparentheses.com/get-in-the-habit-of-using-sharp-quote.html), une bonne raison d'appliquer '# 'à un symbole isolé est d'obtenir des diagnostics au moment de la compilation si ce symbole n'est pas défini. – ajk
Il n'est pas tout à fait vrai que "il n'y a rien à compiler dans le cas d'un symbole". Le compilateur d'octets interprète # 'voiture pour signifier "Je me réfère toujours à la fonction' foo', pas au symbole foo. " Il peut alors réellement aligner la définition de foo dans la sortie octet-compilée. (Edit: Non, c'est faux. # Le symbole ne sera pas octet-compilé différemment de 'Symbol - c'est juste un marqueur d'intention.) –