emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Have SRC_BLOCK :padline accept numbers


From: Daniel P Gomez
Subject: Re: [O] Have SRC_BLOCK :padline accept numbers
Date: Wed, 29 Mar 2017 18:03:12 +0200

Dear Nicolas,

Thanks for the constructive feedback.

I've amended the commit including the changes you've mentioned.
I did not change the following, though:

(numberp (string-to-int padlines)) -> (string-match-p "\\`[0-9]+\\'" padlines)

because that changed the behaviour of org-babel-tangle. Having a
string-match-p as a
match condition broke the default of adding no padlines in the
first tangled SRC block (when passed with no arguments).

I also noticed that adding this functionality to ob-tangle breaks eldoc
for me. I guess all org babel header arguments have to be strings?

Debugger entered--Lisp error: (wrong-type-argument stringp 2)
((:padline . 2))
((:results . "replace output") (:exports . "both") (:padline . 2)
(:eval . "never-export") (:tangle . "no") (:hlines . "no") (:noweb .
"no") (:cache . "no") (:session . "none")) " ")
  org-eldoc-get-src-header()
  org-eldoc-documentation-function()
  eldoc-print-current-symbol-info()

GNU Emacs 25.2.1 (x86_64-apple-darwin16.4.0, NS appkit-1504.81 Version
10.12.3 (Build 16D32))
 of 2017-03-22
Copyright (C) 2017 Free Software Foundation, Inc.

Yours,

Daniel

Nicolas Goaziou writes:

> Hello,
>
> Daniel P Gomez <address@hidden> writes:
>
>> I've written a small patch (attached here), following the contribution
>> guidelines on the org-mode website. The "patched" repository can be found
>> here: https://github.com/dangom/org-mode/tree/feature_padline
>
> Thank you.
>
>> Please let me know if there is anything else I should do.
>
> Some comments follow.
>
>> From f5e67856b6cefb7c5e9c1b6bd74321d3b47f1b05 Mon Sep 17 00:00:00 2001
>> From: Daniel Gomez <address@hidden>
>> Date: Tue, 28 Mar 2017 21:20:23 +0200
>> Subject: [PATCH] Add support for :padline with numbers in ob-tangle.
>>
> You need to add list modified functions here, with the actual
> modifiaction, e.g.,
>
> * lisp/ob-tangle.el (the-function-I-modified): Been there, done that.
>
> Also, if you haven't signed FSF papers yet, you need to add "TINYCHANGE"
> at the end of the commit message.
>
>> -    (unless (or (string= "no" (cdr (assq :padline (nth 4 spec))))
>> - (= (point) (point-min)))
>> -      (insert "\n"))
>> +    (let ((padlines (format "%s" (cdr (assq :padline (nth 4 spec))))))
>> +      (cond
>> +       ((and (string= "nil" padlines) (not (= (point) (point-min))))
>
> (not (= (point) (point-min))) -> (not (bobp))
>
>> + (insert "\n"))
>> +       ((string= "no" padlines)
>> + nil)
>> +       ((numberp (string-to-int padlines))
>
> (numberp (string-to-int padlines)) -> (string-match-p "\\`[0-9]+\\'" padlines)
>
>> + (dotimes (i (string-to-int padlines)) (insert "\n")))
>
> string-to-int -> string-to-number
>
>
> Regards,


-- 
Daniel P. Gomez



reply via email to

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