help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Problem understanding set-register syntax


From: Drew Adams
Subject: RE: Problem understanding set-register syntax
Date: Mon, 6 Dec 2010 14:23:26 -0800

> in my init.el I have
> (set-register ?i '(file . "~/.emacs.d/init.el"))
> which allows me to quickly jump to my init file using C-x r j i
> But I don't really understand the syntax.
> Why do I have to use the exclamation mark when I set the register?

You mean question mark, I think.
        
> Why can't I just use:
> (set-register i '(file . "~/.emacs.d/init.el"))
> ; will say Symbol's value as variable is void:i

Because the first argument to `set-register' is a register name, which is a
character, and `?i' is the Lisp syntax for the character `i'.
        
> I tried to search in the documentation for set-register and
> variable definition but I did not find anything to really explain it.

Please file a doc bug for `C-h f set-register'.  The doc should say clearly what
each parameter is.  In this case it says nothing about the first parameter
except that it is a register.  It expects readers to somehow know that a
register (its name, that is) is of type character.

Relevant doc that will help you:

1. Elisp manual, node `Registers':

 "A register is a sort of variable used in Emacs editing that
  can hold a variety of different kinds of values.  Each
  register is named by a single character."

IOW, a register is like a variable in that it has a name and a value.  The name
is a character, however, not a symbol.

2. Emacs manual, node `Registers':

 "Emacs "registers" are compartments where you can save text, rectangles,
  positions, and other things for later use....
  Each register has a name that consists of a single character, which
  we will denote by R; R can be a letter (such as `a') or a number (such
  as `1'); case matters, so register `a' is not the same as register `A'."




reply via email to

[Prev in Thread] Current Thread [Next in Thread]