Merge branch 'bugfix' into emacs-sync

This commit is contained in:
Kyle Meyer 2022-01-15 15:57:22 -05:00
commit 215798290b
6 changed files with 54 additions and 26 deletions

View File

@ -129,6 +129,7 @@ code."
(title (cdr (assq :title params)))
(lines (cdr (assq :line params)))
(sets (cdr (assq :set params)))
(missing (cdr (assq :missing params)))
(x-labels (cdr (assq :xlabels params)))
(y-labels (cdr (assq :ylabels params)))
(timefmt (cdr (assq :timefmt params)))
@ -138,6 +139,7 @@ code."
(file-name-directory (buffer-file-name))))
(add-to-body (lambda (text) (setq body (concat text "\n" body)))))
;; append header argument settings to body
(when missing (funcall add-to-body (format "set datafile missing '%s'" missing)))
(when title (funcall add-to-body (format "set title '%s'" title)))
(when lines (mapc (lambda (el) (funcall add-to-body el)) lines))
(when sets
@ -288,21 +290,14 @@ Pass PARAMS through to `orgtbl-to-generic' when exporting TABLE."
(with-temp-file data-file
(insert (let ((org-babel-gnuplot-timestamp-fmt
(or (plist-get params :timefmt) "%Y-%m-%d-%H:%M:%S")))
(replace-regexp-in-string
;; org export backend adds "|" at the beginning/end of
;; the table lines. Strip those.
"^|\\(.+\\)|$"
"\\1"
(orgtbl-to-generic
table
(org-combine-plists
'( :sep "\t" :fmt org-babel-gnuplot-quote-tsv-field
;; Two setting below are needed to make :fmt work.
:raw t
;; Use `org', not `ascii' because `ascii' may
;; sometimes mishandle quoted strings.
:backend org)
params))))))
(orgtbl-to-generic
table
(org-combine-plists
'( :sep "\t" :fmt org-babel-gnuplot-quote-tsv-field
;; Two setting below are needed to make :fmt work.
:raw t
:backend ascii)
params)))))
data-file)
(provide 'ob-gnuplot)

View File

@ -86,6 +86,8 @@
(declare-function org-capture "org-capture" (&optional goto keys))
(declare-function org-clock-modify-effort-estimate "org-clock" (&optional value))
(declare-function org-element-type "org-element" (&optional element))
(defvar calendar-mode-map)
(defvar org-clock-current-task)
(defvar org-current-tag-alist)
@ -5729,7 +5731,8 @@ displayed in agenda view."
(org-at-planning-p)
(org-before-first-heading-p)
(and org-agenda-include-inactive-timestamps
(org-at-clock-log-p)))
(org-at-clock-log-p))
(not (eq 'timestamp (org-element-type (org-element-context)))))
(throw :skip nil))
(org-agenda-skip))
(let* ((pos (match-beginning 0))

View File

@ -18731,17 +18731,19 @@ With prefix arg UNCOMPILED, load the uncompiled versions."
"Is S an ID created by UUIDGEN?"
(string-match "\\`[0-9a-f]\\{8\\}-[0-9a-f]\\{4\\}-[0-9a-f]\\{4\\}-[0-9a-f]\\{4\\}-[0-9a-f]\\{12\\}\\'" (downcase s)))
(defun org-in-src-block-p (&optional inside)
(defun org-in-src-block-p (&optional inside element)
"Whether point is in a code source block.
When INSIDE is non-nil, don't consider we are within a source
block when point is at #+BEGIN_SRC or #+END_SRC."
(let ((case-fold-search t))
(or (and (eq (get-char-property (point) 'src-block) t))
(and (not inside)
(save-match-data
(save-excursion
(beginning-of-line)
(looking-at ".*#\\+\\(begin\\|end\\)_src")))))))
block when point is at #+BEGIN_SRC or #+END_SRC.
When ELEMENT is provided, it is considered to be element at point."
(save-match-data (setq element (or element (org-element-at-point))))
(when (eq 'src-block (org-element-type element))
(or (not inside)
(not (or (= (line-beginning-position)
(org-element-property :post-affiliated element))
(= (1+ (line-end-position))
(- (org-element-property :end element)
(org-element-property :post-blank element))))))))
(defun org-context ()
"Return a list of contexts of the current cursor position.

View File

@ -1929,7 +1929,11 @@ a communication channel."
(org-export-table-cell-alignment table-cell info)))))
(setq contents
(concat data
(make-string (- width (string-width (or data ""))) ?\s))))
;; FIXME: If CONTENTS was transformed by filters,
;; the whole width calculation can be wrong.
;; At least, make sure that we do not throw error
;; when CONTENTS is larger than width.
(make-string (max 0 (- width (string-width (or data "")))) ?\s))))
;; Return cell.
(concat (format " %s " contents)
(when (memq 'right (org-export-table-cell-borders table-cell info))

View File

@ -6,3 +6,13 @@ SCHEDULED: <2017-07-19 Wed>
** subnote
* test code 216bc1ff1d862e78183e38ee9a4da504919b9878
<2019-01-08 Tue>
* test agenda non-scheduled
#+begin_src org
SCHEDULED: <2022-01-03 Mon>
#+end_src
* colon scheduled entry
: SCHEDULED: <2022-01-03 Mon>
* begin_example scheduled entry
#+begin_example
SCHEDULED: <2022-01-03 Mon>
#+end_example

View File

@ -92,6 +92,20 @@
(looking-at " *agenda-file:Scheduled: *test agenda"))))
(org-test-agenda--kill-all-agendas))
(ert-deftest test-org-agenda/non-scheduled-re-matces ()
"Make sure that scheduled-looking elements do not appear in agenda.
See https://list.orgmode.org/20220101200103.GB29829@itccanarias.org/T/#t."
(cl-assert (not org-agenda-sticky) nil "precondition violation")
(cl-assert (not (org-test-agenda--agenda-buffers))
nil "precondition violation")
(let ((org-agenda-span 'day)
(org-agenda-files `(,(expand-file-name "examples/agenda-file.org"
org-test-dir))))
(org-agenda-list nil "<2022-01-03 Mon>")
(set-buffer org-agenda-buffer-name)
(should (= 2 (count-lines (point-min) (point-max)))))
(org-test-agenda--kill-all-agendas))
(ert-deftest test-org-agenda/set-priority ()
"One informative line in the agenda. Check that org-agenda-priority updates the agenda."
(cl-assert (not org-agenda-sticky) nil "precondition violation")