>>> "RP" == Robert Pluim writes: > Uwe Brauer writes: >> Right, thanks, however good and bad news. >> >> >> I am using >> >> (define-abbrev-table 'fundamental-mode-abbrev-table >> '( >> ("a que" "a qué" nil :count 0) >> ("asi" "así" nil :count 0)) >> "Uwe's table" >> :regexp "\\(\\w+ \\w+\\)") >> >> >> 1. It works in the sense that "a que" is expanded to "a qué" >> >> 2. But now asi is *not* expanded to así >> >> The reasons seems to me that what you did is globally for the whole >> table, while I hoped it could be done locally for each entry. >> > Thatʼs not the way abbrev tables work: the regexp answers the question > "which characters before point do I use to lookup abbrevs in this > table?". That can't be both two words separated by a space and a > single word at the same time, ie using > "\\(\\w+ \\w+\\)\\|\\(w+\\) This is indeed what I tried. > will fail, since that will match the 'two word' version if thereʼs a > space on the line, so in order to get what you want you need two > abbrev tables: > (define-abbrev-table 'fundamental-mode-abbrev-table > '( > ("asi" "así" nil :count 0))) > (define-abbrev-table 'my-abbrev-table > '( > ("a que" "a qué" nil :count 0)) > "Uwe's table" > :regexp "\\(\\w+ \\w+\\)") > (setq local-abbrev-table (list my-abbrev-table fundamental-mode-abbrev-table)) Thanks where is the setq line supposed to be? Most likely in the file in question which is in fundamental mode? Not in the .abbrev_devs file? I tried the former and it works! May thanks. I might need to edit my abbrev times from time to time but that is ok and it might be a hassle in mail modes, but better than nothing. > (thereʼs a ':parents' property you can set on an abbrev table to achieve > the same thing, in theory, but I donʼt know how that interacts with > ':regexp') Maybe some other developer has an idea? In any case, I think it would be very useful to add some of the stuff Robert told me to the documentation, which is a bit sparse, I'd say. Thanks and regards Uwe