1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-30 11:09:23 +00:00

* org.el: Fix up some lexical scoping warnings, and use dolist

* lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
(org-set-regexps-and-options, org-assign-fast-keys)
(org-contextualize-keys, org-contextualize-validate-key)
(org-notes-order-reversed-p, org-local-logging, org-map-entries)
(org-find-olp, org-find-exact-heading-in-directory)
(org-cycle-agenda-files, org-release-buffers, org-fill-template)
(org-agenda-prepare-buffers, org-occur-in-agenda-files)
(org-replace-escapes): Use dolist.
(org-mode): Optimize away XEmacs-only code.
(org-refile-get-targets): Remove unused var `f'.
(org-fast-todo-selection): Remove unused var `e'.
(org-make-tags-matcher): Use dolist.  Remove unused var `term'.
(org-fast-tag-selection): Use dolist.  Remove unused var `e'.
(org-format-latex): Use dolist.  Remove unused var `e'.
(org-toggle-heading): Access vars lexically rather than dynamically.
(org-backward-sentence, org-forward-sentence, org-meta-return)
(org-kill-line): Mark arg as unused.
(org-submit-bug-report): Silence compiler warning.
(org-occur-in-agenda-files): Don't use add-to-list on local vars.
(org-get-cursor-date): Remove unused var `tm'.
(org-comment-or-uncomment-region): Use standard name `_'.
(reftex-docstruct-symbol, reftex-cite-format): Declare to
silence byte-compiler.
(org-reftex-citation): Add `org--' prefix to dynamically scoped
`rds' var.
This commit is contained in:
Stefan Monnier 2015-08-08 19:41:57 -04:00
parent 45987b3453
commit 3a5f75193e

View File

@ -4860,8 +4860,8 @@ Support for group tags is controlled by the option
(if (characterp (cdr tg))
(format "(%s)" (char-to-string (cdr tg))) "")))))
org-tag-alist)))
(let (e tgs g)
(while (setq e (pop tags))
(let (tgs g)
(dolist (e tags)
(cond
((equal e "{")
(progn (push '(:startgroup) tgs)
@ -4875,7 +4875,8 @@ Support for group tags is controlled by the option
((equal e "\\n") (push '(:newline) tgs))
((string-match (org-re "^\\([[:alnum:]_@#%]+\\)(\\(.\\))$") e)
(push (cons (match-string 1 e)
(string-to-char (match-string 2 e))) tgs)
(string-to-char (match-string 2 e)))
tgs)
(if (and g (> g 0))
(setcar org-tag-groups-alist
(append (car org-tag-groups-alist)
@ -4887,7 +4888,7 @@ Support for group tags is controlled by the option
(append (car org-tag-groups-alist) (list e))))
(if g (setq g (1+ g))))))
(org-set-local 'org-tag-alist nil)
(while (setq e (pop tgs))
(dolist (e tgs)
(or (and (stringp (car e))
(assoc (car e) org-tag-alist))
(push e org-tag-alist)))
@ -4957,7 +4958,8 @@ Support for group tags is controlled by the option
((string-match "\\`\\([a-zA-Z][0-9a-zA-Z_]*\\)_TODO\\'" key)
;; general TODO-like setup
(push (cons (intern (downcase (match-string 1 key)))
(org-split-string value splitre)) kwds))
(org-split-string value splitre))
kwds))
((equal key "COLUMNS")
(org-set-local 'org-columns-default-format value))
((equal key "LINK")
@ -4978,8 +4980,8 @@ Support for group tags is controlled by the option
(org-table-set-constants))
((equal key "STARTUP")
(let ((opts (org-split-string value splitre))
l var val)
(while (setq l (pop opts))
var val)
(dolist (l opts)
(when (setq l (assoc l org-startup-options))
(setq var (nth 1 l) val (nth 2 l))
(if (not (nth 3 l))
@ -5041,8 +5043,8 @@ Support for group tags is controlled by the option
(default-value 'org-todo-keywords)))))
(setq kwds (reverse kwds)))
(setq kwds (nreverse kwds))
(let (inter kws kw)
(while (setq kws (pop kwds))
(let (inter kw)
(dolist (kws kwds)
(let ((kws (or
(run-hook-with-args-until-success
'org-todo-setup-filter-hook kws)
@ -5210,8 +5212,8 @@ This will extract info from a string like \"WAIT(w@/!)\"."
(defun org-assign-fast-keys (alist)
"Assign fast keys to a keyword-key alist.
Respect keys that are already there."
(let (new e (alt ?0))
(while (setq e (pop alist))
(let (new (alt ?0))
(dolist (e alist)
(if (or (memq (car e) '(:newline :grouptags :endgroup :startgroup))
(cdr e)) ;; Key already assigned.
(push e new)
@ -5330,8 +5332,9 @@ The following commands are available:
(define-key org-mode-map [menu-bar show] 'undefined))
(org-load-modules-maybe)
(easy-menu-add org-org-menu)
(easy-menu-add org-tbl-menu)
(when (featurep 'xemacs)
(easy-menu-add org-org-menu)
(easy-menu-add org-tbl-menu))
(org-install-agenda-files-menu)
(if org-descriptive-links (add-to-invisibility-spec '(org-link)))
(add-to-invisibility-spec '(org-cwidth))
@ -7265,9 +7268,8 @@ Optional arguments START and END can be used to limit the range."
(setq org-goto-map
(let ((map (make-sparse-keymap)))
(let ((cmds '(isearch-forward isearch-backward kill-ring-save set-mark-command
mouse-drag-region universal-argument org-occur))
cmd)
(while (setq cmd (pop cmds))
mouse-drag-region universal-argument org-occur)))
(dolist (cmd cmds)
(substitute-key-definition cmd cmd map global-map)))
(suppress-keymap map)
(org-defkey map "\C-m" 'org-goto-ret)
@ -8564,7 +8566,8 @@ and still retain the repeater to cover future instances of the task."
(goto-char (point-min))
(while (re-search-forward drawer-re nil t)
(mapc (lambda (d)
(org-remove-empty-drawer-at d (point))) org-drawers)))
(org-remove-empty-drawer-at d (point)))
org-drawers)))
(goto-char (point-min))
(when doshift
(while (re-search-forward org-ts-regexp-both nil t)
@ -8598,7 +8601,8 @@ Optional argument WITH-CASE means sort case-sensitively."
(while (string-match org-bracket-link-regexp s)
(setq s (replace-match (if (match-end 2)
(match-string 3 s)
(match-string 1 s)) t t s)))
(match-string 1 s))
t t s)))
(let ((st (format " %s " s)))
(while (string-match org-emph-re st)
(setq st (replace-match (format " %s " (match-string 4 st)) t t st)))
@ -9148,10 +9152,11 @@ definitions."
(list (car c) (car c) (cadr c)))
((string= "" (cadr c))
(list (car c) (car c) (caddr c)))
(t c))) contexts))
(a alist) c r s)
(t c)))
contexts))
(a alist) r s)
;; loop over all commands or templates
(while (setq c (pop a))
(dolist (c a)
(let (vrules repl)
(cond
((not (assoc (car c) contexts))
@ -9161,7 +9166,8 @@ definitions."
(car c) contexts)))
(mapc (lambda (vr)
(when (not (equal (car vr) (cadr vr)))
(setq repl vr))) vrules)
(setq repl vr)))
vrules)
(if (not repl) (push c r)
(push (cadr repl) s)
(push
@ -9178,14 +9184,16 @@ definitions."
(let ((tpl (car x)))
(when (not (delq
nil
(mapcar (lambda(y)
(equal y tpl)) s))) x)))
(mapcar (lambda (y)
(equal y tpl))
s)))
x)))
(reverse r))))))
(defun org-contextualize-validate-key (key contexts)
"Check CONTEXTS for agenda or capture KEY."
(let (r rr res)
(while (setq r (pop contexts))
(let (rr res)
(dolist (r contexts)
(mapc
(lambda (rr)
(when
@ -9484,7 +9492,8 @@ active region."
(funcall (caar sfuns)))
(setq link (plist-get org-store-link-plist :link)
desc (or (plist-get org-store-link-plist
:description) link))))
:description)
link))))
;; Store a link from a source code buffer
((org-src-edit-buffer-p)
@ -9664,7 +9673,8 @@ active region."
;; Return the link
(if (not (and (or (org-called-interactively-p 'any)
executing-kbd-macro) link))
executing-kbd-macro)
link))
(or agenda-link (and link (org-make-link-string link desc)))
(push (list link desc) org-stored-links)
(message "Stored: %s" (or desc link))
@ -10897,7 +10907,7 @@ visibility around point, thus ignoring
enclose the position of `org-open-link-marker'."
(let ((m org-open-link-marker))
(catch 'exit
(while (apply 're-search-forward args)
(while (apply #'re-search-forward args)
(unless (get-text-property (match-end group) 'intangible) ; Emacs 21
(goto-char (match-end group))
(if (and (or (not (eq (marker-buffer m) (current-buffer)))
@ -11248,12 +11258,9 @@ on the system \"/user@host:\"."
((eq t org-reverse-note-order) t)
((not (listp org-reverse-note-order)) nil)
(t (catch 'exit
(let ((all org-reverse-note-order)
entry)
(while (setq entry (pop all))
(if (string-match (car entry) buffer-file-name)
(throw 'exit (cdr entry))))
nil)))))
(dolist (entry org-reverse-note-order)
(if (string-match (car entry) buffer-file-name)
(throw 'exit (cdr entry))))))))
(defvar org-refile-target-table nil
"The list of refile targets, created by `org-refile'.")
@ -11318,10 +11325,10 @@ on the system \"/user@host:\"."
(let ((case-fold-search nil)
;; otherwise org confuses "TODO" as a kw and "Todo" as a word
(entries (or org-refile-targets '((nil . (:level . 1)))))
targets tgs txt re files f desc descre fast-path-p level pos0)
targets tgs txt re files desc descre fast-path-p level pos0)
(message "Getting targets...")
(with-current-buffer (or default-buffer (current-buffer))
(while (setq entry (pop entries))
(dolist (entry entries)
(setq files (car entry) desc (cdr entry))
(setq fast-path-p nil)
(cond
@ -11354,7 +11361,7 @@ on the system \"/user@host:\"."
(cdr desc)))
"\\}[ \t]")))
(t (error "Bad refiling target description %s" desc)))
(while (setq f (pop files))
(dolist (f files)
(with-current-buffer
(if (bufferp f) f (org-get-agenda-file-buffer f))
(or
@ -12736,20 +12743,19 @@ This hook runs even if there is no statistics cookie present, in which case
(defun org-local-logging (value)
"Get logging settings from a property VALUE."
(let* (words w a)
;; directly set the variables, they are already local.
(setq org-log-done nil
org-log-repeat nil
org-todo-log-states nil)
(setq words (org-split-string value))
(while (setq w (pop words))
;; Directly set the variables, they are already local.
(setq org-log-done nil
org-log-repeat nil
org-todo-log-states nil)
(dolist (w (org-split-string value))
(let* (a)
(cond
((setq a (assoc w org-startup-options))
(and (member (nth 1 a) '(org-log-done org-log-repeat))
(set (nth 1 a) (nth 2 a))))
(and (member (nth 1 a) '(org-log-done org-log-repeat))
(set (nth 1 a) (nth 2 a))))
((setq a (org-extract-log-state-settings w))
(and (member (car a) org-todo-keywords-1)
(push a org-todo-log-states)))))))
(and (member (car a) org-todo-keywords-1)
(push a org-todo-log-states)))))))
(defun org-get-todo-sequence-head (kwd)
"Return the head of the TODO sequence to which KWD belongs.
@ -12779,7 +12785,7 @@ Returns the new TODO keyword, or nil if no state change should occur."
(expert nil)
(fwidth (+ maxlen 3 1 3))
(ncol (/ (- (window-width) 4) fwidth))
tg cnt e c tbl
tg cnt c tbl
groups ingroup)
(save-excursion
(save-window-excursion
@ -12789,7 +12795,7 @@ Returns the new TODO keyword, or nil if no state change should occur."
(erase-buffer)
(org-set-local 'org-done-keywords done-keywords)
(setq tbl fulltable cnt 0)
(while (setq e (pop tbl))
(dolist (e tbl)
(cond
((equal e '(:startgroup))
(push '() groups) (setq ingroup t)
@ -14123,7 +14129,7 @@ See also `org-scan-tags'.
(re (org-re "^&?\\([-+:]\\)?\\({[^}]+}\\|LEVEL\\([<=>]\\{1,2\\}\\)\\([0-9]+\\)\\|\\(\\(?:[[:alnum:]_]+\\(?:\\\\-\\)*\\)+\\)\\([<>=]\\{1,2\\}\\)\\({[^}]+}\\|\"[^\"]*\"\\|-?[.0-9]+\\(?:[eE][-+]?[0-9]+\\)?\\)\\|[[:alnum:]_@#%]+\\)"))
minus tag mm
tagsmatch todomatch tagsmatcher todomatcher kwd matcher
orterms term orlist re-p str-p level-p level-op time-p
orterms orlist re-p str-p level-p level-op time-p
prop-p pn pv po gv rest (start 0) (ss 0))
;; Expand group tags
(setq match (org-tags-expand match))
@ -14152,7 +14158,7 @@ See also `org-scan-tags'.
(if (or (not tagsmatch) (not (string-match "\\S-" tagsmatch)))
(setq tagsmatcher t)
(setq orterms (org-split-string tagsmatch "|") orlist nil)
(while (setq term (pop orterms))
(dolist (term orterms)
(while (and (equal (substring term -1) "\\") orterms)
(setq term (concat term "|" (pop orterms)))) ; repair bad split
(while (string-match re term)
@ -14213,7 +14219,7 @@ See also `org-scan-tags'.
(if (or (not todomatch) (not (string-match "\\S-" todomatch)))
(setq todomatcher t)
(setq orterms (org-split-string todomatch "|") orlist nil)
(while (setq term (pop orterms))
(dolist (term orterms)
(while (string-match re term)
(setq minus (and (match-end 1)
(equal (match-string 1 term) "-"))
@ -14282,7 +14288,8 @@ When DOWNCASE is non-nil, expand downcased TAGS."
(with-syntax-table stable
(string-match
(concat "\\(?1:[+-]?\\)\\(?2:\\<"
(regexp-opt tml) "\\>\\)") rtnmatch)))
(regexp-opt tml) "\\>\\)")
rtnmatch)))
(let* ((dir (match-string 1 rtnmatch))
(tag (match-string 2 rtnmatch))
(tag (if downcased (downcase tag) tag)))
@ -14418,7 +14425,8 @@ ignore inherited ones."
(reverse (delete-dups
(reverse (append
(org-remove-uninherited-tags
org-file-tags) tags)))))))))
org-file-tags)
tags)))))))))
(defun org-add-prop-inherited (s)
(add-text-properties 0 (length s) '(inherited t) s)
@ -14750,7 +14758,7 @@ Returns the new tags string, or nil to not change the current settings."
(ncol (/ (- (window-width) 4) fwidth))
(i-face 'org-done)
(c-face 'org-todo)
tg cnt e c char c1 c2 ntable tbl rtn
tg cnt c char c1 c2 ntable tbl rtn
ov-start ov-end ov-prefix
(exit-after-next org-fast-tag-selection-single-key)
(done-keywords org-done-keywords)
@ -14785,7 +14793,7 @@ Returns the new tags string, or nil to not change the current settings."
(org-fast-tag-show-exit exit-after-next)
(org-set-current-tags-overlay current ov-prefix)
(setq tbl fulltable char ?a cnt 0)
(while (setq e (pop tbl))
(dolist (e tbl)
(cond
((equal (car e) :startgroup)
(push '() groups) (setq ingroup t)
@ -15077,7 +15085,7 @@ a *different* entry, you cannot use these techniques."
((eq scope 'file-with-archives)
(setq scope (org-add-archive-files (list (buffer-file-name))))))
(org-agenda-prepare-buffers scope)
(while (setq file (pop scope))
(dolist (file scope)
(with-current-buffer (org-find-base-buffer-visiting file)
(save-excursion
(save-restriction
@ -16034,7 +16042,7 @@ only headings."
(widen)
(setq limit (point-max))
(goto-char (point-min))
(while (setq heading (pop path))
(dolist (heading path)
(setq re (format org-complex-heading-regexp-format
(regexp-quote heading)))
(setq cnt 0 pos (point))
@ -16079,7 +16087,7 @@ When the target headline is found, return a marker to this location."
nil "\\`[^.#].*\\.org\\'"))
file visiting m buffer)
(catch 'found
(while (setq file (pop files))
(dolist (file files)
(message "trying %s" file)
(setq visiting (org-find-base-buffer-visiting file))
(setq buffer (or visiting (find-file-noselect file)))
@ -18037,7 +18045,7 @@ If the current buffer does not, find the first agenda file."
file)
(unless files (user-error "No agenda files"))
(catch 'exit
(while (setq file (pop files))
(dolist (file files)
(if (equal (file-truename file) tcf)
(when (car files)
(find-file (car files))
@ -18123,8 +18131,8 @@ it to the list of buffers which might be released later."
"Release all buffers in list, asking the user for confirmation when needed.
When a buffer is unmodified, it is just killed. When modified, it is saved
\(if the user agrees) and then killed."
(let (buf file)
(while (setq buf (pop blist))
(let (file)
(dolist (buf blist)
(setq file (buffer-file-name buf))
(when (and (buffer-modified-p buf)
file
@ -18146,7 +18154,7 @@ When a buffer is unmodified, it is just killed. When modified, it is saved
org-tag-groups-alist-for-agenda nil)
(save-excursion
(save-restriction
(while (setq file (pop files))
(dolist (file files)
(catch 'nextfile
(if (bufferp file)
(set-buffer file)
@ -18426,11 +18434,11 @@ Some of the options can be changed using the variable
(optnew org-format-latex-options)
(matchers (plist-get opt :matchers))
(re-list org-latex-regexps)
(cnt 0) txt hash link beg end re e checkdir
(cnt 0) txt hash link beg end re checkdir
string
m n block-type block linkfile movefile ov)
;; Check the different regular expressions
(while (setq e (pop re-list))
(dolist (e re-list)
(setq m (car e) re (nth 1 e) n (nth 2 e) block-type (nth 3 e)
block (if block-type "\n\n" ""))
(when (member m matchers)
@ -19054,7 +19062,7 @@ BEG and END default to the buffer boundaries."
(org-defkey org-mode-map "\C-i" 'org-cycle)
(org-defkey org-mode-map [(tab)] 'org-cycle)
(org-defkey org-mode-map [(control tab)] 'org-force-cycle-archived)
(org-defkey org-mode-map "\M-\t" 'pcomplete)
(org-defkey org-mode-map "\M-\t" #'pcomplete)
;; The following line is necessary under Suse GNU/Linux
(unless (featurep 'xemacs)
(org-defkey org-mode-map [S-iso-lefttab] 'org-shifttab))
@ -19121,7 +19129,7 @@ BEG and END default to the buffer boundaries."
(org-defkey org-mode-map [?\C-c (right)] 'org-shiftright)
(org-defkey org-mode-map [?\C-c ?\C-x (right)] 'org-shiftcontrolright)
(org-defkey org-mode-map [?\C-c ?\C-x (left)] 'org-shiftcontrolleft)
(org-defkey org-mode-map [?\e (tab)] 'pcomplete)
(org-defkey org-mode-map [?\e (tab)] #'pcomplete)
(org-defkey org-mode-map [?\e (shift return)] 'org-insert-todo-heading)
(org-defkey org-mode-map [?\e (shift left)] 'org-shiftmetaleft)
(org-defkey org-mode-map [?\e (shift right)] 'org-shiftmetaright)
@ -20784,8 +20792,8 @@ number of stars to add."
(insert
(org-list-to-subtree
(org-list-parse-list t)
'(:istart (concat stars add-stars (funcall get-stars depth))
:icount (concat stars add-stars (funcall get-stars depth)))))))
`(:istart (concat ',stars ',add-stars (funcall get-stars depth))
:icount (concat ',stars ',add-stars (funcall get-stars depth)))))))
(setq toggled t))
(forward-line))))
;; Case 3. Started at normal text: make every line an heading,
@ -20807,11 +20815,11 @@ number of stars to add."
(forward-line)))))))
(unless toggled (message "Cannot toggle heading from here"))))
(defun org-meta-return (&optional arg)
(defun org-meta-return (&optional _arg)
"Insert a new heading or wrap a region in a table.
Calls `org-insert-heading' or `org-table-wrap-region', depending
on context. See the individual commands for more information."
(interactive "P")
(interactive)
(org-check-before-invisible-edit 'insert)
(or (run-hook-with-args-until-success 'org-metareturn-hook)
(let* ((element (org-element-at-point))
@ -21109,6 +21117,7 @@ output buffer into your mail program, as it gives us important
information about your Org-mode version and configuration."
(interactive)
(require 'reporter)
(defvar reporter-prompt-for-summary-p)
(org-load-modules-maybe)
(org-require-autoloaded-modules)
(let ((reporter-prompt-for-summary-p "Bug report subject: "))
@ -21368,11 +21377,13 @@ upon the next fontification round."
'invisible 'org-link s))
(setq s (concat (substring s 0 b)
(substring s (or (next-single-property-change
b 'invisible s) (length s)))))))
b 'invisible s)
(length s)))))))
(while (setq b (text-property-any 0 (length s) 'org-cwidth t s))
(setq s (concat (substring s 0 b)
(substring s (or (next-single-property-change
b 'org-cwidth s) (length s))))))
b 'org-cwidth s)
(length s))))))
(setq l (string-width s) b -1)
(while (setq b (text-property-any (1+ b) (length s) 'org-dwidth t s))
(setq l (- l (get-text-property b 'org-dwidth-n s))))
@ -21469,11 +21480,9 @@ N may optionally be the number of spaces to remove."
(defun org-fill-template (template alist)
"Find each %key of ALIST in TEMPLATE and replace it."
(let ((case-fold-search nil)
entry key value)
(setq alist (sort (copy-sequence alist)
(lambda (a b) (< (length (car a)) (length (car b))))))
(while (setq entry (pop alist))
(let ((case-fold-search nil))
(dolist (entry (sort (copy-sequence alist)
(lambda (a b) (< (length (car a)) (length (car b))))))
(setq template
(replace-regexp-in-string
(concat "%" (regexp-quote (car entry)))
@ -21795,23 +21804,24 @@ block from point."
"^[ \t]*:end:.*$"
lim-up lim-down))))
(defun org-occur-in-agenda-files (regexp &optional nlines)
(defun org-occur-in-agenda-files (regexp &optional _nlines)
"Call `multi-occur' with buffers for all agenda files."
(interactive "sOrg-files matching: \np")
(interactive "sOrg-files matching: ")
(let* ((files (org-agenda-files))
(tnames (mapcar 'file-truename files))
(extra org-agenda-text-search-extra-files)
f)
(tnames (mapcar #'file-truename files))
(extra org-agenda-text-search-extra-files))
(when (eq (car extra) 'agenda-archives)
(setq extra (cdr extra))
(setq files (org-add-archive-files files)))
(while (setq f (pop extra))
(dolist (f extra)
(unless (member (file-truename f) tnames)
(add-to-list 'files f 'append)
(add-to-list 'tnames (file-truename f) 'append)))
(unless (member f files) (setq files (append files (list f))))
(setq tnames (append tnames (list (file-truename f))))))
(multi-occur
(mapcar (lambda (x)
(with-current-buffer
;; FIXME: Why not just (find-file-noselect x)?
;; Is it to avoid the "revert buffer" prompt?
(or (get-file-buffer x) (find-file-noselect x))
(widen)
(current-buffer)))
@ -21996,7 +22006,7 @@ so values can contain further %-escapes if they are define later in TABLE."
(case-fold-search nil)
(pchg 0)
e re rpl)
(while (setq e (pop tbl))
(dolist (e tbl)
(setq re (concat "%-?[0-9.]*" (substring (car e) 1)))
(when (and (cdr e) (string-match re (cdr e)))
(let ((sref (substring (cdr e) (match-beginning 0) (match-end 0)))
@ -22059,7 +22069,7 @@ This works in the calendar and in the agenda, anywhere else it just
returns the current time.
If WITH-TIME is non-nil, returns the time of the event at point (in
the agenda) or the current time of the day."
(let (date day defd tp tm hod mod)
(let (date day defd tp hod mod)
(when with-time
(setq tp (get-text-property (point) 'time))
(when (and tp (string-match "\\([0-9][0-9]\\):\\([0-9][0-9]\\)" tp))
@ -22590,7 +22600,7 @@ If the line is empty, insert comment at its beginning."
(insert "# "))
(defvar comment-empty-lines) ; From newcomment.el.
(defun org-comment-or-uncomment-region (beg end &rest ignore)
(defun org-comment-or-uncomment-region (beg end &rest _)
"Comment or uncomment each non-blank line in the region.
Uncomment each non-blank line between BEG and END if it only
contains commented lines. Otherwise, comment them."
@ -22782,6 +22792,10 @@ this line is also exported in fixed-width font."
(goto-char (match-end 0))
(insert org-quote-string " ")))))))
(defvar reftex-docstruct-symbol)
(defvar reftex-cite-format)
(defvar org--rds)
(defun org-reftex-citation ()
"Use reftex-citation to insert a citation into the buffer.
This looks for a line like
@ -22796,9 +22810,9 @@ into the buffer.
Export of such citations to both LaTeX and HTML is handled by the contributed
package ox-bibtex by Taru Karttunen."
(interactive)
(let ((reftex-docstruct-symbol 'rds)
(let ((reftex-docstruct-symbol 'org--rds)
(reftex-cite-format "\\cite{%l}")
rds bib)
org--rds bib)
(save-excursion
(save-restriction
(widen)
@ -22809,7 +22823,7 @@ package ox-bibtex by Taru Karttunen."
(re-search-backward re nil t))))
(error "No bibliography defined in file")
(setq bib (concat (match-string 1) ".bib")
rds (list (list 'bib bib)))))))
org--rds (list (list 'bib bib)))))))
(call-interactively 'reftex-citation)))
;;;; Functions extending outline functionality
@ -22926,20 +22940,20 @@ the cursor is already beyond the end of the headline."
(define-key org-mode-map "\C-a" 'org-beginning-of-line)
(define-key org-mode-map "\C-e" 'org-end-of-line)
(defun org-backward-sentence (&optional arg)
(defun org-backward-sentence (&optional _arg)
"Go to beginning of sentence, or beginning of table field.
This will call `backward-sentence' or `org-table-beginning-of-field',
depending on context."
(interactive "P")
(interactive)
(cond
((org-at-table-p) (call-interactively 'org-table-beginning-of-field))
(t (call-interactively 'backward-sentence))))
(defun org-forward-sentence (&optional arg)
(defun org-forward-sentence (&optional _arg)
"Go to end of sentence, or end of table field.
This will call `forward-sentence' or `org-table-end-of-field',
depending on context."
(interactive "P")
(interactive)
(cond
((org-at-table-p) (call-interactively 'org-table-end-of-field))
(t (call-interactively 'forward-sentence))))
@ -22947,9 +22961,9 @@ depending on context."
(define-key org-mode-map "\M-a" 'org-backward-sentence)
(define-key org-mode-map "\M-e" 'org-forward-sentence)
(defun org-kill-line (&optional arg)
(defun org-kill-line (&optional _arg)
"Kill line, to tags or end of line."
(interactive "P")
(interactive)
(cond
((or (not org-special-ctrl-k)
(bolp)