Leandro Noferini <lnofe...@cybervalley.org> writes: > What is an ECM?
French acronym for minimal complete example. >> or even the full file if it doesn't contain sensitive information? > > I could send you privately, not in list: nothing really sensitive, job > appointments but not to be indexed in the internet for the ethernity! OK. You can also use the following function, which will produce a copy of the original buffer, with scrambled contents (defun scramble-contents () (interactive) (let ((tree (org-element-parse-buffer))) (org-element-map tree '(code comment comment-block example-block fixed-width keyword link node-property plain-text verbatim) (lambda (obj) (cl-case (org-element-type obj) ((code comment comment-block example-block fixed-width keyword node-property verbatim) (let ((value (org-element-property :value obj))) (org-element-put-property obj :value (replace-regexp-in-string "[[:alnum:]]" "x" value)))) (link (unless (string= (org-element-property :type obj) "radio") (org-element-put-property obj :raw-link "http://orgmode.org"))) (plain-text (org-element-set-element obj (replace-regexp-in-string "[[:alnum:]]" "x" obj))))) nil nil nil t) (let ((buffer (get-buffer-create "*Scrambled text*"))) (with-current-buffer buffer (insert (org-element-interpret-data tree)) (goto-char (point-min))) (switch-to-buffer buffer)))) However make sure you can reproduce the problem on that copy first. Regards,