emacs-devel
[Top][All Lists]
Advanced

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

RE: 23.0.50; savehist save invalid syntax


From: Davis Herring
Subject: RE: 23.0.50; savehist save invalid syntax
Date: Mon, 10 Sep 2007 17:55:04 -0700 (PDT)
User-agent: SquirrelMail/1.4.8-6.el3.2lanl

> The newlines are not necessary, unless you're thinking of someone viewing
> .emacs-history. That is, any whitespace will do. I used a space, but a
> newline is OK too.

If we don't care what the file looks like, lots of things become optional:
(setq foo'bar) works, for instance.  I thought I'd err on the side of
readability.

> In that case, you might want to comment the Lisp code to that effect. It's
> not very obvious that a Lisp reader error could be raised by `prin1'. And
> I
> think it's probably still better to leave the general `error' handler.

I think the documentation for the (new) variable
`print-unreadable-function' may be sufficient, but I could add one.  I
specifically don't want to catch all errors there, because any other error
ought to be noticed, not suppressed.

> What Lisp value can I test for [the new print feature]? It's obviously not
> `emacs-major-version' >= 22. Is there a featurep or fboundp or boundp I
> can test? If not, is there a minor version I can test? If I can't find
> something to test, then I'll have to leave the `read' in for new Emacs
> versions also, which is obviously a waste.

You can, outside the `let', test (boundp 'print-unreadable-function).  You
can also test >= 22.2, if it's added there, or >= 23 otherwise (CVS has
such a version).

> Do as you think best. The doc string suggests that a decimal value is
> used, so I used one. Also, I think decimal is what will be used by most
> users in Customize. That is, even if one can enter #o600 in the Customize
> editable field, I doubt that most users will think to do that. To me, the
> doc string helps in this regard, and a decimal default value helps. I
> don't see a real benefit in using octal here, but that's just my opinion.

Once read, there is no difference between #o600 and 384; there are no
"octal integers", only octal integer literals.  The user never sees it,
then, and it has no effect on Customize.  The doc string is simply
reminding you that the value is the true mode value, and not some
decimal-interpreted-as-octal trick where six hundred sixty means rw-rw----
(and eighty has no meaning at all).

> OK. As I say, I don't recall the specific need. I do recall that it was
> preventing one from quitting Emacs, because `savehist-autosave' is in
> `kill-emacs-hook' (as well as on a timer). That is, if, for any reason, it
> has a problem, then it gets in the way of exiting. That was what was
> happening, but perhaps that problem will never arise in the future ;-).

I wonder why `kill-emacs-hook' is allowed to stop Emacs exiting; if a
function on it signals, shouldn't one just proceed to the next function or
to the actual exit?  It's not supposed to be able to veto exiting; that's
what `kill-emacs-query-functions' is for.

Davis

-- 
This product is sold by volume, not by mass.  If it appears too dense or
too sparse, it is because mass-energy conversion has occurred during
shipping.




reply via email to

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