Análisis del código fuente de Lisp
= = & gt¿Qué es el "anillo marcador" en la oración?
En otras palabras, el anillo de marcas es en realidad una cola FILO, por lo que la marca previamente insertada se puede encontrar utilizando el método de marca pop. Para obtener más información, consulte los comandos relacionados con etiquetas en emacs.
2. Cuando el intérprete Lisp marca un sitio, ¿por qué no podemos ver la marca? ¿Cómo puedo verlo?
Un marcador simple no es visible, es solo un marcador que apunta a una ubicación en el búfer. Al usar emacs, puede activar el método de modo de marca transitoria, luego configurar la marca y luego mover el cursor. Puede ver el resaltado de la marca al nuevo cursor. Si desactiva el modo de marca transitoria y desea ver dónde está la marca actual, puede usar el comando C-x C-x para intercambiar el cursor actual y las posiciones de la marca, de modo que también pueda ver dónde está la marca.
= = & gt¿Por qué se muestra el valor "1" al evaluar la función (marcar todo el búfer)? ¿Por qué la evaluación de (push-mark (point-max)) muestra "nulo"? ¿Hay algún significado en esto?
El valor de retorno de la función es el valor de retorno de la última declaración de la función.
Para mark-whole-buffer, su valor de retorno es el valor de retorno de (goto-char (point-min)). El valor de retorno de goto-char es la posición a la que salta, su posición es. point-min, que es 1, por lo que el valor de retorno de toda la función es 1.
El valor de retorno de (push-mark (point-max)) es nulo, porque la última oración de push-mark es nula (puede ver el código fuente de la función push-mark usted mismo en emacs a través de C-h f, luego ingrese push-mark y luego seleccione el archivo fuente para implementar esta función. Consulte la ayuda de emacs para obtener más detalles.