-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
John Kitchin <[email protected]> writes: > The face function only takes the link path, which is a string. you cannot > use org-element-property on it. > > Maybe you want something like this: > > #+begin_src emacs-lisp > (defun org-link-beautify-face (path) > "Set link face colors." > (message "beautifying") > (if (and (not (file-remote-p path)) > (file-exists-p (expand-file-name path))) > 'org-link > 'org-warning)) > > ;;; DEBUG > (org-link-set-parameters > "file" > :face #'org-link-beautify-face) > #+end_src I actually borrowed code from your code example, Because I want to do the following: #+begin_src emacs-lisp (defun org-link-beautify-face (link) "Set link face colors." (let ((raw-link (org-element-property :raw-link link)) (type (org-element-property :type link)) (path (org-element-property :path link))) (pcase type ;; ("https" ) ;; ("http" ) ("file" (if (and (not (file-remote-p path)) (file-exists-p (expand-file-name path))) 'org-link 'org-warning))))) (dolist (link-type (mapcar 'car org-link-parameters)) (org-link-set-parameters link-type :face #'org-link-beautify-face)) #+end_src In this way, I can put my code in a union function. I guess the issue is on the let-binding which invoked ~org-element-property~. But I can't edebug this function. When I =C-u C-M-x= set edebug on the function, and toggle ~font-lock-mode~ on Org Mode buffer, this function is not entering edebug. Don't know how to make Emacs enter this function edebug status. > > John > > ----------------------------------- > Professor John Kitchin > Doherty Hall A207F > Department of Chemical Engineering > Carnegie Mellon University > Pittsburgh, PA 15213 > 412-268-7803 > @johnkitchin > http://kitchingroup.cheme.cmu.edu > > > > On Tue, May 19, 2020 at 9:12 AM stardiviner <[email protected]> wrote: > >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA256 >> >> >> Bellowing is my source code, it does not work. I'm wondering why? >> >> #+begin_src emacs-lisp >> (defun org-link-beautify-face (link) >> "Set link face colors." >> (let ((raw-link (org-element-property :raw-link link)) >> (type (org-element-property :type link)) >> (path (org-element-property :path link))) >> (pcase type >> ;; ("https" ) >> ;; ("http" ) >> ("file" >> (if (and (not (file-remote-p path)) >> (file-exists-p (expand-file-name path))) >> 'org-link 'org-warning))))) >> >> ;;; DEBUG >> (org-link-set-parameters >> "file" >> :face #'org-link-beautify-face) >> #+end_src >> >> - -- >> [ stardiviner ] >> I try to make every word tell the meaning that I want to express. >> >> Blog: https://stardiviner.github.io/ >> IRC(freenode): stardiviner, Matrix: stardiviner >> GPG: F09F650D7D674819892591401B5DF1C95AE89AC3 >> >> -----BEGIN PGP SIGNATURE----- >> >> iQFIBAEBCAAyFiEE8J9lDX1nSBmJJZFAG13xyVromsMFAl7D2xkUHG51bWJjaGls >> ZEBnbWFpbC5jb20ACgkQG13xyVromsMfHAgAjnoQlzdHlcKL/rBVBLlkmMITh7f5 >> 6SxRw9sS1BagIma+APiuy+A4O4fSDLyzUMDg+Sg/C+vNu3QC2BM7ipBYNXtWcX1M >> oPZj8loMrnISTIK51j2+9Pg0iOP1aZSvZqwA0p1mK2aZURBXWl7qDkVxD2oWji5P >> qCBVr9ZFUloGSl7PtZTlOtsCgTCGHvnfvnk7vqxY4beuavQgaRSWUCsVDDO0c/M6 >> 5CSzxobElB3Y68fQ2awuQwRGCzfEvRkGShHp3Raug+EJ5Ew+MYEi6wILfPxYF2WR >> VJjuxAxseBuiIjYjF91xzbR7mSZQsvB1gNttLYb3uQ/jrgj0HOQDo5Jmtg== >> =4fE9 >> -----END PGP SIGNATURE----- >> >> - -- [ stardiviner ] I try to make every word tell the meaning that I want to express. Blog: https://stardiviner.github.io/ IRC(freenode): stardiviner, Matrix: stardiviner GPG: F09F650D7D674819892591401B5DF1C95AE89AC3 -----BEGIN PGP SIGNATURE----- iQFIBAEBCAAyFiEE8J9lDX1nSBmJJZFAG13xyVromsMFAl7EYtkUHG51bWJjaGls ZEBnbWFpbC5jb20ACgkQG13xyVromsOnbwf/f5zAf2fh+vUg7ikwtXpzCL+cjeUt vyyHH9R32K5nb0FTqeyL/rjw6AhHRsTR7sFSUkb++Q8uWRJyxT2Kt7bgujRsL/cb bnmArq4HFWw7ysxYjhDSknwzhc4xFzUJpSmnZuNHEItIuV5Ghg/FnEJokcTurop2 jN4dw28ladHMLel2hjhIRQni3ugQwfKOuyBZa8U3SCPENfnK8uPbMoxkONgdmDQu wG3qw8NvMFnD5Vr81qVb/ytGJyMv+34wD/unZ1TK7BaTGsOVvg/l8ssj5h3EsDeX yilYhc2yZmbG9DHiL94L7ggXJFnVD9GY01xreZXz+JLyJdVQy3K+Rmow1w== =OU9d -----END PGP SIGNATURE-----
