comparison lisp/org/org-src.el @ 105341:2a8a3a69c1c7

2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-set-tags-to): New command. * org-latex.el (org-export-latex-set-initial-vars): Also check in the plist. * org.el (org-additional-option-like-keywords): Add LATEX_CLASS keyword. * org-exp.el (org-infile-export-plist): Add LATEX_CLASS keyword. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-inlinetask.el (org-inlinetask-export): Option removed. (org-inlinetask-export-handler): Better export. * org-xoxo.el (org-export-xoxo-final-hook): New hook. (org-export-as-xoxo): Run the new hook. * org-html.el (org-export-html-final-hook): New hook. (org-export-as-html): Run the new hook. * org-docbook.el (org-export-docbook-final-hook): New hook. (org-export-as-docbook): Run the new hook. * org-ascii.el (org-export-ascii-final-hook): New hook. (org-export-as-ascii): Run the new hook. * org-latex.el (org-export-latex-treat-sub-super-char): Allow a space character as the character before the ^/_. (org-export-latex-final-hook): New hook. (org-export-as-latex): Run `org-export-latex-final-hook'. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-macs.el (org-if-unprotected-at): Fix docstring. * org-agenda.el (org-agenda-change-all-lines): Handle invisible text in the prefix (if category is a link). * org-latex.el (org-export-latex-preprocess): Deal properly with empty lines in verse environments. * org.el (org-format-latex-header): Inline fullpage.sty. * org-footnote.el (org-footnote-create-definition): Reveal context to add a new footnote definition. * org.el (org-ctrl-c-ctrl-c): Pass prefix arg to org-table-recalculate when cursor is in TBLFM line. * org-list.el (org-renumber-ordered-list): Fix cursor position when bullet length has changed. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-format-latex): Mention `org-format-latex-options' in the docstring. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-agenda-get): New function. * org-agenda.el (org-agenda-post-command-hook): No longer move point away from end of line. (org-agenda-add-entry-text, org-agenda-collect-markers) (org-finalize-agenda, org-agenda-mark-clocking-task) (org-agenda-dim-blocked-tasks, org-agenda-entry-text-show-here) (org-agenda-entry-text-show, org-agenda-highlight-todo) (org-agenda-compare-effort, org-agenda-filter-apply) (org-agenda-later, org-agenda-change-time-span) (org-agenda-post-command-hook, org-agenda-show-priority) (org-agenda-show-tags, org-agenda-goto, org-agenda-kill) (org-agenda-archive, org-agenda-archive-to-archive-sibling) (org-remove-subtree-entries-from-agenda, org-agenda-refile) (org-agenda-open-link, org-agenda-copy-local-variable) (org-agenda-switch-to, org-agenda-check-no-diary) (org-agenda-tree-to-indirect-buffer, org-agenda-todo) (org-agenda-add-note, org-agenda-change-all-lines) (org-agenda-priority, org-agenda-set-tags) (org-agenda-set-property, org-agenda-set-effort) (org-agenda-toggle-archive-tag, org-agenda-date-later) (org-agenda-show-new-time, org-agenda-date-prompt) (org-agenda-schedule, org-agenda-deadline, org-agenda-action) (org-agenda-clock-in, org-agenda-bulk-mark) (org-agenda-bulk-unmark, org-agenda-show-the-flagging-note): Use `org-get-at-bol'. * org-colview.el (org-columns-display-here) (org-columns-edit-allowed, org-agenda-columns): Use `org-get-at-bol'. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-special-ctrl-a/e): Improve documentation and customize type. (org-end-of-line): Don't jump to after the ellipsis. (org-mode-map): Bind <home> and <end> as well. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-fontify-meta-lines-and-blocks): Treat lines with a space after #+ as comments. (org-open-at-point): Run `org-follow-link-hook' always. * org-latex.el (org-export-latex-emph-format): Use better commands to insert special characters in verbatim snippets. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-faces.el (org-copy-face): New function. Use it to create various faces formerly created by using `copy-face'. * org-agenda.el (org-prepare-agenda): Don't officially mark this window dedicated. (org-agenda-quit): Kill the frame containing the agenda window if that frame was created for the agenda. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-date-prompt): Mark the changed time stamp in the agenda. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-prepare-agenda): Reset `org-drawers-for-agenda'. (org-prepare-agenda): Uniquify list of drawers. * org.el (org-complex-heading-regexp-format): New variable. (org-set-regexps-and-options): Define `org-complex-heading-regexp-format'. (org-drawers-for-agenda): New variable. (org-map-entries): Bind `org-drawers-for-agenda'. (org-prepare-agenda-buffers): Add to `org-drawers-for-agenda'. * org-remember.el (org-go-to-remember-target) (org-remember-handler): Use `org-complex-heading-regexp-format'. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-highlight-todo): Fix text property problem. * org.el (org-on-heading-p, org-at-heading-p): Make sure these are always with `invisible-ok'. (org-store-link): No error when there is nothing to link to in the agenda. * org-list.el (org-update-checkbox-count): Insert changed cookie before the old, to avoid problems with invisibility at the end of the line. (org-update-checkbox-count): Insert changed cookie before the old, to avoid problems with invisibility at the end of the line. * org.el (org-sort-entries-or-items): Include the final newline. (org-fontify-meta-lines-and-blocks): Add indented dynamic block lines for fontification. (org-dblock-start-re, org-dblock-end-re): Allow indentation. (org-prepare-dblock): Store the current indentation of the BEGIN line. (org-update-dblock): Apply the indentation of the begin line to the rest of the block. (org-ctrl-c-ctrl-c): Also find indented dblock lines. (org-startup-folded): New allowed value `showeverything'. (org-startup-options): Add STARTUP keyword `showeverything'. (org-set-startup-visibility): Respect value `showeverything' in org-startup-folded. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-closest-date): Fix issue with past preference. * org-archive.el (org-archive-set-tag) (org-archive-subtree-default): New commands. * org-clock.el (org-clock-clocktable-default-properties): New option. (org-clock-report): Use `org-clock-clocktable-default-properties'. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-iswitchb-completing-read): Fix typo. * org-crypt.el: New file. * org.el: Add an entry for org-crypt. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-menu): Reorganize the menu for more consistency. (org-batch-store-agenda-views): New function. (org-agenda-title-append): Define variable. (org-write-agenda): New export to Org files. (org-agenda-get-some-entry-text): New arguments INDENT and KEEP. (org-agenda): Allow to keep the restricted file list if a special variable is bound to t. (org-agenda): Define a special agenda view for working on flagged entries. (org-agenda-get-restriction-and-command): List the new agenda view. (org-agenda-show-the-flagging-note): New command. (org-agenda-mode-map): New key `?' for looking at the flagging note. * org.el (org-autoload): Autoload org-mobile.el. (org-org-menu): Add menu commands for MobileOrg in the Org menu. * org-mobile.el: New file. * org-id.el (org-id-get): Fix bug with forcing ID on an item. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-table.el (orgtbl-line-start-regexp): Match also TBLNAME statements. (org-table-get-remote-range): Match indented #+TBLNAME statements. * org.el (org-convert-to-odd-levels) (org-convert-to-oddeven-levels): Work also correctly if the file is in outline-mode. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-store-link): When in agenda buffer, link to referenced entry. (org-add-planning-info): Remove spaces at eol. * org-macs.el (org-with-point-at): Add a `lisp-indent-function' property. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-latex.el (org-export-latex-first-lines): Fix problem with LaTeX export of first line and selected subtree. * org.el (org-shifttab): Interpret arg differently when using only odd levels. 2009-10-01 Bastien Guerry <bzg@altern.org> * org.el (org-check-agenda-file): Use a more explicit message 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-exp.el (org-export-remove-special-table-lines): Don't remove normal lines. 2009-10-01 Bastien Guerry <bzg@altern.org> * org.el (org-offer-links-in-entry): Don't use "Select link" as a prompt in the temporary window. * org-agenda.el (org-agenda-bulk-mark): Use a slightly soberer prefix for marked entries in the agenda view. 2009-10-01 Andreas Burtzlaff <andy13@gmx.net> (tiny change) * org.el (outline-end-of-subtree): Bugfix: advise this function in a way that prevents any trailing character from being displayed. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-menu): Fix bugs in the bulk action menu. * org-exp.el (org-export-remove-special-table-lines): Remove bad slow regexp match. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-latex.el (org-export-latex-preprocess): Do not protect in the LaTeX header. * org-src.el (org-edit-src-save): Save window setup while saving. (org-edit-src-code): Use new buffer name construction scheme. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-entry-text-exclude-regexps): New variable. (org-agenda-entry-text-cleanup-hook): New hook. (org-agenda-get-some-entry-text): Remove matches of `org-agenda-entry-text-exclude-regexps' and run the hook `org-agenda-entry-text-cleanup-hook'. * org.el (org-offer-links-in-entry): New argument ZERO to implement a link with index zero. (org-cycle-show-empty-lines): Not keep empty line under header hidden. (org-iswitchb-completing-read): Bind `switchb-use-virtual-buffers' to nil for special completion. (org-store-link): Don't error before the first heading. * org-agenda.el (org-agenda-open-link): Pass the prefix to `org-offer-links-in-entry'. 2009-10-01 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-quit): Provide the window argument for `window-dedicated-p', Emacs 22 needs it. (org-format-agenda-item): If the category is a link, arrange for invisible text to replaced with spaces. (org-compile-prefix-format): Add the extra space. (org-prefix-category-length): New variable. * org-exp.el (org-export-cleanup-toc-line): Remove footnote references from TOC lines. * org.el (org-selected-window): New variable. * org-table.el (org-table-edit-formulas): Remember the selected window. (org-table-fedit-finish, org-table-fedit-abort): Select the window that was originally selected. * org-exp.el (org-export-preprocess-apply-macros): Scan the expansion of a macro for more macro definitions. * org-agenda.el (org-agenda-dim-blocked-tasks): Make sure the invisibility overlay starts on the newline.
author Carsten Dominik <dominik@science.uva.nl>
date Thu, 01 Oct 2009 07:59:53 +0000
parents 86b7fe7d1d8f
children b7d8222914b4
comparison
equal deleted inserted replaced
105340:118ad0cdd9a8 105341:2a8a3a69c1c7
5 ;; 5 ;;
6 ;; Author: Carsten Dominik <carsten at orgmode dot org> 6 ;; Author: Carsten Dominik <carsten at orgmode dot org>
7 ;; Bastien Guerry <bzg AT altern DOT org> 7 ;; Bastien Guerry <bzg AT altern DOT org>
8 ;; Keywords: outlines, hypermedia, calendar, wp 8 ;; Keywords: outlines, hypermedia, calendar, wp
9 ;; Homepage: http://orgmode.org 9 ;; Homepage: http://orgmode.org
10 ;; Version: 6.30c 10 ;; Version: 6.31a
11 ;; 11 ;;
12 ;; This file is part of GNU Emacs. 12 ;; This file is part of GNU Emacs.
13 ;; 13 ;;
14 ;; GNU Emacs is free software: you can redistribute it and/or modify 14 ;; GNU Emacs is free software: you can redistribute it and/or modify
15 ;; it under the terms of the GNU General Public License as published by 15 ;; it under the terms of the GNU General Public License as published by
108 You may want to use this hook for example to turn off `outline-minor-mode' 108 You may want to use this hook for example to turn off `outline-minor-mode'
109 or similar things which you want to have when editing a source code file, 109 or similar things which you want to have when editing a source code file,
110 but which mess up the display of a snippet in Org exported files.") 110 but which mess up the display of a snippet in Org exported files.")
111 111
112 (defcustom org-src-lang-modes 112 (defcustom org-src-lang-modes
113 '(("ocaml" . tuareg) ("elisp" . emacs-lisp) ("ditaa" . artist)) 113 '(("ocaml" . tuareg) ("elisp" . emacs-lisp) ("ditaa" . artist)
114 ("asymptote" . asy))
114 "Alist mapping languages to their major mode. 115 "Alist mapping languages to their major mode.
115 The key is the language name, the value is the string that should 116 The key is the language name, the value is the string that should
116 be inserted as the name of the major mode. For many languages this is 117 be inserted as the name of the major mode. For many languages this is
117 simple, but for language where this is not the case, this variable 118 simple, but for language where this is not the case, this variable
118 provides a way to simplify things on the user side. 119 provides a way to simplify things on the user side.
183 (with-current-buffer buffer 184 (with-current-buffer buffer
184 (if (boundp 'org-edit-src-overlay) 185 (if (boundp 'org-edit-src-overlay)
185 (org-delete-overlay org-edit-src-overlay))) 186 (org-delete-overlay org-edit-src-overlay)))
186 (kill-buffer buffer)) 187 (kill-buffer buffer))
187 (setq buffer (generate-new-buffer 188 (setq buffer (generate-new-buffer
188 (concat "*Org Src " (file-name-nondirectory buffer-file-name) "[" lang "]*"))) 189 (org-src-construct-edit-buffer-name (buffer-name) lang)))
189 (setq ovl (org-make-overlay beg end)) 190 (setq ovl (org-make-overlay beg end))
190 (org-overlay-put ovl 'face 'secondary-selection) 191 (org-overlay-put ovl 'face 'secondary-selection)
191 (org-overlay-put ovl 'edit-buffer buffer) 192 (org-overlay-put ovl 'edit-buffer buffer)
192 (org-overlay-put ovl 'help-echo "Click with mouse-1 to switch to buffer editing this segment") 193 (org-overlay-put ovl 'help-echo "Click with mouse-1 to switch to buffer editing this segment")
193 (org-overlay-put ovl 'face 'secondary-selection) 194 (org-overlay-put ovl 'face 'secondary-selection)
229 (mouse-set-point e) 230 (mouse-set-point e)
230 (let ((buf (get-char-property (point) 'edit-buffer))) 231 (let ((buf (get-char-property (point) 'edit-buffer)))
231 (if buf (switch-to-buffer buf) 232 (if buf (switch-to-buffer buf)
232 (error "Something is wrong here")))) 233 (error "Something is wrong here"))))
233 234
235 (defun org-src-construct-edit-buffer-name (org-buffer-name lang)
236 "Construct the buffer name for a source editing buffer"
237 (concat "*Org Src " org-buffer-name "[ " lang " ]*"))
238
234 (defun org-edit-src-find-buffer (beg end) 239 (defun org-edit-src-find-buffer (beg end)
235 "Find a source editing buffer that is already editing the region BEG to END." 240 "Find a source editing buffer that is already editing the region BEG to END."
236 (catch 'exit 241 (catch 'exit
237 (mapc 242 (mapc
238 (lambda (b) 243 (lambda (b)
239 (with-current-buffer b 244 (with-current-buffer b
240 (if (and (string-match "\\`*Org Edit " (buffer-name)) 245 (if (and (string-match "\\`*Org Src " (buffer-name))
241 (local-variable-p 'org-edit-src-beg-marker (current-buffer)) 246 (local-variable-p 'org-edit-src-beg-marker (current-buffer))
242 (local-variable-p 'org-edit-src-end-marker (current-buffer)) 247 (local-variable-p 'org-edit-src-end-marker (current-buffer))
243 (equal beg org-edit-src-beg-marker) 248 (equal beg org-edit-src-beg-marker)
244 (equal end org-edit-src-end-marker)) 249 (equal end org-edit-src-end-marker))
245 (throw 'exit (current-buffer))))) 250 (throw 'exit (current-buffer)))))
287 (when buffer 292 (when buffer
288 (with-current-buffer buffer 293 (with-current-buffer buffer
289 (if (boundp 'org-edit-src-overlay) 294 (if (boundp 'org-edit-src-overlay)
290 (org-delete-overlay org-edit-src-overlay))) 295 (org-delete-overlay org-edit-src-overlay)))
291 (kill-buffer buffer)) 296 (kill-buffer buffer))
292 (setq buffer (generate-new-buffer "*Org Edit Src Example*")) 297 (setq buffer (generate-new-buffer
298 (org-src-construct-edit-buffer-name
299 (buffer-name) "Fixed Width")))
293 (setq ovl (org-make-overlay beg end)) 300 (setq ovl (org-make-overlay beg end))
294 (org-overlay-put ovl 'face 'secondary-selection) 301 (org-overlay-put ovl 'face 'secondary-selection)
295 (org-overlay-put ovl 'edit-buffer buffer) 302 (org-overlay-put ovl 'edit-buffer buffer)
296 (org-overlay-put ovl 'help-echo "Click with mouse-1 to switch to buffer editing this segment") 303 (org-overlay-put ovl 'help-echo "Click with mouse-1 to switch to buffer editing this segment")
297 (org-overlay-put ovl 'face 'secondary-selection) 304 (org-overlay-put ovl 'face 'secondary-selection)
472 (move-marker end nil))) 479 (move-marker end nil)))
473 480
474 (defun org-edit-src-save () 481 (defun org-edit-src-save ()
475 "Save parent buffer with current state source-code buffer." 482 "Save parent buffer with current state source-code buffer."
476 (interactive) 483 (interactive)
477 (let ((p (point)) (m (mark)) msg) 484 (save-window-excursion
478 (org-edit-src-exit) 485 (let ((p (point)) (m (mark)) msg)
479 (save-buffer) 486 (org-edit-src-exit)
480 (setq msg (current-message)) 487 (save-buffer)
481 (org-edit-src-code) 488 (setq msg (current-message))
482 (push-mark m 'nomessage) 489 (org-edit-src-code)
483 (goto-char (min p (point-max))) 490 (push-mark m 'nomessage)
484 (message (or msg "")))) 491 (goto-char (min p (point-max)))
492 (message (or msg "")))))
485 493
486 (defun org-src-mode-configure-edit-buffer () 494 (defun org-src-mode-configure-edit-buffer ()
487 (when org-edit-src-from-org-mode 495 (when org-edit-src-from-org-mode
488 (setq buffer-offer-save t) 496 (setq buffer-offer-save t)
489 (setq buffer-file-name 497 (setq buffer-file-name