* [bug] org-link-escape and (wrong-type-argument stringp nil)
@ 2010-09-20 12:42 Sébastien Vauban
2010-09-20 18:57 ` David Maus
0 siblings, 1 reply; 19+ messages in thread
From: Sébastien Vauban @ 2010-09-20 12:42 UTC (permalink / raw
To: emacs-orgmode-mXXj517/zsQ
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=us-ascii, Size: 126571 bytes --]
Hello,
With current git pull, and such an Org file (in UTF-8 encoding):
--8<---------------cut here---------------start------------->8---
#+TITLE: Demandes 2010
#+DATE: 2010-09-20
#+LANGUAGE: fr_FR
#+OPTIONS: H:4 toc:3
* Demandes
:PROPERTIES:
:COLUMNS: %40ITEM(Task) %6Effort(Estim.){:}
:Effort_ALL: 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 8:00 12:00 16:00 24:00 32:00 40:00 48:00 56:00 64:00 72:00 80:00
:Effort: 43:00
:END:
** TODO Intégrer le flux DMFA dans PFlow
**** TODO Ãcrire la requête des données à extraire
Les inputs sont:
- NISS du stagiaire
- numéro BCE de l'entreprise
soit une requête semblable à  :
#+srcname: extract-input-bcss
#+begin_src sql :results output :cmdline -S 10.10.10.11 -D [paiestag] -U sa -P LpmdlP -w 256
SELECT TOP 5
stgNISS,
etpSiegeExpNumBCE,
FROM stagiaire, entreprise
WHERE pfiID = stgPfiID_fk AND
pfiID = etpPfiID_fk AND
go
#+end_src
--8<---------------cut here---------------end--------------->8---
I get the following error when trying to export it via PDFLaTeX:
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
replace-match(nil t t "/home/sva/Projects/Client/Specs/2010/ecm.txt::\x00c9\ crire la requ\x00eate des donn\x00e9\ es \x00e0 extraire")
(setq text (replace-match (cdr ...) t t text))
(while (string-match re text) (setq text (replace-match ... t t text)))
(let ((re ...)) (while (string-match re text) (setq text ...)) text)
(progn (let (...) (while ... ...) text))
(if text (progn (let ... ... text)))
(when text (let (...) (while ... ...) text))
(if (and org-url-encoding-use-url-hexify (not table)) (url-hexify-string text) (setq table (or table org-link-escape-chars)) (when text (let ... ... text)))
org-link-escape("/home/sva/Projects/Client/Specs/2010/ecm.txt::\x00c9\ crire la requ\x00eate des donn\x00e9\ es \x00e0 extraire")
(equal (org-link-escape link) description)
(if (equal (org-link-escape link) description) (progn (setq description nil)))
(when (equal (org-link-escape link) description) (setq description nil))
org-make-link-string("/home/sva/Projects/Client/Specs/2010/ecm.txt::\x00c9\ crire la requ\x00eate des donn\x00e9\ es \x00e0 extraire")
(let* ((raw-header ...) (info ...) (lang ...) (lang-headers ...) (raw-params ...) (link ...) (export-buffer ...)) (when info (set-buffer ...) (save-restriction ... ...) (set-buffer export-buffer) (setf ... ...)) (org-babel-exp-do-export info (quote block)))
(save-excursion (goto-char (match-beginning 0)) (let* (... ... ... ... ... ... ...) (when info ... ... ... ...) (org-babel-exp-do-export info ...)))
org-babel-exp-src-blocks(#("SELECT TOP 5\n stgNISS,\n etpSiegeExpNumBCE,\nFROM stagiaire, entreprise\nWHERE pfiID = stgPfiID_fk AND\n pfiID = etpPfiID_fk AND\ngo" 0 55 (font-lock-fontified t fontified nil) 55 82 (font-lock-fontified t fontified nil) 82 104 (font-lock-fontified t fontified nil) 104 107 (font-lock-fontified t fontified nil) 107 134 (font-lock-fontified t fontified nil) 134 137 (font-lock-fontified t fontified nil) 137 142 (font-lock-fontified t fontified nil) 142 144 (font-lock-fontified t fontified nil)) #("sql" 0 3 (fontified nil font-lock-fontified t)) #(":results" 0 8 (fontified nil font-lock-fontified t)) #("output" 0 6 (fontified nil font-lock-fontified t)) #(":cmdline" 0 8 (fontified nil font-lock-fontified t)) #("-S" 0 2 (fontified nil font-lock-fontified t)) #("10.10.10.11" 0 11 (fontified nil font-lock-fontified t)) #("-D" 0 2 (fontified nil font-lock-fontified t)) #("[paiestag]" 0 10 (fontified nil font-lock-fontified t)) #("-U" 0 2 (fontified nil font-lock-fontified t)) #("sa" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t)) #("-P" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t)) #("LpmdlP" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t) 2 6 (fontified nil font-lock-fontified t)) #("-w" 0 2 (fontified nil font-lock-fontified t)) #("256" 0 3 (fontified nil font-lock-fontified t)))
apply(org-babel-exp-src-blocks #("SELECT TOP 5\n stgNISS,\n etpSiegeExpNumBCE,\nFROM stagiaire, entreprise\nWHERE pfiID = stgPfiID_fk AND\n pfiID = etpPfiID_fk AND\ngo" 0 55 (font-lock-fontified t fontified nil) 55 82 (font-lock-fontified t fontified nil) 82 104 (font-lock-fontified t fontified nil) 104 107 (font-lock-fontified t fontified nil) 107 134 (font-lock-fontified t fontified nil) 134 137 (font-lock-fontified t fontified nil) 137 142 (font-lock-fontified t fontified nil) 142 144 (font-lock-fontified t fontified nil)) (#("sql" 0 3 (fontified nil font-lock-fontified t)) #(":results" 0 8 (fontified nil font-lock-fontified t)) #("output" 0 6 (fontified nil font-lock-fontified t)) #(":cmdline" 0 8 (fontified nil font-lock-fontified t)) #("-S" 0 2 (fontified nil font-lock-fontified t)) #("10.10.10.11" 0 11 (fontified nil font-lock-fontified t)) #("-D" 0 2 (fontified nil font-lock-fontified t)) #("[paiestag]" 0 10 (fontified nil font-lock-fontified t)) #("-U" 0 2 (fontified nil font-lock-fontified t)) #("sa" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t)) #("-P" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t)) #("LpmdlP" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t) 2 6 (fontified nil font-lock-fontified t)) #("-w" 0 2 (fontified nil font-lock-fontified t)) #("256" 0 3 (fontified nil font-lock-fontified t))))
(if (memq type org-export-blocks-witheld) "" (apply func body headers))
(progn (if (memq type org-export-blocks-witheld) "" (apply func body headers)))
(unwind-protect (progn (if ... "" ...)) (set-match-data save-match-data-internal (quote evaporate)))
(let ((save-match-data-internal ...)) (unwind-protect (progn ...) (set-match-data save-match-data-internal ...)))
(save-match-data (if (memq type org-export-blocks-witheld) "" (apply func body headers)))
(let ((replacement ...)) (when replacement (replace-match replacement t t) (unless preserve-indent ...)))
(progn (let (...) (when replacement ... ...)))
(if (setq func (cadr ...)) (progn (let ... ...)))
(when (setq func (cadr ...)) (let (...) (when replacement ... ...)))
(while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation (length ...)) (setq type (intern ...)) (setq headers (save-match-data ...)) (setq body (match-string 4)) (setq preserve-indent (or org-src-preserve-indentation ...)) (unless preserve-indent (setq body ...)) (unless (memq type types) (setq types ...)) (save-match-data (interblock start ...)) (when (setq func ...) (let ... ...)) (setq start (match-end 0)))
(progn (fset (quote interblock) (function* ...)) (goto-char (point-min)) (setq start (point)) (while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation ...) (setq type ...) (setq headers ...) (setq body ...) (setq preserve-indent ...) (unless preserve-indent ...) (unless ... ...) (save-match-data ...) (when ... ...) (setq start ...)) (interblock start (point-max)) (run-hooks (quote org-export-blocks-postblock-hook)))
(unwind-protect (progn (fset ... ...) (goto-char ...) (setq start ...) (while ... ... ... ... ... ... ... ... ... ... ...) (interblock start ...) (run-hooks ...)) (if --cl-letf-bound-- (fset ... --cl-letf-save--) (fmakunbound ...)))
(let* ((--cl-letf-bound-- ...) (--cl-letf-save-- ...)) (unwind-protect (progn ... ... ... ... ... ...) (if --cl-letf-bound-- ... ...)))
(letf ((... ...)) (goto-char (point-min)) (setq start (point)) (while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation ...) (setq type ...) (setq headers ...) (setq body ...) (setq preserve-indent ...) (unless preserve-indent ...) (unless ... ...) (save-match-data ...) (when ... ...) (setq start ...)) (interblock start (point-max)) (run-hooks (quote org-export-blocks-postblock-hook)))
(letf* ((... ...)) (goto-char (point-min)) (setq start (point)) (while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation ...) (setq type ...) (setq headers ...) (setq body ...) (setq preserve-indent ...) (unless preserve-indent ...) (unless ... ...) (save-match-data ...) (when ... ...) (setq start ...)) (interblock start (point-max)) (run-hooks (quote org-export-blocks-postblock-hook)))
(flet ((interblock ... ...)) (goto-char (point-min)) (setq start (point)) (while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation ...) (setq type ...) (setq headers ...) (setq body ...) (setq preserve-indent ...) (unless preserve-indent ...) (unless ... ...) (save-match-data ...) (when ... ...) (setq start ...)) (interblock start (point-max)) (run-hooks (quote org-export-blocks-postblock-hook)))
(let ((case-fold-search t) (types ...) indentation type func start body headers preserve-indent progress-marker) (flet (...) (goto-char ...) (setq start ...) (while ... ... ... ... ... ... ... ... ... ... ...) (interblock start ...) (run-hooks ...)))
(save-window-excursion (let (... ... indentation type func start body headers preserve-indent progress-marker) (flet ... ... ... ... ... ...)))
org-export-blocks-preprocess()
run-hooks(org-export-preprocess-after-include-files-hook)
(save-current-buffer (set-buffer (get-buffer-create " org-mode-tmp")) (erase-buffer) (insert string) (setq case-fold-search t) (let (...) (remove-text-properties ... ... ...)) (org-export-kill-licensed-text) (let (...) (org-mode)) (setq case-fold-search t) (org-install-letbind) (run-hooks (quote org-export-preprocess-hook)) (org-export-preprocess-apply-macros) (run-hooks (quote org-export-preprocess-after-macros-hook)) (untabify (point-min) (point-max)) (org-export-handle-include-files-recurse) (run-hooks (quote org-export-preprocess-after-include-files-hook)) (org-export-remove-archived-trees archived-trees) (org-export-remove-comment-blocks-and-subtrees) (org-export-handle-export-tags (plist-get parameters :select-tags) (plist-get parameters :exclude-tags)) (run-hooks (quote org-export-preprocess-after-tree-selection-hook)) (org-export-mark-list-ending backend) (org-export-replace-src-segments-and-examples backend) (org-export-protect-colon-examples) (when (plist-get parameters :footnotes) (org-footnote-normalize nil t)) (setq target-alist (org-export-define-heading-targets target-alist)) (run-hooks (quote org-export-preprocess-after-headline-targets-hook)) (org-export-remember-html-container-classes) (org-export-remove-or-extract-drawers drawers (plist-get parameters :drawers) backend) (when (plist-get parameters :skip-before-1st-heading) (goto-char ...) (when ... ... ... ...)) (when (plist-get parameters :add-text) (goto-char ...) (insert ... "\n")) (org-export-remove-headline-metadata parameters) (setq target-alist (org-export-handle-invisible-targets target-alist)) (run-hooks (quote org-export-preprocess-before-selecting-backend-code-hook)) (org-export-select-backend-specific-text backend) (org-export-protect-quoted-subtrees) (org-export-remove-clock-lines) (org-export-protect-verbatim) (org-export-mark-blockquote-verse-center) (run-hooks (quote org-export-preprocess-after-blockquote-hook)) (unless (plist-get parameters :timestamps) (org-export-remove-timestamps)) (setq target-alist (org-export-attach-captions-and-attributes backend target-alist)) (org-export-mark-radio-links) (run-hooks (quote org-export-preprocess-after-radio-targets-hook)) (org-export-concatenate-multiline-links) (run-hooks (quote org-export-preprocess-before-normalizing-links-hook)) (org-export-normalize-links) (org-export-target-internal-links target-alist) (when (plist-get parameters :emph-multiline) (org-export-concatenate-multiline-emphasis)) (when org-export-table-remove-special-lines (org-export-remove-special-table-lines)) (run-hooks (quote org-export-preprocess-before-backend-specifics-hook)) ...)
(with-current-buffer (get-buffer-create " org-mode-tmp") (erase-buffer) (insert string) (setq case-fold-search t) (let (...) (remove-text-properties ... ... ...)) (org-export-kill-licensed-text) (let (...) (org-mode)) (setq case-fold-search t) (org-install-letbind) (run-hooks (quote org-export-preprocess-hook)) (org-export-preprocess-apply-macros) (run-hooks (quote org-export-preprocess-after-macros-hook)) (untabify (point-min) (point-max)) (org-export-handle-include-files-recurse) (run-hooks (quote org-export-preprocess-after-include-files-hook)) (org-export-remove-archived-trees archived-trees) (org-export-remove-comment-blocks-and-subtrees) (org-export-handle-export-tags (plist-get parameters :select-tags) (plist-get parameters :exclude-tags)) (run-hooks (quote org-export-preprocess-after-tree-selection-hook)) (org-export-mark-list-ending backend) (org-export-replace-src-segments-and-examples backend) (org-export-protect-colon-examples) (when (plist-get parameters :footnotes) (org-footnote-normalize nil t)) (setq target-alist (org-export-define-heading-targets target-alist)) (run-hooks (quote org-export-preprocess-after-headline-targets-hook)) (org-export-remember-html-container-classes) (org-export-remove-or-extract-drawers drawers (plist-get parameters :drawers) backend) (when (plist-get parameters :skip-before-1st-heading) (goto-char ...) (when ... ... ... ...)) (when (plist-get parameters :add-text) (goto-char ...) (insert ... "\n")) (org-export-remove-headline-metadata parameters) (setq target-alist (org-export-handle-invisible-targets target-alist)) (run-hooks (quote org-export-preprocess-before-selecting-backend-code-hook)) (org-export-select-backend-specific-text backend) (org-export-protect-quoted-subtrees) (org-export-remove-clock-lines) (org-export-protect-verbatim) (org-export-mark-blockquote-verse-center) (run-hooks (quote org-export-preprocess-after-blockquote-hook)) (unless (plist-get parameters :timestamps) (org-export-remove-timestamps)) (setq target-alist (org-export-attach-captions-and-attributes backend target-alist)) (org-export-mark-radio-links) (run-hooks (quote org-export-preprocess-after-radio-targets-hook)) (org-export-concatenate-multiline-links) (run-hooks (quote org-export-preprocess-before-normalizing-links-hook)) (org-export-normalize-links) (org-export-target-internal-links target-alist) (when (plist-get parameters :emph-multiline) (org-export-concatenate-multiline-emphasis)) (when org-export-table-remove-special-lines (org-export-remove-special-table-lines)) (run-hooks (quote org-export-preprocess-before-backend-specifics-hook)) ...)
(let* ((htmlp ...) (asciip ...) (latexp ...) (docbookp ...) (backend ...) (archived-trees ...) (inhibit-read-only t) (drawers org-drawers) (outline-regexp "\\*+ ") target-alist rtn) (setq org-export-target-aliases nil org-export-preferred-target-alist nil org-export-id-target-alist nil org-export-code-refs nil) (with-current-buffer (get-buffer-create " org-mode-tmp") (erase-buffer) (insert string) (setq case-fold-search t) (let ... ...) (org-export-kill-licensed-text) (let ... ...) (setq case-fold-search t) (org-install-letbind) (run-hooks ...) (org-export-preprocess-apply-macros) (run-hooks ...) (untabify ... ...) (org-export-handle-include-files-recurse) (run-hooks ...) (org-export-remove-archived-trees archived-trees) (org-export-remove-comment-blocks-and-subtrees) (org-export-handle-export-tags ... ...) (run-hooks ...) (org-export-mark-list-ending backend) (org-export-replace-src-segments-and-examples backend) (org-export-protect-colon-examples) (when ... ...) (setq target-alist ...) (run-hooks ...) (org-export-remember-html-container-classes) (org-export-remove-or-extract-drawers drawers ... backend) (when ... ... ...) (when ... ... ...) (org-export-remove-headline-metadata parameters) (setq target-alist ...) (run-hooks ...) (org-export-select-backend-specific-text backend) (org-export-protect-quoted-subtrees) (org-export-remove-clock-lines) (org-export-protect-verbatim) (org-export-mark-blockquote-verse-center) (run-hooks ...) (unless ... ...) (setq target-alist ...) (org-export-mark-radio-links) (run-hooks ...) (org-export-concatenate-multiline-links) (run-hooks ...) (org-export-normalize-links) (org-export-target-internal-links target-alist) (when ... ...) (when org-export-table-remove-special-lines ...) (run-hooks ...) ...) (kill-buffer " org-mode-tmp") rtn)
org-export-preprocess-string(#("#+TITLE: Devis pour les demandes 2010\n#+DATE: 2010-09-20\n#+LANGUAGE: fr_FR\n#+OPTIONS: H:4 toc:3\n\n* Demandes\n :PROPERTIES:\n :COLUMNS: %40ITEM(Task) %6Effort(Estim.){:}\n :Effort_ALL: 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 8:00 12:00 16:00 24:00 32:00 40:00 48:00 56:00 64:00 72:00 80:00\n :Effort: 43:00\n :END:\n\n** TODO Int\x00e9grer le flux DMFA dans PFlow\n\n**** TODO \x00c9\ crire la requ\x00eate des donn\x00e9\ es \x00e0 extraire\n\nLes inputs sont:\n\n- NISS du stagiaire\n- num\x00e9ro BCE de l'entreprise\n\nsoit une requ\x00eate semblable \x00e0\x00a0:\n\n#+srcname: extract-input-bcss\n#+begin_src sql :results output :cmdline -S 10.10.10.11 -D [paiestag] -U sa -P LpmdlP -w 256\nSELECT TOP 5\n stgNISS,\n etpSiegeExpNumBCE,\nFROM stagiaire, entreprise\nWHERE pfiID = stgPfiID_fk AND\n pfiID = etpPfiID_fk AND\ngo\n#+end_src\n" 0 8 (font-lock-fontified t fontified nil) 8 13 (fontified nil) 13 41 (font-lock-fontified t fontified nil) 41 42 (fontified nil) 42 49 (font-lock-fontified t fontified nil) 49 55 (fontified nil) 55 65 (fontified nil font-lock-fontified t) 65 66 (fontified nil) 66 81 (font-lock-fontified t fontified nil) 81 84 (font-lock-fontified t fontified nil) 84 85 (fontified nil) 85 107 (font-lock-fontified t fontified nil) 107 108 (fontified nil) 108 109 (fontified nil) 109 111 (fontified nil) 111 119 (fontified nil) 119 120 (fontified nil) 120 134 (fontified nil) 134 137 (fontified nil) 137 146 (fontified nil) 146 148 (fontified nil) 148 181 (fontified nil) 181 184 (fontified nil) 184 191 (fontified nil) 191 195 (fontified nil) 195 196 (fontified nil) 196 197 (fontified nil) 197 260 (fontified nil) 260 261 (fontified nil) 261 262 (fontified nil) 262 263 (fontified nil) 263 301 (fontified nil) 301 302 (fontified nil) 302 304 (fontified nil) 304 312 (fontified nil) 312 315 (fontified nil) 315 320 (fontified nil) 320 321 (fontified nil) 321 328 (fontified nil) 328 329 (fontified nil) 329 330 (fontified nil) 330 331 (fontified nil) 331 333 (fontified nil) 333 337 (fontified nil) 337 370 (fontified nil) 370 372 (fontified nil) 372 375 (fontified nil) 375 377 (fontified nil) 377 381 (fontified nil) 381 422 (fontified nil) 422 423 (fontified nil) 423 424 (fontified nil) 424 439 (fontified nil) 439 441 (fontified nil) 441 442 (fontified nil) 442 443 (fontified nil) 443 462 (fontified nil) 462 463 (fontified nil) 463 491 (fontified nil) 491 492 (fontified nil) 492 523 (fontified nil) 523 524 (fontified nil) 524 553 (font-lock-fontified t fontified nil) 553 554 (fontified nil) 554 561 (font-lock-fontified t fontified nil) 561 565 (font-lock-fontified t fontified nil) 565 628 (font-lock-fontified t fontified nil) 628 629 (font-lock-fontified t fontified nil) 629 630 (font-lock-fontified t fontified nil) 630 631 (font-lock-fontified t fontified nil) 631 632 (font-lock-fontified t fontified nil) 632 633 (font-lock-fontified t fontified nil) 633 634 (font-lock-fontified t fontified nil) 634 635 (font-lock-fontified t fontified nil) 635 646 (font-lock-fontified t fontified nil) 646 647 (font-lock-fontified t fontified nil) 647 702 (font-lock-fontified t fontified nil) 702 729 (font-lock-fontified t fontified nil) 729 751 (font-lock-fontified t fontified nil) 751 754 (font-lock-fontified t fontified nil) 754 781 (font-lock-fontified t fontified nil) 781 784 (font-lock-fontified t fontified nil) 784 789 (font-lock-fontified t fontified nil) 789 791 (font-lock-fontified t fontified nil) 791 792 (font-lock-fontified t fontified nil) 792 797 (font-lock-fontified t fontified nil) 797 801 (font-lock-fontified t fontified nil) 801 802 (fontified nil)) :emph-multiline t :for-LaTeX t :comments nil :tags not-in-toc :priority nil :footnotes t :drawers nil :timestamps t :todo-keywords t :add-text nil :skip-before-1st-heading nil :select-tags ("export") :exclude-tags ("noexport") :LaTeX-fragments nil)
(let* ((wcf ...) (opt-plist org-export-latex-options-plist) (region-p ...) (rbeg ...) (rend ...) (subtree-p ...) (opt-plist ...) (org-export-latex-options-plist ...) (org-current-export-dir ...) (org-current-export-file buffer-file-name) (title ...) (filename ...) (filename ...) (buffer ...) (odd org-odd-levels-only) (header ...) (skip ...) (text ...) (org-export-preprocess-hook ...) (first-lines ...) (coding-system ...) (coding-system-for-write ...) (save-buffer-coding-system ...) (region ...) (text ...) (string-for-export ...)) (set-buffer buffer) (erase-buffer) (org-install-letbind) (and (fboundp ...) (set-buffer-file-coding-system coding-system-for-write)) (unless (or ... body-only) (insert header)) (when (and text ...) (insert ... "\n\n")) (unless skip (insert first-lines)) (org-export-latex-global (with-temp-buffer ... ... ...)) (unless body-only (insert "\n\\end{document}")) (goto-char (point-min)) (while (re-search-forward "^[ ]*\\\\item\\([ ]+\\)\\[" nil t) (delete-region ... ...)) (goto-char (point-min)) (when (re-search-forward "\\[TABLE-OF-CONTENTS\\]" nil t) (goto-char ...) (while ... ...) (goto-char ...) (and ... ...)) (goto-char (point-min)) (while (re-search-forward "^[ ]*\\\\item\\>.*\\(\\\\\\\\\\)[ ]*\\(\n\\\\label.*\\)*\n\\\\begin" nil t) (delete-region ... ...)) (goto-char (point-min)) (while (re-search-forward "^[ ]*\\\\item\\>.*\\(\\\\\\\\\\)[ ]*\\(\n\\\\label.*\\)*" nil t) (if ... ...)) (run-hooks (quote org-export-latex-final-hook)) (if to-buffer (unless ... ...) (save-buffer)) (org-export-latex-fix-inputenc) (run-hooks (quote org-export-latex-after-save-hook)) (goto-char (point-min)) (or (org-export-push-to-kill-ring "LaTeX") (message "Exporting to LaTeX...done")) (prog1 (if ... ... ...) (set-window-configuration wcf)))
org-export-as-latex(nil nil nil nil nil nil)
(let* ((wconfig ...) (lbuf ...) (file ...) (base ...) (pdffile ...) (cmds org-latex-to-pdf-process) (outbuf ...) (bibtex-p ...) cmd output-dir) (with-current-buffer outbuf (erase-buffer)) (message (concat "Processing LaTeX file " file "...")) (setq output-dir (file-name-directory file)) (if (and cmds ...) (funcall cmds ...) (while cmds ... ... ... ... ...)) (message (concat "Processing LaTeX file " file "...done")) (if (not ...) (error ...) (set-window-configuration wconfig) (when org-export-pdf-remove-logfiles ...) (message "Exporting to PDF...done") pdffile))
org-export-as-pdf(nil)
(let ((pdffile ...)) (if pdffile (progn ... ...) (error "PDF file was not produced")))
org-export-as-pdf-and-open(nil)
call-interactively(org-export-as-pdf-and-open)
(if (and bg (nth 2 ass) (not ...) (not ...)) (let (...) (set-process-sentinel p ...) (message "Background process \"%s\": started" p)) (if subtree-p (progn ... ...)) (call-interactively (nth 1 ass)) (when (and bpos ...) (let ... ... ... ... ...)))
(let* ((bg ...) subtree-p (help "[t] insert the export option template\n[v] limit export to visible part of outline tree\n[1] only export the current subtree\n[SPC] publish enclosing subtree (with LaTeX_CLASS or EXPORT_FILE_NAME prop)\n\n[a/n/u] export as ASCII/Latin-1/UTF-8 [A/N/U] to temporary buffer\n\n[h] export as HTML [H] to temporary buffer [R] export region\n[b] export as HTML and open in browser\n\n[l] export as LaTeX [L] to temporary buffer\n[p] export as LaTeX and process to PDF [d] ... and open PDF file\n\n[D] export as DocBook [V] export as DocBook, process to PDF, and open\n\n[j] export as TaskJuggler [J] ... and open\n\n[m] export as Freemind mind map\n[x] export as XOXO\n[g] export using Wes Hardaker's generic exporter\n\n[i] export current file as iCalendar file\n[I] export all agenda files as iCalendar files [c] ...as one combined file\n\n[F] publish current file [P] publish current project\n[X] publish a project... [E] publish every projects") (cmds ...) r1 r2 ass (cpos ...) (cbuf ...) bpos) (save-excursion (save-window-excursion ... ... ... ... ... ... ...)) (and bpos (goto-char bpos)) (setq r2 (if ... ... r1)) (unless (setq ass ...) (error "No command associated with key %c" r1)) (if (and bg ... ... ...) (let ... ... ...) (if subtree-p ...) (call-interactively ...) (when ... ...)))
org-export(nil)
call-interactively(org-export nil nil)
recursive-edit()
byte-code("Æ\x10 @Ç=!\0ÈÉÊ\"ËÉ!\x1aA@)¢Ì=!\0ÈÍÊ\"Î\v!Ï Ð !\fd\0Ñed\"\rVW\0ebÒ\r¥y`\x1e^[dbÒ\r¥\rZy\x0e^[`|)ÓcebÔÕÖ \"×Æ!ÔØ!ÙÊ\x1e\x1c\x1e\x1dÔØ!Ú +Ù" [unread-command-char debugger-args x debugger-buffer noninteractive debugger-batch-max-lines -1 debug backtrace-debug 4 t backtrace-frame lambda 5 pop-to-buffer debugger-mode debugger-setup-buffer count-lines 2 "...\n" message "%s" buffer-string kill-emacs "" nil recursive-edit middlestart buffer-read-only standard-output] 4)
debug(error (wrong-type-argument stringp nil))
replace-match(nil t t "/home/sva/Projects/Client/Specs/2010/Devis-Demandes-2010.txt::\x00c9\ crire la requ\x00eate des donn\x00e9\ es \x00e0 extraire")
(setq text (replace-match (cdr ...) t t text))
(while (string-match re text) (setq text (replace-match ... t t text)))
(let ((re ...)) (while (string-match re text) (setq text ...)) text)
(progn (let (...) (while ... ...) text))
(if text (progn (let ... ... text)))
(when text (let (...) (while ... ...) text))
(if (and org-url-encoding-use-url-hexify (not table)) (url-hexify-string text) (setq table (or table org-link-escape-chars)) (when text (let ... ... text)))
org-link-escape("/home/sva/Projects/Client/Specs/2010/Devis-Demandes-2010.txt::\x00c9\ crire la requ\x00eate des donn\x00e9\ es \x00e0 extraire")
(equal (org-link-escape link) description)
(if (equal (org-link-escape link) description) (progn (setq description nil)))
(when (equal (org-link-escape link) description) (setq description nil))
org-make-link-string("/home/sva/Projects/Client/Specs/2010/Devis-Demandes-2010.txt::\x00c9\ crire la requ\x00eate des donn\x00e9\ es \x00e0 extraire")
(let* ((raw-header ...) (info ...) (lang ...) (lang-headers ...) (raw-params ...) (link ...) (export-buffer ...)) (when info (set-buffer ...) (save-restriction ... ...) (set-buffer export-buffer) (setf ... ...)) (org-babel-exp-do-export info (quote block)))
(save-excursion (goto-char (match-beginning 0)) (let* (... ... ... ... ... ... ...) (when info ... ... ... ...) (org-babel-exp-do-export info ...)))
org-babel-exp-src-blocks(#("SELECT TOP 5 pfiID,\n stgNISS,\n etpSiegeExpNumBCE,\n frmArretDate,\n rolEngagDateFin\nFROM dossier, stagiaire, entreprise, formation, rol\nWHERE pfiID = stgPfiID_fk AND\n pfiID = etpPfiID_fk AND\n pfiID = frmPfiID_fk AND\n pfiID = rolPfiID_fk\ngo" 0 83 (font-lock-fontified t fontified nil) 83 180 (font-lock-fontified t fontified nil) 180 183 (font-lock-fontified t fontified nil) 183 210 (font-lock-fontified t fontified nil) 210 213 (font-lock-fontified t fontified nil) 213 240 (font-lock-fontified t fontified nil) 240 243 (font-lock-fontified t fontified nil) 243 270 (font-lock-fontified t fontified nil) 270 273 (font-lock-fontified t fontified nil) 273 276 (font-lock-fontified t fontified nil)) #("sql" 0 3 (fontified nil font-lock-fontified t)) #(":results" 0 8 (fontified nil font-lock-fontified t)) #("output" 0 6 (fontified nil font-lock-fontified t)) #(":cmdline" 0 8 (fontified nil font-lock-fontified t)) #("-S" 0 2 (fontified nil font-lock-fontified t)) #("10.10.10.11" 0 11 (fontified nil font-lock-fontified t)) #("-D" 0 2 (fontified nil font-lock-fontified t)) #("[pfi-paiestag]" 0 14 (fontified nil font-lock-fontified t)) #("-U" 0 2 (fontified nil font-lock-fontified t)) #("sa" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t)) #("-P" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t)) #("LpmdlP" 0 6 (fontified nil font-lock-fontified t)) #("-w" 0 2 (fontified nil font-lock-fontified t)) #("256" 0 3 (fontified nil font-lock-fontified t)) #(":engine" 0 7 (fontified nil font-lock-fontified t)) #("sqsh" 0 4 (fontified nil font-lock-fontified t)))
apply(org-babel-exp-src-blocks #("SELECT TOP 5 pfiID,\n stgNISS,\n etpSiegeExpNumBCE,\n frmArretDate,\n rolEngagDateFin\nFROM dossier, stagiaire, entreprise, formation, rol\nWHERE pfiID = stgPfiID_fk AND\n pfiID = etpPfiID_fk AND\n pfiID = frmPfiID_fk AND\n pfiID = rolPfiID_fk\ngo" 0 83 (font-lock-fontified t fontified nil) 83 180 (font-lock-fontified t fontified nil) 180 183 (font-lock-fontified t fontified nil) 183 210 (font-lock-fontified t fontified nil) 210 213 (font-lock-fontified t fontified nil) 213 240 (font-lock-fontified t fontified nil) 240 243 (font-lock-fontified t fontified nil) 243 270 (font-lock-fontified t fontified nil) 270 273 (font-lock-fontified t fontified nil) 273 276 (font-lock-fontified t fontified nil)) (#("sql" 0 3 (fontified nil font-lock-fontified t)) #(":results" 0 8 (fontified nil font-lock-fontified t)) #("output" 0 6 (fontified nil font-lock-fontified t)) #(":cmdline" 0 8 (fontified nil font-lock-fontified t)) #("-S" 0 2 (fontified nil font-lock-fontified t)) #("10.10.10.11" 0 11 (fontified nil font-lock-fontified t)) #("-D" 0 2 (fontified nil font-lock-fontified t)) #("[pfi-paiestag]" 0 14 (fontified nil font-lock-fontified t)) #("-U" 0 2 (fontified nil font-lock-fontified t)) #("sa" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t)) #("-P" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t)) #("LpmdlP" 0 6 (fontified nil font-lock-fontified t)) #("-w" 0 2 (fontified nil font-lock-fontified t)) #("256" 0 3 (fontified nil font-lock-fontified t)) #(":engine" 0 7 (fontified nil font-lock-fontified t)) #("sqsh" 0 4 (fontified nil font-lock-fontified t))))
(if (memq type org-export-blocks-witheld) "" (apply func body headers))
(progn (if (memq type org-export-blocks-witheld) "" (apply func body headers)))
(unwind-protect (progn (if ... "" ...)) (set-match-data save-match-data-internal (quote evaporate)))
(let ((save-match-data-internal ...)) (unwind-protect (progn ...) (set-match-data save-match-data-internal ...)))
(save-match-data (if (memq type org-export-blocks-witheld) "" (apply func body headers)))
(let ((replacement ...)) (when replacement (replace-match replacement t t) (unless preserve-indent ...)))
(progn (let (...) (when replacement ... ...)))
(if (setq func (cadr ...)) (progn (let ... ...)))
(when (setq func (cadr ...)) (let (...) (when replacement ... ...)))
(while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation (length ...)) (setq type (intern ...)) (setq headers (save-match-data ...)) (setq body (match-string 4)) (setq preserve-indent (or org-src-preserve-indentation ...)) (unless preserve-indent (setq body ...)) (unless (memq type types) (setq types ...)) (save-match-data (interblock start ...)) (when (setq func ...) (let ... ...)) (setq start (match-end 0)))
(progn (fset (quote interblock) (function* ...)) (goto-char (point-min)) (setq start (point)) (while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation ...) (setq type ...) (setq headers ...) (setq body ...) (setq preserve-indent ...) (unless preserve-indent ...) (unless ... ...) (save-match-data ...) (when ... ...) (setq start ...)) (interblock start (point-max)) (run-hooks (quote org-export-blocks-postblock-hook)))
(unwind-protect (progn (fset ... ...) (goto-char ...) (setq start ...) (while ... ... ... ... ... ... ... ... ... ... ...) (interblock start ...) (run-hooks ...)) (if --cl-letf-bound-- (fset ... --cl-letf-save--) (fmakunbound ...)))
(let* ((--cl-letf-bound-- ...) (--cl-letf-save-- ...)) (unwind-protect (progn ... ... ... ... ... ...) (if --cl-letf-bound-- ... ...)))
(letf ((... ...)) (goto-char (point-min)) (setq start (point)) (while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation ...) (setq type ...) (setq headers ...) (setq body ...) (setq preserve-indent ...) (unless preserve-indent ...) (unless ... ...) (save-match-data ...) (when ... ...) (setq start ...)) (interblock start (point-max)) (run-hooks (quote org-export-blocks-postblock-hook)))
(letf* ((... ...)) (goto-char (point-min)) (setq start (point)) (while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation ...) (setq type ...) (setq headers ...) (setq body ...) (setq preserve-indent ...) (unless preserve-indent ...) (unless ... ...) (save-match-data ...) (when ... ...) (setq start ...)) (interblock start (point-max)) (run-hooks (quote org-export-blocks-postblock-hook)))
(flet ((interblock ... ...)) (goto-char (point-min)) (setq start (point)) (while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation ...) (setq type ...) (setq headers ...) (setq body ...) (setq preserve-indent ...) (unless preserve-indent ...) (unless ... ...) (save-match-data ...) (when ... ...) (setq start ...)) (interblock start (point-max)) (run-hooks (quote org-export-blocks-postblock-hook)))
(let ((case-fold-search t) (types ...) indentation type func start body headers preserve-indent progress-marker) (flet (...) (goto-char ...) (setq start ...) (while ... ... ... ... ... ... ... ... ... ... ...) (interblock start ...) (run-hooks ...)))
(save-window-excursion (let (... ... indentation type func start body headers preserve-indent progress-marker) (flet ... ... ... ... ... ...)))
org-export-blocks-preprocess()
run-hooks(org-export-preprocess-after-include-files-hook)
(save-current-buffer (set-buffer (get-buffer-create " org-mode-tmp")) (erase-buffer) (insert string) (setq case-fold-search t) (let (...) (remove-text-properties ... ... ...)) (org-export-kill-licensed-text) (let (...) (org-mode)) (setq case-fold-search t) (org-install-letbind) (run-hooks (quote org-export-preprocess-hook)) (org-export-preprocess-apply-macros) (run-hooks (quote org-export-preprocess-after-macros-hook)) (untabify (point-min) (point-max)) (org-export-handle-include-files-recurse) (run-hooks (quote org-export-preprocess-after-include-files-hook)) (org-export-remove-archived-trees archived-trees) (org-export-remove-comment-blocks-and-subtrees) (org-export-handle-export-tags (plist-get parameters :select-tags) (plist-get parameters :exclude-tags)) (run-hooks (quote org-export-preprocess-after-tree-selection-hook)) (org-export-mark-list-ending backend) (org-export-replace-src-segments-and-examples backend) (org-export-protect-colon-examples) (when (plist-get parameters :footnotes) (org-footnote-normalize nil t)) (setq target-alist (org-export-define-heading-targets target-alist)) (run-hooks (quote org-export-preprocess-after-headline-targets-hook)) (org-export-remember-html-container-classes) (org-export-remove-or-extract-drawers drawers (plist-get parameters :drawers) backend) (when (plist-get parameters :skip-before-1st-heading) (goto-char ...) (when ... ... ... ...)) (when (plist-get parameters :add-text) (goto-char ...) (insert ... "\n")) (org-export-remove-headline-metadata parameters) (setq target-alist (org-export-handle-invisible-targets target-alist)) (run-hooks (quote org-export-preprocess-before-selecting-backend-code-hook)) (org-export-select-backend-specific-text backend) (org-export-protect-quoted-subtrees) (org-export-remove-clock-lines) (org-export-protect-verbatim) (org-export-mark-blockquote-verse-center) (run-hooks (quote org-export-preprocess-after-blockquote-hook)) (unless (plist-get parameters :timestamps) (org-export-remove-timestamps)) (setq target-alist (org-export-attach-captions-and-attributes backend target-alist)) (org-export-mark-radio-links) (run-hooks (quote org-export-preprocess-after-radio-targets-hook)) (org-export-concatenate-multiline-links) (run-hooks (quote org-export-preprocess-before-normalizing-links-hook)) (org-export-normalize-links) (org-export-target-internal-links target-alist) (when (plist-get parameters :emph-multiline) (org-export-concatenate-multiline-emphasis)) (when org-export-table-remove-special-lines (org-export-remove-special-table-lines)) (run-hooks (quote org-export-preprocess-before-backend-specifics-hook)) ...)
(with-current-buffer (get-buffer-create " org-mode-tmp") (erase-buffer) (insert string) (setq case-fold-search t) (let (...) (remove-text-properties ... ... ...)) (org-export-kill-licensed-text) (let (...) (org-mode)) (setq case-fold-search t) (org-install-letbind) (run-hooks (quote org-export-preprocess-hook)) (org-export-preprocess-apply-macros) (run-hooks (quote org-export-preprocess-after-macros-hook)) (untabify (point-min) (point-max)) (org-export-handle-include-files-recurse) (run-hooks (quote org-export-preprocess-after-include-files-hook)) (org-export-remove-archived-trees archived-trees) (org-export-remove-comment-blocks-and-subtrees) (org-export-handle-export-tags (plist-get parameters :select-tags) (plist-get parameters :exclude-tags)) (run-hooks (quote org-export-preprocess-after-tree-selection-hook)) (org-export-mark-list-ending backend) (org-export-replace-src-segments-and-examples backend) (org-export-protect-colon-examples) (when (plist-get parameters :footnotes) (org-footnote-normalize nil t)) (setq target-alist (org-export-define-heading-targets target-alist)) (run-hooks (quote org-export-preprocess-after-headline-targets-hook)) (org-export-remember-html-container-classes) (org-export-remove-or-extract-drawers drawers (plist-get parameters :drawers) backend) (when (plist-get parameters :skip-before-1st-heading) (goto-char ...) (when ... ... ... ...)) (when (plist-get parameters :add-text) (goto-char ...) (insert ... "\n")) (org-export-remove-headline-metadata parameters) (setq target-alist (org-export-handle-invisible-targets target-alist)) (run-hooks (quote org-export-preprocess-before-selecting-backend-code-hook)) (org-export-select-backend-specific-text backend) (org-export-protect-quoted-subtrees) (org-export-remove-clock-lines) (org-export-protect-verbatim) (org-export-mark-blockquote-verse-center) (run-hooks (quote org-export-preprocess-after-blockquote-hook)) (unless (plist-get parameters :timestamps) (org-export-remove-timestamps)) (setq target-alist (org-export-attach-captions-and-attributes backend target-alist)) (org-export-mark-radio-links) (run-hooks (quote org-export-preprocess-after-radio-targets-hook)) (org-export-concatenate-multiline-links) (run-hooks (quote org-export-preprocess-before-normalizing-links-hook)) (org-export-normalize-links) (org-export-target-internal-links target-alist) (when (plist-get parameters :emph-multiline) (org-export-concatenate-multiline-emphasis)) (when org-export-table-remove-special-lines (org-export-remove-special-table-lines)) (run-hooks (quote org-export-preprocess-before-backend-specifics-hook)) ...)
(let* ((htmlp ...) (asciip ...) (latexp ...) (docbookp ...) (backend ...) (archived-trees ...) (inhibit-read-only t) (drawers org-drawers) (outline-regexp "\\*+ ") target-alist rtn) (setq org-export-target-aliases nil org-export-preferred-target-alist nil org-export-id-target-alist nil org-export-code-refs nil) (with-current-buffer (get-buffer-create " org-mode-tmp") (erase-buffer) (insert string) (setq case-fold-search t) (let ... ...) (org-export-kill-licensed-text) (let ... ...) (setq case-fold-search t) (org-install-letbind) (run-hooks ...) (org-export-preprocess-apply-macros) (run-hooks ...) (untabify ... ...) (org-export-handle-include-files-recurse) (run-hooks ...) (org-export-remove-archived-trees archived-trees) (org-export-remove-comment-blocks-and-subtrees) (org-export-handle-export-tags ... ...) (run-hooks ...) (org-export-mark-list-ending backend) (org-export-replace-src-segments-and-examples backend) (org-export-protect-colon-examples) (when ... ...) (setq target-alist ...) (run-hooks ...) (org-export-remember-html-container-classes) (org-export-remove-or-extract-drawers drawers ... backend) (when ... ... ...) (when ... ... ...) (org-export-remove-headline-metadata parameters) (setq target-alist ...) (run-hooks ...) (org-export-select-backend-specific-text backend) (org-export-protect-quoted-subtrees) (org-export-remove-clock-lines) (org-export-protect-verbatim) (org-export-mark-blockquote-verse-center) (run-hooks ...) (unless ... ...) (setq target-alist ...) (org-export-mark-radio-links) (run-hooks ...) (org-export-concatenate-multiline-links) (run-hooks ...) (org-export-normalize-links) (org-export-target-internal-links target-alist) (when ... ...) (when org-export-table-remove-special-lines ...) (run-hooks ...) ...) (kill-buffer " org-mode-tmp") rtn)
org-export-preprocess-string(#("#+TITLE: Devis pour les demandes 2010\n#+AUTHOR: Fabrice Niessen\n#+EMAIL: fni-djc/iPCCuDYQheJpep6IedvLeJWuRmrY@public.gmane.org\n#+DATE: 2010-09-20\n#+DESCRIPTION: \n#+KEYWORDS: \n#+LANGUAGE: fr_FR\n#+OPTIONS: H:4 toc:3\n\n* Fichiers :noexport:\n\n- [[file:~/Projects/Client/Ontology/champs.csv]]\n\n* Contexte\n\nLors d'une r\x00e9union avec J\x00e9r\x00f4me, tenue le 7 juillet 2010, il nous a \x00e9t\x00e9 expos\x00e9\n\ diff\x00e9rentes demandes de modifications de l'application PFlow.\n\nSuite \x00e0 des \x00e9\ changes de courriers et quelques coups de fil, courant septembre\n2010, il nous a \x00e9galement \x00e9t\x00e9 demand\x00e9 d'int\x00e9grer \x00e0 PFlow un flux\nd'informations (DMFA) de et vers la BCSS (Banque Carrefour de la S\x00e9\ curit\x00e9\nSociale), dans le but d'automatiser une partie des t\x00e2\ ches du ROL.\n\nCe devis mat\x00e9rialise l'estimation de travail associ\x00e9\ e \x00e0 chacune de ces t\x00e2\ ches.\n\n* Demandes\n :PROPERTIES:\n :COLUMNS: %40ITEM(Task) %6Effort(Estim.){:}\n :Effort_ALL: 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 8:00 12:00 16:00 24:00 32:00 40:00 48:00 56:00 64:00 72:00 80:00\n :Effort: 43:00\n :END:\n\n** TODO Int\x00e9grer le flux DMFA dans PFlow\n\nDans la demande d'int\x00e9gration du flux DMFA, nous distinguons deux phases de\nd\x00e9veloppement\x00a0:\n\n1) Interroger la DMFA, et \"populer\" (\x00e0 partir des r\x00e9sultats)\x00a0:\n - la date de fin du contrat de travail,\n - le nombre d'employ\x00e9s \x00e0 diff\x00e9rents trimestres.\n\n2) Interroger la DMFA, et (\x00e0 partir des r\x00e9sultats) ins\x00e9rer automatiquement\n des jetons dans le dossier pour le faire avancer dans les bonnes piles.\n Ainsi, il faudra r\x00e9pondre aux questions\x00a0:\n\n - Documents re\x00e7us\x00a0?\n - Dur\x00e9\ e du contrat de travail OK\x00a0?\n - Augmentation de l'effectif OK\x00a0? (\x00e0 calculer\x00a0!)\n\n Une autre possibilit\x00e9 serait de /bypasser/ toute une partie du processus,\n en mettant directement le dossier dans la bonne pile (passif, par exemple).\n\nLa seconde phase \x00e9tant un compl\x00e9ment \x00e0 la premi\x00e8re, il n'y aura pas de\nd\x00e9veloppement dit /kleenex/...\n\n*** Phase 1\n\n**** TODO D\x00e9\ finir le format des donn\x00e9\ es extraites de PFlow\n\nFichier texte au format CSV (utilisant le point-virgule comme s\x00e9parateur de\nchamps).\n\n**** TODO \x00c9\ crire la requ\x00eate des donn\x00e9\ es \x00e0 extraire\n\nLes /inputs/ pour la BCSS sont\x00a0:\n\n- num\x00e9ro du dossier PFlow (cl\x00e9 unique)\n- NISS du stagiaire\n- num\x00e9ro BCE de l'entreprise\n- date de fin *r\x00e9\ elle* du PFI\n- date de fin des OL (telle que pr\x00e9vue)\n\nsoit une requ\x00eate semblable \x00e0\x00a0:\n\n#+srcname: extract-input-bcss\n#+begin_src sql :results output :cmdline -S 10.10.10.11 -D [pfi-paiestag] -U sa -P LpmdlP -w 256 :engine sqsh\nSELECT TOP 5 pfiID,\n stgNISS,\n etpSiegeExpNumBCE,\n frmArretDate,\n rolEngagDateFin\nFROM dossier, stagiaire, entreprise, formation, rol\nWHERE pfiID = stgPfiID_fk AND\n pfiID = etpPfiID_fk AND\n pfiID = frmPfiID_fk AND\n pfiID = rolPfiID_fk\ngo\n#+end_src\n\n**** TODO \x00c9\ crire le script d'export de PFlow\n\nIl faut \x00e9\ crire un script =isql= \x00e9quivalent \x00e0 un =bcp= *s\x00e9lectif*\n(\x00e9ventuellement, via l'appel d'une *proc\x00e9\ dure stock\x00e9\ e*), en rajoutant des\nconditions sur les dossiers \x00e0 extraire\x00a0:\n\n- Les dossiers sont dans le ROL.\n- Les donn\x00e9\ es du dossier n'ont pas encore \x00e9t\x00e9 envoy\x00e9\ es dans la \"BD tampon\" (BD\n pr\x00e9sente \x00e0 la DSI, et servant d'interm\x00e9\ diaire vis-\x00e0-vis de la BCSS).\n- autres\x00a0?\n\n**** TODO \x00c9\ crire le script d'import dans la BD tampon\n\n\x00c0 partir du fichier des donn\x00e9\ es extraites de PFlow, il faut g\x00e9n\x00e9rer les\nrequ\x00eates ad\x00e9quates d'insertion dans la BD tampon.\n\n**** TODO \x00c9\ crire le script d'export de la BD tampon\n\nAller interroger tous les jours la BD tampon, et en extraire les nouvelles\ndonn\x00e9\ es en provenance de la BCSS.\n\n**** TODO \x00c9\ crire le script d'import dans PFlow\n\nIns\x00e9rer certains des /outputs/ de la BCSS dans PFlow, parmi\x00a0:\n\n- la classe du stagiaire (ouvrier, employ\x00e9, stagiaire, \x00e9tudiant, etc.),\n\n- la date de d\x00e9\ but du contrat de travail sur la p\x00e9riode d\x00e9\ finie (entre la date\n de fin du PFI et la date de fin des OL),\n\n- la date de fin du contrat de travail, quand elle existe (sinon, cela\n implique que le contrat est un CDI),\n\n- le nombre de NISS par classe de travailleurs pour le trimestre de fin des OL\n (pour v\x00e9rifier l'augmentation de l'effectif).\n\n\n\n\nAttention\x00a0: on peut avoir plusieurs lignes pour une m\x00eame personne... Par\nexemple, du 1ier janvier 2010 au 30 juin 2010. Si rupture, deuxi\x00e8me ligne...\n\nSi rupture avant terme, contr\x00f4le \x00e0 la DMFA\x00a0? \x00c0 voir.\n\nPour l'instant, un des conseillers ROL regarde le nombre de travailleurs.\nId\x00e9\ e\x00a0: pouvoir alimenter ces champs-l\x00e0, et de voir s'il y a eu augmentation de\nl'effectif ou pas.\n\n\n**** TODO R\x00e9pondre aux questions ouvertes\n\n- Quand est-on s\x00fbr que la r\x00e9ponse de la BCSS est correcte et compl\x00e8te\x00a0?\n- Quel est le format des donn\x00e9\ es extraites de la BCSS, en particulier des\n trimestres\x00a0?\n- Faut-il /flagger/ les donn\x00e9\ es lues de la BCSS\x00a0?\n- Faut-il laisser les donn\x00e9\ es (ins\x00e9r\x00e9\ es et/ou lues) en BD tampon (de mani\x00e8re \x00e0\n garder un historique)\x00a0?\n\n*** Phase 2\n\nSelon nous, la solution id\x00e9\ ale, pour la phase 2, est de faire avancer les\ndossiers comme s'ils avaient \x00e9t\x00e9 g\x00e9r\x00e9s par un utilisateur, \x00e0 partir de\nl'interface PFlow.\n\nCela revient \x00e0 pr\x00e9-ins\x00e9rer des jetons aux endroits o\x00f9 des r\x00e9ponses doivent\n\x00eatre fournies, et \x00e0 laisser le serveur faire naturellement avancer le dossier\nselon la d\x00e9\ finition courante du processus.\n\n** TODO Corriger la feuille Excel\n :PROPERTIES:\n :Effort: 4:00\n :END:\n\nLorsque les stagiaires re\x00e7oivent une copie imprim\x00e9\ e de la \"Feuille de calcul\",\nune erreur est visible dans l'addition calculant le revenu net du stagiaire,\npour tous les ch\x00f4meurs complets indemnis\x00e9s *sanctionn\x00e9s*. Cette erreur, qui\nn'a pas d'impact sur les montants pay\x00e9s par le Client, pourrait faire croire \x00e0\n\ ces stagiaires qu'ils toucheront plus d'argent que dans la r\x00e9\ alit\x00e9\x00a0:\ncontrairement au d\x00e9tail de l'addition, le total tient compte d'une indemnit\x00e9\n\ de compensation de 248 EUR qui ne leur sera toutefois pas vers\x00e9\ e (\x00e9tant\nsanctionn\x00e9s).\n\nLe dossier =54/201006/0022= est dans ce cas, comme 94 autres (stagiaires CCI\nsanctionn\x00e9s). V\x00e9rifier la cellule =D79= : il semble que cela doit \x00eatre 0 EUR\nsi =indAllocType= est \x00e9gal \x00e0 4.\n\n** TODO G\x00e9n\x00e9rer une vue graphique des calculs et d\x00e9pendances\n :PROPERTIES:\n :Effort: 10:00\n :END:\n\nDe mani\x00e8re plus g\x00e9n\x00e9rale, cette erreur \x00e9tant pass\x00e9\ e en production (suite \x00e0\nl'ajout, en 2007, de 4 nouveaux cas), il conviendra de mettre \x00e0 plat le calcul\ndes indemnit\x00e9s, en fonction des types d'allocations per\x00e7ues par le stagiaire.\n\nUne id\x00e9\ e pourrait \x00eatre de g\x00e9n\x00e9rer une repr\x00e9sentation graphique des calculs\nExcel. Cela permettrait de voir plus clairement l'interrelation entre les\n(groupes de) cellules.\n\n** TODO Ajouter des commissions paritaires\n :PROPERTIES:\n :Effort: 2:00\n :END:\n\nDe nouvelles CP doivent \x00eatre introduites dans le menu d\x00e9roulant. \x00c0 ce jour,\ntoutefois, la liste des ajouts n'est pas encore finalis\x00e9\ e.\n\nCe changement va n\x00e9\ cessiter la cr\x00e9\ ation et le d\x00e9ploiement d'un nouveau WAR.\n\n** TODO \x00c9\ cran des prestations\n\n*** TODO Modifier les libell\x00e9s associ\x00e9s aux \"Nbr de Jours\"\n :PROPERTIES:\n :Effort: 1:00\n :END:\n\nLe *nombre de jours ouvrables* devrait devenir \"nombre de jours payables\",\navec, \x00e0 sa droite, le libell\x00e9 \"habituels + JF\" (entre parenth\x00e8ses).\n\nIl faudrait mettre, entre parenth\x00e8ses, \x00e0 c\x00f4t\x00e9 du *nombre de jours assimil\x00e9s*,\nun libell\x00e9 \"R, RC, JF, ...\" (pour \"R\x00e9\ cups, Repos Compensatoire, Jours F\x00e9ri\x00e9s,\n...\").\n\n*** DFRD Raffiner la case \"Nbr de Jours Autres\"\n :PROPERTIES:\n :Effort: 0:00\n :END:\n\nIl faudrait remplacer la case \"Nbr de Jours Autres\" par 3 cases\x00a0:\n\n- Absence Justifi\x00e9\ e\n- Absence Injustifi\x00e9\ e\n- Ch\x00f4mage temporaire\n\nQuestion\x00a0: qu'en est-il de tous les dossiers en production\x00a0? Faut-il mettre\nles \"jours autres\" comme \"absence justifi\x00e9\ e\"\x00a0?\n\nCette demande est temporairement report\x00e9\ e \x00e0 plus tard, les sp\x00e9\ cifications\nn'\x00e9tant pas encore suffisamment claires.\n\n*** TODO Rajouter des mois de prestations\n :PROPERTIES:\n :Effort: 3:00\n :END:\n\nDeux dossiers ont actuellement d\x00e9pass\x00e9 la limite (pourtant d\x00e9j\x00e0 \x00e9lev\x00e9\ e) des\n30\x00a0mois de prestations\x00a0:\n\n- =63/200709/0011=\n- =73/200710/0065=\n\nDeux autres dossiers ont \x00e9galement d\x00e9j\x00e0 eu un nombre de prestations encod\x00e9\ es\nsup\x00e9rieur \x00e0 25\x00a0: en fait, 27 et 29 mois de prestations.\n\nIl faut donc rajouter des mois de prestations, pour faire passer la limite de\n30 mois \x00e0 42, par exemple.\n\n*** TODO Calculer correctement le total des prestations, en cas de rectification\n :PROPERTIES:\n :Effort: 8:00\n :END:\n\nActuellement, les totaux des indemnit\x00e9s vers\x00e9\ es aux stagiaires sont calcul\x00e9s\nautomatiquement pour \x00eatre \x00e9ventuellement utilis\x00e9s dans des lettres de cr\x00e9\ ance.\n\nToutefois, ils ne sont corrects (ce qui est explicitement sp\x00e9\ cifi\x00e9 dans les\n\x00e9\ crans de PFlow) qu'\x00e0 la condition qu'il n'y ait pas eu de rectifications lors\nde l'encodage (mensuel) des prestations.\n\nNous devrions modifier les formules de mani\x00e8re \x00e0 ce que les calculs soient\ncorrects, y compris dans ce cas-l\x00e0.\n\n** TODO Augmenter la taille du \"Post-it\" et des autres \x00e9\ crans\n :PROPERTIES:\n :Effort: 4:00\n :END:\n\nVu l'utilisation de plus en plus courante de moniteurs sous des r\x00e9solutions\nsup\x00e9rieures ou \x00e9gales \x00e0 1024 x 768, les \x00e9\ crans de PFlow peuvent \x00eatre adapt\x00e9s\npour tenir compte de cet espace disponible suppl\x00e9mentaire.\n\n** TODO Suivi de la formation\n\nL'avis de l'instructeur sur la poursuite de la formation (=frmSuivi1InsAvis=,\npar exemple) comporte actuellement 3 r\x00e9ponses possibles\x00a0:\n\n1. favorable,\n2. r\x00e9serv\x00e9,\n3. d\x00e9\ favorable\n\nIl faudra ajouter l'\x00e9l\x00e9ment \"4. report\x00e9\".\n\nQuant \x00e0 la modalit\x00e9 du suivi de la formation\x00a0:\n\n1. en entreprise,\n2. \x00e0 la DR en pr\x00e9sence du stagiaire,\n3. \x00e0 la DR en pr\x00e9sence de l'employeur,\n4. \x00e0 la DR en pr\x00e9sence des deux parties,\n5. par courrier sans contact t\x00e9l\x00e9phonique,\n6. par courrier avec contact t\x00e9l\x00e9phonique stagiaire,\n7. par courrier avec contact t\x00e9l\x00e9phonique employeur,\n8. par courrier avec contact t\x00e9l\x00e9phonique aux deux parties\n\nil faudra *supprimer* l'\x00e9l\x00e9ment \"1. en entreprise\" et ajouter\x00a0:\n\n- en entreprise, en pr\x00e9sence du stagiaire\n- en entreprise, en pr\x00e9sence de l'employeur\n- en entreprise, en pr\x00e9sence des deux parties\n\nPour les anciens dossiers, consid\x00e9rer que le suivi s'est fait \"en entreprise,\nen pr\x00e9sence des deux parties\". Mettre \x00e0 jour la base de donn\x00e9\ es.\n\n** TODO Ajouter deux cas d'arr\x00eat de la formation\n\nActuellement, l'origine de l'arr\x00eat de la formation PFI (=frmArretOrigDec=)\npeut \x00eatre report\x00e9 comme \x00e9tant une\x00a0:\n\n- rupture Client \x00e0 la demande de l'entreprise\n- rupture Client \x00e0 la demande du stagiaire\n- rupture Client \x00e0 la demande du Client\n- rupture unilat\x00e9rale de l'entreprise (hors p\x00e9riode d'essai)\n- rupture unilat\x00e9rale du stagiaire (hors p\x00e9riode d'essai)\n- rupture : engagement avant terme\n- rupture unilat\x00e9rale de l'entreprise pendant essai sans pr\x00e9\ avis\n- rupture unilat\x00e9rale de l'entreprise pendant essai avec pr\x00e9\ avis\n- rupture unilat\x00e9rale du stagiaire pendant essai sans pr\x00e9\ avis\n- rupture unilat\x00e9rale du stagiaire pendant essai avec pr\x00e9\ avis\n- fin \x00e0 terme\n\nIl faut ajouter deux types de rupture :\n\n- Rupture de commun accord \x00e0 la demande des deux parties ::\n Doit passer en analyse de sanctions (car pas avec l'accord du Client), car\n ils ne respectent pas les obligations l\x00e9gales.\n\n- Rupture engagement par un autre employeur ::\n Passera au passif, car le stagiaire n'a pas d'obligations l\x00e9gales.\n\n** TODO \x00c9tendre la proc\x00e9\ dure de r\x00e9initialisation des dossiers\n :PROPERTIES:\n :Effort: 8:00\n :END:\n\n- V\x00e9rifier la proc\x00e9\ dure de r\x00e9init (voir les jetons plac\x00e9s lors de la mise du\n dossier en \x00e9tat de r\x00e9-ouverture)\n\n- Rajouter deux champs :\n + date\n + nom du conseiller qui demande la r\x00e9init\n\n** TODO Requ\x00eate pour \x00c9milia\n\nAfin de grandement faciliter le travail d'\x00c9milia, entre autres, il faudrait\najouter la possibilit\x00e9 de g\x00e9n\x00e9rer dynamiquement une liste de tous les dossiers\nqui satisfont aux conditions suivantes\x00a0:\n\n- entr\x00e9 dans (mais pas encore sorti de) la pile \"Analyse Sanctions\",\n- fin avant terme, caus\x00e9\ e par une \"rupture unilat\x00e9rale de l'entreprise (hors\n p\x00e9riode d'essai)\"\n- lettre de cr\x00e9\ ance pas encore envoy\x00e9\ e (date et num\x00e9ro vides)\n\nEn utilisant les cl\x00e9s du dictionnaire, la condition \x00e0 tester est\x00a0:\n\n#+begin_src sql\nfrmArretOrigDec = 4\nrolCreanceDateEnvoi IS NULL\nrolCreanceNum IS NULL\nIN SELECT * WHERE (pilTacheID = 1651 AND\n pilDateEntree IS NOT NULL AND\n pilDateSortie IS NULL)\n#+end_src\n\n** TODO Comparer les documents en production et les sauvegarder sous SVN\n :PROPERTIES:\n :Effort: 3:00\n :END:\n\nDiff\x00e9rents documents ont \x00e9t\x00e9 \x00e9\ dit\x00e9s par le Client au cours des mois pr\x00e9\ c\x00e9\ dents.\nIl faudrait comparer chacun d'eux et mettre leur version la plus r\x00e9\ cente sous\nSVN, afin d'\x00e9viter des erreurs lors de d\x00e9ploiements futurs.\n\n*** TODO \"Versioner\" la feuille de tiers\n" 0 8 (font-lock-fontified t fontified nil) 8 13 (fontified nil) 13 41 (font-lock-fontified t fontified nil) 41 42 (fontified nil) 42 51 (font-lock-fontified t fontified nil) 51 55 (fontified nil) 55 70 (font-lock-fontified t fontified nil) 70 71 (fontified nil) 71 79 (font-lock-fontified t fontified nil) 79 84 (fontified nil) 84 109 (font-lock-fontified t fontified nil) 109 110 (fontified nil) 110 117 (font-lock-fontified t fontified nil) 117 123 (fontified nil) 123 133 (fontified nil font-lock-fontified t) 133 134 (fontified nil) 134 149 (font-lock-fontified t fontified nil) 149 150 (fontified nil) 150 162 (font-lock-fontified t fontified nil) 162 163 (fontified nil) 163 178 (font-lock-fontified t fontified nil) 178 181 (font-lock-fontified t fontified nil) 181 182 (fontified nil) 182 204 (font-lock-fontified t fontified nil) 204 205 (fontified nil) 205 206 (fontified nil) 206 208 (fontified nil) 208 273 (fontified nil) 273 282 (fontified nil) 282 283 (rear-nonsticky (mouse-face highlight keymap invisible intangible help-echo org-linked-text) fontified nil) 283 285 (fontified nil) 285 286 (fontified nil) 286 287 (fontified nil) 287 288 (help-echo "LINK: file:~/Projects/Client/Ontology/champs.csv" fontified nil) 288 289 (help-echo "LINK: file:~/Projects/Client/Ontology/champs.csv" rear-nonsticky (mouse-face highlight keymap invisible intangible help-echo org-linked-text) fontified nil) 289 350 (help-echo "LINK: file:~/Projects/Client/Ontology/champs.csv" fontified nil) 350 351 (rear-nonsticky (mouse-face highlight keymap invisible intangible help-echo org-linked-text) help-echo "LINK: file:~/Projects/Client/Ontology/champs.csv" fontified nil) 351 352 (help-echo "LINK: file:~/Projects/Client/Ontology/champs.csv" fontified nil) 352 353 (help-echo "LINK: file:~/Projects/Client/Ontology/champs.csv" rear-nonsticky (mouse-face highlight keymap invisible intangible help-echo org-linked-text) fontified nil) 353 355 (fontified nil) 355 357 (fontified nil) 357 365 (fontified nil) 365 507 (fontified nil) 507 871 (fontified nil) 871 872 (fontified nil) 872 874 (fontified nil) 874 882 (fontified nil) 882 883 (fontified nil) 883 897 (fontified nil) 897 900 (fontified nil) 900 909 (fontified nil) 909 911 (fontified nil) 911 944 (fontified nil) 944 947 (fontified nil) 947 954 (fontified nil) 954 958 (fontified nil) 958 959 (fontified nil) 959 960 (fontified nil) 960 1023 (fontified nil) 1023 1024 (fontified nil) 1024 1025 (fontified nil) 1025 1026 (fontified nil) 1026 1064 (fontified nil) 1064 1065 (fontified nil) 1065 1067 (fontified nil) 1067 1075 (fontified nil) 1075 1078 (fontified nil) 1078 1083 (fontified nil) 1083 1084 (fontified nil) 1084 1091 (fontified nil) 1091 1093 (fontified nil) 1093 1094 (fontified nil) 1094 1096 (fontified nil) 1096 1100 (fontified nil) 1100 1133 (fontified nil) 1133 1228 (fontified nil) 1228 1230 (fontified nil) 1230 1294 (fontified nil) 1294 1295 (fontified nil) 1295 1337 (fontified nil) 1337 1338 (fontified nil) 1338 1385 (fontified nil) 1385 1386 (fontified nil) 1386 1388 (fontified nil) 1388 1585 (fontified nil) 1585 1586 (fontified nil) 1586 1608 (fontified nil) 1608 1609 (fontified nil) 1609 1646 (fontified nil) 1646 1647 (fontified nil) 1647 1731 (fontified nil) 1731 1741 (fontified nil) 1741 1773 (fontified nil) 1773 1924 (fontified nil) 1924 1942 (fontified nil) 1942 1951 (fontified nil) 1951 1954 (fontified nil) 1954 1955 (fontified nil) 1955 1956 (fontified nil) 1956 1958 (fontified nil) 1958 1960 (fontified nil) 1960 1967 (fontified nil) 1967 1969 (fontified nil) 1969 1972 (fontified nil) 1972 1974 (fontified nil) 1974 1978 (fontified nil) 1978 2027 (fontified nil) 2027 2105 (fontified nil) 2105 2114 (fontified nil) 2114 2115 (fontified nil) 2115 2118 (fontified nil) 2118 2120 (fontified nil) 2120 2124 (fontified nil) 2124 2165 (fontified nil) 2165 2171 (fontified nil) 2171 2179 (fontified nil) 2179 2201 (fontified nil) 2201 2202 (fontified nil) 2202 2240 (fontified nil) 2240 2241 (fontified nil) 2241 2260 (fontified nil) 2260 2261 (fontified nil) 2261 2289 (fontified nil) 2289 2290 (fontified nil) 2290 2303 (fontified nil) 2303 2310 (fontified nil) 2310 2311 (fontified nil) 2311 2312 (fontified nil) 2312 2319 (fontified nil) 2319 2320 (fontified nil) 2320 2392 (fontified nil) 2392 2421 (font-lock-fontified t fontified nil) 2421 2422 (fontified nil) 2422 2429 (font-lock-fontified t fontified nil) 2429 2433 (font-lock-fontified t fontified nil) 2433 2500 (font-lock-fontified t fontified nil) 2500 2501 (font-lock-fontified t fontified nil) 2501 2502 (font-lock-fontified t fontified nil) 2502 2503 (font-lock-fontified t fontified nil) 2503 2531 (font-lock-fontified t fontified nil) 2531 2532 (font-lock-fontified t fontified nil) 2532 2615 (font-lock-fontified t fontified nil) 2615 2712 (font-lock-fontified t fontified nil) 2712 2715 (font-lock-fontified t fontified nil) 2715 2742 (font-lock-fontified t fontified nil) 2742 2745 (font-lock-fontified t fontified nil) 2745 2772 (font-lock-fontified t fontified nil) 2772 2775 (font-lock-fontified t fontified nil) 2775 2802 (font-lock-fontified t fontified nil) 2802 2805 (font-lock-fontified t fontified nil) 2805 2808 (font-lock-fontified t fontified nil) 2808 2809 (font-lock-fontified t fontified nil) 2809 2814 (font-lock-fontified t fontified nil) 2814 2818 (font-lock-fontified t fontified nil) 2818 2819 (fontified nil) 2819 2820 (fontified nil) 2820 2823 (fontified nil) 2823 2825 (fontified nil) 2825 2829 (fontified nil) 2829 2864 (fontified nil) 2864 2865 (fontified nil) 2865 2890 (fontified nil) 2890 2891 (fontified nil) 2891 2897 (fontified nil) 2897 2898 (fontified nil) 2898 2913 (fontified nil) 2913 2914 (fontified nil) 2914 2919 (fontified nil) 2919 2920 (fontified nil) 2920 2930 (fontified nil) 2930 2966 (fontified nil) 2966 2985 (fontified nil) 2985 3047 (fontified nil) 3047 3048 (fontified nil) 3048 3080 (fontified nil) 3080 3081 (fontified nil) 3081 3159 (fontified nil) 3159 3230 (fontified nil) 3230 3231 (fontified nil) 3231 3242 (fontified nil) 3242 3245 (fontified nil) 3245 3247 (fontified nil) 3247 3251 (fontified nil) 3251 3295 (fontified nil) 3295 3369 (fontified nil) 3369 3419 (fontified nil) 3419 3420 (fontified nil) 3420 3423 (fontified nil) 3423 3425 (fontified nil) 3425 3429 (fontified nil) 3429 3471 (fontified nil) 3471 3473 (fontified nil) 3473 3583 (fontified nil) 3583 3586 (fontified nil) 3586 3588 (fontified nil) 3588 3592 (fontified nil) 3592 3629 (fontified nil) 3629 3652 (fontified nil) 3652 3661 (fontified nil) 3661 3693 (fontified nil) 3693 3694 (fontified nil) 3694 3695 (fontified nil) 3695 3767 (fontified nil) 3767 3768 (fontified nil) 3768 3890 (fontified nil) 3890 3891 (fontified nil) 3891 3961 (fontified nil) 3961 4000 (fontified nil) 4000 4001 (fontified nil) 4001 4002 (fontified nil) 4002 4197 (fontified nil) 4197 4200 (fontified nil) 4200 4205 (fontified nil) 4205 4278 (fontified nil) 4278 4281 (fontified nil) 4281 4491 (fontified nil) 4491 4510 (fontified nil) 4510 4512 (fontified nil) 4512 4515 (fontified nil) 4515 4517 (fontified nil) 4517 4521 (fontified nil) 4521 4553 (fontified nil) 4553 4555 (fontified nil) 4555 4556 (fontified nil) 4556 4627 (fontified nil) 4627 4628 (fontified nil) 4628 4716 (fontified nil) 4716 4717 (fontified nil) 4717 4726 (fontified nil) 4726 4735 (fontified nil) 4735 4766 (fontified nil) 4766 4767 (fontified nil) 4767 4872 (fontified nil) 4872 4874 (fontified nil) 4874 4876 (fontified nil) 4876 4883 (fontified nil) 4883 4884 (fontified nil) 4884 4885 (fontified nil) 4885 4897 (fontified nil) 4897 4958 (fontified nil) 4958 4959 (fontified nil) 4959 4963 (fontified nil) 4963 4964 (fontified nil) 4964 4965 (fontified nil) 4965 4966 (fontified nil) 4966 4967 (fontified nil) 4967 4968 (fontified nil) 4968 4969 (fontified nil) 4969 4970 (fontified nil) 4970 4971 (fontified nil) 4971 4972 (fontified nil) 4972 4973 (fontified nil) 4973 4974 (fontified nil) 4974 4975 (fontified nil) 4975 4976 (fontified nil) 4976 4977 (fontified nil) 4977 4978 (fontified nil) 4978 5029 (fontified nil) 5029 5030 (fontified nil) 5030 5047 (fontified nil) 5047 5049 (fontified nil) 5049 5050 (fontified nil) 5050 5125 (fontified nil) 5125 5128 (fontified nil) 5128 5203 (fontified nil) 5203 5204 (fontified nil) 5204 5205 (fontified nil) 5205 5206 (fontified nil) 5206 5245 (fontified nil) 5245 5246 (fontified nil) 5246 5247 (fontified nil) 5247 5248 (fontified nil) 5248 5250 (fontified nil) 5250 5254 (fontified nil) 5254 5280 (fontified nil) 5280 5281 (fontified nil) 5281 5296 (fontified nil) 5296 5300 (fontified nil) 5300 5308 (fontified nil) 5308 5311 (fontified nil) 5311 5315 (fontified nil) 5315 5316 (fontified nil) 5316 5324 (fontified nil) 5324 5405 (fontified nil) 5405 5525 (fontified nil) 5525 5538 (fontified nil) 5538 5558 (fontified nil) 5558 5636 (fontified nil) 5636 5879 (fontified nil) 5879 5880 (fontified nil) 5880 5896 (fontified nil) 5896 5897 (fontified nil) 5897 5979 (fontified nil) 5979 5980 (fontified nil) 5980 5985 (fontified nil) 5985 5986 (fontified nil) 5986 6025 (fontified nil) 6025 6026 (fontified nil) 6026 6040 (fontified nil) 6040 6041 (fontified nil) 6041 6055 (fontified nil) 6055 6056 (fontified nil) 6056 6057 (fontified nil) 6057 6059 (fontified nil) 6059 6063 (fontified nil) 6063 6116 (fontified nil) 6116 6117 (fontified nil) 6117 6132 (fontified nil) 6132 6136 (fontified nil) 6136 6144 (fontified nil) 6144 6147 (fontified nil) 6147 6152 (fontified nil) 6152 6153 (fontified nil) 6153 6161 (fontified nil) 6161 6568 (fontified nil) 6568 6569 (fontified nil) 6569 6570 (fontified nil) 6570 6572 (fontified nil) 6572 6576 (fontified nil) 6576 6611 (fontified nil) 6611 6612 (fontified nil) 6612 6627 (fontified nil) 6627 6631 (fontified nil) 6631 6639 (fontified nil) 6639 6642 (fontified nil) 6642 6646 (fontified nil) 6646 6647 (fontified nil) 6647 6655 (fontified nil) 6655 6733 (fontified nil) 6733 6870 (fontified nil) 6870 6871 (fontified nil) 6871 6873 (fontified nil) 6873 6877 (fontified nil) 6877 6899 (fontified nil) 6899 6901 (fontified nil) 6901 6903 (fontified nil) 6903 6905 (fontified nil) 6905 6909 (fontified nil) 6909 6959 (fontified nil) 6959 6960 (fontified nil) 6960 6976 (fontified nil) 6976 6981 (fontified nil) 6981 6989 (fontified nil) 6989 6992 (fontified nil) 6992 6996 (fontified nil) 6996 6997 (fontified nil) 6997 7006 (fontified nil) 7006 7011 (fontified nil) 7011 7037 (fontified nil) 7037 7038 (fontified nil) 7038 7039 (fontified nil) 7039 7083 (fontified nil) 7083 7201 (fontified nil) 7201 7228 (fontified nil) 7228 7253 (fontified nil) 7253 7256 (fontified nil) 7256 7308 (fontified nil) 7308 7311 (fontified nil) 7311 7315 (fontified nil) 7315 7316 (fontified nil) 7316 7318 (fontified nil) 7318 7320 (fontified nil) 7320 7324 (fontified nil) 7324 7363 (fontified nil) 7363 7364 (fontified nil) 7364 7380 (fontified nil) 7380 7385 (fontified nil) 7385 7393 (fontified nil) 7393 7396 (fontified nil) 7396 7400 (fontified nil) 7400 7401 (fontified nil) 7401 7410 (fontified nil) 7410 7479 (fontified nil) 7479 7480 (fontified nil) 7480 7499 (fontified nil) 7499 7500 (fontified nil) 7500 7521 (fontified nil) 7521 7522 (fontified nil) 7522 7784 (fontified nil) 7784 7786 (fontified nil) 7786 7788 (fontified nil) 7788 7792 (fontified nil) 7792 7825 (fontified nil) 7825 7826 (fontified nil) 7826 7842 (fontified nil) 7842 7847 (fontified nil) 7847 7855 (fontified nil) 7855 7858 (fontified nil) 7858 7862 (fontified nil) 7862 7863 (fontified nil) 7863 7872 (fontified nil) 7872 7977 (fontified nil) 7977 7978 (fontified nil) 7978 7994 (fontified nil) 7994 7996 (fontified nil) 7996 7997 (fontified nil) 7997 8013 (fontified nil) 8013 8254 (fontified nil) 8254 8255 (fontified nil) 8255 8257 (fontified nil) 8257 8259 (fontified nil) 8259 8263 (fontified nil) 8263 8333 (fontified nil) 8333 8334 (fontified nil) 8334 8335 (fontified nil) 8335 8336 (fontified nil) 8336 8352 (fontified nil) 8352 8357 (fontified nil) 8357 8365 (fontified nil) 8365 8368 (fontified nil) 8368 8372 (fontified nil) 8372 8373 (fontified nil) 8373 8382 (fontified nil) 8382 8813 (fontified nil) 8813 8849 (fontified nil) 8849 8850 (fontified nil) 8850 8851 (fontified nil) 8851 8853 (fontified nil) 8853 8857 (fontified nil) 8857 8911 (fontified nil) 8911 8912 (fontified nil) 8912 8927 (fontified nil) 8927 8931 (fontified nil) 8931 8939 (fontified nil) 8939 8942 (fontified nil) 8942 8946 (fontified nil) 8946 8947 (fontified nil) 8947 8955 (fontified nil) 8955 9170 (fontified nil) 9170 9171 (fontified nil) 9171 9173 (fontified nil) 9173 9177 (fontified nil) 9177 9199 (fontified nil) 9199 9258 (fontified nil) 9258 9259 (fontified nil) 9259 9277 (fontified nil) 9277 9278 (fontified nil) 9278 9338 (fontified nil) 9338 9340 (fontified nil) 9340 9352 (fontified nil) 9352 9825 (fontified nil) 9825 9836 (fontified nil) 9836 10156 (fontified nil) 10156 10157 (fontified nil) 10157 10158 (fontified nil) 10158 10160 (fontified nil) 10160 10164 (fontified nil) 10164 10205 (fontified nil) 10205 10262 (fontified nil) 10262 10263 (fontified nil) 10263 10280 (fontified nil) 10280 10281 (fontified nil) 10281 10319 (fontified nil) 10319 10320 (fontified nil) 10320 10364 (fontified nil) 10364 10365 (fontified nil) 10365 10406 (fontified nil) 10406 10407 (fontified nil) 10407 10444 (fontified nil) 10444 10445 (fontified nil) 10445 10505 (fontified nil) 10505 10506 (fontified nil) 10506 10563 (fontified nil) 10563 10564 (fontified nil) 10564 10598 (fontified nil) 10598 10599 (fontified nil) 10599 10663 (fontified nil) 10663 10910 (fontified nil) 10910 10967 (fontified nil) 10967 11096 (fontified nil) 11096 11140 (fontified nil) 11140 11210 (fontified nil) 11210 11211 (fontified nil) 11211 11212 (fontified nil) 11212 11214 (fontified nil) 11214 11218 (fontified nil) 11218 11272 (fontified nil) 11272 11273 (fontified nil) 11273 11288 (fontified nil) 11288 11292 (fontified nil) 11292 11300 (fontified nil) 11300 11303 (fontified nil) 11303 11307 (fontified nil) 11307 11308 (fontified nil) 11308 11316 (fontified nil) 11316 11318 (fontified nil) 11318 11319 (fontified nil) 11319 11431 (fontified nil) 11431 11432 (fontified nil) 11432 11458 (fontified nil) 11458 11459 (fontified nil) 11459 11467 (fontified nil) 11467 11468 (fontified nil) 11468 11510 (fontified nil) 11510 11511 (fontified nil) 11511 11513 (fontified nil) 11513 11517 (fontified nil) 11517 11537 (fontified nil) 11537 11735 (fontified nil) 11735 12033 (fontified nil) 12033 12040 (font-lock-fontified t fontified nil) 12040 12044 (font-lock-fontified t fontified nil) 12044 12048 (font-lock-fontified t fontified nil) 12048 12049 (font-lock-fontified t fontified nil) 12049 12250 (font-lock-fontified t fontified nil) 12250 12251 (font-lock-fontified t fontified nil) 12251 12256 (font-lock-fontified t fontified nil) 12256 12260 (font-lock-fontified t fontified nil) 12260 12261 (fontified nil) 12261 12262 (fontified nil) 12262 12263 (fontified nil) 12263 12265 (fontified nil) 12265 12269 (fontified nil) 12269 12334 (fontified nil) 12334 12335 (fontified nil) 12335 12350 (fontified nil) 12350 12354 (fontified nil) 12354 12362 (fontified nil) 12362 12365 (fontified nil) 12365 12369 (fontified nil) 12369 12370 (fontified nil) 12370 12378 (fontified nil) 12378 12598 (fontified nil) 12598 12600 (fontified nil) 12600 12602 (fontified nil) 12602 12606 (fontified nil) 12606 12638 (fontified nil) 12638 12639 (fontified nil)) :emph-multiline t :for-LaTeX t :comments nil :tags not-in-toc :priority nil :footnotes t :drawers nil :timestamps t :todo-keywords t :add-text nil :skip-before-1st-heading nil :select-tags ("export") :exclude-tags ("noexport") :LaTeX-fragments nil)
(let* ((wcf ...) (opt-plist org-export-latex-options-plist) (region-p ...) (rbeg ...) (rend ...) (subtree-p ...) (opt-plist ...) (org-export-latex-options-plist ...) (org-current-export-dir ...) (org-current-export-file buffer-file-name) (title ...) (filename ...) (filename ...) (buffer ...) (odd org-odd-levels-only) (header ...) (skip ...) (text ...) (org-export-preprocess-hook ...) (first-lines ...) (coding-system ...) (coding-system-for-write ...) (save-buffer-coding-system ...) (region ...) (text ...) (string-for-export ...)) (set-buffer buffer) (erase-buffer) (org-install-letbind) (and (fboundp ...) (set-buffer-file-coding-system coding-system-for-write)) (unless (or ... body-only) (insert header)) (when (and text ...) (insert ... "\n\n")) (unless skip (insert first-lines)) (org-export-latex-global (with-temp-buffer ... ... ...)) (unless body-only (insert "\n\\end{document}")) (goto-char (point-min)) (while (re-search-forward "^[ ]*\\\\item\\([ ]+\\)\\[" nil t) (delete-region ... ...)) (goto-char (point-min)) (when (re-search-forward "\\[TABLE-OF-CONTENTS\\]" nil t) (goto-char ...) (while ... ...) (goto-char ...) (and ... ...)) (goto-char (point-min)) (while (re-search-forward "^[ ]*\\\\item\\>.*\\(\\\\\\\\\\)[ ]*\\(\n\\\\label.*\\)*\n\\\\begin" nil t) (delete-region ... ...)) (goto-char (point-min)) (while (re-search-forward "^[ ]*\\\\item\\>.*\\(\\\\\\\\\\)[ ]*\\(\n\\\\label.*\\)*" nil t) (if ... ...)) (run-hooks (quote org-export-latex-final-hook)) (if to-buffer (unless ... ...) (save-buffer)) (org-export-latex-fix-inputenc) (run-hooks (quote org-export-latex-after-save-hook)) (goto-char (point-min)) (or (org-export-push-to-kill-ring "LaTeX") (message "Exporting to LaTeX...done")) (prog1 (if ... ... ...) (set-window-configuration wcf)))
org-export-as-latex(nil nil nil nil nil nil)
(let* ((wconfig ...) (lbuf ...) (file ...) (base ...) (pdffile ...) (cmds org-latex-to-pdf-process) (outbuf ...) (bibtex-p ...) cmd output-dir) (with-current-buffer outbuf (erase-buffer)) (message (concat "Processing LaTeX file " file "...")) (setq output-dir (file-name-directory file)) (if (and cmds ...) (funcall cmds ...) (while cmds ... ... ... ... ...)) (message (concat "Processing LaTeX file " file "...done")) (if (not ...) (error ...) (set-window-configuration wconfig) (when org-export-pdf-remove-logfiles ...) (message "Exporting to PDF...done") pdffile))
org-export-as-pdf(nil)
(let ((pdffile ...)) (if pdffile (progn ... ...) (error "PDF file was not produced")))
org-export-as-pdf-and-open(nil)
call-interactively(org-export-as-pdf-and-open)
(if (and bg (nth 2 ass) (not ...) (not ...)) (let (...) (set-process-sentinel p ...) (message "Background process \"%s\": started" p)) (if subtree-p (progn ... ...)) (call-interactively (nth 1 ass)) (when (and bpos ...) (let ... ... ... ... ...)))
(let* ((bg ...) subtree-p (help "[t] insert the export option template\n[v] limit export to visible part of outline tree\n[1] only export the current subtree\n[SPC] publish enclosing subtree (with LaTeX_CLASS or EXPORT_FILE_NAME prop)\n\n[a/n/u] export as ASCII/Latin-1/UTF-8 [A/N/U] to temporary buffer\n\n[h] export as HTML [H] to temporary buffer [R] export region\n[b] export as HTML and open in browser\n\n[l] export as LaTeX [L] to temporary buffer\n[p] export as LaTeX and process to PDF [d] ... and open PDF file\n\n[D] export as DocBook [V] export as DocBook, process to PDF, and open\n\n[j] export as TaskJuggler [J] ... and open\n\n[m] export as Freemind mind map\n[x] export as XOXO\n[g] export using Wes Hardaker's generic exporter\n\n[i] export current file as iCalendar file\n[I] export all agenda files as iCalendar files [c] ...as one combined file\n\n[F] publish current file [P] publish current project\n[X] publish a project... [E] publish every projects") (cmds ...) r1 r2 ass (cpos ...) (cbuf ...) bpos) (save-excursion (save-window-excursion ... ... ... ... ... ... ...)) (and bpos (goto-char bpos)) (setq r2 (if ... ... r1)) (unless (setq ass ...) (error "No command associated with key %c" r1)) (if (and bg ... ... ...) (let ... ... ...) (if subtree-p ...) (call-interactively ...) (when ... ...)))
org-export(nil)
call-interactively(org-export nil nil)
recursive-edit()
byte-code("Æ\x10 @Ç=!\0ÈÉÊ\"ËÉ!\x1aA@)¢Ì=!\0ÈÍÊ\"Î\v!Ï Ð !\fd\0Ñed\"\rVW\0ebÒ\r¥y`\x1e^[dbÒ\r¥\rZy\x0e^[`|)ÓcebÔÕÖ \"×Æ!ÔØ!ÙÊ\x1e\x1c\x1e\x1dÔØ!Ú +Ù" [unread-command-char debugger-args x debugger-buffer noninteractive debugger-batch-max-lines -1 debug backtrace-debug 4 t backtrace-frame lambda 5 pop-to-buffer debugger-mode debugger-setup-buffer count-lines 2 "...\n" message "%s" buffer-string kill-emacs "" nil recursive-edit middlestart buffer-read-only standard-output] 4)
debug(error (wrong-type-argument stringp nil))
replace-match(nil t t "/home/sva/Projects/Client/Specs/2010/Devis-Demandes-2010.txt::\x00c9\ crire la requ\x00eate des donn\x00e9\ es \x00e0 extraire")
(setq text (replace-match (cdr ...) t t text))
(while (string-match re text) (setq text (replace-match ... t t text)))
(let ((re ...)) (while (string-match re text) (setq text ...)) text)
(progn (let (...) (while ... ...) text))
(if text (progn (let ... ... text)))
(when text (let (...) (while ... ...) text))
(if (and org-url-encoding-use-url-hexify (not table)) (url-hexify-string text) (setq table (or table org-link-escape-chars)) (when text (let ... ... text)))
org-link-escape("/home/sva/Projects/Client/Specs/2010/Devis-Demandes-2010.txt::\x00c9\ crire la requ\x00eate des donn\x00e9\ es \x00e0 extraire")
(equal (org-link-escape link) description)
(if (equal (org-link-escape link) description) (progn (setq description nil)))
(when (equal (org-link-escape link) description) (setq description nil))
org-make-link-string("/home/sva/Projects/Client/Specs/2010/Devis-Demandes-2010.txt::\x00c9\ crire la requ\x00eate des donn\x00e9\ es \x00e0 extraire")
(let* ((raw-header ...) (info ...) (lang ...) (lang-headers ...) (raw-params ...) (link ...) (export-buffer ...)) (when info (set-buffer ...) (save-restriction ... ...) (set-buffer export-buffer) (setf ... ...)) (org-babel-exp-do-export info (quote block)))
(save-excursion (goto-char (match-beginning 0)) (let* (... ... ... ... ... ... ...) (when info ... ... ... ...) (org-babel-exp-do-export info ...)))
org-babel-exp-src-blocks(#("SELECT TOP 5 pfiID,\n stgNISS,\n etpSiegeExpNumBCE,\n frmArretDate,\n rolEngagDateFin\nFROM dossier, stagiaire, entreprise, formation, rol\nWHERE pfiID = stgPfiID_fk AND\n pfiID = etpPfiID_fk AND\n pfiID = frmPfiID_fk AND\n pfiID = rolPfiID_fk\ngo" 0 180 (font-lock-fontified t fontified nil) 180 183 (font-lock-fontified t fontified nil) 183 210 (font-lock-fontified t fontified nil) 210 213 (font-lock-fontified t fontified nil) 213 240 (font-lock-fontified t fontified nil) 240 243 (font-lock-fontified t fontified nil) 243 270 (font-lock-fontified t fontified nil) 270 273 (font-lock-fontified t fontified nil) 273 276 (font-lock-fontified t fontified nil)) #("sql" 0 3 (fontified nil font-lock-fontified t)) #(":results" 0 8 (fontified nil font-lock-fontified t)) #("output" 0 6 (fontified nil font-lock-fontified t)) #(":cmdline" 0 8 (fontified nil font-lock-fontified t)) #("-S" 0 2 (fontified nil font-lock-fontified t)) #("10.10.10.11" 0 11 (fontified nil font-lock-fontified t)) #("-D" 0 2 (fontified nil font-lock-fontified t)) #("[pfi-paiestag]" 0 14 (fontified nil font-lock-fontified t)) #("-U" 0 2 (fontified nil font-lock-fontified t)) #("sa" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t)) #("-P" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t)) #("LpmdlP" 0 6 (fontified nil font-lock-fontified t)) #("-w" 0 2 (fontified nil font-lock-fontified t)) #("256" 0 3 (fontified nil font-lock-fontified t)) #(":engine" 0 7 (fontified nil font-lock-fontified t)) #("sqsh" 0 4 (fontified nil font-lock-fontified t)))
apply(org-babel-exp-src-blocks #("SELECT TOP 5 pfiID,\n stgNISS,\n etpSiegeExpNumBCE,\n frmArretDate,\n rolEngagDateFin\nFROM dossier, stagiaire, entreprise, formation, rol\nWHERE pfiID = stgPfiID_fk AND\n pfiID = etpPfiID_fk AND\n pfiID = frmPfiID_fk AND\n pfiID = rolPfiID_fk\ngo" 0 180 (font-lock-fontified t fontified nil) 180 183 (font-lock-fontified t fontified nil) 183 210 (font-lock-fontified t fontified nil) 210 213 (font-lock-fontified t fontified nil) 213 240 (font-lock-fontified t fontified nil) 240 243 (font-lock-fontified t fontified nil) 243 270 (font-lock-fontified t fontified nil) 270 273 (font-lock-fontified t fontified nil) 273 276 (font-lock-fontified t fontified nil)) (#("sql" 0 3 (fontified nil font-lock-fontified t)) #(":results" 0 8 (fontified nil font-lock-fontified t)) #("output" 0 6 (fontified nil font-lock-fontified t)) #(":cmdline" 0 8 (fontified nil font-lock-fontified t)) #("-S" 0 2 (fontified nil font-lock-fontified t)) #("10.10.10.11" 0 11 (fontified nil font-lock-fontified t)) #("-D" 0 2 (fontified nil font-lock-fontified t)) #("[pfi-paiestag]" 0 14 (fontified nil font-lock-fontified t)) #("-U" 0 2 (fontified nil font-lock-fontified t)) #("sa" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t)) #("-P" 0 1 (fontified nil font-lock-fontified t) 1 2 (fontified nil font-lock-fontified t)) #("LpmdlP" 0 6 (fontified nil font-lock-fontified t)) #("-w" 0 2 (fontified nil font-lock-fontified t)) #("256" 0 3 (fontified nil font-lock-fontified t)) #(":engine" 0 7 (fontified nil font-lock-fontified t)) #("sqsh" 0 4 (fontified nil font-lock-fontified t))))
(if (memq type org-export-blocks-witheld) "" (apply func body headers))
(progn (if (memq type org-export-blocks-witheld) "" (apply func body headers)))
(unwind-protect (progn (if ... "" ...)) (set-match-data save-match-data-internal (quote evaporate)))
(let ((save-match-data-internal ...)) (unwind-protect (progn ...) (set-match-data save-match-data-internal ...)))
(save-match-data (if (memq type org-export-blocks-witheld) "" (apply func body headers)))
(let ((replacement ...)) (when replacement (replace-match replacement t t) (unless preserve-indent ...)))
(progn (let (...) (when replacement ... ...)))
(if (setq func (cadr ...)) (progn (let ... ...)))
(when (setq func (cadr ...)) (let (...) (when replacement ... ...)))
(while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation (length ...)) (setq type (intern ...)) (setq headers (save-match-data ...)) (setq body (match-string 4)) (setq preserve-indent (or org-src-preserve-indentation ...)) (unless preserve-indent (setq body ...)) (unless (memq type types) (setq types ...)) (save-match-data (interblock start ...)) (when (setq func ...) (let ... ...)) (setq start (match-end 0)))
(progn (fset (quote interblock) (function* ...)) (goto-char (point-min)) (setq start (point)) (while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation ...) (setq type ...) (setq headers ...) (setq body ...) (setq preserve-indent ...) (unless preserve-indent ...) (unless ... ...) (save-match-data ...) (when ... ...) (setq start ...)) (interblock start (point-max)) (run-hooks (quote org-export-blocks-postblock-hook)))
(unwind-protect (progn (fset ... ...) (goto-char ...) (setq start ...) (while ... ... ... ... ... ... ... ... ... ... ...) (interblock start ...) (run-hooks ...)) (if --cl-letf-bound-- (fset ... --cl-letf-save--) (fmakunbound ...)))
(let* ((--cl-letf-bound-- ...) (--cl-letf-save-- ...)) (unwind-protect (progn ... ... ... ... ... ...) (if --cl-letf-bound-- ... ...)))
(letf ((... ...)) (goto-char (point-min)) (setq start (point)) (while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation ...) (setq type ...) (setq headers ...) (setq body ...) (setq preserve-indent ...) (unless preserve-indent ...) (unless ... ...) (save-match-data ...) (when ... ...) (setq start ...)) (interblock start (point-max)) (run-hooks (quote org-export-blocks-postblock-hook)))
(letf* ((... ...)) (goto-char (point-min)) (setq start (point)) (while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation ...) (setq type ...) (setq headers ...) (setq body ...) (setq preserve-indent ...) (unless preserve-indent ...) (unless ... ...) (save-match-data ...) (when ... ...) (setq start ...)) (interblock start (point-max)) (run-hooks (quote org-export-blocks-postblock-hook)))
(flet ((interblock ... ...)) (goto-char (point-min)) (setq start (point)) (while (re-search-forward "^\\([ ]*\\)#\\+begin_\\(\\S-+\\)[ ]*\\(.*\\)?[\r\n]\\([^\0]*?\\)[\r\n][ ]*#\\+end_\\S-+.*[\r\n]?" nil t) (setq indentation ...) (setq type ...) (setq headers ...) (setq body ...) (setq preserve-indent ...) (unless preserve-indent ...) (unless ... ...) (save-match-data ...) (when ... ...) (setq start ...)) (interblock start (point-max)) (run-hooks (quote org-export-blocks-postblock-hook)))
(let ((case-fold-search t) (types ...) indentation type func start body headers preserve-indent progress-marker) (flet (...) (goto-char ...) (setq start ...) (while ... ... ... ... ... ... ... ... ... ... ...) (interblock start ...) (run-hooks ...)))
(save-window-excursion (let (... ... indentation type func start body headers preserve-indent progress-marker) (flet ... ... ... ... ... ...)))
org-export-blocks-preprocess()
run-hooks(org-export-preprocess-after-include-files-hook)
(save-current-buffer (set-buffer (get-buffer-create " org-mode-tmp")) (erase-buffer) (insert string) (setq case-fold-search t) (let (...) (remove-text-properties ... ... ...)) (org-export-kill-licensed-text) (let (...) (org-mode)) (setq case-fold-search t) (org-install-letbind) (run-hooks (quote org-export-preprocess-hook)) (org-export-preprocess-apply-macros) (run-hooks (quote org-export-preprocess-after-macros-hook)) (untabify (point-min) (point-max)) (org-export-handle-include-files-recurse) (run-hooks (quote org-export-preprocess-after-include-files-hook)) (org-export-remove-archived-trees archived-trees) (org-export-remove-comment-blocks-and-subtrees) (org-export-handle-export-tags (plist-get parameters :select-tags) (plist-get parameters :exclude-tags)) (run-hooks (quote org-export-preprocess-after-tree-selection-hook)) (org-export-mark-list-ending backend) (org-export-replace-src-segments-and-examples backend) (org-export-protect-colon-examples) (when (plist-get parameters :footnotes) (org-footnote-normalize nil t)) (setq target-alist (org-export-define-heading-targets target-alist)) (run-hooks (quote org-export-preprocess-after-headline-targets-hook)) (org-export-remember-html-container-classes) (org-export-remove-or-extract-drawers drawers (plist-get parameters :drawers) backend) (when (plist-get parameters :skip-before-1st-heading) (goto-char ...) (when ... ... ... ...)) (when (plist-get parameters :add-text) (goto-char ...) (insert ... "\n")) (org-export-remove-headline-metadata parameters) (setq target-alist (org-export-handle-invisible-targets target-alist)) (run-hooks (quote org-export-preprocess-before-selecting-backend-code-hook)) (org-export-select-backend-specific-text backend) (org-export-protect-quoted-subtrees) (org-export-remove-clock-lines) (org-export-protect-verbatim) (org-export-mark-blockquote-verse-center) (run-hooks (quote org-export-preprocess-after-blockquote-hook)) (unless (plist-get parameters :timestamps) (org-export-remove-timestamps)) (setq target-alist (org-export-attach-captions-and-attributes backend target-alist)) (org-export-mark-radio-links) (run-hooks (quote org-export-preprocess-after-radio-targets-hook)) (org-export-concatenate-multiline-links) (run-hooks (quote org-export-preprocess-before-normalizing-links-hook)) (org-export-normalize-links) (org-export-target-internal-links target-alist) (when (plist-get parameters :emph-multiline) (org-export-concatenate-multiline-emphasis)) (when org-export-table-remove-special-lines (org-export-remove-special-table-lines)) (run-hooks (quote org-export-preprocess-before-backend-specifics-hook)) ...)
(with-current-buffer (get-buffer-create " org-mode-tmp") (erase-buffer) (insert string) (setq case-fold-search t) (let (...) (remove-text-properties ... ... ...)) (org-export-kill-licensed-text) (let (...) (org-mode)) (setq case-fold-search t) (org-install-letbind) (run-hooks (quote org-export-preprocess-hook)) (org-export-preprocess-apply-macros) (run-hooks (quote org-export-preprocess-after-macros-hook)) (untabify (point-min) (point-max)) (org-export-handle-include-files-recurse) (run-hooks (quote org-export-preprocess-after-include-files-hook)) (org-export-remove-archived-trees archived-trees) (org-export-remove-comment-blocks-and-subtrees) (org-export-handle-export-tags (plist-get parameters :select-tags) (plist-get parameters :exclude-tags)) (run-hooks (quote org-export-preprocess-after-tree-selection-hook)) (org-export-mark-list-ending backend) (org-export-replace-src-segments-and-examples backend) (org-export-protect-colon-examples) (when (plist-get parameters :footnotes) (org-footnote-normalize nil t)) (setq target-alist (org-export-define-heading-targets target-alist)) (run-hooks (quote org-export-preprocess-after-headline-targets-hook)) (org-export-remember-html-container-classes) (org-export-remove-or-extract-drawers drawers (plist-get parameters :drawers) backend) (when (plist-get parameters :skip-before-1st-heading) (goto-char ...) (when ... ... ... ...)) (when (plist-get parameters :add-text) (goto-char ...) (insert ... "\n")) (org-export-remove-headline-metadata parameters) (setq target-alist (org-export-handle-invisible-targets target-alist)) (run-hooks (quote org-export-preprocess-before-selecting-backend-code-hook)) (org-export-select-backend-specific-text backend) (org-export-protect-quoted-subtrees) (org-export-remove-clock-lines) (org-export-protect-verbatim) (org-export-mark-blockquote-verse-center) (run-hooks (quote org-export-preprocess-after-blockquote-hook)) (unless (plist-get parameters :timestamps) (org-export-remove-timestamps)) (setq target-alist (org-export-attach-captions-and-attributes backend target-alist)) (org-export-mark-radio-links) (run-hooks (quote org-export-preprocess-after-radio-targets-hook)) (org-export-concatenate-multiline-links) (run-hooks (quote org-export-preprocess-before-normalizing-links-hook)) (org-export-normalize-links) (org-export-target-internal-links target-alist) (when (plist-get parameters :emph-multiline) (org-export-concatenate-multiline-emphasis)) (when org-export-table-remove-special-lines (org-export-remove-special-table-lines)) (run-hooks (quote org-export-preprocess-before-backend-specifics-hook)) ...)
(let* ((htmlp ...) (asciip ...) (latexp ...) (docbookp ...) (backend ...) (archived-trees ...) (inhibit-read-only t) (drawers org-drawers) (outline-regexp "\\*+ ") target-alist rtn) (setq org-export-target-aliases nil org-export-preferred-target-alist nil org-export-id-target-alist nil org-export-code-refs nil) (with-current-buffer (get-buffer-create " org-mode-tmp") (erase-buffer) (insert string) (setq case-fold-search t) (let ... ...) (org-export-kill-licensed-text) (let ... ...) (setq case-fold-search t) (org-install-letbind) (run-hooks ...) (org-export-preprocess-apply-macros) (run-hooks ...) (untabify ... ...) (org-export-handle-include-files-recurse) (run-hooks ...) (org-export-remove-archived-trees archived-trees) (org-export-remove-comment-blocks-and-subtrees) (org-export-handle-export-tags ... ...) (run-hooks ...) (org-export-mark-list-ending backend) (org-export-replace-src-segments-and-examples backend) (org-export-protect-colon-examples) (when ... ...) (setq target-alist ...) (run-hooks ...) (org-export-remember-html-container-classes) (org-export-remove-or-extract-drawers drawers ... backend) (when ... ... ...) (when ... ... ...) (org-export-remove-headline-metadata parameters) (setq target-alist ...) (run-hooks ...) (org-export-select-backend-specific-text backend) (org-export-protect-quoted-subtrees) (org-export-remove-clock-lines) (org-export-protect-verbatim) (org-export-mark-blockquote-verse-center) (run-hooks ...) (unless ... ...) (setq target-alist ...) (org-export-mark-radio-links) (run-hooks ...) (org-export-concatenate-multiline-links) (run-hooks ...) (org-export-normalize-links) (org-export-target-internal-links target-alist) (when ... ...) (when org-export-table-remove-special-lines ...) (run-hooks ...) ...) (kill-buffer " org-mode-tmp") rtn)
org-export-preprocess-string(#("#+TITLE: Devis pour les demandes 2010\n#+AUTHOR: Fabrice Niessen\n#+EMAIL: fni-djc/iPCCuDYQheJpep6IedvLeJWuRmrY@public.gmane.org\n#+DATE: 2010-09-17\n#+DESCRIPTION: \n#+KEYWORDS: \n#+LANGUAGE: fr_FR\n#+OPTIONS: H:4 toc:3\n\n* Fichiers :noexport:\n\n- [[file:~/Projects/Client/Ontology/champs.csv]]\n\n* Contexte\n\nLors d'une r\x00e9union avec J\x00e9r\x00f4me, tenue le 7 juillet 2010, il nous a \x00e9t\x00e9 expos\x00e9\n\ diff\x00e9rentes demandes de modifications de l'application PFlow.\n\nSuite \x00e0 des \x00e9\ changes de courriers et quelques coups de fil, courant septembre\n2010, il nous a \x00e9galement \x00e9t\x00e9 demand\x00e9 d'int\x00e9grer \x00e0 PFlow un flux\nd'informations (DMFA) de et vers la BCSS (Banque Carrefour de la S\x00e9\ curit\x00e9\nSociale), dans le but d'automatiser une partie des t\x00e2\ ches du ROL.\n\nCe devis mat\x00e9rialise l'estimation de travail associ\x00e9\ e \x00e0 chacune de ces t\x00e2\ ches.\n\n* Demandes\n :PROPERTIES:\n :COLUMNS: %40ITEM(Task) %6Effort(Estim.){:}\n :Effort_ALL: 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 8:00 12:00 16:00 24:00 32:00 40:00 48:00 56:00 64:00 72:00 80:00\n :Effort: 43:00\n :END:\n\n** TODO Int\x00e9grer le flux DMFA dans PFlow\n\nDans la demande d'int\x00e9gration du flux DMFA, nous distinguons deux phases de\nd\x00e9veloppement\x00a0:\n\n1) Interroger la DMFA, et \"populer\" (\x00e0 partir des r\x00e9sultats)\x00a0:\n - la date de fin du contrat de travail,\n - le nombre d'employ\x00e9s \x00e0 diff\x00e9rents trimestres.\n\n2) Interroger la DMFA, et (\x00e0 partir des r\x00e9sultats) ins\x00e9rer automatiquement\n des jetons dans le dossier pour le faire avancer dans les bonnes piles.\n Ainsi, il faudra r\x00e9pondre aux questions\x00a0:\n\n - Documents re\x00e7us\x00a0?\n - Dur\x00e9\ e du contrat de travail OK\x00a0?\n - Augmentation de l'effectif OK\x00a0? (\x00e0 calculer\x00a0!)\n\n Une autre possibilit\x00e9 serait de /bypasser/ toute une partie du processus,\n en mettant directement le dossier dans la bonne pile (passif, par exemple).\n\nLa seconde phase \x00e9tant un compl\x00e9ment \x00e0 la premi\x00e8re, il n'y aura pas de\nd\x00e9veloppement dit /kleenex/...\n\n*** Phase 1\n\n**** TODO D\x00e9\ finir le format des donn\x00e9\ es extraites de PFlow\n\nFichier texte au format CSV (utilisant le point-virgule comme s\x00e9parateur de\nchamps).\n\n**** TODO \x00c9\ crire la requ\x00eate des donn\x00e9\ es \x00e0 extraire\n\nLes /inputs/ pour la BCSS sont\x00a0:\n\n- num\x00e9ro du dossier PFlow (cl\x00e9 unique)\n- NISS du stagiaire\n- num\x00e9ro BCE de l'entreprise\n- date de fin *r\x00e9\ elle* du PFI\n- date de fin des OL (telle que pr\x00e9vue)\n\nsoit une requ\x00eate semblable \x00e0\x00a0:\n\n#+srcname: extract-input-bcss\n#+begin_src sql :results output :cmdline -S 10.10.10.11 -D [pfi-paiestag] -U sa -P LpmdlP -w 256 :engine sqsh\nSELECT TOP 5 pfiID,\n stgNISS,\n etpSiegeExpNumBCE,\n frmArretDate,\n rolEngagDateFin\nFROM dossier, stagiaire, entreprise, formation, rol\nWHERE pfiID = stgPfiID_fk AND\n pfiID = etpPfiID_fk AND\n pfiID = frmPfiID_fk AND\n pfiID = rolPfiID_fk\ngo\n#+end_src\n\n**** TODO \x00c9\ crire le script d'export de PFlow\n\nIl faut \x00e9\ crire un script =isql= \x00e9quivalent \x00e0 un =bcp= *s\x00e9lectif*\n(\x00e9ventuellement, via l'appel d'une *proc\x00e9\ dure stock\x00e9\ e*), en rajoutant des\nconditions sur les dossiers \x00e0 extraire\x00a0:\n\n- Les dossiers sont dans le ROL.\n- Les donn\x00e9\ es du dossier n'ont pas encore \x00e9t\x00e9 envoy\x00e9\ es dans la \"BD tampon\" (BD\n pr\x00e9sente \x00e0 la DSI, et servant d'interm\x00e9\ diaire vis-\x00e0-vis de la BCSS).\n- autres\x00a0?\n\n**** TODO \x00c9\ crire le script d'import dans la BD tampon\n\n\x00c0 partir du fichier des donn\x00e9\ es extraites de PFlow, il faut g\x00e9n\x00e9rer les\nrequ\x00eates ad\x00e9quates d'insertion dans la BD tampon.\n\n**** TODO \x00c9\ crire le script d'export de la BD tampon\n\nAller interroger tous les jours la BD tampon, et en extraire les nouvelles\ndonn\x00e9\ es en provenance de la BCSS.\n\n**** TODO \x00c9\ crire le script d'import dans PFlow\n\nIns\x00e9rer certains des /outputs/ de la BCSS dans PFlow, parmi\x00a0:\n\n- la classe du stagiaire (ouvrier, employ\x00e9, stagiaire, \x00e9tudiant, etc.),\n\n- la date de d\x00e9\ but du contrat de travail sur la p\x00e9riode d\x00e9\ finie (entre la date\n de fin du PFI et la date de fin des OL),\n\n- la date de fin du contrat de travail, quand elle existe (sinon, cela\n implique que le contrat est un CDI),\n\n- le nombre de NISS par classe de travailleurs pour le trimestre de fin des OL\n (pour v\x00e9rifier l'augmentation de l'effectif).\n\n\n\n\nAttention\x00a0: on peut avoir plusieurs lignes pour une m\x00eame personne... Par\nexemple, du 1ier janvier 2010 au 30 juin 2010. Si rupture, deuxi\x00e8me ligne...\n\nSi rupture avant terme, contr\x00f4le \x00e0 la DMFA\x00a0? \x00c0 voir.\n\nPour l'instant, un des conseillers ROL regarde le nombre de travailleurs.\nId\x00e9\ e\x00a0: pouvoir alimenter ces champs-l\x00e0, et de voir s'il y a eu augmentation de\nl'effectif ou pas.\n\n\n**** TODO R\x00e9pondre aux questions ouvertes\n\n- Quand est-on s\x00fbr que la r\x00e9ponse de la BCSS est correcte et compl\x00e8te\x00a0?\n- Quel est le format des donn\x00e9\ es extraites de la BCSS, en particulier des\n trimestres\x00a0?\n- Faut-il /flagger/ les donn\x00e9\ es lues de la BCSS\x00a0?\n- Faut-il laisser les donn\x00e9\ es (ins\x00e9r\x00e9\ es et/ou lues) en BD tampon (de mani\x00e8re \x00e0\n garder un historique)\x00a0?\n\n*** Phase 2\n\n\n** TODO Corriger la feuille Excel\n :PROPERTIES:\n :Effort: 4:00\n :END:\n\nLorsque les stagiaires re\x00e7oivent une copie imprim\x00e9\ e de la \"Feuille de calcul\",\nune erreur est visible dans l'addition calculant le revenu net du stagiaire,\npour tous les ch\x00f4meurs complets indemnis\x00e9s *sanctionn\x00e9s*. Cette erreur, qui\nn'a pas d'impact sur les montants pay\x00e9s par le Client, pourrait faire croire \x00e0\n\ ces stagiaires qu'ils toucheront plus d'argent que dans la r\x00e9\ alit\x00e9\x00a0:\ncontrairement au d\x00e9tail de l'addition, le total tient compte d'une indemnit\x00e9\n\ de compensation de 248 EUR qui ne leur sera toutefois pas vers\x00e9\ e (\x00e9tant\nsanctionn\x00e9s).\n\nLe dossier =54/201006/0022= est dans ce cas, comme 94 autres (stagiaires CCI\nsanctionn\x00e9s). V\x00e9rifier la cellule =D79= : il semble que cela doit \x00eatre 0 EUR\nsi =indAllocType= est \x00e9gal \x00e0 4.\n\n** TODO G\x00e9n\x00e9rer une vue graphique des calculs et d\x00e9pendances\n :PROPERTIES:\n :Effort: 10:00\n :END:\n\nDe mani\x00e8re plus g\x00e9n\x00e9rale, cette erreur \x00e9tant pass\x00e9\ e en production (suite \x00e0\nl'ajout, en 2007, de 4 nouveaux cas), il conviendra de mettre \x00e0 plat le calcul\ndes indemnit\x00e9s, en fonction des types d'allocations per\x00e7ues par le stagiaire.\n\nUne id\x00e9\ e pourrait \x00eatre de g\x00e9n\x00e9rer une repr\x00e9sentation graphique des calculs\nExcel. Cela permettrait de voir plus clairement l'interrelation entre les\n(groupes de) cellules.\n\n** TODO Ajouter des commissions paritaires\n :PROPERTIES:\n :Effort: 2:00\n :END:\n\nDe nouvelles CP doivent \x00eatre introduites dans le menu d\x00e9roulant. \x00c0 ce jour,\ntoutefois, la liste des ajouts n'est pas encore finalis\x00e9\ e.\n\nCe changement va n\x00e9\ cessiter la cr\x00e9\ ation et le d\x00e9ploiement d'un nouveau WAR.\n\n** TODO \x00c9\ cran des prestations\n\n*** TODO Modifier les libell\x00e9s associ\x00e9s aux \"Nbr de Jours\"\n :PROPERTIES:\n :Effort: 1:00\n :END:\n\nLe *nombre de jours ouvrables* devrait devenir \"nombre de jours payables\",\navec, \x00e0 sa droite, le libell\x00e9 \"habituels + JF\" (entre parenth\x00e8ses).\n\nIl faudrait mettre, entre parenth\x00e8ses, \x00e0 c\x00f4t\x00e9 du *nombre de jours assimil\x00e9s*,\nun libell\x00e9 \"R, RC, JF, ...\" (pour \"R\x00e9\ cups, Repos Compensatoire, Jours F\x00e9ri\x00e9s,\n...\").\n\n*** DFRD Raffiner la case \"Nbr de Jours Autres\"\n :PROPERTIES:\n :Effort: 0:00\n :END:\n\nIl faudrait remplacer la case \"Nbr de Jours Autres\" par 3 cases\x00a0:\n\n- Absence Justifi\x00e9\ e\n- Absence Injustifi\x00e9\ e\n- Ch\x00f4mage temporaire\n\nQuestion\x00a0: qu'en est-il de tous les dossiers en production\x00a0? Faut-il mettre\nles \"jours autres\" comme \"absence justifi\x00e9\ e\"\x00a0?\n\nCette demande est temporairement report\x00e9\ e \x00e0 plus tard, les sp\x00e9\ cifications\nn'\x00e9tant pas encore suffisamment claires.\n\n*** TODO Rajouter des mois de prestations\n :PROPERTIES:\n :Effort: 3:00\n :END:\n\nDeux dossiers ont actuellement d\x00e9pass\x00e9 la limite (pourtant d\x00e9j\x00e0 \x00e9lev\x00e9\ e) des\n30\x00a0mois de prestations\x00a0:\n\n- =63/200709/0011=\n- =73/200710/0065=\n\nDeux autres dossiers ont \x00e9galement d\x00e9j\x00e0 eu un nombre de prestations encod\x00e9\ es\nsup\x00e9rieur \x00e0 25\x00a0: en fait, 27 et 29 mois de prestations.\n\nIl faut donc rajouter des mois de prestations, pour faire passer la limite de\n30 mois \x00e0 42, par exemple.\n\n*** TODO Calculer correctement le total des prestations, en cas de rectification\n :PROPERTIES:\n :Effort: 8:00\n :END:\n\nActuellement, les totaux des indemnit\x00e9s vers\x00e9\ es aux stagiaires sont calcul\x00e9s\nautomatiquement pour \x00eatre \x00e9ventuellement utilis\x00e9s dans des lettres de cr\x00e9\ ance.\n\nToutefois, ils ne sont corrects (ce qui est explicitement sp\x00e9\ cifi\x00e9 dans les\n\x00e9\ crans de PFlow) qu'\x00e0 la condition qu'il n'y ait pas eu de rectifications lors\nde l'encodage (mensuel) des prestations.\n\nNous devrions modifier les formules de mani\x00e8re \x00e0 ce que les calculs soient\ncorrects, y compris dans ce cas-l\x00e0.\n\n** TODO Augmenter la taille du \"Post-it\" et des autres \x00e9\ crans\n :PROPERTIES:\n :Effort: 4:00\n :END:\n\nVu l'utilisation de plus en plus courante de moniteurs sous des r\x00e9solutions\nsup\x00e9rieures ou \x00e9gales \x00e0 1024 x 768, les \x00e9\ crans de PFlow peuvent \x00eatre adapt\x00e9s\npour tenir compte de cet espace disponible suppl\x00e9mentaire.\n\n** TODO Suivi de la formation\n\nL'avis de l'instructeur sur la poursuite de la formation (=frmSuivi1InsAvis=,\npar exemple) comporte actuellement 3 r\x00e9ponses possibles\x00a0:\n\n1. favorable,\n2. r\x00e9serv\x00e9,\n3. d\x00e9\ favorable\n\nIl faudra ajouter l'\x00e9l\x00e9ment \"4. report\x00e9\".\n\nQuant \x00e0 la modalit\x00e9 du suivi de la formation\x00a0:\n\n1. en entreprise,\n2. \x00e0 la DR en pr\x00e9sence du stagiaire,\n3. \x00e0 la DR en pr\x00e9sence de l'employeur,\n4. \x00e0 la DR en pr\x00e9sence des deux parties,\n5. par courrier sans contact t\x00e9l\x00e9phonique,\n6. par courrier avec contact t\x00e9l\x00e9phonique stagiaire,\n7. par courrier avec contact t\x00e9l\x00e9phonique employeur,\n8. par courrier avec contact t\x00e9l\x00e9phonique aux deux parties\n\nil faudra *supprimer* l'\x00e9l\x00e9ment \"1. en entreprise\" et ajouter\x00a0:\n\n- en entreprise, en pr\x00e9sence du stagiaire\n- en entreprise, en pr\x00e9sence de l'employeur\n- en entreprise, en pr\x00e9sence des deux parties\n\nPour les anciens dossiers, consid\x00e9rer que le suivi s'est fait \"en entreprise,\nen pr\x00e9sence des deux parties\". Mettre \x00e0 jour la base de donn\x00e9\ es.\n\n** TODO Ajouter deux cas d'arr\x00eat de la formation\n\nActuellement, l'origine de l'arr\x00eat de la formation PFI (=frmArretOrigDec=)\npeut \x00eatre report\x00e9 comme \x00e9tant une\x00a0:\n\n- rupture Client \x00e0 la demande de l'entreprise\n- rupture Client \x00e0 la demande du stagiaire\n- rupture Client \x00e0 la demande du Client\n- rupture unilat\x00e9rale de l'entreprise (hors p\x00e9riode d'essai)\n- rupture unilat\x00e9rale du stagiaire (hors p\x00e9riode d'essai)\n- rupture : engagement avant terme\n- rupture unilat\x00e9rale de l'entreprise pendant essai sans pr\x00e9\ avis\n- rupture unilat\x00e9rale de l'entreprise pendant essai avec pr\x00e9\ avis\n- rupture unilat\x00e9rale du stagiaire pendant essai sans pr\x00e9\ avis\n- rupture unilat\x00e9rale du stagiaire pendant essai avec pr\x00e9\ avis\n- fin \x00e0 terme\n\nIl faut ajouter deux types de rupture :\n\n- Rupture de commun accord \x00e0 la demande des deux parties ::\n Doit passer en analyse de sanctions (car pas avec l'accord du Client), car\n ils ne respectent pas les obligations l\x00e9gales.\n\n- Rupture engagement par un autre employeur ::\n Passera au passif, car le stagiaire n'a pas d'obligations l\x00e9gales.\n\n** TODO \x00c9tendre la proc\x00e9\ dure de r\x00e9initialisation des dossiers\n :PROPERTIES:\n :Effort: 8:00\n :END:\n\n- V\x00e9rifier la proc\x00e9\ dure de r\x00e9init (voir les jetons plac\x00e9s lors de la mise du\n dossier en \x00e9tat de r\x00e9-ouverture)\n\n- Rajouter deux champs :\n + date\n + nom du conseiller qui demande la r\x00e9init\n\n** TODO Requ\x00eate pour \x00c9milia\n\nAfin de grandement faciliter le travail d'\x00c9milia, entre autres, il faudrait\najouter la possibilit\x00e9 de g\x00e9n\x00e9rer dynamiquement une liste de tous les dossiers\nqui satisfont aux conditions suivantes\x00a0:\n\n- entr\x00e9 dans (mais pas encore sorti de) la pile \"Analyse Sanctions\",\n- fin avant terme, caus\x00e9\ e par une \"rupture unilat\x00e9rale de l'entreprise (hors\n p\x00e9riode d'essai)\"\n- lettre de cr\x00e9\ ance pas encore envoy\x00e9\ e (date et num\x00e9ro vides)\n\nEn utilisant les cl\x00e9s du dictionnaire, la condition \x00e0 tester est\x00a0:\n\n#+begin_src sql\nfrmArretOrigDec = 4\nrolCreanceDateEnvoi IS NULL\nrolCreanceNum IS NULL\nIN SELECT * WHERE (pilTacheID = 1651 AND\n pilDateEntree IS NOT NULL AND\n pilDateSortie IS NULL)\n#+end_src\n\n** TODO Comparer les documents en production et les sauvegarder sous SVN\n :PROPERTIES:\n :Effort: 3:00\n :END:\n\nDiff\x00e9rents documents ont \x00e9t\x00e9 \x00e9\ dit\x00e9s par le Client au cours des mois pr\x00e9\ c\x00e9\ dents.\nIl faudrait comparer chacun d'eux et mettre leur version la plus r\x00e9\ cente sous\nSVN, afin d'\x00e9viter des erreurs lors de d\x00e9ploiements futurs.\n\n*** TODO \"Versioner\" la feuille de tiers\n" 0 8 (font-lock-fontified t fontified nil) 8 13 (fontified nil) 13 41 (font-lock-fontified t fontified nil) 41 42 (fontified nil) 42 51 (font-lock-fontified t fontified nil) 51 55 (fontified nil) 55 70 (font-lock-fontified t fontified nil) 70 71 (fontified nil) 71 79 (font-lock-fontified t fontified nil) 79 84 (fontified nil) 84 109 (font-lock-fontified t fontified nil) 109 110 (fontified nil) 110 117 (font-lock-fontified t fontified nil) 117 123 (fontified nil) 123 133 (font-lock-fontified t fontified nil) 133 134 (fontified nil) 134 149 (font-lock-fontified t fontified nil) 149 150 (fontified nil) 150 162 (font-lock-fontified t fontified nil) 162 163 (fontified nil) 163 178 (font-lock-fontified t fontified nil) 178 181 (font-lock-fontified t fontified nil) 181 182 (fontified nil) 182 204 (font-lock-fontified t fontified nil) 204 205 (fontified nil) 205 206 (fontified nil) 206 208 (fontified nil) 208 273 (fontified nil) 273 282 (fontified nil) 282 283 (rear-nonsticky (mouse-face highlight keymap invisible intangible help-echo org-linked-text) fontified nil) 283 285 (fontified nil) 285 286 (fontified nil) 286 287 (fontified nil) 287 288 (help-echo "LINK: file:~/Projects/Client/Ontology/champs.csv" fontified nil) 288 289 (help-echo "LINK: file:~/Projects/Client/Ontology/champs.csv" rear-nonsticky (mouse-face highlight keymap invisible intangible help-echo org-linked-text) fontified nil) 289 350 (help-echo "LINK: file:~/Projects/Client/Ontology/champs.csv" fontified nil) 350 351 (rear-nonsticky (mouse-face highlight keymap invisible intangible help-echo org-linked-text) help-echo "LINK: file:~/Projects/Client/Ontology/champs.csv" fontified nil) 351 352 (help-echo "LINK: file:~/Projects/Client/Ontology/champs.csv" fontified nil) 352 353 (help-echo "LINK: file:~/Projects/Client/Ontology/champs.csv" rear-nonsticky (mouse-face highlight keymap invisible intangible help-echo org-linked-text) fontified nil) 353 355 (fontified nil) 355 357 (fontified nil) 357 365 (fontified nil) 365 507 (fontified nil) 507 871 (fontified nil) 871 872 (fontified nil) 872 874 (fontified nil) 874 882 (fontified nil) 882 883 (fontified nil) 883 897 (fontified nil) 897 900 (fontified nil) 900 909 (fontified nil) 909 911 (fontified nil) 911 944 (fontified nil) 944 947 (fontified nil) 947 954 (fontified nil) 954 958 (fontified nil) 958 959 (fontified nil) 959 960 (fontified nil) 960 1023 (fontified nil) 1023 1024 (fontified nil) 1024 1025 (fontified nil) 1025 1026 (fontified nil) 1026 1064 (fontified nil) 1064 1067 (fontified nil) 1067 1075 (fontified nil) 1075 1078 (fontified nil) 1078 1083 (fontified nil) 1083 1084 (fontified nil) 1084 1091 (fontified nil) 1091 1093 (fontified nil) 1093 1094 (fontified nil) 1094 1096 (fontified nil) 1096 1100 (fontified nil) 1100 1133 (fontified nil) 1133 1228 (fontified nil) 1228 1230 (fontified nil) 1230 1294 (fontified nil) 1294 1295 (fontified nil) 1295 1337 (fontified nil) 1337 1338 (fontified nil) 1338 1385 (fontified nil) 1385 1731 (fontified nil) 1731 1741 (fontified nil) 1741 1942 (fontified nil) 1942 1951 (fontified nil) 1951 1954 (fontified nil) 1954 1955 (fontified nil) 1955 1956 (fontified nil) 1956 1958 (fontified nil) 1958 1960 (fontified nil) 1960 1967 (fontified nil) 1967 1969 (fontified nil) 1969 1972 (fontified nil) 1972 1974 (fontified nil) 1974 1978 (fontified nil) 1978 2027 (fontified nil) 2027 2115 (fontified nil) 2115 2118 (fontified nil) 2118 2120 (fontified nil) 2120 2124 (fontified nil) 2124 2165 (fontified nil) 2165 2171 (fontified nil) 2171 2179 (fontified nil) 2179 2201 (fontified nil) 2201 2202 (fontified nil) 2202 2240 (fontified nil) 2240 2241 (fontified nil) 2241 2260 (fontified nil) 2260 2261 (fontified nil) 2261 2289 (fontified nil) 2289 2290 (fontified nil) 2290 2303 (fontified nil) 2303 2310 (fontified nil) 2310 2311 (fontified nil) 2311 2312 (fontified nil) 2312 2319 (fontified nil) 2319 2320 (fontified nil) 2320 2392 (fontified nil) 2392 2421 (font-lock-fontified t fontified nil) 2421 2422 (fontified nil) 2422 2429 (font-lock-fontified t fontified nil) 2429 2433 (font-lock-fontified t fontified nil) 2433 2500 (font-lock-fontified t fontified nil) 2500 2501 (font-lock-fontified t fontified nil) 2501 2502 (font-lock-fontified t fontified nil) 2502 2503 (font-lock-fontified t fontified nil) 2503 2531 (font-lock-fontified t fontified nil) 2531 2532 (font-lock-fontified t fontified nil) 2532 2712 (font-lock-fontified t fontified nil) 2712 2715 (font-lock-fontified t fontified nil) 2715 2742 (font-lock-fontified t fontified nil) 2742 2745 (font-lock-fontified t fontified nil) 2745 2772 (font-lock-fontified t fontified nil) 2772 2775 (font-lock-fontified t fontified nil) 2775 2802 (font-lock-fontified t fontified nil) 2802 2805 (font-lock-fontified t fontified nil) 2805 2808 (font-lock-fontified t fontified nil) 2808 2809 (font-lock-fontified t fontified nil) 2809 2814 (font-lock-fontified t fontified nil) 2814 2818 (font-lock-fontified t fontified nil) 2818 2819 (fontified nil) 2819 2820 (fontified nil) 2820 2823 (fontified nil) 2823 2825 (fontified nil) 2825 2829 (fontified nil) 2829 2864 (fontified nil) 2864 2890 (fontified nil) 2890 2891 (fontified nil) 2891 2897 (fontified nil) 2897 2898 (fontified nil) 2898 2913 (fontified nil) 2913 2914 (fontified nil) 2914 2919 (fontified nil) 2919 2920 (fontified nil) 2920 2930 (fontified nil) 2930 2966 (fontified nil) 2966 2985 (fontified nil) 2985 3047 (fontified nil) 3047 3048 (fontified nil) 3048 3080 (fontified nil) 3080 3081 (fontified nil) 3081 3230 (fontified nil) 3230 3231 (fontified nil) 3231 3242 (fontified nil) 3242 3245 (fontified nil) 3245 3247 (fontified nil) 3247 3251 (fontified nil) 3251 3295 (fontified nil) 3295 3369 (fontified nil) 3369 3419 (fontified nil) 3419 3420 (fontified nil) 3420 3423 (fontified nil) 3423 3425 (fontified nil) 3425 3429 (fontified nil) 3429 3471 (fontified nil) 3471 3583 (fontified nil) 3583 3586 (fontified nil) 3586 3588 (fontified nil) 3588 3592 (fontified nil) 3592 3629 (fontified nil) 3629 3652 (fontified nil) 3652 3661 (fontified nil) 3661 3694 (fontified nil) 3694 3695 (fontified nil) 3695 3767 (fontified nil) 3767 3768 (fontified nil) 3768 3890 (fontified nil) 3890 3891 (fontified nil) 3891 3961 (fontified nil) 3961 4001 (fontified nil) 4001 4002 (fontified nil) 4002 4197 (fontified nil) 4197 4200 (fontified nil) 4200 4278 (fontified nil) 4278 4281 (fontified nil) 4281 4491 (fontified nil) 4491 4512 (fontified nil) 4512 4515 (fontified nil) 4515 4517 (fontified nil) 4517 4521 (fontified nil) 4521 4553 (fontified nil) 4553 4555 (fontified nil) 4555 4556 (fontified nil) 4556 4627 (fontified nil) 4627 4628 (fontified nil) 4628 4716 (fontified nil) 4716 4717 (fontified nil) 4717 4726 (fontified nil) 4726 4735 (fontified nil) 4735 4766 (fontified nil) 4766 4767 (fontified nil) 4767 4872 (fontified nil) 4872 4874 (fontified nil) 4874 4876 (fontified nil) 4876 4883 (fontified nil) 4883 4886 (fontified nil) 4886 4887 (fontified nil) 4887 4889 (fontified nil) 4889 4893 (fontified nil) 4893 4919 (fontified nil) 4919 4920 (fontified nil) 4920 4935 (fontified nil) 4935 4939 (fontified nil) 4939 4947 (fontified nil) 4947 4950 (fontified nil) 4950 4954 (fontified nil) 4954 4955 (fontified nil) 4955 4963 (fontified nil) 4963 5044 (fontified nil) 5044 5164 (fontified nil) 5164 5177 (fontified nil) 5177 5518 (fontified nil) 5518 5519 (fontified nil) 5519 5535 (fontified nil) 5535 5536 (fontified nil) 5536 5618 (fontified nil) 5618 5619 (fontified nil) 5619 5624 (fontified nil) 5624 5625 (fontified nil) 5625 5664 (fontified nil) 5664 5665 (fontified nil) 5665 5679 (fontified nil) 5679 5680 (fontified nil) 5680 5694 (fontified nil) 5694 5695 (fontified nil) 5695 5696 (fontified nil) 5696 5698 (fontified nil) 5698 5702 (fontified nil) 5702 5755 (fontified nil) 5755 5756 (fontified nil) 5756 5771 (fontified nil) 5771 5775 (fontified nil) 5775 5783 (fontified nil) 5783 5786 (fontified nil) 5786 5791 (fontified nil) 5791 5792 (fontified nil) 5792 5800 (fontified nil) 5800 6207 (fontified nil) 6207 6208 (fontified nil) 6208 6209 (fontified nil) 6209 6211 (fontified nil) 6211 6215 (fontified nil) 6215 6250 (fontified nil) 6250 6251 (fontified nil) 6251 6266 (fontified nil) 6266 6270 (fontified nil) 6270 6278 (fontified nil) 6278 6281 (fontified nil) 6281 6285 (fontified nil) 6285 6286 (fontified nil) 6286 6294 (fontified nil) 6294 6509 (fontified nil) 6509 6510 (fontified nil) 6510 6512 (fontified nil) 6512 6516 (fontified nil) 6516 6538 (fontified nil) 6538 6540 (fontified nil) 6540 6542 (fontified nil) 6542 6544 (fontified nil) 6544 6548 (fontified nil) 6548 6598 (fontified nil) 6598 6599 (fontified nil) 6599 6615 (fontified nil) 6615 6620 (fontified nil) 6620 6628 (fontified nil) 6628 6631 (fontified nil) 6631 6635 (fontified nil) 6635 6636 (fontified nil) 6636 6645 (fontified nil) 6645 6650 (fontified nil) 6650 6676 (fontified nil) 6676 6677 (fontified nil) 6677 6678 (fontified nil) 6678 6722 (fontified nil) 6722 6840 (fontified nil) 6840 6867 (fontified nil) 6867 6892 (fontified nil) 6892 6895 (fontified nil) 6895 6947 (fontified nil) 6947 6950 (fontified nil) 6950 6955 (fontified nil) 6955 6957 (fontified nil) 6957 6959 (fontified nil) 6959 6963 (fontified nil) 6963 7002 (fontified nil) 7002 7003 (fontified nil) 7003 7019 (fontified nil) 7019 7024 (fontified nil) 7024 7032 (fontified nil) 7032 7035 (fontified nil) 7035 7039 (fontified nil) 7039 7040 (fontified nil) 7040 7049 (fontified nil) 7049 7423 (fontified nil) 7423 7425 (fontified nil) 7425 7427 (fontified nil) 7427 7431 (fontified nil) 7431 7464 (fontified nil) 7464 7465 (fontified nil) 7465 7481 (fontified nil) 7481 7486 (fontified nil) 7486 7494 (fontified nil) 7494 7497 (fontified nil) 7497 7501 (fontified nil) 7501 7502 (fontified nil) 7502 7511 (fontified nil) 7511 7616 (fontified nil) 7616 7617 (fontified nil) 7617 7633 (fontified nil) 7633 7635 (fontified nil) 7635 7636 (fontified nil) 7636 7652 (fontified nil) 7652 7894 (fontified nil) 7894 7896 (fontified nil) 7896 7898 (fontified nil) 7898 7902 (fontified nil) 7902 7972 (fontified nil) 7972 7973 (fontified nil) 7973 7974 (fontified nil) 7974 7975 (fontified nil) 7975 7991 (fontified nil) 7991 7996 (fontified nil) 7996 8004 (fontified nil) 8004 8007 (fontified nil) 8007 8011 (fontified nil) 8011 8012 (fontified nil) 8012 8021 (fontified nil) 8021 8488 (fontified nil) 8488 8489 (fontified nil) 8489 8490 (fontified nil) 8490 8492 (fontified nil) 8492 8496 (fontified nil) 8496 8550 (fontified nil) 8550 8551 (fontified nil) 8551 8566 (fontified nil) 8566 8570 (fontified nil) 8570 8578 (fontified nil) 8578 8581 (fontified nil) 8581 8585 (fontified nil) 8585 8586 (fontified nil) 8586 8594 (fontified nil) 8594 8809 (fontified nil) 8809 8810 (fontified nil) 8810 8812 (fontified nil) 8812 8816 (fontified nil) 8816 8838 (fontified nil) 8838 8897 (fontified nil) 8897 8898 (fontified nil) 8898 8916 (fontified nil) 8916 8917 (fontified nil) 8917 8977 (fontified nil) 8977 8979 (fontified nil) 8979 8991 (fontified nil) 8991 9464 (fontified nil) 9464 9475 (fontified nil) 9475 9795 (fontified nil) 9795 9796 (fontified nil) 9796 9797 (fontified nil) 9797 9799 (fontified nil) 9799 9803 (fontified nil) 9803 9844 (fontified nil) 9844 9901 (fontified nil) 9901 9902 (fontified nil) 9902 9919 (fontified nil) 9919 9920 (fontified nil) 9920 9958 (fontified nil) 9958 9959 (fontified nil) 9959 10003 (fontified nil) 10003 10004 (fontified nil) 10004 10045 (fontified nil) 10045 10046 (fontified nil) 10046 10083 (fontified nil) 10083 10084 (fontified nil) 10084 10144 (fontified nil) 10144 10145 (fontified nil) 10145 10202 (fontified nil) 10202 10203 (fontified nil) 10203 10237 (fontified nil) 10237 10238 (fontified nil) 10238 10302 (fontified nil) 10302 10549 (fontified nil) 10549 10606 (fontified nil) 10606 10735 (fontified nil) 10735 10779 (fontified nil) 10779 10849 (fontified nil) 10849 10850 (fontified nil) 10850 10851 (fontified nil) 10851 10853 (fontified nil) 10853 10857 (fontified nil) 10857 10911 (fontified nil) 10911 10912 (fontified nil) 10912 10927 (fontified nil) 10927 10931 (fontified nil) 10931 10939 (fontified nil) 10939 10942 (fontified nil) 10942 10946 (fontified nil) 10946 10947 (fontified nil) 10947 10955 (fontified nil) 10955 10957 (fontified nil) 10957 10958 (fontified nil) 10958 11070 (fontified nil) 11070 11071 (fontified nil) 11071 11097 (fontified nil) 11097 11098 (fontified nil) 11098 11106 (fontified nil) 11106 11107 (fontified nil) 11107 11149 (fontified nil) 11149 11150 (fontified nil) 11150 11152 (fontified nil) 11152 11156 (fontified nil) 11156 11176 (fontified nil) 11176 11374 (fontified nil) 11374 11672 (fontified nil) 11672 11679 (font-lock-fontified t fontified nil) 11679 11683 (font-lock-fontified t fontified nil) 11683 11687 (font-lock-fontified t fontified nil) 11687 11688 (font-lock-fontified t fontified nil) 11688 11889 (font-lock-fontified t fontified nil) 11889 11890 (font-lock-fontified t fontified nil) 11890 11895 (font-lock-fontified t fontified nil) 11895 11899 (font-lock-fontified t fontified nil) 11899 11900 (fontified nil) 11900 11901 (fontified nil) 11901 11902 (fontified nil) 11902 11904 (fontified nil) 11904 11908 (fontified nil) 11908 11973 (fontified nil) 11973 11974 (fontified nil) 11974 11989 (fontified nil) 11989 11993 (fontified nil) 11993 12001 (fontified nil) 12001 12004 (fontified nil) 12004 12008 (fontified nil) 12008 12009 (fontified nil) 12009 12017 (fontified nil) 12017 12237 (fontified nil) 12237 12239 (fontified nil) 12239 12241 (fontified nil) 12241 12245 (fontified nil) 12245 12277 (fontified nil) 12277 12278 (fontified nil)) :emph-multiline t :for-LaTeX t :comments nil :tags not-in-toc :priority nil :footnotes t :drawers nil :timestamps t :todo-keywords t :add-text nil :skip-before-1st-heading nil :select-tags ("export") :exclude-tags ("noexport") :LaTeX-fragments nil)
(let* ((wcf ...) (opt-plist org-export-latex-options-plist) (region-p ...) (rbeg ...) (rend ...) (subtree-p ...) (opt-plist ...) (org-export-latex-options-plist ...) (org-current-export-dir ...) (org-current-export-file buffer-file-name) (title ...) (filename ...) (filename ...) (buffer ...) (odd org-odd-levels-only) (header ...) (skip ...) (text ...) (org-export-preprocess-hook ...) (first-lines ...) (coding-system ...) (coding-system-for-write ...) (save-buffer-coding-system ...) (region ...) (text ...) (string-for-export ...)) (set-buffer buffer) (erase-buffer) (org-install-letbind) (and (fboundp ...) (set-buffer-file-coding-system coding-system-for-write)) (unless (or ... body-only) (insert header)) (when (and text ...) (insert ... "\n\n")) (unless skip (insert first-lines)) (org-export-latex-global (with-temp-buffer ... ... ...)) (unless body-only (insert "\n\\end{document}")) (goto-char (point-min)) (while (re-search-forward "^[ ]*\\\\item\\([ ]+\\)\\[" nil t) (delete-region ... ...)) (goto-char (point-min)) (when (re-search-forward "\\[TABLE-OF-CONTENTS\\]" nil t) (goto-char ...) (while ... ...) (goto-char ...) (and ... ...)) (goto-char (point-min)) (while (re-search-forward "^[ ]*\\\\item\\>.*\\(\\\\\\\\\\)[ ]*\\(\n\\\\label.*\\)*\n\\\\begin" nil t) (delete-region ... ...)) (goto-char (point-min)) (while (re-search-forward "^[ ]*\\\\item\\>.*\\(\\\\\\\\\\)[ ]*\\(\n\\\\label.*\\)*" nil t) (if ... ...)) (run-hooks (quote org-export-latex-final-hook)) (if to-buffer (unless ... ...) (save-buffer)) (org-export-latex-fix-inputenc) (run-hooks (quote org-export-latex-after-save-hook)) (goto-char (point-min)) (or (org-export-push-to-kill-ring "LaTeX") (message "Exporting to LaTeX...done")) (prog1 (if ... ... ...) (set-window-configuration wcf)))
org-export-as-latex(nil nil nil nil nil nil)
(let* ((wconfig ...) (lbuf ...) (file ...) (base ...) (pdffile ...) (cmds org-latex-to-pdf-process) (outbuf ...) (bibtex-p ...) cmd output-dir) (with-current-buffer outbuf (erase-buffer)) (message (concat "Processing LaTeX file " file "...")) (setq output-dir (file-name-directory file)) (if (and cmds ...) (funcall cmds ...) (while cmds ... ... ... ... ...)) (message (concat "Processing LaTeX file " file "...done")) (if (not ...) (error ...) (set-window-configuration wconfig) (when org-export-pdf-remove-logfiles ...) (message "Exporting to PDF...done") pdffile))
org-export-as-pdf(nil)
(let ((pdffile ...)) (if pdffile (progn ... ...) (error "PDF file was not produced")))
org-export-as-pdf-and-open(nil)
call-interactively(org-export-as-pdf-and-open)
(if (and bg (nth 2 ass) (not ...) (not ...)) (let (...) (set-process-sentinel p ...) (message "Background process \"%s\": started" p)) (if subtree-p (progn ... ...)) (call-interactively (nth 1 ass)) (when (and bpos ...) (let ... ... ... ... ...)))
(let* ((bg ...) subtree-p (help "[t] insert the export option template\n[v] limit export to visible part of outline tree\n[1] only export the current subtree\n[SPC] publish enclosing subtree (with LaTeX_CLASS or EXPORT_FILE_NAME prop)\n\n[a/n/u] export as ASCII/Latin-1/UTF-8 [A/N/U] to temporary buffer\n\n[h] export as HTML [H] to temporary buffer [R] export region\n[b] export as HTML and open in browser\n\n[l] export as LaTeX [L] to temporary buffer\n[p] export as LaTeX and process to PDF [d] ... and open PDF file\n\n[D] export as DocBook [V] export as DocBook, process to PDF, and open\n\n[j] export as TaskJuggler [J] ... and open\n\n[m] export as Freemind mind map\n[x] export as XOXO\n[g] export using Wes Hardaker's generic exporter\n\n[i] export current file as iCalendar file\n[I] export all agenda files as iCalendar files [c] ...as one combined file\n\n[F] publish current file [P] publish current project\n[X] publish a project... [E] publish every projects") (cmds ...) r1 r2 ass (cpos ...) (cbuf ...) bpos) (save-excursion (save-window-excursion ... ... ... ... ... ... ...)) (and bpos (goto-char bpos)) (setq r2 (if ... ... r1)) (unless (setq ass ...) (error "No command associated with key %c" r1)) (if (and bg ... ... ...) (let ... ... ...) (if subtree-p ...) (call-interactively ...) (when ... ...)))
org-export(nil)
call-interactively(org-export nil nil)
--8<---------------cut here---------------end--------------->8---
Any idea?
Best regards,
Seb
--
Sébastien Vauban
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode-mXXj517/zsQ@public.gmane.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-20 12:42 [bug] org-link-escape and (wrong-type-argument stringp nil) Sébastien Vauban
@ 2010-09-20 18:57 ` David Maus
2010-09-20 19:31 ` Sebastian Rose
2010-09-20 19:49 ` Sébastien Vauban
0 siblings, 2 replies; 19+ messages in thread
From: David Maus @ 2010-09-20 18:57 UTC (permalink / raw
To: Sébastien Vauban; +Cc: emacs-orgmode
[-- Attachment #1.1: Type: text/plain, Size: 1335 bytes --]
Sébastien Vauban wrote:
>Hello,
>With current git pull, and such an Org file (in UTF-8 encoding):
> ...
>I get the following error when trying to export it via PDFLaTeX:
The problem is, that the 'É' character is not in Org's default list
for link escapes but `string-match' matches for the lower case
character. Adding more chars to `org-link-escape-chars' would solve
the problem, but this seems to be a broder issue:
Regular links (URIs) are restricted to a special set of ASCII
characters and non-ascii chars are hex-encoded. Currently Org escapes
links to Org mode headlines using the table mentioned above. But Org
files and hence Org headlines might be Unicode, containing multibyte
characters that cannot be hex-escaped in the normal fashion.
Maybe something like this would be a solution:
- Org only escapes square brackets when escaping a link to an Org
mode headline
- `org-link-escape' uses a shotgun-approach: Every char that is not
allowed according to the specs (Cf. RFC3986) is percent encoded if
the link sequence does not contain multibyte chars; If the sequence
does contain multibyte chars, `org-link-escape' produces an IRI
(Cf. RFC3987).
HTH,
-- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmjena@jabber.org
Email..... dmaus@ictsoc.de
[-- Attachment #1.2: Type: application/pgp-signature, Size: 230 bytes --]
[-- Attachment #2: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-20 18:57 ` David Maus
@ 2010-09-20 19:31 ` Sebastian Rose
2010-09-22 7:19 ` David Maus
2010-09-20 19:49 ` Sébastien Vauban
1 sibling, 1 reply; 19+ messages in thread
From: Sebastian Rose @ 2010-09-20 19:31 UTC (permalink / raw
To: David Maus; +Cc: Sébastien Vauban, emacs-orgmode
David Maus <dmaus@ictsoc.de> writes:
> Sébastien Vauban wrote:
>>Hello,
>
>>With current git pull, and such an Org file (in UTF-8 encoding):
>
>> ...
>
>>I get the following error when trying to export it via PDFLaTeX:
>
> The problem is, that the 'É' character is not in Org's default list
> for link escapes but `string-match' matches for the lower case
> character. Adding more chars to `org-link-escape-chars' would solve
> the problem, but this seems to be a broder issue:
>
> Regular links (URIs) are restricted to a special set of ASCII
> characters and non-ascii chars are hex-encoded. Currently Org escapes
> links to Org mode headlines using the table mentioned above. But Org
> files and hence Org headlines might be Unicode, containing multibyte
> characters that cannot be hex-escaped in the normal fashion.
>
> Maybe something like this would be a solution:
>
> - Org only escapes square brackets when escaping a link to an Org
> mode headline
> - `org-link-escape' uses a shotgun-approach: Every char that is not
> allowed according to the specs (Cf. RFC3986) is percent encoded if
> the link sequence does not contain multibyte chars; If the sequence
> does contain multibyte chars, `org-link-escape' produces an IRI
> (Cf. RFC3987).
Is there a reason for this distinction between multibyte and unibyte?
I favour the "shotgun-approach" if not. It's bullet-proof.
The JavaScript function `encodeURIComponent()' encodes the German Umlaut
`ü' as `%C3%B6' regardless of the sources encoding actually. That's why
I wrote the two functions `org-protocol-unhex-string' and
`org-protocol-unhex-compound' (s. org-protocol.el).
I'll have to take a look at that RFC you mentioned :)
Best wishes
Sebastian
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-20 18:57 ` David Maus
2010-09-20 19:31 ` Sebastian Rose
@ 2010-09-20 19:49 ` Sébastien Vauban
2010-09-22 7:20 ` David Maus
1 sibling, 1 reply; 19+ messages in thread
From: Sébastien Vauban @ 2010-09-20 19:49 UTC (permalink / raw
To: emacs-orgmode-mXXj517/zsQ
Hi David,
David Maus wrote:
> Sébastien Vauban wrote:
>> With current git pull, and such an Org file (in UTF-8 encoding):
>> ...
>> I get the following error when trying to export it via PDFLaTeX:
>
> The problem is, that the 'É' character is not in Org's default list for link
> escapes but `string-match' matches for the lower case character. Adding more
> chars to `org-link-escape-chars' would solve the problem, but this seems to
> be a broder issue:
The funny thing, though, is that I don't have any link!
At least explicitly...
Best regards,
Seb
--
Sébastien Vauban
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode-mXXj517/zsQ@public.gmane.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-20 19:31 ` Sebastian Rose
@ 2010-09-22 7:19 ` David Maus
2010-09-22 14:25 ` Sebastian Rose
0 siblings, 1 reply; 19+ messages in thread
From: David Maus @ 2010-09-22 7:19 UTC (permalink / raw
To: Sebastian Rose; +Cc: David Maus, emacs-orgmode, Sébastien Vauban
[-- Attachment #1.1: Type: text/plain, Size: 873 bytes --]
Sebastian Rose wrote:
>Is there a reason for this distinction between multibyte and unibyte?
>I favour the "shotgun-approach" if not. It's bullet-proof.
>The JavaScript function `encodeURIComponent()' encodes the German Umlaut
>`ü' as `%C3%B6' regardless of the sources encoding actually. That's why
>I wrote the two functions `org-protocol-unhex-string' and
>`org-protocol-unhex-compound' (s. org-protocol.el).
Ah, yes. From my understandig of the RFC %C3%BC is a valid
representation of the "ü" character.
I do not yet fully understand
how to unescape such a representation. E.g. Is %C3%BC a hexencoded
multibyte char or a succession of two singlebyte chars?
>I'll have to take a look at that RFC you mentioned :)
Me too :D
Best,
-- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmjena@jabber.org
Email..... dmaus@ictsoc.de
[-- Attachment #1.2: Type: application/pgp-signature, Size: 230 bytes --]
[-- Attachment #2: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-20 19:49 ` Sébastien Vauban
@ 2010-09-22 7:20 ` David Maus
0 siblings, 0 replies; 19+ messages in thread
From: David Maus @ 2010-09-22 7:20 UTC (permalink / raw
To: Sébastien Vauban; +Cc: emacs-orgmode
[-- Attachment #1.1: Type: text/plain, Size: 811 bytes --]
Sébastien Vauban wrote:
>Hi David,
>David Maus wrote:
>> Sébastien Vauban wrote:
>>> With current git pull, and such an Org file (in UTF-8 encoding):
>>> ...
>>> I get the following error when trying to export it via PDFLaTeX:
>>
>> The problem is, that the 'É' character is not in Org's default list for link
>> escapes but `string-match' matches for the lower case character. Adding more
>> chars to `org-link-escape-chars' would solve the problem, but this seems to
>> be a broder issue:
>The funny thing, though, is that I don't have any link!
>At least explicitly...
The link is somehow created by the source block. I don't use babel
and the document exports fine.
Best,
-- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmjena@jabber.org
Email..... dmaus@ictsoc.de
[-- Attachment #1.2: Type: application/pgp-signature, Size: 230 bytes --]
[-- Attachment #2: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-22 7:19 ` David Maus
@ 2010-09-22 14:25 ` Sebastian Rose
2010-09-23 18:40 ` David Maus
0 siblings, 1 reply; 19+ messages in thread
From: Sebastian Rose @ 2010-09-22 14:25 UTC (permalink / raw
To: David Maus; +Cc: Sébastien Vauban, emacs-orgmode
David Maus <dmaus@ictsoc.de> writes:
> Sebastian Rose wrote:
>>Is there a reason for this distinction between multibyte and unibyte?
>>I favour the "shotgun-approach" if not. It's bullet-proof.
>
>>The JavaScript function `encodeURIComponent()' encodes the German Umlaut
>>`ü' as `%C3%B6' regardless of the sources encoding actually. That's why
>>I wrote the two functions `org-protocol-unhex-string' and
>>`org-protocol-unhex-compound' (s. org-protocol.el).
>
> Ah, yes. From my understandig of the RFC %C3%BC is a valid
> representation of the "ü" character.
>
> I do not yet fully understand
> how to unescape such a representation. E.g. Is %C3%BC a hexencoded
> multibyte char or a succession of two singlebyte chars?
It's a hexencoded multibyte char.
JavaScript implementations seem to turn non-ascii singlebyte chars into
multibyte chars first, then encode the result.
This means if a page is iso-8859-1 encoded (singlebyte `ü'), JavaScript
will recode the `ü'. It's funny, but that's what I found when writing
org-protocol.el
`org-protocol-unhex-string' and `org-protocol-unhex-compound' decode
such a representation.
The trick is in the utf-8 encoding itself. If a byte starts with a 1,
another byte will follow. The number of leading `1's denotes the amount
of bytes used for one character. On a GNU/Linux system try
sh$ man utf-8
Sebastian
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-22 14:25 ` Sebastian Rose
@ 2010-09-23 18:40 ` David Maus
2010-09-23 19:57 ` Sebastian Rose
0 siblings, 1 reply; 19+ messages in thread
From: David Maus @ 2010-09-23 18:40 UTC (permalink / raw
To: Sebastian Rose; +Cc: David Maus, emacs-orgmode, Sébastien Vauban
[-- Attachment #1.1.1: Type: text/plain, Size: 2165 bytes --]
Sebastian Rose wrote:
>David Maus <dmaus@ictsoc.de> writes:
>> Sebastian Rose wrote:
>>>Is there a reason for this distinction between multibyte and unibyte?
>>>I favour the "shotgun-approach" if not. It's bullet-proof.
>>
>>>The JavaScript function `encodeURIComponent()' encodes the German Umlaut
>>>`ü' as `%C3%B6' regardless of the sources encoding actually. That's why
>>>I wrote the two functions `org-protocol-unhex-string' and
>>>`org-protocol-unhex-compound' (s. org-protocol.el).
>>
>> Ah, yes. From my understandig of the RFC %C3%BC is a valid
>> representation of the "ü" character.
>>
>> I do not yet fully understand
>> how to unescape such a representation. E.g. Is %C3%BC a hexencoded
>> multibyte char or a succession of two singlebyte chars?
>It's a hexencoded multibyte char.
>JavaScript implementations seem to turn non-ascii singlebyte chars
>into multibyte chars first, then encode the result.
>This means if a page is iso-8859-1 encoded (singlebyte `ü'),
>JavaScript will recode the `ü'. It's funny, but that's what I found
>when writing org-protocol.el
>`org-protocol-unhex-string' and `org-protocol-unhex-compound' decode
>such a representation.
>The trick is in the utf-8 encoding itself. If a byte starts with a 1,
>another byte will follow. The number of leading `1's denotes the amount
>of bytes used for one character. On a GNU/Linux system try
> sh$ man utf-8
Thanks! I finally get a grip on one of my personal nightmares. The
attached patch is the first step in this direction: It modifies the
algorithm of `org-link-escape', now iterating over the input string
with `mapconcat' and escaping all characters in the escape table or
are between 127 and 255.
I'll try to figure out the escaping/unescaping of multibyte characters
next.
Sent as a patch because of it's possible side-effects: The new
algorithm ignores the cdr of the escape table cons -- Thus things will
break if they use this function for anything else then percent
escaping.
Best,
-- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmjena@jabber.org
Email..... dmaus@ictsoc.de
[-- Attachment #1.1.2: 0001-New-algorithm-for-percent-escaping.patch --]
[-- Type: text/plain, Size: 1384 bytes --]
From 8209cb831d0d387d03b10416235d2910a74f80f7 Mon Sep 17 00:00:00 2001
From: David Maus <dmaus@ictsoc.de>
Date: Thu, 23 Sep 2010 20:30:13 +0200
Subject: [PATCH] New algorithm for percent escaping
* org.el (org-link-escape): New algorithm for percent escaping.
Interate over TEXT and replace chars that are in TABLE or are
non-ASCII single byte characters. Multibyte characters are left
untouched.
---
lisp/org.el | 16 +++++-----------
1 files changed, 5 insertions(+), 11 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index d7aa3d2..2c3f1b7 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -8491,17 +8491,11 @@ This is the list that is used before handing over to the browser.")
(if (and org-url-encoding-use-url-hexify (not table))
(url-hexify-string text)
(setq table (or table org-link-escape-chars))
- (when text
- (let ((re (mapconcat (lambda (x) (regexp-quote
- (char-to-string (car x))))
- table "\\|")))
- (while (string-match re text)
- (setq text
- (replace-match
- (cdr (assoc (string-to-char (match-string 0 text))
- table))
- t t text)))
- text))))
+ (mapconcat (lambda (c)
+ (if (or (assoc c table)
+ (and (> c 126) (< c 255)))
+ (format "%%%X" c)
+ (char-to-string c))) text "")))
(defun org-link-unescape (text &optional table)
"Reverse the action of `org-link-escape'."
--
1.7.1
[-- Attachment #1.2: Type: application/pgp-signature, Size: 230 bytes --]
[-- Attachment #2: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-23 18:40 ` David Maus
@ 2010-09-23 19:57 ` Sebastian Rose
2010-09-26 18:22 ` David Maus
0 siblings, 1 reply; 19+ messages in thread
From: Sebastian Rose @ 2010-09-23 19:57 UTC (permalink / raw
To: David Maus; +Cc: Sébastien Vauban, emacs-orgmode
David Maus <dmaus@ictsoc.de> writes:
>> sh$ man utf-8
>
> Thanks! I finally get a grip on one of my personal nightmares.
It's not that bad, is it? :D
> The
> attached patch is the first step in this direction: It modifies the
> algorithm of `org-link-escape', now iterating over the input string
> with `mapconcat' and escaping all characters in the escape table or
> are between 127 and 255.
Between 128 (1000 0000) and 255 ??
The binary representation of 127 is 0111 1111 and valid ascii char. DEL
actually (sh$ man ascii)
;)
Sebastian
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-23 19:57 ` Sebastian Rose
@ 2010-09-26 18:22 ` David Maus
2010-09-26 21:23 ` Sebastian Rose
` (3 more replies)
0 siblings, 4 replies; 19+ messages in thread
From: David Maus @ 2010-09-26 18:22 UTC (permalink / raw
To: Sebastian Rose; +Cc: David Maus, emacs-orgmode, Sébastien Vauban
[-- Attachment #1.1: Type: text/plain, Size: 1944 bytes --]
Sebastian Rose wrote:
>David Maus <dmaus@ictsoc.de> writes:
>>> sh$ man utf-8
>>
>> Thanks! I finally get a grip on one of my personal nightmares.
>It's not that bad, is it? :D
Even better: It makes sense ;)
>> The attached patch is the first step in this direction: It modifies
>> the algorithm of `org-link-escape', now iterating over the input
>> string with `mapconcat' and escaping all characters in the escape
>> table or are between 127 and 255.
>Between 128 (1000 0000) and 255 ??
>The binary representation of 127 is 0111 1111 and valid ascii char. DEL
>actually (sh$ man ascii)
Right, and that's why it is encoded: No control characters in a URI.
The final algorithm for the shiny new unicode aware percent encoding
function would be:
- percent encode all characters in TABLE
- percent encode all characters below 32 and above 126
- encode the char in utf-8
- percent escape all bytes of the encoded char
The remaining problem is keeping backward compatibility. There are Org
files out there where "á" is encoded as "%E1" and not "%C3A1". The
percent decoding function should be able to recognize these old
escapes and return the right value.
I looks like this could be done by changing the behavior of
`org-protocol-unhex-string'. Currently it returns the empty string
for "%E1" because it does not represent a valid utf-8 encoded unicode
char. Maybe we could say: If the percent encoded sequence does not
form a valid char, use the old method (extended ASCII?) to decode the
sequences.
Sadly (or luckily?) chances are good that I will be somewhat offline
for the next two weeks -- I think implementing this unicode aware
escaping function should be the way to go but requires some careful
checking for it's consequences for old Org files.
Best,
-- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmjena@jabber.org
Email..... dmaus@ictsoc.de
[-- Attachment #1.2: Type: application/pgp-signature, Size: 230 bytes --]
[-- Attachment #2: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-26 18:22 ` David Maus
@ 2010-09-26 21:23 ` Sebastian Rose
2010-09-26 22:43 ` Sebastian Rose
` (2 subsequent siblings)
3 siblings, 0 replies; 19+ messages in thread
From: Sebastian Rose @ 2010-09-26 21:23 UTC (permalink / raw
To: David Maus; +Cc: Sébastien Vauban, emacs-orgmode
>>The binary representation of 127 is 0111 1111 and valid ascii char. DEL
>>actually (sh$ man ascii)
>
> Right, and that's why it is encoded: No control characters in a URI.
Great ! :)
> The final algorithm for the shiny new unicode aware percent encoding
> function would be:
>
> - percent encode all characters in TABLE
> - percent encode all characters below 32 and above 126
> - encode the char in utf-8
> - percent escape all bytes of the encoded char
>
> The remaining problem is keeping backward compatibility. There are Org
> files out there where "á" is encoded as "%E1" and not "%C3A1". The
> percent decoding function should be able to recognize these old
> escapes and return the right value.
>
> I looks like this could be done by changing the behavior of
> `org-protocol-unhex-string'. Currently it returns the empty string
> for "%E1" because it does not represent a valid utf-8 encoded unicode
> char. Maybe we could say: If the percent encoded sequence does not
> form a valid char, use the old method (extended ASCII?) to decode the
> sequences.
Well, yes. The function _should_ return something if the end of the
string is reached or something else but a `%' is found.
I'll have to find out where the function has to look up the correct
char. 167 will be a different character for different encodings.
This will not handle cases like `Größe' though.
Are there cases where strings are encoded the way you showed above, and
decoded using `org-unhex-string'?
Sebastian
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-26 18:22 ` David Maus
2010-09-26 21:23 ` Sebastian Rose
@ 2010-09-26 22:43 ` Sebastian Rose
2010-09-26 22:47 ` Sebastian Rose
2010-09-26 22:51 ` Sebastian Rose
3 siblings, 0 replies; 19+ messages in thread
From: Sebastian Rose @ 2010-09-26 22:43 UTC (permalink / raw
To: David Maus; +Cc: Sébastien Vauban, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1689 bytes --]
David Maus <dmaus@ictsoc.de> writes:
> Sebastian Rose wrote:
>>David Maus <dmaus@ictsoc.de> writes:
>>>> sh$ man utf-8
>>>
>>> Thanks! I finally get a grip on one of my personal nightmares.
>
>
>>It's not that bad, is it? :D
>
> Even better: It makes sense ;)
>
>>> The attached patch is the first step in this direction: It modifies
>>> the algorithm of `org-link-escape', now iterating over the input
>>> string with `mapconcat' and escaping all characters in the escape
>>> table or are between 127 and 255.
>
>>Between 128 (1000 0000) and 255 ??
>
>>The binary representation of 127 is 0111 1111 and valid ascii char. DEL
>>actually (sh$ man ascii)
>
> Right, and that's why it is encoded: No control characters in a URI.
>
> The final algorithm for the shiny new unicode aware percent encoding
> function would be:
>
> - percent encode all characters in TABLE
> - percent encode all characters below 32 and above 126
> - encode the char in utf-8
> - percent escape all bytes of the encoded char
>
> The remaining problem is keeping backward compatibility. There are Org
> files out there where "á" is encoded as "%E1" and not "%C3A1". The
> percent decoding function should be able to recognize these old
> escapes and return the right value.
There is no chance to do it in a secure way. But here's what's
possible.
These all work as expected:
(org-protocol-unhex-string "%E1") ; á
(org-protocol-unhex-string "%A1") ; ¡
(org-protocol-unhex-string "%E1%A1") ; á¡
(org-protocol-unhex-string "%C3%B6") ; still german ö
Also, capturing text from this page still works:
http://www.jnto.go.jp/jpn/
[-- Attachment #2: org-protocol-unhex-compound-single-byte.patch --]
[-- Type: text/x-diff, Size: 1837 bytes --]
diff --git a/lisp/org-protocol.el b/lisp/org-protocol.el
index 21f28e7..f37ce1c 100644
--- a/lisp/org-protocol.el
+++ b/lisp/org-protocol.el
@@ -305,7 +305,7 @@ part."
(defun org-protocol-unhex-string(str)
"Unhex hexified unicode strings as returned from the JavaScript function
-encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ü'."
+encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ö'."
(setq str (or str ""))
(let ((tmp "")
(case-fold-search t))
@@ -321,7 +321,11 @@ encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ü'."
(defun org-protocol-unhex-compound (hex)
- "Unhexify unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ü'."
+ "Unhexify unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ö'.
+Note: this function also decodes single byte encodings like
+`%E1' (\"á\") if not followed by another `%[A-F0-9]{2}' group.
+Singlebyte decoding is not secure though, since we could have
+two single byte characters above 128 in a row."
(let* ((bytes (remove "" (split-string hex "%")))
(ret "")
(eat 0)
@@ -353,9 +357,22 @@ encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ü'."
(setq val (logxor val xor))
(setq sum (+ (lsh sum shift) val))
(if (> eat 0) (setq eat (- eat 1)))
- (when (= 0 eat)
+ (cond
+ ((= 0 eat) ;multi byte
(setq ret (concat ret (org-protocol-char-to-string sum)))
(setq sum 0))
+ ((not bytes) ; single byte(s)
+ (let ((bytes (remove "" (split-string hex "%")))
+ (ret ""))
+ (message "bytes: %s" bytes)
+
+ (while bytes
+ (let* ((b (pop bytes))
+ (a (elt b 0))
+ (b (elt b 1)))
+ (setq ret
+ (concat ret (char-to-string
+ (+ (lsh a 4) b)))))))))
)) ;; end (while bytes
ret ))
[-- Attachment #3: Type: text/plain, Size: 27 bytes --]
Best wishes
Sebastian
[-- Attachment #4: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-26 18:22 ` David Maus
2010-09-26 21:23 ` Sebastian Rose
2010-09-26 22:43 ` Sebastian Rose
@ 2010-09-26 22:47 ` Sebastian Rose
2010-09-26 22:51 ` Sebastian Rose
3 siblings, 0 replies; 19+ messages in thread
From: Sebastian Rose @ 2010-09-26 22:47 UTC (permalink / raw
To: David Maus; +Cc: Sébastien Vauban, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 82 bytes --]
AAAAhhhhrrrggrgrggrgr
premature and wrong patch, sorry. Again against master:
[-- Attachment #2: org-protocol-unhex-compound-single-byte.patch --]
[-- Type: text/x-diff, Size: 2314 bytes --]
diff --git a/lisp/org-protocol.el b/lisp/org-protocol.el
index 21f28e7..d69d584 100644
--- a/lisp/org-protocol.el
+++ b/lisp/org-protocol.el
@@ -305,7 +305,7 @@ part."
(defun org-protocol-unhex-string(str)
"Unhex hexified unicode strings as returned from the JavaScript function
-encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ü'."
+encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ö'."
(setq str (or str ""))
(let ((tmp "")
(case-fold-search t))
@@ -321,7 +321,11 @@ encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ü'."
(defun org-protocol-unhex-compound (hex)
- "Unhexify unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ü'."
+ "Unhexify unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ö'.
+Note: this function also decodes single byte encodings like
+`%E1' (\"á\") if not followed by another `%[A-F0-9]{2}' group.
+Singlebyte decoding is not secure though, since we could have
+two single byte characters above 128 in a row."
(let* ((bytes (remove "" (split-string hex "%")))
(ret "")
(eat 0)
@@ -353,12 +357,30 @@ encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ü'."
(setq val (logxor val xor))
(setq sum (+ (lsh sum shift) val))
(if (> eat 0) (setq eat (- eat 1)))
- (when (= 0 eat)
+ (cond
+ ((= 0 eat) ;multi byte
(setq ret (concat ret (org-protocol-char-to-string sum)))
(setq sum 0))
+ ((not bytes) ; single byte(s)
+ (setq ret (org-protocol-unhex-single-byte-sequence hex))))
)) ;; end (while bytes
ret ))
+(defun org-protocol-unhex-single-byte-sequence(hex)
+ "Unhexify hex-ecncoded single byte character sequences."
+ (let ((bytes (remove "" (split-string hex "%")))
+ (ret ""))
+ (while bytes
+ (let* ((b (pop bytes))
+ (a (elt b 0))
+ (b (elt b 1))
+ (c1 (if (> a ?9) (+ 10 (- a ?A)) (- a ?0)))
+ (c2 (if (> b ?9) (+ 10 (- b ?A)) (- b ?0))))
+ (setq ret
+ (concat ret (char-to-string
+ (+ (lsh c1 4) c2))))))
+ ret))
+
(defun org-protocol-flatten-greedy (param-list &optional strip-path replacement)
"Greedy handlers might receive a list like this from emacsclient:
'( (\"/dir/org-protocol:/greedy:/~/path1\" (23 . 12)) (\"/dir/param\")
[-- Attachment #3: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-26 18:22 ` David Maus
` (2 preceding siblings ...)
2010-09-26 22:47 ` Sebastian Rose
@ 2010-09-26 22:51 ` Sebastian Rose
2010-09-27 5:36 ` [PATCH] " David Maus
` (2 more replies)
3 siblings, 3 replies; 19+ messages in thread
From: Sebastian Rose @ 2010-09-26 22:51 UTC (permalink / raw
To: David Maus; +Cc: Sébastien Vauban, emacs-orgmode
Also I guess the decoding is secure. Means we could change the comment
of this function:
(defun org-protocol-unhex-compound (hex)
"Unhexify unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ö'.
Note: this function falls back on single byte decoding if a
character sequence is not valid utf-8.
See `org-protocol-unhex-single-byte-sequence'."
Should I send another patch against master? (Too late here... for me...)
Sebastian
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH] Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-26 22:51 ` Sebastian Rose
@ 2010-09-27 5:36 ` David Maus
2010-09-27 12:43 ` Sebastian Rose
2010-09-29 15:48 ` Carsten Dominik
2010-09-27 5:36 ` [PATCH] Decode single byte sequence if decoding unicode failed David Maus
2010-11-04 20:35 ` [bug] org-link-escape and (wrong-type-argument stringp nil) David Maus
2 siblings, 2 replies; 19+ messages in thread
From: David Maus @ 2010-09-27 5:36 UTC (permalink / raw
To: emacs-orgmode; +Cc: David Maus
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 945 bytes --]
> Also I guess the decoding is secure. Means we could change the
> comment of this function:
> (defun org-protocol-unhex-compound (hex)
> "Unhexify unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ö'.
> Note: this function falls back on single byte decoding if a
> character sequence is not valid utf-8.
> See `org-protocol-unhex-single-byte-sequence'."
> Should I send another patch against master? (Too late here... for
> me...)
Not necessary, following patch removed this sentence and added a
proper commit message (please see: Commit messages and ChangeLog
entries on http://orgmode.org/worg/org-contribute.php).
I took the new patch "under review" in patchtracker -- If someone else
wants to jump on it, just go ahead.
Best,
-- David
Sebastian Rose (1):
Decode single byte sequence if decoding unicode failed.
lisp/org-protocol.el | 26 +++++++++++++++++++++++---
1 files changed, 23 insertions(+), 3 deletions(-)
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH] Decode single byte sequence if decoding unicode failed.
2010-09-26 22:51 ` Sebastian Rose
2010-09-27 5:36 ` [PATCH] " David Maus
@ 2010-09-27 5:36 ` David Maus
2010-11-04 20:35 ` [bug] org-link-escape and (wrong-type-argument stringp nil) David Maus
2 siblings, 0 replies; 19+ messages in thread
From: David Maus @ 2010-09-27 5:36 UTC (permalink / raw
To: emacs-orgmode
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2527 bytes --]
From: Sebastian Rose <sebastian_rose@gmx.de>
* org-protocol.el (org-protocol-unhex-single-byte-sequence): New
function. Decode hex-encoded singly byte sequences.
(org-protocol-unhex-compound): Use new function if decoding sequence
as unicode character failed.
---
lisp/org-protocol.el | 26 +++++++++++++++++++++++---
1 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/lisp/org-protocol.el b/lisp/org-protocol.el
index 21f28e7..3cd2167 100644
--- a/lisp/org-protocol.el
+++ b/lisp/org-protocol.el
@@ -305,7 +305,7 @@ part."
(defun org-protocol-unhex-string(str)
"Unhex hexified unicode strings as returned from the JavaScript function
-encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ü'."
+encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ö'."
(setq str (or str ""))
(let ((tmp "")
(case-fold-search t))
@@ -321,7 +321,9 @@ encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ü'."
(defun org-protocol-unhex-compound (hex)
- "Unhexify unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ü'."
+ "Unhexify unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ö'.
+Note: this function also decodes single byte encodings like
+`%E1' (\"á\") if not followed by another `%[A-F0-9]{2}' group."
(let* ((bytes (remove "" (split-string hex "%")))
(ret "")
(eat 0)
@@ -353,12 +355,30 @@ encodeURIComponent. E.g. `%C3%B6' is the german Umlaut `ü'."
(setq val (logxor val xor))
(setq sum (+ (lsh sum shift) val))
(if (> eat 0) (setq eat (- eat 1)))
- (when (= 0 eat)
+ (cond
+ ((= 0 eat) ;multi byte
(setq ret (concat ret (org-protocol-char-to-string sum)))
(setq sum 0))
+ ((not bytes) ; single byte(s)
+ (setq ret (org-protocol-unhex-single-byte-sequence hex))))
)) ;; end (while bytes
ret ))
+(defun org-protocol-unhex-single-byte-sequence(hex)
+ "Unhexify hex-encoded single byte character sequences."
+ (let ((bytes (remove "" (split-string hex "%")))
+ (ret ""))
+ (while bytes
+ (let* ((b (pop bytes))
+ (a (elt b 0))
+ (b (elt b 1))
+ (c1 (if (> a ?9) (+ 10 (- a ?A)) (- a ?0)))
+ (c2 (if (> b ?9) (+ 10 (- b ?A)) (- b ?0))))
+ (setq ret
+ (concat ret (char-to-string
+ (+ (lsh c1 4) c2))))))
+ ret))
+
(defun org-protocol-flatten-greedy (param-list &optional strip-path replacement)
"Greedy handlers might receive a list like this from emacsclient:
'( (\"/dir/org-protocol:/greedy:/~/path1\" (23 . 12)) (\"/dir/param\")
--
1.7.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH] Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-27 5:36 ` [PATCH] " David Maus
@ 2010-09-27 12:43 ` Sebastian Rose
2010-09-29 15:48 ` Carsten Dominik
1 sibling, 0 replies; 19+ messages in thread
From: Sebastian Rose @ 2010-09-27 12:43 UTC (permalink / raw
To: David Maus; +Cc: emacs-orgmode
David Maus <dmaus@ictsoc.de> writes:
>> Also I guess the decoding is secure. Means we could change the
>> comment of this function:
>
>> (defun org-protocol-unhex-compound (hex)
>> "Unhexify unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ö'.
>> Note: this function falls back on single byte decoding if a
>> character sequence is not valid utf-8.
>> See `org-protocol-unhex-single-byte-sequence'."
>
>
>> Should I send another patch against master? (Too late here... for
>> me...)
>
> Not necessary, following patch removed this sentence and added a
> proper commit message (please see: Commit messages and ChangeLog
> entries on http://orgmode.org/worg/org-contribute.php).
>
> I took the new patch "under review" in patchtracker -- If someone else
> wants to jump on it, just go ahead.
>
> Best,
> -- David
Thanks David!
Sebastian
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH] Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-27 5:36 ` [PATCH] " David Maus
2010-09-27 12:43 ` Sebastian Rose
@ 2010-09-29 15:48 ` Carsten Dominik
1 sibling, 0 replies; 19+ messages in thread
From: Carsten Dominik @ 2010-09-29 15:48 UTC (permalink / raw
To: David Maus; +Cc: emacs-orgmode
Hi David,
I have not have time to follow this in detail, but if you feel
confident that this is
doing the right thing, pleas go ahead and apply the necessary
patches. I am an encoding moron, so I am easily convinced that you
and Sebastian together cook up something useful. :-)
- Carsten
On Sep 27, 2010, at 7:36 AM, David Maus wrote:
>> Also I guess the decoding is secure. Means we could change the
>> comment of this function:
>
>> (defun org-protocol-unhex-compound (hex)
>> "Unhexify unicode hex-chars. E.g. `%C3%B6' is the German Umlaut `ö'.
>> Note: this function falls back on single byte decoding if a
>> character sequence is not valid utf-8.
>> See `org-protocol-unhex-single-byte-sequence'."
>
>
>> Should I send another patch against master? (Too late here... for
>> me...)
>
> Not necessary, following patch removed this sentence and added a
> proper commit message (please see: Commit messages and ChangeLog
> entries on http://orgmode.org/worg/org-contribute.php).
>
> I took the new patch "under review" in patchtracker -- If someone else
> wants to jump on it, just go ahead.
>
> Best,
> -- David
>
> Sebastian Rose (1):
> Decode single byte sequence if decoding unicode failed.
>
> lisp/org-protocol.el | 26 +++++++++++++++++++++++---
> 1 files changed, 23 insertions(+), 3 deletions(-)
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [bug] org-link-escape and (wrong-type-argument stringp nil)
2010-09-26 22:51 ` Sebastian Rose
2010-09-27 5:36 ` [PATCH] " David Maus
2010-09-27 5:36 ` [PATCH] Decode single byte sequence if decoding unicode failed David Maus
@ 2010-11-04 20:35 ` David Maus
2 siblings, 0 replies; 19+ messages in thread
From: David Maus @ 2010-11-04 20:35 UTC (permalink / raw
To: Sebastian Rose
Cc: David Maus, carsten.dominik, emacs-orgmode, Sébastien Vauban
[-- Attachment #1.1: Type: text/plain, Size: 3124 bytes --]
Okay, back to link escaping.
What this is about:
Current implementation of percent escaping URIs uses a whitelist
approach, e.g. only percent escapes characters that are in
`org-link-escape-chars' or in a user supplied list. This is a problem
because using this function requires knowledge about all possible
characters that could occur in a URI -- and URIs are limited to plain
ASCII, meaning a call to the function must list literally all possible
characters and their escapings to get a properly percent escaped
string.
To solve this problem the behavior of the function is changed to
percent escape every character that is an ASCII controll character or
not an ASCII character. Subsequently the unescaping function is
changed accordingly to handle percent encoded multibyte unicode
characters.
1/ I did some testing with the new proposed org-link-escape and the
modified `org-protocol-unhex-string': Create a random string with
ASCII and multibyte unicode characters, randomly taken from
(ucs-names); perform escape-unescape; compare the result with the
original string. Works perfect. Testing randomly created string with
old escaping of non-ascii strings is on the list.
2/ Of course there could still be the problem, that a user had created
a sequence of old escapes that the new unescaping function will
interpret wrongly. Not sure how likely this is, but in theory this
could happen. Personally I think we should risk breaking peoples'
links in this way.
3/ I highly suggest changing the syntax of `org-link-escape-chars'.
Currently it is a list of cons with the character in car and the
replacement string in cdr. Using such a table in escaping is easy
(assq char table), but in the unescaping process it might get tricky.
Moreover if the function should do percent escaping, the escpae
sequence is already determined by the string to replace. The new
syntax would be simply a list of characters to escape in addition to
the rule mentioned above (< 32 and > 126).
This would break compatibility with functions that have used
org-link-escape/unescape for something else than percent escaping
(e.g. replace ] by %FF and not %5D and such). But this again is
bearable: Although it the docstring talks about escaping things that
are problematic, the only way to do such escaping in a standardized
way is percent escaping.
4/ If all agree that breaking backward incompatibility in the case
mentioned above (or did I forgot one?) is bearable, I would go ahead
and perform the necessary changes:
1. Use the new algorithm in `org-link-escape'
2. Modify Syntax of `org-link-escape-chars'
3. Issue a warning if someone calls `org-link-escape' with a table
of the old syntax.
4. Move the unescaping functions from org-protocol.el to org.el and
rename them.
5. Declare `org-protocol-unhex-string' and
`org-protocol-unhex-compound' obsolete (make-obsolete).
6. Drop a message to the list informing about these changes.
7. Wait some months and purge the obsolete functions.
Best,
-- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmjena@jabber.org
Email..... dmaus@ictsoc.de
[-- Attachment #1.2: Type: application/pgp-signature, Size: 230 bytes --]
[-- Attachment #2: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2010-11-04 20:36 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-20 12:42 [bug] org-link-escape and (wrong-type-argument stringp nil) Sébastien Vauban
2010-09-20 18:57 ` David Maus
2010-09-20 19:31 ` Sebastian Rose
2010-09-22 7:19 ` David Maus
2010-09-22 14:25 ` Sebastian Rose
2010-09-23 18:40 ` David Maus
2010-09-23 19:57 ` Sebastian Rose
2010-09-26 18:22 ` David Maus
2010-09-26 21:23 ` Sebastian Rose
2010-09-26 22:43 ` Sebastian Rose
2010-09-26 22:47 ` Sebastian Rose
2010-09-26 22:51 ` Sebastian Rose
2010-09-27 5:36 ` [PATCH] " David Maus
2010-09-27 12:43 ` Sebastian Rose
2010-09-29 15:48 ` Carsten Dominik
2010-09-27 5:36 ` [PATCH] Decode single byte sequence if decoding unicode failed David Maus
2010-11-04 20:35 ` [bug] org-link-escape and (wrong-type-argument stringp nil) David Maus
2010-09-20 19:49 ` Sébastien Vauban
2010-09-22 7:20 ` David Maus
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.