[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: SES local variables to define printers
From: |
Vincent Belaïche |
Subject: |
RE: SES local variables to define printers |
Date: |
Sun, 26 May 2013 09:16:48 +0200 |
> From: address@hidden
> To: address@hidden
> CC: address@hidden
> Subject: Re: SES local variables to define printers
> Date: Sat, 25 May 2013 21:17:10 -0400
>
> > Here is an example "example.ses", if you open it with the current SES it
> > will generate an error "Invalid printer" while it used to work --- don't
> > remember with which version, but that sort of thing was working one year
> > or so ago.
>
> It doesn't work with any of Debian's Emacs-24.1, Emacs-23.4, or
> Emacs-22.3. It must have been something different.
>
Well, since that was 1 year ago or so that I was using this sheet I may
have done some hack at that time... sorry for the bold assertion that
this *WAS wORKING*, I must admit that I am not so sure now.
Now, having thought a bit more about it, I think that in most sheets I
have the local variables my-tbc-time and my-checked-time defined as
local variables, and the printer function defined as e.g. (lambda (x)
(funcall my-tbc-time x)) rather than just my-tbc-time.
I don't know why in the faulty one-year-old-sheet it was done with just
my-tbc-time for the printer. Probably I had the symbol-function slot
also defined somewhere else --- like in my *scratch* --- to the same
function and that was hiding that defining locally the function in the
value slot was not working.
> > If you take my patch (attached as ses.el.gz) and configure
> > ses-enable-local-variables you will have desired printing.
>
> How 'bout:
>
> You add to your .emacs
>
> (defun my-checked-time (x)
> (let ((calc-float-format '(fix 1)) (calc-hms-format "%sh %sm %ss"))
> (math-format-value x)))
> (defun my-tbc-time (x)
> (let ((calc-float-format '(fix 1))(calc-hms-format "?? %sh %sm %ss"))
> (math-format-value x)))
>
> and then you can use those printer functions in your ses files.
>
> It's simple and safe, and it works without any changes.
>
>
Well, it also means that your .emacs will grow endlessly as you create
new sheets, and also that you cannot archive the sheet+printer in the
same batch easily. Definitely I would not buy this one.
Maybe another way would be to use ede mode, and to have the printer
functions defined in some prj.el file. I must admit that I am not an
experienced user of ede, I use it only inderectly through JDEE and I am
not well aware of how ede ensures security.
Anyway there could be some safe macro ses-printer-def placed in the EDE
prj.el file to define needed printer functions, and ses-printer-def
would make some check that the printer uses only functions without
border effect and without any loop structure.
Anyway, the simpler is to have printer functions configured as:
(lambda (x) (funcall my-tbc-time x))
> Stefan
Vincent.
- SES local variables to define printers, Vincent Belaïche, 2013/05/23
- Re: SES local variables to define printers, Vincent Belaïche, 2013/05/24
- Re: SES local variables to define printers, Vincent Belaïche, 2013/05/24
- Re: SES local variables to define printers, Vincent Belaïche, 2013/05/24
- Re: SES local variables to define printers, Vincent Belaïche, 2013/05/25
- RE: SES local variables to define printers,
Vincent Belaïche <=
- Re: SES local variables to define printers, Vincent Belaïche, 2013/05/26
- RE: SES local variables to define printers, Vincent Belaïche, 2013/05/28
- Re: SES local variables to define printers, Vincent Belaïche, 2013/05/30
- Re: SES local variables to define printers, Vincent Belaïche, 2013/05/30
- RE: SES local variables to define printers, Vincent Belaïche, 2013/05/30